Created
October 5, 2016 14:42
-
-
Save vinceallenvince/9b1cd6bfbf5b8ad49e696715a8c8f0ad to your computer and use it in GitHub Desktop.
Titanic Kaggle competition - Feature EDA - Person
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 56, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"from __future__ import division\n", | |
"import operator\n", | |
"import math\n", | |
"\n", | |
"import pandas as pd\n", | |
"from pandas import Series, DataFrame\n", | |
"import numpy as np\n", | |
"\n", | |
"import matplotlib.pyplot as plt\n", | |
"import seaborn as sns\n", | |
"sns.set_style('whitegrid')\n", | |
"%matplotlib inline\n", | |
"\n", | |
"from sklearn.cross_validation import cross_val_score\n", | |
"from sklearn.linear_model import LogisticRegression\n", | |
"from sklearn.svm import SVC, LinearSVC\n", | |
"from sklearn.ensemble import RandomForestClassifier\n", | |
"from sklearn.neighbors import KNeighborsClassifier\n", | |
"from sklearn.naive_bayes import GaussianNB" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"#### Titanic EDA - Person\n", | |
"Because children had much different survival rates than adults, it's useful to engineer a feature that accounts for male_adults, female_adults and children. See below for survival percentages." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 57, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def check_classifiers(X_train, Y_train):\n", | |
" \n", | |
" _cv = 5\n", | |
" classifier_score = {}\n", | |
" \n", | |
" scores = cross_val_score(LogisticRegression(), X, y, cv=_cv)\n", | |
" classifier_score['LogisticRegression'] = scores.mean()\n", | |
" \n", | |
" scores = cross_val_score(KNeighborsClassifier(), X, y, cv=_cv)\n", | |
" classifier_score['KNeighborsClassifier'] = scores.mean()\n", | |
" \n", | |
" scores = cross_val_score(RandomForestClassifier(), X, y, cv=_cv)\n", | |
" classifier_score['RandomForestClassifier'] = scores.mean()\n", | |
" \n", | |
" scores = cross_val_score(SVC(), X, y, cv=_cv)\n", | |
" classifier_score['SVC'] = scores.mean()\n", | |
" \n", | |
" scores = cross_val_score(GaussianNB(), X, y, cv=_cv)\n", | |
" classifier_score['GaussianNB'] = scores.mean()\n", | |
"\n", | |
" return sorted(classifier_score.items(), key=operator.itemgetter(1), reverse=True)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 58, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"X_train = pd.read_csv('data/train.csv', dtype={'Age': np.float64})\n", | |
"y_train = X_train['Survived']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 59, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"child 71\n", | |
"female_adult 280\n", | |
"male_adult 540\n", | |
"Name: person, dtype: int64" | |
] | |
}, | |
"execution_count": 59, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"feature = 'person'\n", | |
"\n", | |
"# It's likely the age threshold for adults was younger in the early 1900s.\n", | |
"# Account of a 9 year-old boy almost getting refused a lifeboat:\n", | |
"# https://www.encyclopedia-titanica.org/titanic-survivor/winnie-coutts.html\n", | |
"# May want to try younger ages here.\n", | |
"child_age = 14\n", | |
"\n", | |
"def get_person(passenger):\n", | |
" \"\"\"\n", | |
" Returns a person value of 'female_adult', 'male_adult', 'child'.\n", | |
" \"\"\"\n", | |
" age, sex = passenger\n", | |
" \n", | |
" if (age < child_age):\n", | |
" return 'child'\n", | |
" elif (sex == 'female'):\n", | |
" return 'female_adult'\n", | |
" else:\n", | |
" return 'male_adult'\n", | |
" \n", | |
"X_train['person'] = X_train[['Age', 'Sex']].apply(get_person, axis=1)\n", | |
"X_train['person'].value_counts().sort_index()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\nU5PkanSKvXpZNLGXdc9h8aM3JUmDKDO7KfeGNLqnYfm3KQ8IkiThE/ckSZKkFzFJliRJkmpMkiVJ\nkqQak2RJkiSpxiRZkiRJqmn2EHCSRqmF09/X7/KNgIXXDry8MUdcv+SVKs899xw77LADkydPZurU\nqbzhDW9Y4jZHHHEEU6ZM4d3vfvfAg5IktS2TZEltp7u7m46ODqZNm9bqUCRJI5RJsqS28PTTT3Pk\nkUfyxBNPsPrqq9Pd3c3ee+/NcccdxyqrrMJRRx3FvHnzADjmmGNYZ511uOCCC5g1axarrLIKjz32\nWIv3QJI0nJgkS2oLF110Eeuuuy6HH344t99+OzfddBMdHR0AnHnmmWyxxRZ89KMf5cEHH2TatGmc\neuqpfPe73+XSSy8FYLfddmtl+JKkYcYkWVJbeOCBB5g4cSIAG2ywAUsvvfSiZffccw8333wzc+bM\nobu7m/nz5/PQQw+x7rrrstRSpRpcf/31WxG2JGmYMkmW1BbWXnttbrvtNiZNmsRdd93F888//4Jl\n73znO/ngBz/IY489xqxZs1hjjTW49957ee655xg7dix33XUXO++8cwv3QJI0nJgkS2oLU6ZM4TOf\n+Qx77rkna621FuPGjVu07KCDDuLoo4/moosu4qmnnuKTn/wkEyZM4IADDmCPPfZgwoQJLL/88i2M\nXpI03JgkS2qKJQ3Z1tXVRWdn56C93zLLLMPJJ5/c5/JvfetbL5q322672RdZbecTs+9udQiDaDlm\nPtQe+3Parm9rdQh6iXyYiCRJklRjkixJkiTVmCRLkiRJNSbJkiRJUo1JsiRJklRjkixJkiTVOASc\npKbY+EtXLXmlOQNYp3Lr5ye9gmgG7re//S1XXXUVhx566Mva/v777+fYY4/l/PPPH+TIJElDySRZ\nkhqst956rLfeeq+ojI6OjkGKRpLUKibJktrCAw88wLRp01hqqaXo7u5m991359prr2X69OkAbLnl\nltxwww1MmzaNv/3tb8ybN48111yTTTfdlF122YVHH32UAw88kM997nNcdNFF7LTTTvzsZz/jxBNP\nBODDH/4wM2bM4Oabb+a8885j7NixdHZ2csQRR/CXv/yFI488EoCVV165ZZ+BJGnw2CdZUluYO3cu\nG264Ieeeey6f+MQnePLJJ/ts0d1888258MIL2W+//Zg9ezYAl1xyyaKn73V0dDBx4kR+/etf8+yz\n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\nGBFLNzEuSRrJzgZuAV4LPAH8CfheSyOSpDbUzCT5h8Dnq9djgQXAxpl5fTXvMmAy5elRN2Tmgsyc\nTxnOaIMmxiVJI9mamXkWsDAzn8vMo4HVWh2UJLWbpnW3yMynASJiPPAj4Gjgaw2rPAGsCIwH5jXM\nfxJYqVlxSdIItyAiVqI8ipqIWIfShU2SNIiaOgRcRKwOXAyclpkXRcRXGxaPBx4H5lOS5fr8Eaer\nq6vVIWiY82/khfw8XpZjKWMkrx4R/03pqrZvSyOSpDbUzBv3Xg9cARyWmVdXs2+LiK0y8zrgA8BV\nlL51x0fEMsCywHrAnc2Kq5k6OztbHYLqhtEYyeDfSKOuri4/D17WD4UuyhP2PgS8mdIQ0Ql4w7Mk\nDaJmtiRPA14NfD4ivkC5NPivwKnVjXl3A7MyszsiTgFuADooN/Y918S4JGkkmwPcDvy0YV5Hi2KR\npLbVzD7JhwOH97JoYi/rngOc06xYJKmdZOZ+rY5Bktqdj6WWpJHlvyNif0p3tQU9MzPzof42iogO\n4HRgQ+BZYP/MvL9h+W7AZyk3AX4/M09pQuySNGL4xD1JGllWAr4B/AK4tvp3zQC22wUYl5lbULrD\nTe9ZEBFjgBOAScAWwKERMWFww5akkcWWZEkaWXYDXpeZz7zE7bYELgfIzJsjYpOeBZm5MCLeVv3/\nOkoDiveGSBrVbEmWpJHlfuA1L2O7FXnhmPQLqhZkYFGivCvwv5SW6adeSZCSNNLZkixJI0s3cFdE\n3ElDa29mTlrCdvMp49D3GJOZL3gISWbOBmZHxHnAPsB5/RXYTuNct9O+wHKtDkBqCybJkjSyHP8y\nt5sL7ATMiojNgDt6FlRPRv0JsF01BOdTDOApfu0yznW7jdk986G7Wx2C1BZMkiVpBMnMa1/mprOB\nyRExt5qeGhFTgOUzc0ZEfA+4LiKeo4zD/L1BCFeSRiyTZEkaBTKzGzikNvuehuUzgBlDGpQkDWPe\nuCdJkiTVmCRLkiRJNSbJkiRJUo1JsiRJklRjkixJkiTVmCRLkiRJNSbJkiRJUo1JsiRJklRjkixJ\nkiTVmCRLkiRJNSbJkiRJUo1JsiRJklRjkixJkiTVmCRLkiRJNSbJkiRJUo1JsiRJklRjkixJkiTV\nmCRLkiRJNSbJkiRJUo1JsiRJklRjkixJkiTVmCRLkiRJNSbJkiRJUo1JsiRJklRjkixJkiTVmCRL\n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\nrkJggg==\n", | |
"text/plain": [ | |
"<matplotlib.figure.Figure at 0x11d63d890>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"fig, (axis1, axis2) = plt.subplots(1, 2, figsize=(10, 5))\n", | |
"\n", | |
"total_male_adult = X_train[X_train.person == 'male_adult'].shape[0]\n", | |
"total_female_adult = X_train[X_train.person == 'female_adult'].shape[0]\n", | |
"total_child = X_train[X_train.person == 'child'].shape[0]\n", | |
"\n", | |
"died_male_adult = total_male_adult - X_train[X_train.person == 'male_adult'].Survived.sum()\n", | |
"died_female_adult = total_female_adult - X_train[X_train.person == 'female_adult'].Survived.sum()\n", | |
"died_child = total_children - X_train[X_train.person == 'child'].Survived.sum()\n", | |
"\n", | |
"survived_male_adult = X_train[X_train.person == 'male_adult'].Survived.sum()\n", | |
"survived_female_adult = X_train[X_train.person == 'female_adult'].Survived.sum()\n", | |
"survived_child = X_train[X_train.person == 'child'].Survived.sum()\n", | |
"\n", | |
"colors = ['#3182bd', '#6baed6', '#9ecae1', '#c6dbef', '#e6550d', '#fd8d3c', '#fdae6b', '#fdd0a2']\n", | |
"N = 3\n", | |
"d = (died_male_adult, died_female_adult, died_child)\n", | |
"s = (survived_male_adult, survived_female_adult, survived_child)\n", | |
"\n", | |
"ind = np.arange(N) # the x locations for the groups\n", | |
"width = 0.35 # the width of the bars\n", | |
"\n", | |
"rects1 = axis1.bar(ind, d, width, color=colors[5], lw=0.0)\n", | |
"rects2 = axis1.bar(ind + width, s, width, color=colors[0], lw=0.0)\n", | |
"\n", | |
"axis1.set_ylabel('Count')\n", | |
"axis1.set_title('Survival count by person')\n", | |
"axis1.set_xticks(ind + width)\n", | |
"axis1.set_xticklabels(('male_adult', 'female_adult', 'child'))\n", | |
"\n", | |
"axis1.legend((rects1[0], rects2[0]), ('died', 'survived'))\n", | |
"\n", | |
"##\n", | |
"\n", | |
"N = 1\n", | |
"ind = np.arange(N)\n", | |
"width = 1\n", | |
"m = (survived_male_adult/total_male_adult)\n", | |
"f = (survived_female_adult/total_female_adult)\n", | |
"c = (survived_child/total_child)\n", | |
"\n", | |
"rects1 = axis2.bar(ind, m, width, color=colors[0], lw=0.0)\n", | |
"rects2 = axis2.bar(ind + width, f, width, color=colors[1], lw=0.0)\n", | |
"rects3 = axis2.bar(ind + width*2, c, width, color=colors[2], lw=0.0)\n", | |
"\n", | |
"axis2.set_ylabel('mean(Survived)')\n", | |
"axis2.set_title('Average survived by person')\n", | |
"axis2.set_xticks((width/2, width*1.5, width*2.5))\n", | |
"axis2.set_xticklabels(('male adult', 'female adult', 'child'))\n", | |
"\n", | |
"plt.tight_layout()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 62, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"_feature = 'person'\n", | |
"\n", | |
"_columns = ['male_adult', 'female_adult', 'child']\n", | |
"\n", | |
"# train\n", | |
"dummies = pd.get_dummies(X_train[_feature])\n", | |
"X_train = X_train.join(dummies)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 63, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# drop male_adult as it has the lower average of survived passengers\n", | |
"features = ['female_adult', 'child']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 64, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[('RandomForestClassifier', 0.79235204644889845),\n", | |
" ('LogisticRegression', 0.79235204644889845),\n", | |
" ('SVC', 0.79235204644889845),\n", | |
" ('GaussianNB', 0.79235204644889845),\n", | |
" ('KNeighborsClassifier', 0.74421284302679591)]" | |
] | |
}, | |
"execution_count": 64, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"X = DataFrame(X_train[features])\n", | |
"y = y_train\n", | |
"scores = check_classifiers(X, y)\n", | |
"scores" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 65, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>Features</th>\n", | |
" <th>Coefficient Estimate</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>female_adult</td>\n", | |
" <td>2.643143</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>child</td>\n", | |
" <td>1.821844</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" Features Coefficient Estimate\n", | |
"0 female_adult 2.643143\n", | |
"1 child 1.821844" | |
] | |
}, | |
"execution_count": 65, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# get Correlation Coefficient for each feature using Logistic Regression\n", | |
"coeff_df = DataFrame(X.columns)\n", | |
"coeff_df.columns = ['Features']\n", | |
"classifier = LogisticRegression()\n", | |
"coeff_df[\"Coefficient Estimate\"] = pd.Series(classifier.fit(X, y).coef_[0])\n", | |
"\n", | |
"# preview\n", | |
"coeff_df" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"Both the 'female_adult' and 'children' features are strong predictors. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.12" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment