data-science-ipython-notebooks/kaggle/titanic.ipynb

2677 lines
272 KiB
Plaintext

{
"metadata": {
"name": "",
"signature": "sha256:20b265da0620a7d77c9de6631578cc40781ad55cf777b681b0703ae50c20c05f"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Kaggle Machine Learning Competition: Predicting Survivors on the Titanic\n",
"\n",
"* Competition Site\n",
"* Description\n",
"* Evaluation\n",
"* Data Set\n",
"* Read the Data\n",
"* Explore the Data\n",
"* Feature: Passenger Classes\n",
"* Feature: Sex (Gender)\n",
"* Feature: Embarked\n",
"* Feature: Age\n",
"* Feature: Family Size\n",
"* Random Forest: Training\n",
"* Random Forest: Predicting\n",
"* Support Vector Machine: Training\n",
"* Support Vector Machine: Predicting"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Competition Site"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"https://www.kaggle.com/c/titanic-gettingStarted"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Description"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The sinking of the RMS Titanic is one of the most infamous shipwrecks in history. On April 15, 1912, during her maiden voyage, the Titanic sank after colliding with an iceberg, killing 1502 out of 2224 passengers and crew. This sensational tragedy shocked the international community and led to better safety regulations for ships.\n",
"\n",
"One of the reasons that the shipwreck led to such loss of life was that there were not enough lifeboats for the passengers and crew. Although there was some element of luck involved in surviving the sinking, some groups of people were more likely to survive than others, such as women, children, and the upper-class.\n",
"\n",
"In this challenge, we ask you to complete the analysis of what sorts of people were likely to survive. In particular, we ask you to apply the tools of machine learning to predict which passengers survived the tragedy."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Evaluation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The historical data has been split into two groups, a 'training set' and a 'test set'. For the training set, we provide the outcome ( 'ground truth' ) for each passenger. You will use this set to build your model to generate predictions for the test set.\n",
"\n",
"For each passenger in the test set, you must predict whether or not they survived the sinking ( 0 for deceased, 1 for survived ). Your score is the percentage of passengers you correctly predict.\n",
"\n",
" The Kaggle leaderboard has a public and private component. 50% of your predictions for the test set have been randomly assigned to the public leaderboard ( the same 50% for all users ). Your score on this public portion is what will appear on the leaderboard. At the end of the contest, we will reveal your score on the private 50% of the data, which will determine the final winner. This method prevents users from 'overfitting' to the leaderboard."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Data Set"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"| File Name | Available Formats |\n",
"|------------------|-------------------|\n",
"| train | .csv (59.76 kb) |\n",
"| gendermodel | .csv (3.18 kb) |\n",
"| genderclassmodel | .csv (3.18 kb) |\n",
"| test | .csv (27.96 kb) |\n",
"| gendermodel | .py (3.58 kb) |\n",
"| genderclassmodel | .py (5.63 kb) |\n",
"| myfirstforest | .py (3.99 kb) |"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"VARIABLE DESCRIPTIONS:\n",
"survival Survival\n",
" (0 = No; 1 = Yes)\n",
"pclass Passenger Class\n",
" (1 = 1st; 2 = 2nd; 3 = 3rd)\n",
"name Name\n",
"sex Sex\n",
"age Age\n",
"sibsp Number of Siblings/Spouses Aboard\n",
"parch Number of Parents/Children Aboard\n",
"ticket Ticket Number\n",
"fare Passenger Fare\n",
"cabin Cabin\n",
"embarked Port of Embarkation\n",
" (C = Cherbourg; Q = Queenstown; S = Southampton)\n",
"\n",
"SPECIAL NOTES:\n",
"Pclass is a proxy for socio-economic status (SES)\n",
" 1st ~ Upper; 2nd ~ Middle; 3rd ~ Lower\n",
"\n",
"Age is in Years; Fractional if Age less than One (1)\n",
" If the Age is Estimated, it is in the form xx.5\n",
"\n",
"With respect to the family relation variables (i.e. sibsp and parch)\n",
"some relations were ignored. The following are the definitions used\n",
"for sibsp and parch.\n",
"\n",
"Sibling: Brother, Sister, Stepbrother, or Stepsister of Passenger Aboard Titanic\n",
"Spouse: Husband or Wife of Passenger Aboard Titanic (Mistresses and Fiances Ignored)\n",
"Parent: Mother or Father of Passenger Aboard Titanic\n",
"Child: Son, Daughter, Stepson, or Stepdaughter of Passenger Aboard Titanic\n",
"\n",
"Other family relatives excluded from this study include cousins,\n",
"nephews/nieces, aunts/uncles, and in-laws. Some children travelled\n",
"only with a nanny, therefore parch=0 for them. As well, some\n",
"travelled with very close friends or neighbors in a village, however,\n",
"the definitions do not support such relations."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Read the Data"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import pandas as pd\n",
"import numpy as np\n",
"import pylab as plt\n",
"\n",
"# Set the global default size of our matplotlib figures\n",
"plt.rc('figure', figsize=(10, 5))\n",
"\n",
"df = pd.read_csv('../data/titanic/train.csv')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Explore the Data"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Braund, Mr. Owen Harris</td>\n",
" <td> male</td>\n",
" <td> 22</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> A/5 21171</td>\n",
" <td> 7.2500</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td> female</td>\n",
" <td> 38</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> PC 17599</td>\n",
" <td> 71.2833</td>\n",
" <td> C85</td>\n",
" <td> C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> Heikkinen, Miss. Laina</td>\n",
" <td> female</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> STON/O2. 3101282</td>\n",
" <td> 7.9250</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"text": [
" PassengerId Survived Pclass \\\n",
"0 1 0 3 \n",
"1 2 1 1 \n",
"2 3 1 3 \n",
"\n",
" Name Sex Age SibSp \\\n",
"0 Braund, Mr. Owen Harris male 22 1 \n",
"1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n",
"2 Heikkinen, Miss. Laina female 26 0 \n",
"\n",
" Parch Ticket Fare Cabin Embarked \n",
"0 0 A/5 21171 7.2500 NaN S \n",
"1 0 PC 17599 71.2833 C85 C \n",
"2 0 STON/O2. 3101282 7.9250 NaN S "
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.tail(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>888</th>\n",
" <td> 889</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Johnston, Miss. Catherine Helen \"Carrie\"</td>\n",
" <td> female</td>\n",
" <td>NaN</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> W./C. 6607</td>\n",
" <td> 23.45</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>889</th>\n",
" <td> 890</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Behr, Mr. Karl Howell</td>\n",
" <td> male</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 111369</td>\n",
" <td> 30.00</td>\n",
" <td> C148</td>\n",
" <td> C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>890</th>\n",
" <td> 891</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Dooley, Mr. Patrick</td>\n",
" <td> male</td>\n",
" <td> 32</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 370376</td>\n",
" <td> 7.75</td>\n",
" <td> NaN</td>\n",
" <td> Q</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
" PassengerId Survived Pclass Name \\\n",
"888 889 0 3 Johnston, Miss. Catherine Helen \"Carrie\" \n",
"889 890 1 1 Behr, Mr. Karl Howell \n",
"890 891 0 3 Dooley, Mr. Patrick \n",
"\n",
" Sex Age SibSp Parch Ticket Fare Cabin Embarked \n",
"888 female NaN 1 2 W./C. 6607 23.45 NaN S \n",
"889 male 26 0 0 111369 30.00 C148 C \n",
"890 male 32 0 0 370376 7.75 NaN Q "
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"View the data types of each column:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.dtypes"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"PassengerId int64\n",
"Survived int64\n",
"Pclass int64\n",
"Name object\n",
"Sex object\n",
"Age float64\n",
"SibSp int64\n",
"Parch int64\n",
"Ticket object\n",
"Fare float64\n",
"Cabin object\n",
"Embarked object\n",
"dtype: object"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get some basic information on the DataFrame:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.info()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 891 entries, 0 to 890\n",
"Data columns (total 12 columns):\n",
"PassengerId 891 non-null int64\n",
"Survived 891 non-null int64\n",
"Pclass 891 non-null int64\n",
"Name 891 non-null object\n",
"Sex 891 non-null object\n",
"Age 714 non-null float64\n",
"SibSp 891 non-null int64\n",
"Parch 891 non-null int64\n",
"Ticket 891 non-null object\n",
"Fare 891 non-null float64\n",
"Cabin 204 non-null object\n",
"Embarked 889 non-null object\n",
"dtypes: float64(2), int64(5), object(5)"
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note Age, Cabin, and Embarked are missing values."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate various descriptive statistics on the DataFrame:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.describe()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Fare</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td> 891.000000</td>\n",
" <td> 891.000000</td>\n",
" <td> 891.000000</td>\n",
" <td> 714.000000</td>\n",
" <td> 891.000000</td>\n",
" <td> 891.000000</td>\n",
" <td> 891.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td> 446.000000</td>\n",
" <td> 0.383838</td>\n",
" <td> 2.308642</td>\n",
" <td> 29.699118</td>\n",
" <td> 0.523008</td>\n",
" <td> 0.381594</td>\n",
" <td> 32.204208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td> 257.353842</td>\n",
" <td> 0.486592</td>\n",
" <td> 0.836071</td>\n",
" <td> 14.526497</td>\n",
" <td> 1.102743</td>\n",
" <td> 0.806057</td>\n",
" <td> 49.693429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td> 1.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 0.420000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td> 223.500000</td>\n",
" <td> 0.000000</td>\n",
" <td> 2.000000</td>\n",
" <td> 20.125000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 7.910400</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td> 446.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 3.000000</td>\n",
" <td> 28.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 14.454200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td> 668.500000</td>\n",
" <td> 1.000000</td>\n",
" <td> 3.000000</td>\n",
" <td> 38.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 0.000000</td>\n",
" <td> 31.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td> 891.000000</td>\n",
" <td> 1.000000</td>\n",
" <td> 3.000000</td>\n",
" <td> 80.000000</td>\n",
" <td> 8.000000</td>\n",
" <td> 6.000000</td>\n",
" <td> 512.329200</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
" PassengerId Survived Pclass Age SibSp \\\n",
"count 891.000000 891.000000 891.000000 714.000000 891.000000 \n",
"mean 446.000000 0.383838 2.308642 29.699118 0.523008 \n",
"std 257.353842 0.486592 0.836071 14.526497 1.102743 \n",
"min 1.000000 0.000000 1.000000 0.420000 0.000000 \n",
"25% 223.500000 0.000000 2.000000 20.125000 0.000000 \n",
"50% 446.000000 0.000000 3.000000 28.000000 0.000000 \n",
"75% 668.500000 1.000000 3.000000 38.000000 1.000000 \n",
"max 891.000000 1.000000 3.000000 80.000000 8.000000 \n",
"\n",
" Parch Fare \n",
"count 891.000000 891.000000 \n",
"mean 0.381594 32.204208 \n",
"std 0.806057 49.693429 \n",
"min 0.000000 0.000000 \n",
"25% 0.000000 7.910400 \n",
"50% 0.000000 14.454200 \n",
"75% 0.000000 31.000000 \n",
"max 6.000000 512.329200 "
]
}
],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Feature: Passenger Classes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get the unique values of Pclass:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"passenger_classes = sort(df['Pclass'].unique())\n",
"passenger_classes"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"array([1, 2, 3])"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot a histogram of Pclass:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Pclass'].hist(bins=len(passenger_classes))\n",
"plt.title('Passenger Class Histogram')\n",
"plt.xlabel('Passenger Class')\n",
"plt.ylabel('Count')\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n4dMOmMq3JR2Ypp5/TdIFkg7NnAkZpVNW50v6gzQ78oRdJqzz/jKmtjBWeG/B4yLiMUkLbO8p6cu2\nq4ioJ+wZmjzeAAAFUUlEQVQ28HtLV2fQJl7Q9oC0DXiCiHiwN/UcERdL2tH2XpljIRPbO0r6vKRP\nR8QFk+zC+wskbXms8N6CyUTEekn/Jun5E24a6r2lqwXalyS9QZJsv0DSAxGxLm8ktJXtubadlheq\nubzMxN4AjIE0Dj4paVVE/M0Uu/H+goHGCu8t6LG9t+05aXkXSS+TdN2E3YZ6b2nlKU7b50o6VtLe\ntm+T9B5JO0pSRPx9RPy77RNt3yLpx5J+M19a5Lal8SLpVZLeYvsRSQ9JOjVXVmR3jKTXS7redu/N\n892Snirx/oLNbHGsiPcWbLKfpGW2t1Mz+XVORFxm+/ekmb23cKFaAACAlunqKU4AAIBiUaABAAC0\nDAUaAABAy1CgAQAAtAwFGgAAQMtQoAEAALQMBRqAWWP7UdvX2f6u7eXpgo5FsP0O2zem53eN7d9I\n22vbz8udD0C3UKABmE0PRcQREfFsSQ9LenPuQDORLkbZv/5mSS+VdGREHJGWe9+5F+K7PAEMiQIN\nQC5fl3Sw7VfYvsr2t22vsP3zkmT72DQbdV26bVfb+9n+j75ZuBemfY+3faXta9PM3K5p+xrbS9P2\n620/I23fJx3rBtsfT/vtlW57ve2r0zH+rleM2f6R7b+0vVLSCyY8l9MlvaX3ZdrpOxr/eeITtv1R\n299Mx13at/0s29+z/R3bZ6dtr07PcaXty7fpKw+g9SjQAMw62ztIOlHS9ZKuiIgXRMRzJX1W0h+n\n3f5I0mlpRuqFkn4q6bWSLknbniNppe29Jf2JpJdGxPMkXSvpD9NjhKS70/aPSXpH2v4eSV+JiGdJ\nOl/p63tsHybpNZKOTsd4TNL/Svd5sqSrImJBRFzZ91z2kLR7RKwZ4Kn/SUQcmbIfa/vZtn9O0skR\n8YsR8RxJ/zft+2eSjo+IBZJeOcBjAyhIK7+LE0Cxdun7XsP/UPNl1IfZXi5pX0k7SfrvdPs3JH3A\n9r9I+kJE3G77m5L+0faOki6IiO/YriQdLunK9L3VO0l6vICS9IX057cl/Y+0fIykkyUpIr5s+/60\n/aWSnifpW+mxdpF0Z7rtUUmf38rnf4rt31Hz3rufpMMkrZL0U9uflHRR+uk9/2XptfnCZA8GoFwU\naABm00/SzNTjbP+tpL+MiItsHytpqSRFxPttXyTp5ZK+YftXI+Lrtl8k6RWS/sn2X0u6X9KKiHjd\nFMf8WfrzUW3+nucJ+/XWl0XEuyd5nJ/GJF9eHBEb0unPgyLiB1M9cdsHqZkVfH5ErLf9KUm7RMSj\ntheqKQ5fJeltamYD35K2v1zStbafFxH3TfX4AMrCKU4Aue0h6Y60vLi30fbTI+J7EXG2pG9Keobt\np6o5ZfkJSZ+QdISkqyQdY/vp6X672j5kC8f8hppTmbJ9vKSnqDkdepmkV9neJ922Vzrmlpwp6SO2\nd0/32633Kc4Jz/PHkjbYnivp1yRF6pebExEXqzk1+5y+539NRLxH0t2SDhggB4BCMIMGYDZN9mnG\npZI+l04zflXS09L2P7D9YjV9YDdIukTSqZLeaXujpAclvSEi7rG9WNK5tndO9/0TSTdPcuze8d+b\n9v8NSf+p5jTmgxFxn+0/lXRp+nDARkmnSbp1iuzNA0d8zPZukr6Zsm2U9JcT9vlOOr27WtJtkq5I\nN+0u6V9tP0nNLN7b0/azU6FpNf1y1091fADl8SQz9gBQNNs7SXo0nV48StJH0ocUAKAVmEEDMI6e\nKml5miV7WNLvZM4DAJthBg0AAKBl+JAAAABAy1CgAQAAtAwFGgAAQMtQoAEAALQMBRoAAEDLUKAB\nAAC0zP8HY4b11pIaXGQAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x10a1fced0>"
]
}
],
"prompt_number": 8
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate a cross tab of Pclass and Survived:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pclass_xt = pd.crosstab(df['Pclass'], df['Survived'])\n",
"pclass_xt"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>Survived</th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Pclass</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 80</td>\n",
" <td> 136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 97</td>\n",
" <td> 87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 372</td>\n",
" <td> 119</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
"Survived 0 1\n",
"Pclass \n",
"1 80 136\n",
"2 97 87\n",
"3 372 119"
]
}
],
"prompt_number": 9
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Normalize the cross tab to sum to 1:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pclass_xt_pct = pclass_xt.div(pclass_xt.sum(1).astype(float), axis=0)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot the cross tab:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pclass_xt_pct.plot(kind='bar', stacked=True)\n",
"plt.title('Survival Rate by Passenger Classes')\n",
"plt.xlabel('Passenger Class')\n",
"plt.ylabel('Survival Rate')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"<matplotlib.text.Text at 0x1020d9350>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nc88F4JxzzmHRokXcd999XHrppRx22GHsvvvuvOENb+COO+4A4NJLL+WII4rHTR955JEzebj2eGkK\nI94TIM0I81xd0II8X2edddhvv/3Yb7/9eO5zn8uZZ57JnDlzeOSRRwB48MEHH7P9hhtuuPr7rbba\niqc97Wlcc801nHfeeZx++unAY0fMDj74YN7+9rdz9913c8UVV/CSl7yEe++9l0033ZSlS5fWcISP\ncsRLkiQ15mc/+xk33HDD6uWlS5cyf/585s+fz5IlSwA4//zzV7/e7873ixYt4uSTT2bFihUsWLDg\ncdvNnTuXPffckze/+c0cfPDBRASbbLIJ22+//erRsszk6quvBmDfffflnHPOAeDTn/70jB6vhZf6\nG/GeAGlGmOfqghHP8/vuu4/FixfznOc8h912243rr7+e97znPbz73e/m+OOPZ88992TOnDmrR7Ai\n4nH9X69+9as599xzOfzww1evm7zdokWLVveETfj0pz/Nxz/+cRYuXMiCBQu44IILAPjIRz7Cqaee\nyq677sptt902o1c1RhuemRQR2YY4J4uItX4g6MgYpYeqro3x2fUcsDYwzxswbp7XzTyfIeOzK3cj\nou/xlOv7VmuOeKm/UflLKg2Tea4uMM9HioWXJElSTSy81N+I9wRIM8I8VxeY5yPFwkuSJKkmFl7q\nz54AdYF5ri4wz0eKhZckSVJNLLzUnz0B6gLzXF1gno8UCy9JkqSaWHipP3sC1AXmubqgBXk+cZf5\nYX4Navny5Rx66KHMnTuX+fPnc/bZZ8/osfqQbEmSNAKGeUf7wQuvY489lvXXX58777yTpUuXctBB\nB7Hbbruxyy67zEgkjnipP3sC1AXmubrAPB/Y/fffz+c//3lOPPFENtxwQ/bdd18OOeQQzjrrrBn7\nDAsvSZIk4Gc/+xlz5sxhhx12WL1ut9124yc/+cmMfYaFl/prQU+A9KSZ5+oC83xg9913H5tssslj\n1m288cbce++9M/YZFl6SJEnA3LlzWbFixWPW3XPPPWy88cYz9hkWXurPngB1gXmuLjDPB/bsZz+b\nlStXcuONN65ed9VVV7FgwYIZ+wwLL0mSJGCjjTbiVa96Fe9617v43e9+xyWXXMKFF17IUUcdNWOf\nYeGl/uwJUBeY5+oC83yt/Nu//RsPPPAAW265JUceeSSnnXYaO++884zt3/t4SZKkETD4vbaGadNN\n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\nnk7w9PBiAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x10a1fc450>"
]
}
],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see that passenger class seems to have a significant impact on whether a passenger survived."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Feature: Sex (Gender)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We'll need to map Sex from a string to a number to prepare it for machine learning algorithms."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prepare to map Sex from a string to a number representation:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"genders = sort(df['Sex'].unique())\n",
"genders_mapping = dict(zip(genders, range(0, len(genders) + 1)))\n",
"genders_mapping"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": [
"{'female': 0, 'male': 1}"
]
}
],
"prompt_number": 12
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Transform Sex from a string to a number representation:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Sex_Val'] = df['Sex'].map({'female': 0, 'male': 1}).astype(int)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" <th>Sex_Val</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Braund, Mr. Owen Harris</td>\n",
" <td> male</td>\n",
" <td> 22</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> A/5 21171</td>\n",
" <td> 7.2500</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td> female</td>\n",
" <td> 38</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> PC 17599</td>\n",
" <td> 71.2833</td>\n",
" <td> C85</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> Heikkinen, Miss. Laina</td>\n",
" <td> female</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> STON/O2. 3101282</td>\n",
" <td> 7.9250</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
" PassengerId Survived Pclass \\\n",
"0 1 0 3 \n",
"1 2 1 1 \n",
"2 3 1 3 \n",
"\n",
" Name Sex Age SibSp \\\n",
"0 Braund, Mr. Owen Harris male 22 1 \n",
"1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n",
"2 Heikkinen, Miss. Laina female 26 0 \n",
"\n",
" Parch Ticket Fare Cabin Embarked Sex_Val \n",
"0 0 A/5 21171 7.2500 NaN S 1 \n",
"1 0 PC 17599 71.2833 C85 C 0 \n",
"2 0 STON/O2. 3101282 7.9250 NaN S 0 "
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"genders = sort(df['Sex_Val'].unique())\n",
"genders"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
"array([0, 1])"
]
}
],
"prompt_number": 15
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot a histogram of the Sex_Val:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Sex_Val'].hist(bins=len(genders))\n",
"plt.title('Gender Histogram')\n",
"plt.xlabel('Gender')\n",
"plt.ylabel('Count')\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x1020e7d50>"
]
}
],
"prompt_number": 16
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot a normalized cross tab for Sex_Val and Survived:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sex_val_xt = pd.crosstab(df['Sex_Val'], df['Survived'])\n",
"sex_val_xt_pct = sex_val_xt.div(sex_val_xt.sum(1).astype(float), axis=0)\n",
"sex_val_xt_pct.plot(kind='bar', stacked=True)\n",
"plt.title('Survival Rate by Gender')\n",
"plt.xlabel('Gender')\n",
"plt.ylabel('Survival Rate')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 17,
"text": [
"<matplotlib.text.Text at 0x10a4532d0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nmzePadOmccQRR/DpT3+aRYsW8bGPfYx3vetdABx77LEcddRR3HDDDWy99dZ9fb8GL0mSVJtNNtmE\na665hlNPPZWtttqKBQsWcNppp425f0Sw//77s9FGGwFw8MEH89WvfhWA8847j4MOOuhZz1mwYAHn\nnnsuAOeccw4LFizg0Ucf5corr+Sggw5i9913553vfCf33HMPAFdeeSWHHNL5uOlDDz20n2/XHi81\njH0Ykqrg3FKpDTbYgH333Zd9992Xl770pZx22mlMnz6dp59+GoDf/e53q+0/Y8aMVV9vvfXWPO95\nz+PGG2/kvPPO45RTTgFWXzGbP38+H/jAB3jggQe49tprec1rXsMjjzzC5ptvzuLFiwfwDp/hipck\nSarNz3/+c2655ZZV48WLFzM0NMTQ0BCLFi0C4Pzzz1/1eK873y9YsIATTzyRhx9+mDlz5jxrv5kz\nZ7LnnntyzDHHMH/+fCKCzTbbjO22227VallmcsMNNwCwzz77cM455wBw1lln9fX9GrzULPZhSKqC\nc0tlHn30URYuXMguu+zCbrvtxtKlSznuuOP4yEc+wrHHHsuee+7J9OnTV61gRcSz+r/e/OY3c+65\n53LwwQev2jZ6vwULFqzqCRtx1lln8cUvfpG5c+cyZ84cLrzwQgA++clP8pnPfIZdd92Vu+66q69X\nNcZU+MykiMipUOegRQQM113FJOMH2fY23KzPR1O1nFt6cG7pbXjN5paIaNRcNNb7Kbb3TGuueKlZ\nnBglVcG5RX1i8JIkSRoQg5eaxT4MSVVwblGfGLwkSZIGxOClZrEPQ1IVnFvUJwYvSZKkATF4qVns\nw5BUBecW9YnBS5IkaUAMXmoW+zAkVcG5pVIjd5mv8k9Z999/PwceeCAzZ85kaGiIs88+u6/v1Q/J\nliRJk0CVd7QvH7yOOuooNt54Y+69914WL17MG97wBnbbbTd23nnnvlTiipeaxT4MSVVwblkvPPbY\nY1xwwQUcf/zxzJgxg3322YcDDjiAM844o2+vYfCSJEkCfv7znzN9+nS23377Vdt22203fvazn/Xt\nNQxeahb7MCRVwbllvfDoo4+y2WabrbZt00035ZFHHunbaxi8JEmSgJkzZ/Lwww+vtu2hhx5i0003\n7dtrGLzULPZhSKqCc8t64SUveQkrVqzg1ltvXbXt+uuvZ86cOX17DYOXJEkSsMkmm/CmN72JD3/4\n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\n8JIkSRqQ/w9uomDn+CN0rAAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x109fef350>"
]
}
],
"prompt_number": 17
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The majority of females survived, whereas the majority of males did not."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Count males and females in each Pclass:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for p_class in passenger_classes:\n",
" print 'M: ', p_class, len(df[(df['Sex'] == 'male') & (df['Pclass'] == p_class)])\n",
" print 'F: ', p_class, len(df[(df['Sex'] == 'female') & (df['Pclass'] == p_class)])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"M: 1 122\n",
"F: 1 94\n",
"M: 2 108\n",
"F: 2 76\n",
"M: 3 347\n",
"F: 3 144\n"
]
}
],
"prompt_number": 18
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Feature: Embarked"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Embarked column might be an important feature but is missing a couple data points:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[df['Embarked'].isnull()]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" <th>Sex_Val</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>61 </th>\n",
" <td> 62</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Icard, Miss. Amelie</td>\n",
" <td> female</td>\n",
" <td> 38</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 113572</td>\n",
" <td> 80</td>\n",
" <td> B28</td>\n",
" <td> NaN</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>829</th>\n",
" <td> 830</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Stone, Mrs. George Nelson (Martha Evelyn)</td>\n",
" <td> female</td>\n",
" <td> 62</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 113572</td>\n",
" <td> 80</td>\n",
" <td> B28</td>\n",
" <td> NaN</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
" PassengerId Survived Pclass Name \\\n",
"61 62 1 1 Icard, Miss. Amelie \n",
"829 830 1 1 Stone, Mrs. George Nelson (Martha Evelyn) \n",
"\n",
" Sex Age SibSp Parch Ticket Fare Cabin Embarked Sex_Val \n",
"61 female 38 0 0 113572 80 B28 NaN 0 \n",
"829 female 62 0 0 113572 80 B28 NaN 0 "
]
}
],
"prompt_number": 19
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Determine the unique values of Embarked:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"embarked_locations = sort(df['Embarked'].unique())\n",
"embarked_locations"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"array([nan, 'C', 'Q', 'S'], dtype=object)"
]
}
],
"prompt_number": 20
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prepare to map Embarked from a string to a number representation:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"embarked_locations_mapping = dict(zip(embarked_locations, \n",
" range(0, len(embarked_locations) + 1)))\n",
"embarked_locations_mapping"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"{nan: 0, 'C': 1, 'Q': 2, 'S': 3}"
]
}
],
"prompt_number": 21
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Transform Embarked from a string to a number representation to prepare it for machine learning algorithms:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Embarked_Val'] = df['Embarked'].map(embarked_locations_mapping).astype(int)\n",
"df.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" <th>Sex_Val</th>\n",
" <th>Embarked_Val</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Braund, Mr. Owen Harris</td>\n",
" <td> male</td>\n",
" <td> 22</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> A/5 21171</td>\n",
" <td> 7.2500</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td> female</td>\n",
" <td> 38</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> PC 17599</td>\n",
" <td> 71.2833</td>\n",
" <td> C85</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> Heikkinen, Miss. Laina</td>\n",
" <td> female</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> STON/O2. 3101282</td>\n",
" <td> 7.9250</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 4</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td> female</td>\n",
" <td> 35</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 113803</td>\n",
" <td> 53.1000</td>\n",
" <td> C123</td>\n",
" <td> S</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 5</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Allen, Mr. William Henry</td>\n",
" <td> male</td>\n",
" <td> 35</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 373450</td>\n",
" <td> 8.0500</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 22,
"text": [
" PassengerId Survived Pclass \\\n",
"0 1 0 3 \n",
"1 2 1 1 \n",
"2 3 1 3 \n",
"3 4 1 1 \n",
"4 5 0 3 \n",
"\n",
" Name Sex Age SibSp \\\n",
"0 Braund, Mr. Owen Harris male 22 1 \n",
"1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n",
"2 Heikkinen, Miss. Laina female 26 0 \n",
"3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 \n",
"4 Allen, Mr. William Henry male 35 0 \n",
"\n",
" Parch Ticket Fare Cabin Embarked Sex_Val Embarked_Val \n",
"0 0 A/5 21171 7.2500 NaN S 1 3 \n",
"1 0 PC 17599 71.2833 C85 C 0 1 \n",
"2 0 STON/O2. 3101282 7.9250 NaN S 0 3 \n",
"3 0 113803 53.1000 C123 S 0 3 \n",
"4 0 373450 8.0500 NaN S 1 3 "
]
}
],
"prompt_number": 22
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Count the number of passengers by Embarked:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for embarked in range(0, len(embarked_locations)):\n",
" print embarked, len(df[df['Embarked_Val'] == embarked])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"0 2\n",
"1 168\n",
"2 77\n",
"3 644\n"
]
}
],
"prompt_number": 23
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot the histogram for Embarked_Val:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Embarked_Val'].hist(bins=len(embarked_locations))\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nvJKV8qGkN6r9JxIRcVTSnO35Dms636V+EOys/nOa3omIf5X0nU0O4RyfsoSeS5zjUxURJyNi0G7/\nj6SvS7p87DDO9SlK7LnEuT5VEfFsu3mRhhcunh47ZKLzvMsh63QfSroj4ZgrOqzpfJfS85D0c+1l\nzk/Z3p2tujpxjufHOd4h2wsaXkk8OvYU53pHNuk55/qU2b7A9kDSuqSHI2Jl7JCJzvMuPidrQ2qi\nfnwKJ4l/9lJ69yVJOyPiWdtvkXSfpF3dllU9zvG8OMc7Yvtlkj4u6T3t1ZUfOmRszbl+jrboOef6\nlEXEC5IWbb9c0qdtL0VEM3ZY8nne5ZWslA8lHT/minYfzs6WPY+I721cDo2IByS9yPYl+UqsDud4\nZpzj3bD9IkmfkPS3EXHfaQ7hXJ+yrXrOud6diPiupH+R9LNjT010nnc5ZH1R0tW2F2xfJOntku4f\nO+Z+Sb8qSbZfK+mZiFjvsKbz3ZY9tz1v2+32Hg0/xmP8njOmh3M8M87x6Wv7+WFJKxHxF2c4jHN9\nilJ6zrk+XbYvtT3Xbv+IpOslPTZ22ETneWe3C+MMH0pq+7fa5/8qIj5l+622T0j6vqRf66qeGqT0\nXNIvS/pt289LelbSLcUKPg/YvlfSGyVdavsbku7Q8F92co53ZKuei3O8C6+T9CuSvmJ7438675P0\nColzvSNb9lyc69O2XdJB2xdoeBHqYxHxmXOZW/gwUgAAgA50+mGkAAAAtWLIAgAA6ABDFgAAQAcY\nsgAAADrAkAUAANABhiwAAIAOMGQBAAB0gCELAACgA/8HTLq+1IpTh+8AAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x10a462b50>"
]
}
],
"prompt_number": 24
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since the vast majority of passengers embarked in 'S': 3, we assign the two missing values in Embarked to this: "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[df['Embarked_Val'] == embarked_locations_mapping[nan]]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" <th>Sex_Val</th>\n",
" <th>Embarked_Val</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>61 </th>\n",
" <td> 62</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Icard, Miss. Amelie</td>\n",
" <td> female</td>\n",
" <td> 38</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 113572</td>\n",
" <td> 80</td>\n",
" <td> B28</td>\n",
" <td> NaN</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>829</th>\n",
" <td> 830</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Stone, Mrs. George Nelson (Martha Evelyn)</td>\n",
" <td> female</td>\n",
" <td> 62</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 113572</td>\n",
" <td> 80</td>\n",
" <td> B28</td>\n",
" <td> NaN</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 25,
"text": [
" PassengerId Survived Pclass Name \\\n",
"61 62 1 1 Icard, Miss. Amelie \n",
"829 830 1 1 Stone, Mrs. George Nelson (Martha Evelyn) \n",
"\n",
" Sex Age SibSp Parch Ticket Fare Cabin Embarked Sex_Val \\\n",
"61 female 38 0 0 113572 80 B28 NaN 0 \n",
"829 female 62 0 0 113572 80 B28 NaN 0 \n",
"\n",
" Embarked_Val \n",
"61 0 \n",
"829 0 "
]
}
],
"prompt_number": 25
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df.replace({'Embarked_Val' : { embarked_locations_mapping[nan] : embarked_locations_mapping['S'] }}, inplace=True)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 26
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Verify we do not have any more NaNs for Embarked_Val:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"sort(df['Embarked_Val'].unique())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 27,
"text": [
"array([1, 2, 3])"
]
}
],
"prompt_number": 27
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot a normalized cross tab for Embarked_Val and Survived:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"embarked_val_xt = pd.crosstab(df['Embarked_Val'], df['Survived'])\n",
"embarked_val_xt_pct = embarked_val_xt.div(embarked_val_xt.sum(1).astype(float), axis=0)\n",
"embarked_val_xt_pct.plot(kind='bar', stacked=True)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 28,
"text": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10a440910>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAk8AAAFDCAYAAAAj7eqIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHw5JREFUeJzt3X20XXWd3/H3F0KFEDJBUZc82Msa1IKRXORhyWDlIFMn\naiPFCikdcEKngktQ/pgunWVVLqXMDMtpZ1R8QEvNLEUCC7QLVKRW3XUsjhgMDwrhqaRNQHQsyEN4\nGBJ+/eOehM0lybk7OXf/9sP7tdZdyd5n33O/l/sJ65v9/eacSCkhSZKk2dktdwGSJEltYvMkSZJU\ngc2TJElSBTZPkiRJFdg8SZIkVWDzJEmSVMHI5iki/mtE/Coibt/BNZ+OiHsi4taIOGK8JUqSJDXH\nbO48fRlYur0HI+IdwCEppdcAZwGfH1NtkiRJjTOyeUop/S3wyA4ueRfwN8NrfwIsiohXjqc8SZKk\nZhnHztMBwPrS8QbgwDE8ryRJUuOMa2E8Zhz7ni+SJKmT5o3hOR4ADiodHzg89wIRYUMlSZJaI6U0\n8+YQMJ7m6VrgXGBVRLwJ+G1K6VfbKWIMX65eEQFTuavYST8ATshdxE6YamdW2sycZzBlzutmzjOY\nam/OI7bZNwGzaJ4i4grgeGC/iFgPnA/sAZBSujSl9O2IeEdE3AtsBM4cS9Xadb/NXYBUA3OuPjDn\njTKyeUopnTaLa84dTzmSJEnN5iuMd9lk7gKkGphz9YE5bxSbpy47OHcBUg3MufrAnDfKOBbG1VT3\n4x84dZ85Vx80KedT1S7f0eJ1U1Rdard5kiRJlbT1X9Bty840d47tuqwpf0uR5pI5Vx+Y80axeZIk\nSarA5qnL7s9dgFQDc64+MOeNYvMkSZJ22UUXXcTixYtZsmQJRxxxBDfddNMuP+d1113HxRdfPIbq\nYMGCBWN5HnBhvNuckasPzLn6oOE5//GPf8y3vvUt1qxZwx577MHDDz/MM888M6vP3bRpE/Pmbbsd\nWbZsGcuWLRtLjeP8V3/eeZIkSbvkoYceYr/99mOPPfYA4KUvfSmvetWrmJiY4OGHHwZg9erVnHDC\n9Bv0TU1NccYZZ/DmN7+Z9773vRx77LHccccdW59vMBhw8803s3LlSj74wQ/y2GOPMTExsfXxjRs3\n8upXv5rNmzdz33338fa3v52jjjqKt7zlLdx1110A3H///Rx77LEcfvjhfOxjHxvr92vz1GXOyNUH\n5lx90PCcv+1tb2P9+vW87nWv45xzzuGHP/whsOO7PWvXruV73/seX/va11i+fDlXXXUVAL/85S95\n6KGHOPLII7deu3DhQiYnJymKAoBvfvObLF26lN13352zzjqLz3zmM6xevZpPfvKTfOADHwDgvPPO\n45xzzuG2225j//33H+v3a/MkSZJ2yd57783NN9/MF7/4RV7+8pezfPlyVq5cud3rI4J3vetdvOQl\nLwHg1FNP5eqrrwbgqquu4pRTTnnR5yxfvpwrr7wSgFWrVrF8+XKeeOIJbrzxRk455RSOOOII3v/+\n9/PQQw8BcOONN3LaadNvz3v66aeP89t156nTGj4jl8bCnKsPWpDz3XbbjeOPP57jjz+eN7zhDaxc\nuZJ58+bx3HPPAfD000+/4Pr58+dv/f3+++/Py172Mm6//XauuuoqLr30UuCFd66WLVvGRz/6UR55\n5BF+9rOf8da3vpXHH3+cfffdlzVr1tTwHT7PO0+SJGmX3H333dxzzz1bj9esWcPExAQTExOsXr0a\ngGuuuWbr49t6hfLly5dz8cUX89hjj7F48eIXXbdgwQKOPvpoPvShD7Fs2TIigoULF3LwwQdvvWuV\nUuK2224D4LjjjmPVqlUAXH755WP9fm2euqzhM3JpLMy5+qDhOX/iiSdYsWIFr3/961myZAlr167l\nggsu4Pzzz+e8887j6KOPZt68eVvvJEXEi/ah3vOe93DllVdy6qmnbj0387rly5dv3ZHa4vLLL+ey\nyy5jcnKSxYsXc+211wLwqU99is9+9rMcfvjhPPjgg2P913ZR1/vTRERq43vhRETlN0FsjCa9kWQV\nU91636Q2MOcZTJnzupnzMZnqVnYjYpvfz/D8Njsu7zx1WVP+oElzyZyrD8x5o9g8SZIkVWDz1GUN\nn5FLY2HO1QfmvFFsniRJkiqweeoyZ+TqA3OuPjDnjWLzJEmSVIHNU5c5I1cfmHP1gTlvFJsnSZKk\nCmyeuswZufrAnKsPzHklDz/8MCeffDILFixgYmKCK664YqzP7xsDS5KkXTbOtz/Zntm+svk555zD\nnnvuya9//WvWrFnDO9/5TpYsWcJhhx02ljq889RlzsjVB+ZcfdCanKc5/JidjRs38vWvf50LL7yQ\n+fPnc9xxx3HSSSfxla98ZSzfIdg8SZKkDrn77ruZN28ehxxyyNZzS5Ys4Re/+MXYvobNU5c5I1cf\n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\nRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x10a437ad0>"
]
}
],
"prompt_number": 28
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It appears those that embarked in location 'C': 1 had the highest rate of survival."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Feature: Age"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Age column seems like an important feature but is missing many values. \n",
"\n",
"Get the first 10 rows of the Age column:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Age'][:10]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 29,
"text": [
"0 22\n",
"1 38\n",
"2 26\n",
"3 35\n",
"4 35\n",
"5 NaN\n",
"6 54\n",
"7 2\n",
"8 27\n",
"9 14\n",
"Name: Age, dtype: float64"
]
}
],
"prompt_number": 29
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Display the Age histogram:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['Age'].hist()\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x10a4531d0>"
]
}
],
"prompt_number": 30
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Filter the DataFrame to the columns we'll be looking at with Age:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[['Sex', 'Pclass', 'Age']].head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Sex</th>\n",
" <th>Pclass</th>\n",
" <th>Age</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> male</td>\n",
" <td> 3</td>\n",
" <td> 22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> female</td>\n",
" <td> 1</td>\n",
" <td> 38</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> female</td>\n",
" <td> 3</td>\n",
" <td> 26</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
" Sex Pclass Age\n",
"0 male 3 22\n",
"1 female 1 38\n",
"2 female 3 26"
]
}
],
"prompt_number": 31
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Determine the max age:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"max_age = max(df['Age'])\n",
"max_age"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 32,
"text": [
"80.0"
]
}
],
"prompt_number": 32
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Filter the DataFrame to see more information on seniors Age > 60:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[df['Age'] > 60][['Sex', 'Pclass', 'Age']]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Sex</th>\n",
" <th>Pclass</th>\n",
" <th>Age</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>33 </th>\n",
" <td> male</td>\n",
" <td> 2</td>\n",
" <td> 66.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54 </th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 65.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96 </th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 71.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>116</th>\n",
" <td> male</td>\n",
" <td> 3</td>\n",
" <td> 70.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>170</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 61.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>252</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 62.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>275</th>\n",
" <td> female</td>\n",
" <td> 1</td>\n",
" <td> 63.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>280</th>\n",
" <td> male</td>\n",
" <td> 3</td>\n",
" <td> 65.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>326</th>\n",
" <td> male</td>\n",
" <td> 3</td>\n",
" <td> 61.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>438</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 64.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>456</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 65.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>483</th>\n",
" <td> female</td>\n",
" <td> 3</td>\n",
" <td> 63.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>493</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 71.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>545</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 64.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>555</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 62.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>570</th>\n",
" <td> male</td>\n",
" <td> 2</td>\n",
" <td> 62.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>625</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 61.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>630</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 80.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>672</th>\n",
" <td> male</td>\n",
" <td> 2</td>\n",
" <td> 70.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>745</th>\n",
" <td> male</td>\n",
" <td> 1</td>\n",
" <td> 70.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>829</th>\n",
" <td> female</td>\n",
" <td> 1</td>\n",
" <td> 62.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>851</th>\n",
" <td> male</td>\n",
" <td> 3</td>\n",
" <td> 74.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 33,
"text": [
" Sex Pclass Age\n",
"33 male 2 66.0\n",
"54 male 1 65.0\n",
"96 male 1 71.0\n",
"116 male 3 70.5\n",
"170 male 1 61.0\n",
"252 male 1 62.0\n",
"275 female 1 63.0\n",
"280 male 3 65.0\n",
"326 male 3 61.0\n",
"438 male 1 64.0\n",
"456 male 1 65.0\n",
"483 female 3 63.0\n",
"493 male 1 71.0\n",
"545 male 1 64.0\n",
"555 male 1 62.0\n",
"570 male 2 62.0\n",
"625 male 1 61.0\n",
"630 male 1 80.0\n",
"672 male 2 70.0\n",
"745 male 1 70.0\n",
"829 female 1 62.0\n",
"851 male 3 74.0"
]
}
],
"prompt_number": 33
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that most are men, most are 1st class, and most perished. Age seems like a good feature to predict whether a passenger survived, but we'll need to do some cleaning, as there are missing values. Missing values pose a problem for machine learning algorithms.\n",
"\n",
"Filter to view missing Age values:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[df['Age'].isnull()][['Sex', 'Pclass', 'Age']].head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Sex</th>\n",
" <th>Pclass</th>\n",
" <th>Age</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> male</td>\n",
" <td> 3</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> male</td>\n",
" <td> 2</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> female</td>\n",
" <td> 3</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 34,
"text": [
" Sex Pclass Age\n",
"5 male 3 NaN\n",
"17 male 2 NaN\n",
"19 female 3 NaN"
]
}
],
"prompt_number": 34
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Determine the Age typical for each passenger class by Sex_Val. We'll use the median as the Age histogram above seems to be right skewed:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"median_ages = np.zeros((len(genders), len(passenger_classes)))\n",
"median_ages"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 35,
"text": [
"array([[ 0., 0., 0.],\n",
" [ 0., 0., 0.]])"
]
}
],
"prompt_number": 35
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fill in our median ages array:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for genderIdx in range(0, len(genders)):\n",
" for pclassIdx in range(0, len(passenger_classes)):\n",
" median_age = df[(df['Sex_Val'] == genderIdx) & \\\n",
" (df['Pclass'] == pclassIdx + 1)]\n",
" median_ages[genderIdx, pclassIdx] = \\\n",
" median_age['Age'].dropna().median()\n",
"\n",
" df.loc[(df['Age'].isnull()) & \n",
" (df['Sex_Val'] == genderIdx) & \n",
" (df['Pclass'] == pclassIdx + 1), \\\n",
" 'AgeFill'] = median_age\n",
" \n",
"median_ages"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 36,
"text": [
"array([[ 35. , 28. , 21.5],\n",
" [ 40. , 30. , 25. ]])"
]
}
],
"prompt_number": 36
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Make a copy of Age:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['AgeFill'] = df['Age']\n",
"df.head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" <th>Sex_Val</th>\n",
" <th>Embarked_Val</th>\n",
" <th>AgeFill</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Braund, Mr. Owen Harris</td>\n",
" <td> male</td>\n",
" <td> 22</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> A/5 21171</td>\n",
" <td> 7.2500</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td> female</td>\n",
" <td> 38</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> PC 17599</td>\n",
" <td> 71.2833</td>\n",
" <td> C85</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 38</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> Heikkinen, Miss. Laina</td>\n",
" <td> female</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> STON/O2. 3101282</td>\n",
" <td> 7.9250</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 26</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 37,
"text": [
" PassengerId Survived Pclass \\\n",
"0 1 0 3 \n",
"1 2 1 1 \n",
"2 3 1 3 \n",
"\n",
" Name Sex Age SibSp \\\n",
"0 Braund, Mr. Owen Harris male 22 1 \n",
"1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n",
"2 Heikkinen, Miss. Laina female 26 0 \n",
"\n",
" Parch Ticket Fare Cabin Embarked Sex_Val Embarked_Val \\\n",
"0 0 A/5 21171 7.2500 NaN S 1 3 \n",
"1 0 PC 17599 71.2833 C85 C 0 1 \n",
"2 0 STON/O2. 3101282 7.9250 NaN S 0 3 \n",
"\n",
" AgeFill \n",
"0 22 \n",
"1 38 \n",
"2 26 "
]
}
],
"prompt_number": 37
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Populate AgeFill based on our median_ages array:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for genderIdx in range(0, len(genders)):\n",
" for pclassIdx in range(0, len(passenger_classes)):\n",
" df.loc[(df['Age'].isnull()) & \n",
" (df['Sex_Val'] == genderIdx) & \n",
" (df['Pclass'] == pclassIdx + 1), \\\n",
" 'AgeFill'] = median_ages[genderIdx, pclassIdx]\n",
" \n",
"df[df['Age'].isnull()].head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" <th>Sex_Val</th>\n",
" <th>Embarked_Val</th>\n",
" <th>AgeFill</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>5 </th>\n",
" <td> 6</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Moran, Mr. James</td>\n",
" <td> male</td>\n",
" <td>NaN</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 330877</td>\n",
" <td> 8.4583</td>\n",
" <td> NaN</td>\n",
" <td> Q</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> 25.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td> 18</td>\n",
" <td> 1</td>\n",
" <td> 2</td>\n",
" <td> Williams, Mr. Charles Eugene</td>\n",
" <td> male</td>\n",
" <td>NaN</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 244373</td>\n",
" <td> 13.0000</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 30.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td> 20</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> Masselmani, Mrs. Fatima</td>\n",
" <td> female</td>\n",
" <td>NaN</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> 2649</td>\n",
" <td> 7.2250</td>\n",
" <td> NaN</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 21.5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 38,
"text": [
" PassengerId Survived Pclass Name Sex Age \\\n",
"5 6 0 3 Moran, Mr. James male NaN \n",
"17 18 1 2 Williams, Mr. Charles Eugene male NaN \n",
"19 20 1 3 Masselmani, Mrs. Fatima female NaN \n",
"\n",
" SibSp Parch Ticket Fare Cabin Embarked Sex_Val Embarked_Val \\\n",
"5 0 0 330877 8.4583 NaN Q 1 2 \n",
"17 0 0 244373 13.0000 NaN S 1 3 \n",
"19 0 0 2649 7.2250 NaN C 0 1 \n",
"\n",
" AgeFill \n",
"5 25.0 \n",
"17 30.0 \n",
"19 21.5 "
]
}
],
"prompt_number": 38
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ensure AgeFill does not contain any missing values:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(df[df['AgeFill'].isnull()])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 39,
"text": [
"0"
]
}
],
"prompt_number": 39
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a feature that records whether Age was originally missing:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df['AgeIsNull'] = pd.isnull(df['Age']).astype(int)\n",
"df.head(3)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" <th>Sex_Val</th>\n",
" <th>Embarked_Val</th>\n",
" <th>AgeFill</th>\n",
" <th>AgeIsNull</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> Braund, Mr. Owen Harris</td>\n",
" <td> male</td>\n",
" <td> 22</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> A/5 21171</td>\n",
" <td> 7.2500</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> 22</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 2</td>\n",
" <td> 1</td>\n",
" <td> 1</td>\n",
" <td> Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td> female</td>\n",
" <td> 38</td>\n",
" <td> 1</td>\n",
" <td> 0</td>\n",
" <td> PC 17599</td>\n",
" <td> 71.2833</td>\n",
" <td> C85</td>\n",
" <td> C</td>\n",
" <td> 0</td>\n",
" <td> 1</td>\n",
" <td> 38</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 3</td>\n",
" <td> 1</td>\n",
" <td> 3</td>\n",
" <td> Heikkinen, Miss. Laina</td>\n",
" <td> female</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" <td> 0</td>\n",
" <td> STON/O2. 3101282</td>\n",
" <td> 7.9250</td>\n",
" <td> NaN</td>\n",
" <td> S</td>\n",
" <td> 0</td>\n",
" <td> 3</td>\n",
" <td> 26</td>\n",
" <td> 0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 40,
"text": [
" PassengerId Survived Pclass \\\n",
"0 1 0 3 \n",
"1 2 1 1 \n",
"2 3 1 3 \n",
"\n",
" Name Sex Age SibSp \\\n",
"0 Braund, Mr. Owen Harris male 22 1 \n",
"1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n",
"2 Heikkinen, Miss. Laina female 26 0 \n",
"\n",
" Parch Ticket Fare Cabin Embarked Sex_Val Embarked_Val \\\n",
"0 0 A/5 21171 7.2500 NaN S 1 3 \n",
"1 0 PC 17599 71.2833 C85 C 0 1 \n",
"2 0 STON/O2. 3101282 7.9250 NaN S 0 3 \n",
"\n",
" AgeFill AgeIsNull \n",
"0 22 0 \n",
"1 38 0 \n",
"2 26 0 "
]
}
],
"prompt_number": 40
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot a normalized cross tab for AgeFill and Survived:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, axes = plt.subplots(3, 1, figsize=(10, 20))\n",
"\n",
"# Histogram of AgeFill segmented by Survived\n",
"df1 = df[df['Survived'] == 0]['Age']\n",
"df2 = df[df['Survived'] == 1]['Age']\n",
"axes[0].hist([df1, df2], bins=max_age / 10, range=(1, max_age), stacked=True)\n",
"axes[0].legend(('Died', 'Survived'), loc='best')\n",
"\n",
"# Plot a normalized cross tab for AgeFill and Survived\n",
"age_fill_xt = pd.crosstab(df['AgeFill'], df['Survived'])\n",
"age_fill_xt_pct = age_fill_xt.div(age_fill_xt.sum(1).astype(float), axis=0)\n",
"age_fill_xt_pct.plot(ax=axes[1], stacked=True)\n",
"axes[1].legend(loc='best')\n",
"\n",
"# Scatter plot Survived and AgeFil\n",
"axes[2].scatter(df['Survived'], df['AgeFill'])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 41,
"text": [
"<matplotlib.collections.PathCollection at 0x10a856e10>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nf/qnevTRR/XEE0/s/v3111+vP/qjP9p9f+F9nn/++VqxYsXu691yyy1atGiRli1bpjVr1uiNb3yj\nrrjiCm3ZskX/8i//ore85S169tlnd992+fLlevbZZ3X55Zfruuuuy6VyRsACAACxzJ49W7fffrvM\nTJdccokWLVqks846Sxs2bGh5lgkz00UXXaQjjzxSPT09mjNnjs4666zdwenxxx/Xo48+qjPPPHP3\nbcL7PO+883TDDTdo165dkoIgdt5550kKQtvpp5+u0047TZJ06qmn6oQTTtDNN9+sp556Snfffbc+\n9KEPafLkyTrllFN0xhln5HJGDAIWAACI7UUvepGuvfZarV69Wr/5zW+0du1avec974lVFTrooIP2\n+rm2MnX99dfrzW9+s6ZNmzbudi984Qt15JFH6oYbbtCOHTt044036vzzz5ckrVq1Sv/93/+tefPm\n7f76+c9/rmeeeUZr167VvHnzNH369N33dcghh7Tz34+NJncAAJDKEUccoQsvvFCf//znddxxx2nH\njh27f/fMM8+Mu359CDv11FO1ceNG3X///frP//xPXXPNNQ0f67zzztOKFSs0Ojqqo446Sr/3e78n\nSTr44IN1wQUX6POf//y426xatUpbtmzRjh07NGPGjN2XTZo0KdX/NwkqWAAAIJZHH31Un/jEJ7Rm\nzRpJ0urVq7VixQq94hWv0LJly/TTn/5Uq1ev1tatW/WRj3xk3O3rp+YmT56st771rfrrv/5rbdmy\nRa997WsbXvfcc8/VLbfcos997nO7+7Qk6W1ve5tuvPFG/fCHP9To6Kh27dql/v5+rVmzRocccohO\nOOEEXXnllRoeHtbtt9+um266yeeQNETAAgAAscyePVt33XWXXvayl2nWrFl6xSteoZe85CW6+uqr\ndeqpp+qcc87RS17yEi1fvlxnnHHGuIpV1DTi+eefr9tuu01vfetb1dPTs9d1a6+///7766STTtId\nd9yhc845Z/flBx54oL773e/qqquu0qJFi3TwwQfr6quv3n304vXXX6+77rpL8+fP1z/+4z/qwgsv\n9D0skSyPRq9xD2rminhcTHxmlu06MUXrG/+pDsDEY2bjnut5HPnW7a8vUeNec3miPwA9WAAAdIBu\nDz+dhilCAAAAzwhYAAAAnhGwAAAAPCNgAQAAeEbAAgAA8IyjCAEAKKE8lmVAdghYAACUDEsydD6m\n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\nzB6ouWy+md1qZo+Z2Q/NbG6R21gEMzvIzH5sZg+a2W/M7F3Vy7t2bMxsmpndZWb3mdlDZvaR6uVd\nOya1zGySmd1rZjdWf+76cTGzlWb26+q4/KJ6GeNiNtfMvmlmD1efSy/r5nExsyOq+0j4tdXM3tXN\nYxIys/dX34ceMLPrzWxqmnHJLWCxAOlerlUwDrXeJ+lW59zhkm6r/txthiX9pXPuaEkvl/Tn1X2k\na8fGObdL0qudc8skvUTSq83sleriManzbkkPac/Ry4xLMBYV59yxzrkTq5cxLtL/L+l7zrkjFTyX\nHlEXj4tz7tHqPnKspOMl7ZD0HXXxmEiSmS2VdImk45xzxyhodTpXKcYlzwoWC5BWOed+JmlL3cVn\nSrqu+v11kt6U60aVgHPuGefcfdXvt0t6WMEaal09Ns65HdVvpyh4sm9Rl4+JJJnZgZJOl/RFSeHR\nPV0/LlX1Rzt19biY2T6STnHOfVkKeoWdc1vV5eNS41QF78+rxZgMKPiwP6N60N4MBQfsJR6XPAMW\nC5A2t59zbn31+/WS9ityY4pW/RRxrKS71OVjY2Y9Znafgv/7j51zD6rLx6Tqk5L+RtJYzWWMS1DB\n+pGZ3W1ml1Qv6/ZxOVTSRjO71sx+ZWZfMLOZYlxC50paUf2+q8fEObdZ0tWSnlIQrJ5zzt2qFOOS\nZ8Cimz4mFxx50LXjZWazJH1L0rudc9tqf9eNY+OcG6tOER4o6ffN7NV1v++6MTGzN0ra4Jy7V+Or\nNZK6c1yqTq5O+7xBwTT7KbW/7NJx6ZV0nKTPOOeOk/S86qZ4unRcZGZTJJ0h6b/rf9eNY2JmL5D0\nHklLFaxsPsvM3lZ7nbjjkmfAWiPpoJqfD1JQxUJgvZntL0lmtljShoK3pxBmNllBuPqqc+5/qhcz\nNpKqUxo3K+iX6PYxOUnSmWb2OwWfvF9jZl8V4yLn3LrqvxsV9NScKMblaUlPO+d+Wf35mwoC1zNd\nPi5SEMTvqe4vEvvKCZL+r3PuWefciKRvS3qFUuwreQasuyUdZmZLq4n5HEk35Pj4ZXeDpAur318o\n6X+aXHdCMjOT9CVJDznnrqn5VdeOjZktCI9WMbPpkl4r6V518ZhIknPu751zBznnDlUwvfG/zrkL\n1OXjYmYzzGx29fuZkl4n6QF1+bg4556RtNrMDq9edKqkByXdqC4el6rztGd6UOryfUXBwQ8vN7Pp\n1fekUxUcSJN4X8l1HSwze4Oka7RnAdKP5PbgJWJmKyS9StICBXO5V0j6rqRvSDpY0kpJZzvnnitq\nG4tQPTrup5J+rT3l1/crOBtAV46NmR2joKGyp/r1Vefcx81svrp0TOqZ2askvdc5d2a3j4uZHaqg\naiUF02Jfd859pNvHRZLM7KUKDoiYIum3kt6h4L2oa8elGsJXSTo0bMdgX5HM7G8VhKgxSb+S9P9J\nmq2E48JCowAAAJ7lutAoAABANyBgAQAAeEbAAgAA8IyABQAA4BkBCwAAwDMCFgAAgGcELAAAAM8I\nWAAAAJ4RsAAAADwjYAEAAHhGwAIAAPCMgAUAAOAZAQsAAMAzAhYAAIBnBCwAAADPCFgAAACeEbAA\nAAA8I2ABAAB4RsACAADwjIAFAADgGQELAADAMwIWAACAZwQsAAAAzwhYAAAAnhGwAAAAPCNgAQAA\neEbAAgAA8IyABQAA4BkBCwAAwDMCFgAAgGcELAAAAM8IWAAAAJ4RsAAAADwjYAEAAHhGwAIAAPCM\ngAUAAOAZAQsAAMAzAhYAAIBnBCwAAADPCFgAAACeEbAAAAA8I2ABAAB4RsACAADwjIAFAADgGQEL\nAADAMwIWAACAZwQsAAAAzwhYAAAAniUKWGb2ZTNbb2YPNLnOp8zscTO738yObX8TAQAAOkvSCta1\nkk5r9EszO13SC51zh0n6E0mfbWPbAAAAOlKigOWc+5mkLU2ucqak66rXvUvSXDPbL/3mAQAAdB7f\nPVgHSFpd8/PTkg70/BgAAACllkWTu9X97DJ4DAAAgNLq9Xx/ayQdVPPzgdXL9mJmhC4AANAxnHP1\nBaSmfFewbpD0dkkys5dLes45tz7qis65rv86+2yno4++srDHN3PatKn4cYj6uvLKYFzGxpwmT3a6\n4w6/97///k733BP9u6VLnb75zfz+r0cc4XTrrcnGxTmnl7zE6Qc/yG87Tz7Z6TvfSX67U091+tSn\n8tlfnHP6gz9w+rd/y29cmn1dcIHTf/zHnp9f8xqn738/v8evHZcyfV1+udM739n6ert2OUlOK1cm\nu/+xseD17ZFHko9Nb6/Tr3/t9/+7335Oa9cWP+5l22fe/36nD36w+P9znK80ki7TsELS/5V0hJmt\nNrM/NrNLzezSamj6nqQnzewJSf8u6c9SbVWX2LBBev75Yh57dFRyLvi3zAYHpeFhads2v/e7a1dw\nv1GGh6WNG/0+XqttGRxMd7uhIf/b08jgoDQykvx2w8PSlmaHxni2c2cwNmUwNCRNmbLn52OPle69\nt7jtKYtP585AAAAgAElEQVTh4cbPv1rh6+POncnuf2goeH1L+vo6NBTs475fl4eH994PEDj0UOl3\nvyt6K7KTaIrQOXdejOu8M/3mdJcNG6QtW1YW8tjhG3OaN8w8rFy5UpI0MBD8nEXAahROhobKG7DC\ncQlv1wkBa2hIeu45/9tTq35cyhKwBgelqVP3/HzssdJ3v5vf49eOS5kMDcXbd9MGrPD6zYJS1NiE\n1/cdsIaGpMmT/d5nVvLcZw49VPr613N7uNyxknuBNmyQRkaWFfLY4afHslawli0LxiUMVj4DlnOt\nK1gbNvh7vFZ27owfsMJxkYLb5B2w0uwveVSwasdl587kb8hZGRraO2Add1y+FazacSmTrCtYcQJW\n1NhkFbA6qYKV5z4z0StYBKyCjIwEbzqDg+8pJOSUvYL1nve8R1I2FawwzJSpghU3KIXjkvR2PpS5\nglU/LmWqYNW+sR5+uLRunbR1az6PXzsuZVKGClbU2FDBynefOeig4PkQJ2x3olIFLDObEF9xPPus\nNG+etM8+0ubNGQ9shLJXsEJZBKzwzbcMPVhjY8GLb9oerDxfmML+lKSGh7MPWLXK1oNVW8GaNEk6\n5hjp/vuL26YyKEMFq9nj+QxYo6OSWfC3x96mTJH2319avbr1dTtRqQKW1PlHF8a1YYO0aJE0c2Z/\nrtNRofDTY1kDVn9/v6RspgjDN9+oT9DO5TtFGAaruAErHBfnOmeKcGgo+ynCcFykclewpHwb3WvH\npUzKUMGKGpssAlYnVa+k/PeZiTxN6HsdLMS0cWMQsCZPznc6KhR+eizrFGEo7wpWOB55/U3CbUla\nwQrfnDphirCbK1j1Te5SELB+/vNitqcsuqmC1Un9V0WYyAGrdBWsbhFWsA4/vEIFK0KlUpEUBKwp\nU/YELR/CF9+ocBJ+2nz22WD6LmvhtsQNWOG4NKvCZaWdHqysK1jhuEjB2JSpyb3+zfW446Rf/Sqf\nx68dlzJJWsHasSPZ/YfXbxaUosaGClb++wwBC96FAWvRonyPWAt1SgVr2zZpyZL8KljDw9KMGdKs\nWfms3ZS2gpV3wBobC/aVtEcRDgzkE+bHxoKxLHMF68Uvlp54ojzbWAQqWAgdeqhU0tVE2kbAKkgY\nsLZvpwcrStgHMDAgHXBAfj1YYcVh4cJ8pgmTBqVwXFo16vsWBsC0FayeHr9VyHrhuITbWZbwUt/k\nLgU/H3aY9JvfZP/49GA1vk6jHqyenu6uYOW9zyxdSgWr623evFlvfvObNWvWLC1dulQrVqxo6/42\nbAjexOfNo4LVTJYBq1EFa/Lk/ANW0gpWq6UmfGtnWY/h4WA886wIliVgRTW5S6zonqSCZZYuYJml\nq2AtXEgFK09MEUJ//ud/rmnTpmnDhg36+te/rssuu0wPPfRQ6vsLK1ivfCU9WFHCPoBt2/KvYE2e\nnN/UbdKAVVQPVrh9aY8iXLQo20b3cFzCN+KyBKyoCpaUX8CaCD1Y8+enC1jz56frwVq0qLsrWHnv\nM0uWBEsVlaVv0icCVgzPP/+8vv3tb+tDH/qQZsyYoZNPPllnnXWWvvrVr6a+z7L0YJU1YIUGBvz3\nYIVP5EYVrDynCJM2uYeKClhJK1ijo0Ff1IIF+VawyvJi3aiClWejexklqWAtXJguYKWpRGURsKhg\nNTdpknTwwROzD4uAFcNjjz2m3t5evfCFL9x92Utf+lI9+OCDqe8zDFi/+10xPVhlnyIssgerzFOE\n9T1YZQ9Y4ZvLvHnZVrDCcdm5M3i8MlSwwrXKoipYL31p0IOV9QecMvdgxQ1YCxakC1gLFiTvwdqx\ngwpWEfvMRG1076iAZebnK6nt27drzpw5e102e/ZsbWvjXT9cB2vevGLWwSr7FGGodoowwTquTbXq\nwZoyJfjblDFghcLrl73JPexpmzs3n7Wwdu0KHqsMAavZCt5z5kiLF0uPPpr/dpXB8HC8Dwc7dmQX\nsKJkVcHqpIBVhInah9VRAcs5P19JzZo1SwN1h0Bt3bpVs2fPTvX/CNfp2Wcf6Y1vrOj55/Ndz0gq\nfwWrdh2s+fOl3l5/0z5xm9zz6sGaMSP+37/TerDCozLnzs12irC2B2vevHIErEbVq1AefVhl7cFK\nMkXYTsBqtn5Wsx6spOtuNdNpU4RF7DMT9UjCjgpYRTn88MM1MjKiJ554Yvdl999/v1784henur+w\nehVW1PKajqrVKRWsgYHg0/7s2f6mCXftCsa9LMs07LNP+Xuw0h5FGAbWrKcIQ7t2lSdgNWpwD3Vz\nH1aSJvdWQSlKWPkqQwWr06YIi0AFq4vNnDlTf/iHf6grrrhCO3bs0O23364bb7xRF1xwQar7C/uv\npGC+O69qSa2yN7nXnotwzpzgy1fA2rkzCGzNKlh5TRGGlcw0PVizZnVOD1bWFazaHqy5c4N/fU0p\np9WowT2URwWrrD1YeVWw0qyD1e1N7kX1YBGwuthnPvMZ7dy5U4sWLdLb3vY2fe5zn9ORRx6Z6r7C\nNbBCRRxJ2M66RnlxLghVs2b5r2DNmdO6gpXXFOHcuel6sGbP7owpwrx7sGbODKaU8+pPa6RVBevY\nY6X77is+CBYhaQUrzx6shQuDCpivvwsVrNYmasDiZM8xzZs3T9/5zne83FdtBatSqeiLX6SCVa9S\nqWj7dmnatODN0nfAalXBWrBgz/kIezL8GBJOEcatltX2YBURsNo5ijCvHqzp04P9ZteuYisHrSpY\nixYF27pqVdCDkoUy92CNjAQhptmBR+0ErHnzgr/B6Gj0gQaNerDmzAlecwYHg/2oXZ1WwSpin1m4\nMBjvrVuD18OJggpWAWoDlkQFq5FwelDKv4I1ZUpQOcu66tJOD9acOeU/irCICta0aXsCVpFaVbCk\n7l3RPXzutdp/2wlYM2cGB5Ak6d96/vngNjNm+JsmpILVmlnwIWOiLdVAwCpAfQ9WEQGr7BWs/v5+\nDQwEwUryG7Di9GBJ+UwTNgt7UWp7sJLcrl1ppwjzanKvHZfp04OvogNWqwqWlH2je5l7sCZNihew\n0i40On16ELIaBaVGPVgzZza/XVKdVsEqap+ZiNOEBKwChEcRhvJqqK7VCRWs8AhCKf8KlpTPkYRJ\nm9xDefdgDQ0Fb4hpKlh5NLmHdu7cU8EqejX3Vss0SN1ZwXIuCB2tlicZHQ2uN29eNgErShYBiwpW\nPAQseFHfg0UFa7xKpTJuirBuKbLUmk2v1Vewsg5YSZvca3uw8q5gzZxZ3oVGa8eltgerSLVhvZGs\nA1YZe7BGRoKwPnVq8wpWOF03fXo2Aat+bEZHg/08TTBrptMqWEXtMwQseFGmHqyyBixJmU0RNmsQ\nr31TzOPv0k4PVt5N7jNnpl9odPr04ICBrENPbQWr6IAVp4J1yCHBNq9fn882lUFtn2Oz/TesJoVB\nLMm+l6aCtWNHcJueHipYRZiIp8shYBWgTOtglXWKMOzBCitYPtfBKlsFK+06WHk3ubdTwTLLtopV\nOy5lCVhxmtzNpGXLsqtilbEHK9wnJk+OV8EySz7lG4alJD1YYaCTuruCVdQ+MxFXcydg5cy5xutg\n5bkeTqdUsLLowQqb3Jud7FkqZ8AKFbEO1owZ6XuwpHxWcw8rF2mmlXyL0+QuBY3u3dSHlbSCJSX/\ne6apYGUVsKhgxRNOEU6kdeEIWDnbti1YY2XGjODnSqWimTODT2k+Vw9uZXg4+FRY1gpW2IOV1RRh\nswpW7RRhHk3us2YFLypxwm7RPVhpjyKUsm10rx2XTqpgSdn2YZWxBytJBStNwHJuT8BqttxC/dhQ\nwQoUtc/MnRvsE5s2FfLwmSBg5ay+/yqUdx/W8HDwAtSNFaxWRxHmvUzD9OnBG3GSKlbeAWtoqP0K\nVh5rYdUvNFqkuBWsbjuSsLaCFTdgzZgRP2ANDwd9VL29yXuwqGAVa6I1uhOwYvj0pz+tE044QdOm\nTdM73vGOtu6rPmCF8915L9UwNFTuClZ9D1YRFay8pginTYsfsIpcBytNwKqtYGW5mnsZe7DiNLlL\n0hFHSOvW+TtKtlbZe7CymCLcuXPPDEFZerA6KWAVuc9MtEZ3AlYMBxxwgC6//HL98R//cdv3Vb8G\nVogK1nhZThHG6cHKI/QmDVihsAer7E3u3VzBirNMgxQsWfDiFwfnJewG4YeYVhWs2opS0oA1fXrw\nfVl6sDppirBIVLC60Jvf/GadddZZ2nfffdu+r/oKVjjfnXfAGhoqd8CqVCrjKli+PuHv3BmvgrVg\nQdAPMDbm53EbbUuSgFXbaxQGniy3L+SrByurgFXfg1WWJvc4FSwpu0b3MvZghR9isqxgxQlYefZg\ndVIFq8h9ZqIdSUjASsB5OLyhbD1YZZ0ilLLvwWq1TMOUKcELbZZVl7QVrLB3q1UVwBdfRxFmvZp7\n2RYajRuwuqkPK24Fy1fAinsuwvqAleQchs10WpN7kSZaBau36A1Iwj7Y5LTrCbgr0wUla3ba95g2\nbAh2olB/f78qlYoWLpRWr2777mMrewWrv79f27ZVvAcs5+IvNCrtmSacP7/9x45SG5Ti9FOF+8uu\nXcGbd3i7uG/kabW7DpYUVLAef9z/tkl7xqVsC43GfWM99ljp05/2vw3huJRJ2gpW3MATroElte7B\nqh0blmkIFLnPELAKlDYYeXt8TxWsl71s/OWLFkn33NP23cfWKRWssAdr5szgDWtkJDg6KK3h4eD2\n06a1rmBJe44kPOKI9I/ZTDs9WNOmxQ9m7QqPIkwzRVhUBWvz5mwfq5WhoT0V2FYOO0x68slst6cs\nwudYXhWsonuwqGDFt3Sp9NRTQdtDzwSYX5sA/4X8+Kpg1S4ySg9WtPoeLLNgvajt29u73zDQNAom\n9RWsLI8kdG5Pn06aHqxp01pXAXxpZ4owzx6sTq1ghcsQ+F5ksWzVK2nPc6xberA6rYJV5D4zY0bw\nOrFuXWGb4BUBK4bR0VHt2rVLIyMjGh0d1eDgoEZTJpMy9WBNm1begCVpr5M9S36mCcM34EaLHNZX\nsLI8knBwMHisnp50PVhhUMyrByvtFGHtUYR5VLDK0uSeZOo23A/yOiq0SGWuYIXLOzRboDQpKljJ\nTKRGdwJWDB/60Ic0Y8YMfexjH9PXvvY1TZ8+Xf/0T/+U6r7KtA5WmacIb7utXzt37nmBlfwErPAN\neNKkoAxdfwReVAUrq+AbbouUbh2s2h6srLVzsufadbCyPhdhmZZpSFLBkoI3dV+N1aEyroOVpoKV\nZKHRuAErr3WwOq2CVfQ+M5H6sAhYMfT19WlsbGyvryuuuCLx/YyNBX0hCxaM/10eSwLUKvs6WOEp\nZGpnZX0FrOnTg/uNqmJF9WBlFXzDbZGSVbCc21MdyTtgtdvknuURmeEBDGWaIkxy8EEWAauMsj5V\nTtyFRps9Hj1YxSFgIZXNm4Mpr9o38HC+e8qUIFBkvRBjqOwVrJe+tDKuQdjHWli1VaOoT9BRRxHm\nUcGKG5QqlcruT8Q9PfkGLB+nytm6NZsPEeG49PYG1ckyBKykR3dmMa1Z5h6srE72TA9We4reZwhY\nSKVR/1Uozz6sslewao8gDPnswZKie0DqK1iLF2fXcJlmirD+dnk1ubdzFGE4nr29wT7X7oEKjdSO\nSxkCVhmmCMsoSQUrrERxFGH3mEinyyFg5SgqYNXOd+dxcuFQ2Zdp6O/vj6xg+erBkhpXsGoD1pIl\n0tq17T1mI7VhL0kPVth/JZW/yb2+IphVo3t/f/9eb6yd1uQudV8PVtEVLHqwohW9z9DkjlTKVMEq\n+zINO3aMX0Nozhy/AatRBas2EBxwgLRmjf/D5+u3JUkFK1wDSyr/FGF9RTDLRncqWJ0hbQ9W2oVG\nd+yI9/ytfbypU4N93ccHUCpYyRx8cPChdiIcUUvAylH9GljS3vPdTBHuceihlUymCGsby+NUsGbN\nCn7OIhSkaXIPV3EvImD5qmBlMZbhuITjWYaAVYYKVtH9NFFqK1hZL9MwaVLw/I3aF+rHpvbk0mb+\nqlidVsEqep+ZMkXaf/98z2ySFQJWjspYwSrrFGHtIqMh31OEcSpYUnbThD56sMq+TEN9BSvLtbBq\np1zLELCoYEWrrWBlPUUoxV/TqvbxJH8Bq9NO9lwGE6XRvXQBy8w6+quZVj1Yea6FVfYK1q9+lU0P\nVu2bcJwKlrRnmtC3+oAV91yE9T1YWQescMX5NIG8voKV1RRhOC5lqmCVYZmGovtposQ52bNze1eU\n2glYjYJSsx6sZrdLqv45UHZl2GcmSqN7qc5F6ONcf2W2cWPrClYe+3a4jtK0aeWtYO3YEVSOahVV\nwcoqYNUf0Rj3DaS2B6tVH4sPIyPBVEvYl5JEURWsTmxyL8M25yHOyZ537gyeE5MmBT+nXWhUiheU\nnKOCVSZUsJBYVAWriB6s0dE9ayiVtYK1777FrYNV/2JYpinCInqwwkpMT0/wRpRkHau8Klj141KW\nClbRU4RF99NEiVPBqq1eSekXGpUaB6XasRkcDJYRqT2RvM+A1UkVrDLsMxPlSEICVo5a9WDltUxD\n+KY3aVJ5K1j15yGU/De5F13BSruSe1EByyzYZ5KE8qgKVlZHEdZWLsoQsMrQ5F5GcSpY9dWkLKYI\nmz1e3NvF0WlN7mVABQuJxenByiNghW96vb3lrWA9/nh/ZkcRNpteiyrn59WDlXYdrLwClhTsM0lC\neZ7rYNWOZ1iJKPIDRBkqWGXop6kX52TPvgNW1LjWjk2jgOXj79FpFawy7DMELCQyNBSsYD13buPr\nzJ8fTIFl3VMTfqJKWo3IU1brYNX3PbU6VY5UrilCKf91sOoDVjsVrCzXwap/Y502rdieJipY0eKc\n7HmiVLDCflcqWMksWRKcWq7TexIJWDnZuDGYAuypG/Ha+e6eHmnffYOTPmcp/ESVtBqRp8mTo3uw\nJlIFq34l97jnIsz7VDm1ASvptHL9p/esKlj14yIFb7JFThOWoYJVhn6aemkrWGkWGpXi9WBlFbBG\nR4PnTP3rfpmVYZ+ZNClYcHTVqqK3pD0d9GfvbFGLjEbJY6mGTqhgZdmD1aj641wQHnrrjq3df//g\nb+I7jNZvS9oerKwrnrVBIc0UYX0FK8ujCOsrWEUFrHBpC44iHC9NBWvatOC6cV6v0lawahvjpfjr\nZzVD9Sq9idDoTsDKSaMG9/r57jz6sDqhgrV+feMerHZW86hfyb02nISfrOuXM+vtlRYskNavT/+4\nrbalzD1YtVNdaaYIa6s48+dLzz7rd/uk8T1YUrEBKzxSN1xmIA56sPaoD1hm8f+eadbByqqC1Wn9\nV1J59pmJ0IdFwMpJqzWwQnkErE6oYD3//PgKVtiY386bZrPptWYLAmYxTdiJPVhJpwjrP8Hvu28Q\nsLI6t2NZKlhJpwclerBqRQWeuGthlakHiwpWegQsxNaoglU/351nBavMAWtwcHwPltT+Wlj1Te5R\nFawoS5aUI2AVuQ6WlLzqWT+m06cHP2/f7ncbK5XKXn9bqdgm96QN7hI9WLWiAk/cKdS4ASuPHqxO\nrGCVZZ8hYCG2VmtghfJYC6t2mYYyThEODgbBL+oNqt0+rFYVrEYB64AD/B9JWN/knqYHK+8m96RT\nhFFVwbCK5Vt9BavIJncqWI3FrWDV90TFCVjDw8F0Yu3zmApWZ5oIp8shYOWkTD1YtQuNlrGCtW2b\nNH16/7heKMlvwIqqYBU5RZj2XIR5NLm3cxRh/RtMFgGrv78/soJVVMAqSwWrLP00tWpP9uy7glVf\nvZLowUqqLPsMFSzEFreCldcUYZkrWNu2jf/0Gmp3Laz6Jve4FayspghrV5Uvcw9WO0cR5lnBKkvA\nooLVWLhPZDFFmCRgtXo8KljFWrgweP62e3q0IiUKWGZ2mpk9YmaPm9nfRfx+gZn9wMzuM7PfmNlF\n3ra0w5WpB6vsFayBAWnRokrk79qtYLXqwWpWwfI9RdgpPVj1RxHGDVjhvlV/JF0WASvswSpLk3ua\nClYWyzSUpZ+mVm0FK0mTu++AVTs29ec+bHa7JDrxRM9l2WfMOn+phtgBy8wmSfq0pNMkHSXpPDM7\nsu5q75R0r3NumaSKpKvNrG5Voe5UpnWwwid9Wc9FODAw/gjCUJE9WGVocq+/XRFHEcYN5Y2Oysyz\nglVUkzsVrMbaqWC1Gp/6RUaleOtZZVnB6rQpwjLp9GnCJBWsEyU94Zxb6ZwblvSfks6qu846SeFb\n4xxJzzrnSvgWnr9GyzQU2YNV1nMRbtsmDQ/3R/6uqB6sLE6Xk6bJvb+/f6/AU+ajCBt9es+yB6ss\nFayki4xKewKEzyUsytJPU6ssFay8erA6rYJVpn2m0xvdkwSsAyStrvn56epltb4g6WgzWyvpfknv\nbm/zJobnnw9eNOufwFFmzQrewLL8JFtbwSpjwBoYaNyDVVQFa9684PftvuA22pZ2jiLMs8k9ScAq\nuoLV7lGE7ZwzMc0U4eTJweKkWf89ixZ+kOmWHiwqWOl1egUryfRdnM9Vfy/pPudcxcxeIOlWM3up\nc27cW+JFF12kpUuXSpLmzp2rZcuW7Z77DRP0RPn5hhv6NWeOZDb+95VKZa+fzaQ5c/p1ww3Suedm\nsz3339+vLVuk3t6KRkaKH5/6n++4Y+9V3Gt/P3u29Otf96u/P93979ol3X13v6ZPl6ZMqWh4eM/v\nJ02qaMqUxrdfsqSiNWuktWv9/H937apo+vTg56EhaWio9e0rlYre/e5+Pfyw9PrXB9v7zDPpxyPO\nzw8/3F8N/BX19gbjNzjY+vZHHFHR5Mnjf79hQ78eeii4P5/bG765hj9Pmxb8vdPc38aN0rveVdG6\ndelu/8tfBvtX0v/PjBnSD3/Yr1mz/Pz96l9f2r0/Hz8PDPTrnnukN7yhoqGh6OuvXSvNnLn37WfM\nCPrsmt3/zp3Srl17Px9+/et+bd4sNdvfnnpq/OMdeWRFzz/f3v93eFjati3b56fvn8PLyrA9S5dK\n3/xmMeMXfr+ynRKacy7Wl6SXS/pBzc/vl/R3ddf5nqSTa36+TdIJEfflusmddzq3fHn86x9/vHO/\n+EV22/PlLzt34YXOPfecc3PmZPc4ab33vc597GPRv/vnf3bur/4q3f2OjTnX0+Pc8HDw86c/7dxl\nl+35/Y9+5NyrX9349qec4tyPf5zusaPMn+/cpk3B96OjzknBNrZy4onBPuWcc/39zv3+7/vbpihX\nXBF8ORc8VtwxWLnSuYMOGn/5zTc79/rXe9u83Q47zLlHHtnz8xVXONfXl+6+7ror+Hts2JDu9jfe\n6Nwf/EHy2y1e7NyaNekes1MsWeLc6tXOPf+8c9OnR1/n2GOdu/vuvS/7i79w7pprmt/3d7/r3Bvf\nuPdlmzY5N3du89udckrwXKq1bZtzM2Y0v10rN93k3Omnt3cf3exXv3LuxS8ueisC1dwSOzM55xJN\nEd4t6TAzW2pmUySdI+mGuus8IulUSTKz/SQdIenJVMlvAmm2RENtWg5l3YdV24NVxib3J5+Udu7s\nj/xdO1OEIyPBkSnhyZynTInfgyX5b3Sv7cHq6Ym3aGh/f/49WGmPIixDD1baJvfwQJOHH053+zRN\n7pL/IwmjXl+KlvZUOXn3YIWn5hkba/6YzXTiMg1l2mfCKcIsTq2Vh9gBywXN6u+UdIukhyT9l3Pu\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x10a748e10>"
]
}
],
"prompt_number": 41
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It's tougher to see a clear correlation between AgeFill and Survived."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for pclass in passenger_classes:\n",
" df.AgeFill[df.Pclass == pclass].plot(kind='kde')\n",
"\n",
"plt.title('Age Density Plot by Passenger Class')\n",
"plt.xlabel('Age')\n",
"plt.legend(('1st Class', '2nd Class', '3rd Class'), loc='best')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
"<matplotlib.legend.Legend at 0x10c997790>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\n1fTq1cscOnTIHD9+3HTs2NFUrlzZxMbGmvbt25vvv//ep+87v5+J/X7AeY9uGK+UcmYMnHUW/PYb\nJCYWfO1LL8HWrfDaa8Gpm1Iqh24YH3682jBeu0cjkI6vcKZxcZZvXNLToUwZq/uzMO3bQwQtaKnP\nijONizONiwoWTdqUUs4WLbKSMV/m+rdqBcuW6T6kSinlIe0eVUo5e+QRqFwZBg/27fo6dWD+fGjQ\nwNt6KaVOo92j4Ue7R5VSwbV0KfizkOS558Lvv3tXH6WUKuE0aYtAOr7CmcbFWb5x+f13q9vTV61a\nRUzSps+KM42LM42LChZN2pRSZ9qxA06c8G0SQrZWrazWOaWUUp7QMW1KqTPNnQvPPmuNUfPVsmVw\n002wcqV39VJKnUHHtIUfHdOmlAoef7tGARo3tpYJOXHCkyoppVRJp0lbBNLxFc40Ls4c4xJI0la+\nPNSqFRHbWemz4kzj4kzjEhzvvfcel1xyScCfT05OZty4cS7WKPg0aVNKnSmQpA2szeW1e1QpBRw/\nfpy+ffuSlJREbGwsbdq0Yfbs2Z7eb+jQoTRp0oTo6Gjq169P37592bBhA2B1TRa2EX2406QtAiUn\nJ4e6CmFJ4+LsjLicPGklXi1a+F9Y06awapUr9QolfVacaVycaVycnTx5krp16/Ltt9+yf/9+nnvu\nOXr06JGTRLntxhtv5LPPPmPSpEns37+fpUuX0rZtW77++mtP7hcKmrQppU63di3UqAHR0f5/9uyz\nIyJpU0oVXcWKFRkyZAh169YF4Nprr6V+/fr8+uuvgNWtnJiYyKuvvkr16tWpVasW7733Xs7nd+/e\nzXXXXUdcXBwXXHABa9euzfdec+fOZe7cucyYMYPzzz+fUqVKERsby/3338+dd955xvVr167lsssu\no2rVqlSrVo1evXqRkZGRc/7FF18kMTGR2NhYmjZtmpP4LVq0iLZt2xIXF0eNGjV4+OGH3QiVzzRp\ni0A6vsKZxsXZGXFZtcpqMQtEhHSP6rPiTOPiTOPimx07drB69Wpa5GrF37FjB/v372fr1q2MGzeO\nBx54ICd5euCBB6hYsSLbt2/nP//5D+PHj8+3e3Pu3LlccMEF1PZjmaLBgwezbds2UlNT2bRpE0OH\nDgVg1apVvPnmmyxevJj9+/fz5ZdfkpSUBMCAAQMYNGgQGRkZrFu3jh49egQWjACVDurdlFLhb9Uq\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x10a8992d0>"
]
}
],
"prompt_number": 42
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When looking at AgeFill density by Pclass, we see the first class passengers were generally older then second class passengers, which in turn were older than third class passengers. We've determined that first class passengers had a higher survival rate than second class passengers, which in turn had a higher survival rate than third class passengers."
]
}
],
"metadata": {}
}
]
}