This is an introductory project for the Machine Learning Engineer Nanodegree. In this project, I create decision tree type functions that attempt to predict survival outcomes from the 1912 Titanic disaster based on each passenger’s features, such as sex and age. The complexity of the prediction algorithm implemented is increased and tuned progressively until the prediction accuracy reached 82.60%.
This project requires Python 2.7 and the following Python libraries installed:
You will also need to have software installed to run and execute a Jupyter Notebook
If you do not have Python installed yet, it is highly recommended that you install the Anaconda distribution of Python, which already has the above packages and more included. Make sure that you select the Python 2.7 installer and not the Python 3.x installer.
The main code for this project is located in the the notebook titanic_survival_exploration.ipynb
notebook file. Additional supporting code for visualizing the necessary graphs can be found in visuals.py
. Additionally, the "Report.html" file contains a snapshot of the main code in the jupyter notebook with all code cells executed.
In a terminal or command window, navigate to the top-level project directory titanic_survival_exploration/
(that contains this README) and run one of the following commands:
jupyter notebook titanic_survival_exploration.ipynb
or
ipython notebook titanic_survival_exploration.ipynb
This will open the Jupyter Notebook software and project file in your web browser.
The dataset used in this project is included as titanic_data.csv
. This dataset is provided by Udacity and contains the following attributes:
Features
pclass
: Passenger Class (1 = 1st; 2 = 2nd; 3 = 3rd)name
: Namesex
: Sexage
: Agesibsp
: Number of Siblings/Spouses Aboardparch
: Number of Parents/Children Aboardticket
: Ticket Numberfare
: Passenger Farecabin
: Cabinembarked
: Port of Embarkation (C = Cherbourg; Q = Queenstown; S = Southampton)
Target Variable
survival
: Survival (0 = No; 1 = Yes)