Giter Site home page Giter Site logo

zainsiddiqui / predicting-survival-on-titanic-with-machine-learning-and-graphical-user-interface Goto Github PK

View Code? Open in Web Editor NEW
13.0 1.0 2.0 1.22 MB

This program consists of clean and polished Graphical User Interface (GUI) that interacts with 8 Machine Learning models and data visualization tools through the use of different Python libraries. The user can interact with the GUI through selecting which model to run on the testing data on, which then takes them to a screen displaying the prediction results of the testing data as well as the general model accuracy. The screen also includes various buttons that, when selected, display complex and attractive data visualizations on the testing data.

Python 100.00%
machine-learning machine-learning-algorithms graphical-user-interface gui data-science data-visualization titanic-survival-prediction python3 numpy scikit-learn

predicting-survival-on-titanic-with-machine-learning-and-graphical-user-interface's Introduction

Survival of Passengers on Titanic using Machine Learning and Graphical User Interface

This project consists of a clean and polished Graphical User Interface (GUI) that interacts with 8 Machine Learning models and data visualization tools through the use of different Python libraries. At Rutgers, we learned about Python being a great general purpose language, which allows for great versatility for developers of all specialties. Therefore, we decided to take advantage of Python’s strong support for GUI development as well as its Data Science and Machine Learning capabilities. Using the complex RMS Titanic data set, which includes information about each passengers fate (survived/deceased) according to their economic status, fair, cabin, social class, relatives, gender, port of embarkment and age, we created 8 different Machine Learning models that learn from the data set and then perform accurate predictions of survival on the testing data provided by the user. In addition, we created an extensive GUI that allows the user to learn and interact with the training and testing data by displaying many different data plots and graphs as well as descriptions about the specifics (advantages and disadvantages) of each Machine Learning model. The user can interact with the GUI through selecting which model to run the testing data on, which then takes them to a screen displaying the prediction results of the testing data as well as the general model accuracy. The screen also includes various buttons that, when selected, display complex and attractive data visualizations on the testing data. The goal for this project was to get a good understanding of Python’s Data Science and Machine Learning support and to learn about GUI development and integration in Python. Upon completing the project, we had an increased appreciation for the power of Machine Learning and its potential as well as the customizability and complexities of GUI development. By partaking in GUI development, Data Manipulation/Visualization creation and Machine Learning development, this project is a clear representation of the power of the Python programming language and its overall integrability.

Machine Learning Models Implemented:

  • Logistic Regression
  • Stochastic Gradient Descent
  • K Nearest Neighbor
  • Random Forest
  • Naive Bayes
  • Perceptron
  • Linear Support Vector Machine
  • Decision Tree

Dependencies:

  • Numpy
  • Pandas
  • SciKit-Learn
  • SciPy
  • Seaborn
  • Matplotlib
  • Tkinter
  • Pillow

GUI Preview:

image

image

image

image

Installation:

  1. Download and extract zip file

  2. Create virtual environment inside FinalProject directory using "python3 -m venv venv"

  3. Run virtual environment in project directory using "source venv/bin/activate"

  4. Install required dependencies using “pip install -r requirements.txt”

  5. Run GUI using "python GUI.py"

  6. Exit virtual environment "deactivate"

Note: User can input their own testing data to predict by changing the "test.csv" file with custom information. Do not delete first row of CSV as it contains column headers!

Contributors:

Zain Siddiqui, Krupal Patel, Haneef Pervez

predicting-survival-on-titanic-with-machine-learning-and-graphical-user-interface's People

Contributors

zainsiddiqui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.