"
],
"text/plain": [
" PassengerId Survived Pclass Name \\\n",
"5 6 0 3 Moran, Mr. James \n",
"17 18 1 2 Williams, Mr. Charles Eugene \n",
"19 20 1 3 Masselmani, Mrs. Fatima \n",
"26 27 0 3 Emir, Mr. Farred Chehab \n",
"28 29 1 3 O'Dwyer, Miss. Ellen \"Nellie\" \n",
".. ... ... ... ... \n",
"859 860 0 3 Razi, Mr. Raihed \n",
"863 864 0 3 Sage, Miss. Dorothy Edith \"Dolly\" \n",
"868 869 0 3 van Melkebeke, Mr. Philemon \n",
"878 879 0 3 Laleff, Mr. Kristo \n",
"888 889 0 3 Johnston, Miss. Catherine Helen \"Carrie\" \n",
"\n",
" Sex Age SibSp Parch Ticket Fare Cabin Embarked \n",
"5 male NaN 0 0 330877 8.4583 NaN Q \n",
"17 male NaN 0 0 244373 13.0000 NaN S \n",
"19 female NaN 0 0 2649 7.2250 NaN C \n",
"26 male NaN 0 0 2631 7.2250 NaN C \n",
"28 female NaN 0 0 330959 7.8792 NaN Q \n",
".. ... ... ... ... ... ... ... ... \n",
"859 male NaN 0 0 2629 7.2292 NaN C \n",
"863 female NaN 8 2 CA. 2343 69.5500 NaN S \n",
"868 male NaN 0 0 345777 9.5000 NaN S \n",
"878 male NaN 0 0 349217 7.8958 NaN S \n",
"888 female NaN 1 2 W./C. 6607 23.4500 NaN S \n",
"\n",
"[177 rows x 12 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df['Age'].isnull()]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Oh dear. There is a significant number of passengers whose age is unknown. Again we will build a model with the objective of calculating the age of passengers we don't know. This time a k-Neighbors regressor is used and fit to the passengers we have data for. First let's note the indicies of the passengers we will be targeting."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"[5, 17, 19, 26, 28]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"nullage = df[df['Age'].isnull()].index.tolist()\n",
"nullage[0:5]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"18999\n",
"DONE\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"matplotlib.rcParams.update({'font.size': 20})\n",
"\n",
"df2 = df.loc[:,['Pclass','Sex','SibSp','Parch','Fare','Embarked','Age']] # These are our variables of interest\n",
"\n",
"# Quick and dirty: Categorical variables are replaced with an integer\n",
"df2['Sex'].replace(['female','male'],[0,1],inplace=True) \n",
"df2['Embarked'].replace(['C','Q','S'],[0,1,2],inplace=True)\n",
"\n",
"# A copy of out model inputs is made for graphing later\n",
"df3 = df2.copy()\n",
"\n",
"# Remove NaNs and cast to np.arr\n",
"df2.dropna(inplace=True)\n",
"data = np.array(df2)\n",
"\n",
"# Defining model inputs\n",
"X = data[:,:6]\n",
"y = data[:,6]\n",
"\n",
"list_knn = []\n",
"\n",
"its=1000\n",
"neighbor_range = range(1,20)\n",
"index = 0\n",
"for i in neighbor_range:\n",
" RMSE_LIST= []\n",
" for j in range(0,its):\n",
" \n",
" X_train, X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)\n",
" # Defining a classifier. \n",
" n_neighbors = i\n",
" knn = neighbors.KNeighborsRegressor(n_neighbors,weights='distance',algorithm='brute',n_jobs=-1)\n",
" knn.fit(X_train,y_train)\n",
"\n",
" E = np.subtract(knn.predict(X_test),y_test)\n",
" SE = np.power(E,2)\n",
" MSE = np.sum(SE/len(y_test))\n",
" RMSE = np.sqrt(MSE)\n",
" RMSE_LIST.append(RMSE)\n",
" os.sys.stdout.write(f'{index}\\r')\n",
" index = index + 1\n",
" \n",
" list_knn.append(np.array(RMSE_LIST).mean())\n",
"print('\\nDONE')\n",
"plt.figure(figsize=(10,7))\n",
"plt.plot(neighbor_range,list_knn)\n",
"plt.title('n Selection for Age Model')\n",
"plt.ylabel('RMSE (Years)')\n",
"plt.xlabel('n Neighbors')\n",
"plt.xticks(neighbor_range)\n",
"#plt.savefig('./age_rmse.png',bbox_inches='tight',dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Model RMSE: 15.6\n"
]
},
{
"data": {
"image/png": "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lAxF9bOonggRERGJREmEiIiIRKIkQkRERCLRmAgRKRFK+niSqONAsotdi3b3HGXLly/ntNNOY8WKFQwbNoy//e1vRbLP0q5Vq1Z8/fXXnHTSScybNy/Z4Ugc9USIiJQAn376KZ06dSI9PZ1//OMfSiBCM2fO5Ouvv8bMmD9/PkuXLk12SBJHSYSISJK99957pKWlsXHjRl588UWuueaaZIdUYowePRqAW265Jct7KRmURIiIJNGLL77ImWeeSYUKFZg2bRrnn39+jjpmRlpaGmvXrmXIkCE0adKElJQU2rZty/jx4xO2m5GRwahRo+jQoQM1a9akRo0adOjQgSeffJKMjIwsdQ844ACaNm2ao41DDjkEM+Oee+7Jsn7q1KmYGXfeeWfmuoEDB2JmpKen89RTT3HkkUdStWpVGjduzJAhQ9i0aVOhv5t169bx2muvceihh3LvvffSuHFjnn32WbZv357rNu+88w6dOnWiRo0a1K9fn969e/PFF19kiS+7jz76iL59+7L//vtTpUoVDjroIK644gq+//77HHVXrFjBkCFDaNmyJdWqVaN+/foceeSRXHnllaxbt67Qn7G0UxIhIpIkjz76KP369aN+/frMnj2bU089Nde6GzdupFOnTsyfP5++ffvyhz/8ge+//57LLruMiRMn5qh/ySWXcNVVV/HTTz8xePBghgwZwpo1a/jjH//IJZdckqVu165d+e677/jiiy8y1y1fvpxVq1YBMH369Cz1Z8yYAUC3bt1y7PeWW27hlltu4eijj+bqq6/mwAMPZMyYMZx77rkF/2JCEydOZMeOHQwcOJBKlSrRv39/NmzYwMsvv5yw/ksvvUTPnj1ZtGgR559/PldccQUbNmzgpJNOSpg8AIwfP55OnTrx9ttvc+qpp3LDDTfQvn17xo4dS/v27TO/A4AffviBDh06MH78eNq2bct1113HJZdcQrNmzXjmmWf44YcfCv0ZSzsNrBQRSYJhw4YxcuRIDj30UN555x2aNWuWZ/3FixczaNAgnnrqKSpWrAjAjTfeyFFHHcX999/PgAEDMuu+8MILPP/88xxzzDHMmTOHmjVrAnDvvffSpUsXnn/+ec4880z69esHBEnEc889x/Tp02nTpg3wW+LQvXt3Zs+ezbZt26hevXpmWbVq1TjppJNyxPnhhx/yn//8h4MPPhiA3bt307VrV2bOnMnHH3/M8ccfX+DvaOzYsVSoUIE//OEPAFx66aU89NBDjB49OkcitGXLFq688koqVarE/PnzOfroozPLhg4dyv3335+j/a+++oorrriC1NRUZs+ezYEHHphZNmPGDLp3787111/Pa6+9BsCkSZNYv349jzzyCNdff32Wtn755RcqVCh/f5eXv08sIlICjBw5ksqVKzNt2rR8EwiA6tWr89BDD2UmEACHH344nTp1YtmyZVmegzBu3LjMfcQSCIAaNWpknkzHjh2buT7WoxDf4zB9+nQaNWrEddddx86dO3n//feB4BLD4sWL6dy5M1WqVMkR55133pmZQABUqlSJSy+9FICPP/44388ZM2fOHJYtW8bvfve7zEstRxxxBMceeyzvv/8+y5Yty1J/8uTJbNy4kf79+2dJIABuv/126tatm2MfTz75JLt27eLRRx/NkkBAkFj16tWLN998M8czJqpVq5ajrRo1aiRcX9YpiRARSYLTTjuNXbt20a9fPzZu3Jhv/UMPPTThA8wOOugggCxtLFy4kAoVKpCWlpajfpcuXahYsSKLFi3KXHfIIYfQvHlzZs6cSUZGBu7OrFmz6NatG126dKFSpUqZCcbMmTNxd7p27Zowzvbt2+ca44YNG/L9nDFjxowByExAYgYOHJilPCb2eTp37pyjrZo1a9KuXbsc6+fPnw/A7NmzGT58eI7Xzz//zJ49e/jqq68A6NWrFzVr1uTqq6+mT58+jB49ms8//zzh7brlhS5niIgkweTJk7ngggt444036Nq1K++++y4NGjTItX6iv6Qh+EsfyPIwpU2bNlG/fv2EPQWVKlWiQYMG/Pzzz1nWd+vWjTFjxrBw4UIqV67MmjVr6NatG7Vq1aJDhw6ZSURsmWg8RG5xJooxLxs2bGDSpEnUrVuX3r17Zynr168fN998M08//TT33XcfKSkpmZ8ZoHHjxgnbTLQ+NhDygQceyDOerVu3AkGy9fHHHzN8+HCmTZvGq6++CgRJ0s0338x1111XoM9XlqgnQkQkCVJSUnjllVe44IILWLRoEWlpafz4449F0nadOnVYv349u3btylG2e/du1q5dm6NXI9az8N5772UmCrF1Xbt2ZdGiRaxfv57p06dTp04djj322CKJNZGnn36a7du3s3HjRqpVq4aZZb4aNGjAzp07WbduHa+88krmNrHP89NPPyVsM9H6OnXqAEEC4u65vrp06ZK5zWGHHcZLL73EunXrWLBgASNHjiQjI4Prr7+ef/7zn0X5NZQKSiJERJKkUqVKPP/88wwYMIDPP/+cLl26sHr16r1u95hjjiEjI4M5c+bkKJszZw579uzJkQR07doVM2P69OnMmDGD5s2bZ47V6NatGxkZGTzzzDN8/fXXpKWlZRmbUdRilyouuugiBg0alOPVt2/fLPUg+MxA5tiNeFu3buWzzz7Lsf7EE08EYO7cuYWOsVKlShx33HH85S9/4YUXXgDg9ddfL3Q7pZ0uZ4iIJFHFihUZP348VatW5amnnuKUU05hxowZpKamRm7zsssuY/r06QwbNoxZs2Zl3lWxbds2hg4dCsCgQYOybNOoUSPatm3LBx98QKVKlbjwwgszyzp27EjVqlUzZ9HMbTxEUZg3bx6ff/45hx12GM8//3zCOhkZGTRv3pxZs2bx1Vdf0apVK8455xzq1KnDc889x/XXX59lcOW9996bcNzJNddcw+jRo7nxxhs59NBDadWqVZbynTt38tFHH3HyyScDwcDQQw45JMelkVgvR+x7Lk+URIiIJJmZMWrUKKpVq8YjjzzCySefzIwZMzj00EMjtdevXz8mT57Mv/71L9q2bUvv3r0xM15//XW+/fZbLrjgAvr3759ju27dumVOKx0/5iElJYVOnTrlOx6iKMRmpBw8eHCudSpUqMCll17K8OHDGTNmDA888AC1a9fmiSee4OKLL6Zjx45ccMEFNGnShHnz5rF48WK6dOnC7Nmzs9yG2aZNG8aNG8dll11G27ZtOf3002nVqhW7du1i1apVzJ07l4YNG2bOn/H888/z+OOP06VLF1q2bEm9evX45ptvePPNN0lJSeGGG27YZ99LSaXLGSIiJcTDDz/MrbfeyurVqznllFP4/PPPI7f1wgsv8Pjjj7Pffvvx1FNPMWrUKOrVq8djjz2W2f2eXSw5MLMcE1/Fyho3bkzbtm0jx5WXTZs28fLLL1OlSpXMuSFyc9lll1GhQgUmTpzIzp07gSB5mjJlCkcffTQvvfQSTz75JHXq1GH+/PmZt7pmHwty8cUX8+mnn9K/f3+WLFnCY489xrPPPsvy5cvp27cvTzzxRGbdiy66iMGDB7NmzRr+9a9/8cgjj7Bw4UIuvPBCFixYkHDejLLOyvOtKYXVvn17X7BgQbLDkBKspD+JsqhEeaLlsmXLOOyww/ZBNCJ527NnD82bN2fHjh1FNni1LCjoz6SZferuOe/dRT0RIiJSRmzcuJFt27ZlWefu3HvvvaxatYrzzjsvSZGVXRoTISIiZcKHH37I73//e3r06EFqaipbt27lww8/5LPPPuOggw5i+PDhyQ6xzFESISIiZULr1q0566yz+OCDD5g6dSq7d++madOmXHfdddx66600atQo2SGWOUlPIsxsP+Bc4EzgSOBAYCfwH2A8MN7dMxJs1xG4HTgRqAosB8YB/3D3hNOimdkA4GrgcGAPsAh40N3fKuKPJSIixaxZs2Y899xzyQ6jXCkJYyLOB8YAJwAfAY8ArwBHAGOBf5mZxW9gZucAc4BTgNeAx4EqwMPAi4l2YmYPAhOAJuH+niVIWt40s2uK+kOJiIiUdUnviQC+AnoBU+J7HMzsVuBjoA9wHkFigZnVJkgC9gBp7r4gXH8HMAPoa2YXuvuLcW11BG4CvgE6uPuGcP0DwKfAg2b2lrun7+PPKiIiUmYkvSfC3We4+5vZL1m4+4/AqPBtWlxRX6Ah8GIsgQjrbye4vAFwVbbdXBku/xpLIMJt0gl6MVKASxEREZECS3oSkY/Y02N2x62Lzbc6LUH9OcA2oKOZpRRwm7ez1REREZECKLFJhJlVAmJTlsWf/FuHy6+yb+Puu4FvCS7TNA/bqUEwWHOru/+QYFdfh8tWCcpEREQkFyU2iQBGEgyunOru78StrxMuN+WyXWx97KH2ha2fhZkNMbMFZrZgzZo1+UctIiJSTpTIJMLMriMYCPkFcElhNw+XhZ3PO2F9dx/t7u3dvX3Dhg0L2aSIiEjZVeKSCDO7GngU+C9wqruvz1Yl1nNQh8RqZ6uXX/38eipEREQkgRKVRJjZDcBjwFKCBCLRk1K+DJc5xjCE4yiaEQzEXAHg7r8A3wE1zaxJgvZiz9rNMcZCREREcldikggz+wvBZFGfESQQP+dSdUa4PD1B2SlAdWCeu+8o4DZnZKsjIlLmzJo1CzMr18+P0HdQ9ErCZFOxiaLuJpj4qUeCSxjxJgH3Axea2T/iJpuqCtwb1nky2zajCMZW3GZmr8dNNpVKMA32DoIptkUkWYbndsWxhBheNFc8s03Am9DMmTNJS0srVLvp6ek0a9aMAQMGMGHChGjBJUFaWhqzZ8/GvbDD2Ipf9+7dee+992jatCnp6elUrFgx2SElXdKTiPB5FncTzEA5F7guwQ9ZurtPAHD3zWZ2OUEyMcvMXgTWE8x62Tpc/1L8xu4+z8weAv4ELDGzSQTTZP8eqA9cq9kqRaQ43XXXXbmWpaamFvn+jj/+eJYtW0aDBg2KvO3yYMWKFUyfPh0zY/Xq1bz99tucddZZyQ4r6ZKeRBCMYQCoCNyQS53ZBM+9AMDdXzezLsBtBNNixx7A9Sfg754gpXX3m8xsCXANMATIABYCD+gBXCJS3Iq7S7169eq0adOmWPdZlowZMwZ3Z+jQoYwcOZLRo0criaAEjIlw9+Hubvm80hJs94G793T3eu5ezd2PdPeHc3uCZ7jNRHfv4O413L2Wu3dRAiEiJdmWLVu45557OOKII6hduza1atWiRYsW/P73v+fTTz8FgoSkWbPg77GJEydiZpmv2KWN3MYDpKWlYWbs2rWLu+++mxYtWlC1alXatGnDmDFjMuuNGjWKI488kmrVqtG0aVPuuusuMjJyPGCZCRMm0KdPH5o3b061atWoXbs2nTp14tlnn81SLz09HTNj9uzZAFlizn4pZ/Xq1VxzzTU0b96clJQU9ttvP3r16sUnn3yS8Dv76aefGDRoEI0bN6ZatWq0a9eOiRMnFvg7z2737t1MmDCB2rVrc+edd3LssccydepUvvvuu1y3+eSTT+jRowe1atWidu3a/O53v2P+/PkMHz4cM2PWrFk5tvniiy8YOHAgBx10ECkpKTRu3Jh+/frx5Zdf5qj7008/cfPNN9O6dWtq1KhB3bp1ad26NQMHDmTFihWRP2thlYSeCBERScDdOf3005k3bx4nnXQSgwcPplKlSvzvf/9j1qxZnHzyyRx33HGkpaWxceNGHn30UY4++mh69+6d2Ua7du0KtK8LL7yQjz76iJ49e1K5cmUmTZrEkCFDqFy5MkuWLGHixImcddZZdOvWjTfeeIO7776b6tWr85e//CVLO1dddRWHH344p5xyCk2aNGHdunVMnTqVSy65hC+//JJ77rkHgLp163LXXXcxYcIEVq5cmeXyTvzlnIULF9KjRw/Wr1/PaaedxnnnncfatWt5/fXX6dy5M6+99ho9e/bMrL9u3To6duzIihUr6Ny5M507d+aHH37gyiuvpEePHlEOA2+88QY//vgjl19+OdWqVWPgwIFcd911jBs3jjvuuCNH/blz59KjRw927dpFnz59aNGiBf/5z3849dRT6do18RMWpk2bxnnnnceuXbs4++yzadmyJatXr+bVV19lypQpzJw5k2OPPRaAbdu20alTJ7755hu6d+/O2WefjbuzcuVKJk+eTN++fWnevHmkz1pYSiJERJIgt8sZVatWZejQoQAsXbqUefPm0bt3b1577bUs9TIyMti0KRjsmZaWRmpqKo8++ijt2rWLdKlk1apVLF26lLp1g8l7b7rpJtq0acONN95I3bp1WbJkCQceeGBm7C1btuTBBy/4o3wAACAASURBVB/kpptuolKl304lS5cupUWLFlna3rlzJ2eccQYjR47kyiuv5MADD6Ru3boMHz6cWbNmsXLlyoQx7969mwsuuICtW7cyc+ZMunTpkln2/fff06FDBwYNGkR6ejopKcHjkoYNG8aKFSu44YYbePjhhzPrX3PNNZx00kmF/l4ARo8eDcCllwbPaezXrx8333wz//znP7ntttuoUOG3Tv2MjAwuu+wytm/fztSpUznjjDMyy0aNGsVVV2V/PiRs2LCBiy66iOrVqzNnzhwOP/zwzLLPP/+cE044gcGDB7Nw4UIApk+fzjfffJPjM0LwXe/YsYPikvTLGSIi5dGIESMSvkaOHJmjbrVq1XKsq1ChAvXq1SuyeEaOHJmZQAA0b96czp07s3HjRu64447MBAKCXoSzzz6btWvX5ujSz55AAFSpUoWrr76a3bt3M3369ALHNGXKFL755huuvfbaLAkEwAEHHMAtt9zCjz/+mNnmrl27eO6556hVq1aOpKR9+/b079+/wPuOWblyJf/+979p3bp1ZhKy3377cdZZZ7Fy5UrefffdLPXnzZvH8uXLOfXUU7MkEABDhgyhVaucj2l6+umn2bhxIyNGjMiSQAC0bduWyy+/nEWLFvHf//43S1mi/xdVqlShVq1ahf6cUaknQkQkCQpyS+Phhx9Ou3bteOGFF1i5ciXnnHMOnTt3pn379lSpUqVI42nfvn2OdQcccAAAxx13XI6yWFKxevVqDjnkkMz1q1at4v7772f69OmsWrWKX3/9Nct2eY0jyG7+/PkAufZUfP118PzEZcuW0bNnT7744gu2bdvGySefTJ06OW8ZTktLK/TYiLFjx5KRkcHAgQOzrB84cCCvvvoqo0eP5vTTf5uCaNGiRQB07tw5R1sVKlSgY8eOfPVV1rkNY59z8eLFCT9nrP6yZcs4/PDD6dKlCwceeCAjR45k4cKF9OzZk06dOtGuXbtiv+1USYSISAlVsWJFZsyYwd13382kSZMyxx/UqlWLAQMGcN9991GzZs0i2Veik27sMkVeZbt27cpct2LFCo4//ng2bNjAySefTI8ePahTpw4VK1YkPT2diRMnFqqrfd26dQC8/PLLedbbunUrQOblncaNGyest//++xd43wB79uxh/PjxVKhQgUsuyfoYpzPOOIP999+fN998kx9//DGz7fxiSLQ+9jnjB7ImEvuctWvX5sMPP+Suu+7ijTfe4J13gmdUNmjQgD/+8Y/cfvvtVK5cuRCfNDolESIiJVi9evV4+OGHefjhh1m+fDmzZ8/mqaee4rHHHmPjxo0888wzyQ4x00MPPcS6desYP358jr/cX3jhhUL3AsSSl8mTJ9OrV68C1//pp58Slv/4Y6InKeTurbfeyuw5adq0aa71xo0bx6233goEJ/i8Yki0Phb34sWLOeqoowoUW9OmTfnnP/+Ju/Pf//6XGTNm8Pjjj3P33XeTkZGROYB1X1MSISJSSrRs2ZKWLVvSr18/GjVqxOTJkzPLYt3Ye/bkepf7Prd8+XIA+vTpk6MsditndvFxZ++KP/HEE4HgboeCJBFt2rShevXqfPbZZ2zatClHD0qi2yrzEusZOOussxL2IOzZs4cJEyYwduxYhg0bhplxzDHHAPD+++/nqJ+RkcG8efNyrD/xxBN55ZVXmDt3boGTiBgzo23btrRt25bevXtz8MEH8/rrrxdbEqGBlSIiJdS3337L559/nmP9hg0b2LFjR5aBdfXq1cPMWLVqVXGGmEXs1szsJ+t33nmHsWPHJtxmv/32A0gY9znnnEOLFi14/PHHmTp1asLt58+fz7Zt2wCoXLky/fv3Z8uWLTnGFixYsIDnnnuuwJ9l9erVTJs2jXr16vHyyy8zduzYHK/x48fTuXNnvv32W9577z0AOnXqRIsWLZg5cyZvv/12ljZHjx6dYzwEBHd91K1blxEjRvDxxx/nKM/IyMjynS5dupT09PQc9WK9HNWrVy/w59xb6okQEUmCvG7D7N27N+3atWPx4sWce+65HHfccRxxxBEccMABrFmzhsmTJ7Nr164sczTUrFmTE044gblz59K/f39atWpFxYoV6dWrV6H/uo3qj3/8I+PHj+f888+nT58+HHjggSxdupRp06ZxwQUX8NJLL+XYplu3brz88sucd9559OzZk2rVqnHIIYdwySWXULlyZV599VVOO+00zjzzTDp27Ei7du2oXr06//vf//jkk09YsWIFP/zwQ+aJ829/+xvTp0/nkUceYcGCBZnzRLz00kv07NmTN954o0CfZezYsezZs4eLL76YqlWr5lpv8ODBvP/++4wePZru3btToUIFxo4dy+mnn06vXr0y54lYsmQJ//73vznjjDN4++23s9wWut9++zFp0iTOPfdcTjzxRLp160bbtm2pUKECq1atYv78+axbt47t27cD8N577/GnP/2Jjh070qZNGxo1asTq1auZPHkyFSpU4M9//nNhDtteURIhIpIEI0aMyLUsNTWVdu3a0b59e4YNG8bs2bOZNm0aGzZsoGHDhhx33HFcd911OW4hfOaZZ7jxxhuZNm0aL7zwAu5O06ZNiy2JOOqoo5g5cya33347U6dOZffu3Rx99NG8+uqr1K1bN2ESMXjwYFauXMmLL77I//3f/7F79266dOmSOZDxqKOOYvHixTz00EO89dZbmQMdmzRpwjHHHMOIESOyPA+kQYMGfPDBB9x66628+eabLFiwgNatW/Pkk0+SmppaoCQiIyODcePGZcaXl/PPP5/rr7+eyZMn8/PPP9OoUaPMh4rdfvvtTJkyBYATTjiBmTNnZvaGxMZOxHTr1o0lS5bw4IMP8s477zB37lyqVKnCAQccQNeuXbNcIjrttNO44YYbmDNnDpMnT2bz5s00adKE7t27ZyYXxcVKw5PTSor27dv7ggULkh2GlGCpQ6ckO4RikT7yzEJvs2zZMg477LB9EI1I6dGpUyc++ugjNm3aRI0aNZIaS0F/Js3sU3fPeQ8wGhMhIiJSpLZt28bGjRtzrJ8wYQLz5s2jR48eSU8gioouZ4iIiBShVatWccwxx9C9e3datmzJ7t27WbRoEe+//z5169bl//2//5fsEIuMkggREZEi1LhxY/r378/s2bOZOXMmO3bsYP/99+fSSy/ltttuSzg1eGmlJEJERKQI1atXL9dbWssajYkQERGRSJREiIiISCRKIkRERCQSJREiUmw0L41IyVBUP4tKIkSkWFSsWDHLY6NFJHl2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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df2 = df.loc[:,['Pclass','Sex','SibSp','Parch','Fare','Embarked','Age']] # These are our variables of interest\n",
"\n",
"# Quick and dirty: Categorical variables are replaced with an integer\n",
"df2['Sex'].replace(['female','male'],[0,1],inplace=True) \n",
"df2['Embarked'].replace(['C','Q','S'],[0,1,2],inplace=True)\n",
"\n",
"# A copy of out model inputs is made for graphing later\n",
"df3 = df2.copy()\n",
"\n",
"# Remove NaNs and cast to np.arr\n",
"df2.dropna(inplace=True)\n",
"data = np.array(df2)\n",
"\n",
"# Defining model inputs\n",
"X = data[:,:6]\n",
"y = data[:,6]\n",
"\n",
"# The inputs have many different scales.\n",
"# They are normalized.\n",
"scaler = preprocessing.Normalizer().fit(X)\n",
"T = np.array(df3[df3['Age'].isnull()])\n",
"T = scaler.transform(T[:,:6])\n",
"X = scaler.transform(X)\n",
"model_RMSE = []\n",
"for i in range (0,1000):\n",
" X_train, X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)\n",
"\n",
" # Defining a classifier. \n",
" n_neighbors = 4\n",
" knn = neighbors.KNeighborsRegressor(n_neighbors,weights='distance',algorithm='brute',n_jobs=-1)\n",
" knn.fit(X_train,y_train)\n",
"\n",
" E = np.subtract(knn.predict(X_test),y_test)\n",
" SE = np.power(E,2)\n",
" MSE = np.sum(SE)/len(y_test)\n",
" RMSE = np.sqrt(MSE)\n",
" model_RMSE.append(RMSE)\n",
"print(f'Model RMSE: {RMSE:.1f}')\n",
"\n",
"# Plot the known ages with the modeled ages for comparison of shape.\n",
"plt.figure(figsize=(8,6))\n",
"plt.hist(df['Age'],color='C0',bins=np.arange(0,80,10))\n",
"plt.hist(knn.predict(X_test),color='C1',bins=np.arange(0,80,10))\n",
"plt.legend(['Known Ages','Estimated Ages'])\n",
"plt.title('Shape Comparison')\n",
"plt.ylabel('Frequency')\n",
"plt.xlabel('Age')\n",
"#plt.savefig('./agemodeldist.png', dpi=300)\n",
"# Replace unknown ages with modeled ones.\n",
"df.iloc[nullage,5] = knn.predict(T)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"14.134353617595822\n",
"0.8135773875938206\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"bins = np.linspace(-3,3,13)\n",
"plt.figure(figsize=(8,6))\n",
"#plt.hist(stats.zscore(model_RMSE),bins=bins)\n",
"plt.hist(model_RMSE)\n",
"plt.title('Model Accuracy')\n",
"plt.ylabel('Frequency\\n(n=1000)')\n",
"plt.xlabel('RMSE (years)')\n",
"stats.describe(model_RMSE)\n",
"plt.savefig('agermsefreq.png',bbox_inches='tight',dpi=300)\n",
"print(np.mean(model_RMSE))\n",
"print(np.std(model_RMSE))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The shapes of these distributions are visually consistent. The RMSE of the fit is 13 years or about half a human generation. There is no immediate reason to reject these results."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
PassengerId
\n",
"
Survived
\n",
"
Pclass
\n",
"
Name
\n",
"
Sex
\n",
"
Age
\n",
"
SibSp
\n",
"
Parch
\n",
"
Ticket
\n",
"
Fare
\n",
"
Cabin
\n",
"
Embarked
\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [PassengerId, Survived, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin, Embarked]\n",
"Index: []"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df['Age'].isnull()]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Every passenger now has an age and a port of Embarkation. Moving on, we begin to build our model of who survived.\n",
"\n",
"An empty list is defined. As I move through each variable, those that have significant correlation with the Survived variable will be appended to the list."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"model = [] "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY SEX\n",
"\n",
"An exploration is made into the correlation and significance of sex on surviving the shipwreck."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[468., 109.],\n",
" [ 81., 233.]])"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sexes = ['male','female']\n",
"bysex = np.zeros((2,2))\n",
"for i in range(0,len(sexes)):\n",
" bysex[i] = df[df['Sex'] == sexes[i]]['Survived'].value_counts().sort_index()\n",
"bysex"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The first row of this array are all male. The second row is all female. The first column represents the number of passengers who did not survive. The second column represents the number of passengers who did survive. Looks like males are less likely to survive than females. Let's check rates"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Survival rate of:\n",
"\tmales:\t\t 0.189\n",
"\tfemales:\t 0.742\n"
]
}
],
"source": [
"males_rate = bysex[0][1]/np.sum(bysex[0])\n",
"females_rate = bysex[1][1]/np.sum(bysex[1])\n",
"print('Survival rate of:')\n",
"print('\\tmales:\\t\\t',f'{males_rate:.3f}')\n",
"print('\\tfemales:\\t',f'{females_rate:.3f}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Indeed, there is quite a contrast between the two rates. Let's visualize survivorship."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAH0CAYAAACtlpxpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd5hU1f3H8feXIp2liIAFUVTAQlRWiIgCiyKINSBBDYoFg70riBIM1tgiYoJgBGygsf0UhYAsxUZkEQUjKiIoIIpIB2nL9/fHvbPMzs622V22zOf1PPMMc+85555ZN+HDufecY+6OiIiIiCSPSqXdARERERHZuxQARURERJKMAqCIiIhIklEAFBEREUkyCoAiIiIiSUYBUERERCTJKACKSNIxs+Zm5mZWJtbBMrNhYX/GFbJe/7DezJLpmYhUVFVKuwMiUraZWRXgT0Bf4HdAQ2AL8BPwHTAbSHf3uaXWSSlzzOxA4BqgG3AYUANYQ/B78zkwE5jq7qtKq48iyUwBUERyZWaNgHeB1KjD2wADWgKtgDOADUC9vd7BxO0Evi7tTlRUZnYW8CJQJ+rweoLfkabAcUB/4Angxr3dPxHRLWARydsLBOFvE3A70NTda7h7PSAFOA34B8Ff7uWGu69091bu3qq0+1LRmNmhwCsE4W8ecCZQ093ru3tNoDlwGTAN2F1a/RRJdhoBFJG4zKwVwe07gMvc/dXo8+6+CXgPeM/Mbt3b/ZMy60qgOsGt3s7uvjn6pLt/D4wFxppZjVLon4igEUARyd0xUX+elFdBd/8t9piZjQsnKAzLrZ6ZzQzL9I85nm1yg5ldZGazzOzX8Pi5ZvZe+OdH8uqbmT0dlns96ljcSSBmtjg8fm0+bf4nLPdYzPH2ZvaAmc0xs5VmtsPMVpvZFDPrnVebxcHMLgmvvdHMNpjZdDPrHqfcxWH/V4XPeObWXpew3FYzSylgNyK/N7Niw1+seL83Udc+2syeNbOlZrbNzNab2YdmNtDMqsaUbROWcTO7Ipf2LgjP7zSzdgX8LiIVlgKgiBTEAaV1YTMbQXAruiPBs4eR24Yvhe9/NLO4/18WBoVeMeXzMiF8vzCP/uwHdI1t08xqA3OAQUB7oBHB85KNgNOBf5vZ0wXoQ0LM7HFgHHACkElwCzYNmBxnhPbfBM9tNgF65NHsZeH76+6+oZBdSvh3JgzgnwOXEtwy3gXUBjoA/wSmmlnNSHl3XwAMCT8+bmYtYto7kOBRBYD73P2TRPsmUlEoAIpIbuZF/fmpcELI3tYWuBb4C9DQ3RsA9YGPgNeA7cCBwMm51O9GMGt5I/mMYoZeDN9PNLPmuZQ5H6gMLHb3jKjjuwkmzFxAEH6qu3vdsL/XAZuBK83s/AL0o7COJZhM8RDQwN3rh32IfJ+/mVnHSOFw5C0SXi+N16CZ1QX+EH58thB9ifxMOprZNWZWuRB1MbNzgCeB34A7gcbuXptgFnE3gsk7nYHHY6o+BswgCIovRK5rZkYQjOsBnwD3FqY/IhWVAqCIxOXu3wHPhR9PB1aEt13vNbNz9lIgrA086O5/dff1Yb82uvvqcETq3bBcbiN2F4Tvb7j7tvwu5u5fA/Nj6ubWZrYRRXff6u493X2iu//o7rvD4+vdfSRwdVj0aopfCvCMuw+KjNSFy6v0IwhFBgyLqTMmfD8zl/+WfYGawNKwjYL6B7A6/PNIYKWZvWRmN5pZBzOrllvFMLQ9EX7s5+4PuPvq8PvsdPdpBCOWW4DLzKxppK67O3AJwYSk3xOER4AbCEZst4Zt7irEdxGpsBQARSQvAwhGVnYA+xD8RToEeBNYbWafhM/nWQldPzO8fm4iIax3nOfCagDnxJQriEjZHAHQzJoR3IYsbJsAb4fvvy/sqFgB3R97IAxFD4Qf08ysQdS5+cCnQFWCdR5jRUYGx4XtFIi7/wx0IhilBWhM8LN8HPgQWBcGwiPjVO8MHAwsc/c3cml/KcGt9iph+ehzy9kTsIea2SXs+f63uPs3Bf0eIhWdAqCI5Mrdd7j7LcBBwECCZ+QWA5FAcALB83kv5/YcXhF96+5r8jg/ieD2bgOCUcpoZxOMIP4MTC/ENScQ3M49xsyOjjl3AcFo2rx4YcLMqpjZ5eGkj1Vmtj1qssm6sFh1gtvCxemHMBjF8wFBkDaCW8XRngnfs90GNrPWBKNouwlunxaKu3/l7icR/H7cQ7Dky6/h6RoEP8dP40yMiYTr/c3sp9xewElhuYPiXHsCwX/DKmHfqwPvuvuown4PkYpMAVBE8hXecn3a3S909yMIFvMdACwPi5xP8Jxbcfsln35tAyIjRbEjdpHPr7h7ZkEv6O4rgffzaTPH6F84CWQWQag6nWCCRSbBd/g5fEXUKmh/CmhlbifC5/0i4TP2Vu+LBLdGjzGztlHHI5M/3nP3HxLtlLtnuPswd+/m7vsCxxPc4t0FVAPGR9/GJfi9gmC0uXEer+phuZrEd034vSD4B8LliX4HkYpKAVBECs3df3b3Zwj+Qo8Em8vyqJKoggS3SBg7JzIz1MzqAd1jzhdGjtvA4ajY7whGxSbGqXM3wQjWGoJn0Rq7e01338/dm5B9VmxJ3TLPTdzruftGghnBEI4C2p6t/6Bwkz/y5e7z3f1G9ow41iR41jAi8nfSG+5uBXgNy+VSf2RPOKxD8N9NRKIoAIpIwsLbs/8Xfjwi5nTkYfvq5K6ga8vlZTpBCK1FcNsXgtmr1YDv3H1OAm3+m+C5x0PM7PfhsUgYnOXuP8apE5nde527PxeZvBClcQL9KKj9czthZtXZs01fvBHVyG3gC8MJGmcQjF6uJXjWsyS8RDDLF7L/3kT+MRHv+cACMbPDgcjakF8QhN9no59/FBEFQBEpui3h+46Y45Ht4Q6MV8nMagGti3rx8PbuK+HHyGzgSFibkLNGgdpcB/wnps3ISFVuI4qR7zk/l/OnJtKXAjo4j2VrOhIsW+PAZ7En3f0D4CuC5xLPZc/o3Evuvr3Yexpcczd7AmD0783H4XtLMzuqsO2Go5fPE/xjYDrBeoyLCAKyngEUiaIAKCJxmdkhsQvqxilTkyA0QM5wsTB87xaOQsW6iWCUrjhEQtnp4a3aLjHHi9Jmn3AU8HCCsPJaLuUjCyUfE3sifD5wSOzxYjY4znWNYGFqgOnuvjaXupFRwJuBnuGfE7r9a2Ydc/nvHV2mO8HEHcj+ezMdiDxz+Hhes6XNLN5EmrsIQt96oL+7byW4nb0TON/M4s12FklKCoAikpujgK/N7HUz6xP9sL6Z1TKzswgmSxwSHn4ipv7bBKM8jYDnwh00MLMUMxtCsC5dYXeXiCu8zbuEYPLACwQjXp+7+5dFaPYtgsWbGwNPhccmh6OD8UwL3x8zs06RpXHM7ASCYLNvEfqSn40Ei0zfb+GWbWbWBBhPsHSPE8zGzc1zBOG2HcGyMPPDZWIScSOwzMweCcNg1n6/ZtbUzAaxZ8T2RyBrj2l330kwmciB0wh2/Ggf9bOsYmZtzexB4Lvoi4bbu0VC9tXuviJs81Pgr+HxkWaWY+awSFJyd7300kuvHC+Cmawe89pKMLoSfWwXcGcubVwfU3YdwcQOB4YCM8M/94+p1z88PrMQ/b035lq351G2eaRcPm2+ENNmnzzKHkrwjF2k7G8EATLyc+sWda55TN1h4fFxhfxvlPVzIlhnL/LfYy3BZJXI9W4tQFv/jip/bRF+bybE/Mx2h//dt8UcXwEcl0sblxLs8hL9s1wTfresNqLK1yTYIcSBCXHaq0xwe9mBdMBK+39feulV2i+NAIpIXO7+H6AlcCvBZIBvw1O1CULgp8Dfgd+5e45FiMM2RhDMyJxDEIIqESwGfJ67/zVenSJ4MerPTvyZukVpczN7FnPOwYOdU9oRhMbVBKFjfdjGCe4+tRj6kyt3v4kgEM4jWANvM8EOHj3c/ZE8qka8Hr5vJ/v3Lqx+BGH3EYIR4tXsWfZmFcFI6Q1AK89llNHdxxL87v0d+B9B8EshWEtwBsHvZPOoKo8STCZZSZydVjx4TrQfwfOqXQgePxBJauZe4AXeS64TZssIVn+P52cPllCIrdOB4HmP3xPMMvyW4JmVJz2XNb/CVeGvIZhhlknwsPYj7l6QPUJFRCosMxsDXAG87O598ysvIuVbldLuQJQNBP/ai7U59kC4WfhrBLcUXia43XEWwS2Qk9izHEN0nUeAWwhuO4wheFaoL/C2mV3nwV6dIiJJJ3xuMBL6RpdmX0Rk7yhLI4C4e/MClK1LMNqXApzk7hnh8eoEz3acCFzg7hOj6nQguO20hOBWzLrweHOC2yW1CG5HLCumryQiUi6Y2T7APwkW8l4AHOtl4S8GESlR5fEZwN4EswonRsIfZG0JdVf48aqYOgPD9/s8agZfGPieIliK4lJERJKEmfUO//G9liD8OXCLwp9IcihLAbCamf3JzO40sxvMrEsua0Clhe9T4pybTfCgeYdwRfuC1JkcU0ZEJBnUJnj2ugrB89B/cPf3SrdLIrK3lKVbwPEmgSwFLnX3WVFl5wKpQKq7z4vT1hcE65cd6e6Lwt0GNgOb3b1OnPL7EizdsNrdS3KrJhEREZEyoaxMAhlLsFzA/4BNBOtpXQtcCUw2sxPd/fOwbGTv0NwWkI0cj+x9Wdjy2ZjZlWE/qFWrVttWrVrl/U1EREREyoB58+atcfdG8c6ViQDo7rEr1H8BDDSzzQQzd4cB5xWwOYs0W9hu5NK30YSz4lJTUz0jIyNeMREREZEyxcy+z+1cWXoGMJ7I5t2nRB2LjNilEF/dmHL5lc9vhFBERESkQinrAXB1+F4r6tjX4fsRsYXNrArBvqS7CPeJdPctBKvD147eyzTK4eH7N8XRYREREZGyrqwHwBPD9+hNv9PD9+5xyp9CsCfkR+6+vYB1esSUEREREanQSj0AmtlRZtYgzvGDgcjuHC9EnXqVYFPwvmaWGlW+OsFm8BAsahotcit5iJnVj6rTnGBruO0EE1FEREREKryyMAnkfGCQmc0gWPZlE9AC6Emwx++7BJuKA+DuG81sAEEQnGlmEwkWMj2bYPPwVwm2hyOqzkdm9hhwM7DAzF4l2Aruj0AD4DrtAiIiIiLJotRHAIEZwBsEz+5dSBDSOgEfAJcAZ7r7jugK7v5mWGY20Au4DtgZ1u0bbyV7d78F6A/8RLCsy8UEy86cpX2AA88//zxmhpnxzDPPxC3j7owfP57OnTvToEEDatSowSGHHEKfPn345pucj1GuXr2a22+/naOPPpo6derQsGFD2rZty8MPP8ymTZsK3cfx48fTrl07ateuTUpKCp07d2bSpEmFbkdERCSZlYmFoMuLirwMzPLlyznmmGPIzMxk8+bNjBkzhiuuuCJbmW3btnH++eczadIkWrZsyamnnkqdOnX48ccfef/99xkxYgRnnnlmVvlly5bRvn17Vq9eTefOnUlNTWXbtm1MnTqVb775hjZt2jBnzhxq1KhRoD7eeuutPProoxx44IH07t2bHTt2MHHiRNauXcuTTz7JtddeW6w/ExERkfLMzOa5e2rck+6uVwFfbdu29Ypo9+7d3rVrVz/00EP91ltvdcDHjBmTo9zVV1/tgA8ePNgzMzNznN+xY0fc8sOGDct2fNeuXZ6WluaAjx8/vkB9/PDDDx3wFi1a+Nq1a7OOL1261Bs0aODVqlXzpUuXFqgtERGRZABkeC6Zpiw8AyilbMSIEaSnpzNz5kzS0+NPhl6yZAmjRo3ihBNO4L777sPMcpSpWrVqts/ffRdM3j777LOzHa9cuTI9e/YkPT2dX375pUB9HDUqmMczZMgQ6tfPmsdD8+bNueaaaxg+fDhjx47lnnti1xQXESk7tm/fztq1a9m0aROZmZml3R0pRypXrkydOnVo0KAB1apVK3J7CoBJbtGiRQwaNIgbbriBU045JdcAOGHCBHbv3s0ll1zCxo0befvtt1m+fDkNGzYkLS2Nww47LEedo446iilTpvDOO+9w3HHHZR3fvXs3kydPplKlSqSlpRWon5F+de+ecyWfHj16MHz4cNLT0xUARaTM2r59Oz/88AP169enefPmVK1aNe4/pkViuTs7d+5k48aN/PDDDzRr1qzIIVABMInt2rWLfv360axZM+6///48y86dOxeADRs20KJFC3799desc2bGVVddxYgRI6hcuXLW8dtvv51JkyZx9913M2PGDI4//nh27NjB1KlT+emnn3jmmWeyBcPcbNmyhZUrV1K7dm2aNs25lvfhhwdrecebhCIiUlasXbuW+vXrs++++5Z2V6ScMTP22WefrN+dtWvXxv37sDDKwixgKSV//etfmT9/PuPGjct3Isbq1cGmLEOHDiU1NZWFCxeyadMmpk+fTosWLfjHP/7B8OHDs9XZb7/9mDNnDueddx7p6ek88sgjjBgxgq+//po+ffpw6qmnFqifGzYEu/SlpMTfzS9yfP369QVqT0SkNGzatIm6devmX1AkD3Xr1k1oFY1YCoBJ6pNPPuH+++/nlltu4cQTT8y3fORZlaZNm/LGG29w9NFHU7t2bdLS0nj11VepVKkSjz32GDt27FmxZ9myZZxyyiksXLiQd999lw0bNrBq1Sr++c9/8uKLL3LCCSewdOnSYvtOupUiImVZZmZmjmelRQqratWqxfL8qAJgEorc+j3iiCNyjNrlJjLxonv37jlGC3/3u99xyCGHsGnTJhYtWpR1vH///ixcuJDXXnuNHj16ULduXZo0acKf//xn7rvvPn7++ecCPbMXGeGLjATGym+EUESkrNA/VKWoiut3SAEwCW3evJlvvvmGRYsWUb169azFn80sK5ANGDAAM+PGG28EoGXLlgDUq1cvbpuRgPjbb78Bwa2OWbNm0aBBA9q0aZOjfJcuXQCYN29evv2tVasWBxxwAJs3b2bVqlU5zi9evBiAI444It+2RERERJNAklK1atW4/PLL45779NNPmT9/Ph07dqRly5ZZt4e7du3Kk08+yRdffJGjzvbt27NCWPPmzQGybgVv3LiRHTt2sM8++2SrE1n+JfZ4btLS0nj++eeZMmUKl156abZzkydPziojIiIiBZDbAoF6Jc9C0NH+8pe/xF0Ievv27X7ooYe6mfnUqVOznRsyZIgD3qlTp2zHW7du7YDfdddd2Y7/9ttv3rlzZwf8tttuy3buxx9/9EWLFvn69euzHddC0CJS3n355Zel3QWpIAr6u4QWgpai2meffRg/fjzdunWjR48enHfeeRx88MHMnTuX2bNn06hRI0aPHp2tzogRI+jZsyf33nsv06ZNo0OHDvz2229MnjyZ77//nsMOO4w77rgjW53Bgwczfvx4xo4dS//+/bOOd+jQgZtvvpnHHnuMNm3aZG0F9/LLL2dtBRcZfRQRKY+aD3qntLuQp2UP9iyWdiLPsJkZixcvpkWLFnHLdenShZkzZwLk+DtBik7PAEqBdezYkYyMDHr16sWsWbMYMWIE3333HVdeeSWffvppjmfwTj31VObOncuf/vQnfvzxR0aOHMm4ceOoVasWgwcPZu7cuTRs2LDA13/00UcZN24cTZo0YfTo0Tz33HMcddRRvP3229oHWESkHKlSpQruzr/+9a+45xcvXsysWbOoUkXjVCXFghFCKYjU1FTPyMgo7W6IiEg5tGjRIlq3bp3r+WQaATzggANo2rQpK1asYPny5TmC3h133MHf/vY3zj33XN58802NAMbI73cpwszmuXtqvHMaARQREZG9bsCAAfz0009MmjQp2/GdO3cyfvx4OnTowFFHHZVr/bVr1zJ48GBat25NjRo1SElJoWvXrkydOjVH2XHjxmFmjBs3jhkzZtC5c2fq1KlD3bp16dmzZ7YlzJKFAqCIiIjsdRdccAG1atXimWeeyXb8rbfe4ueff2bAgAG51v3+++9p27YtDz74II0aNWLgwIH88Y9/ZNGiRXTv3p0xY8bErTdp0iS6detG3bp1GThwICeffDLvvvsunTp1Ys2aNcX6/co6BUARERHZ6+rUqUPfvn2ZMmUKK1asyDo+ZswY6tatS58+fXKte8kll/D9998zYcIEZs+ezeOPP87o0aP58ssvadOmDddffz0///xzjnpvvvkmU6ZM4a233uLhhx/mnXfeYdCgQfzyyy88++yzJfI9yyoFQBERESkVAwYMIDMzMyt8ff/990ybNo2LLrqImjVrxq3z+eefM2vWLHr16kXfvn2znatXrx733HMP27Zt47XXXstRt2/fvnTt2jXbsSuvvBIItkhNJppeIyIiIqWiffv2HHPMMTz77LPcddddPPPMM+zevTvP278ff/wxEGwDOmzYsBznIxsNxHuuLzU153yIgw46CIB169Yl8hXKLQVAERERKTUDBgzg+uuvZ8qUKYwdO5a2bdty3HHH5Vr+119/BWDatGlMmzYt13KbN2/OcSzedqaRGciZmZmF7Xq5pgBYBpX1pQCSXXEthSAiItCvXz/uuOMO/vznP7Ny5UqGDh2aZ/mUlBQAnnjiCa6//vq90cUKSc8AioiISKmpV68evXv3ZsWKFdSqVYsLLrggz/K///3vAXj//ff3RvcqLAVAERERKVX33nsvb7zxBv/5z3+oU6dOnmVTU1M5+eSTef3113Odubtw4UJWr15dEl2tMHQLWEREREpVs2bNaNasWYHLv/TSS6SlpXH55ZczYsQI2rdvT7169VixYgULFizgiy++4OOPP2a//fYrwV6XbwqAIiIiUq4ceOCBzJs3jyeffJLXXnuNF198kczMTJo0acKRRx7JddddxzHHHFPa3SzTtBdwIeytvYA1CaRs0yQQEUlEQfdvFcmP9gIWERERkUJTABQRERFJMgqAIiIiIklGAVBEREQkySgAioiIiCQZBUARERGRJKMAKCIiIpJkFABFREREkowCoIiIiEiSUQAUERERSTIKgCIiIiJJRgFQREREJMkoAIqIiIgkGQVAERERkSRTpbQ7ICIiIsCwlNLuQd6GbShS9Xnz5pGamkr79u2ZM2dOjvMvvfQSF110EQDfffcdhxxySLbzv/32G/Xr16dSpUqsW7eOatWqFak/yU4jgCIiIlLijjvuOOrXr09GRgYbN27McT49PR0zy/pzrA8//JDt27fTsWNHhb9ioAAoIiIiJa5SpUp07tyZzMxMZs2aleN8eno6nTt3pmHDhnEDYORY165dS7yvyUABUERERPaKSHiLDXjLli1j6dKldO3alU6dOjFjxowcdWMD4IYNGxg8eDAtW7akevXq1K9fn9NPP5333nsvR92ZM2diZgwbNoyMjAy6d+9OSkoK9evXp1evXixfvhwIbj337duXRo0aUaNGDbp06cLnn38e97ts3bqVBx54gGOPPZZatWpRu3ZtTjzxRCZMmJDn9T/77DN69uxJvXr1qFmzJp06deKjjz4qxE+xeCgAioiIyF6RlpYGwPTp07Mdj3xOS0ujS5curFq1ii+//DLr/MaNG8nIyKBevXocf/zxrF+/ng4dOvDggw+SkpLCjTfeSK9evfj444/p1q0bTz/9dNzrz507l5NPPhmAAQMG0K5dO15//XW6du3KV199Rbt27VixYgUXX3wxPXv2ZNasWZx22mls3rw5Wzvr16+nY8eO3HnnnVSuXJnLLruMSy65hF9++YULL7yQu+66K+71MzIy6NChA9u2beOKK67gzDPP5IMPPqBr1658/fXXif1QE6RJICIiIrJXtG7dmv33358vvviCX375hUaNGgHB6F7t2rU54YQTqFu3btaxI488EoBZs2aRmZlJly5dqFSpEnfccQdffvklV155JaNGjcp6dvCOO+4gNTWV66+/ntNPP53mzZtnu/67777LCy+8kDXZBODyyy/n2WefpUOHDtxyyy0MGTIk69zw4cMZOnQo//rXv7jhhhuyjt94443Mnz+fhx56iNtvvz3r+LZt2zj33HO5//776d27N8cee2y267/zzjuMHTuW/v37Zx17+umnGThwIE888QT/+Mc/ivDTLRyNAIqIiMhe06VLF9w9223eGTNmcPLJJ1OlShWOOuoo9ttvv2y3iaNv/+7cuZMXXniB2rVr88ADD2SFP4DDDz+c66+/nh07dvDcc8/luHbHjh2zhT+ASy65BICUlBQGDRqU7dzFF18MwGeffZZ17Ndff+WFF14gNTU1W/gDqF69Og899BDuzksvvZTj+ieddFK28Adw2WWXUaVKFT755JOcP6wSpBFAERER2Wu6du3Kiy++SHp6On369GHRokWsWrWKm266KatM586dmTZtGrt376ZSpUpZAfDUU0/lq6++YuvWrZx00kk0aNAgR/tpaWnce++9zJ8/P8e51NTUHMf2339/AI499lgqV66c7dwBBxwAwIoVK7KOzZ07l8zMzKxn+mLt3LkTgEWLFhXo+lWrVqVx48asW7cux7mSpAAoIiIie01kEkfkub/o5/8iOnfuzCuvvML8+fM5+OCDWbhwIQcccAAtW7bkgw8+AKBp06Zx248cX79+fY5zKSk511qsUqVKvucioQ6CEUAIguDcuXNz/Z6xzw0C1KtXL27ZKlWqkJmZmWtbJUG3gEVERGSvadasGS1atODbb79l+fLlpKenU69ePY477risMl26dAGCW7/p6em4e1ZwjAS1n376KW77q1atylauuEXavemmm3D3XF/xZjKXJQqAIiIisldFwtx7773HrFmz6NSpE5Uq7YkkrVq1omnTplkBMLpOy5YtqVmzJp999lnc26aR4HX88ceXSN/btWtHpUqVeP/990uk/b1FAVBERET2qsjt3scff5y1a9dmjfhF69y5M++//z5Tp04F9gTAffbZh4suuojNmzczdOjQbHWWLFnCiBEjqFq1Kv369SuRvu+3335cdNFFZGRkMHz4cHbt2pWjzJIlS1i6dGmJXL+46BlAERER2avS0tIwMxYuXJj1OVaXLl2YMGECS5cupWXLllkTMgAefPBB3n//fUaOHMncuXPp0qULa9as4ZVXXmHTpk2MHDkyx17CxWnkyJEsXryYoUOH8vzzz9OxY0caN4eCGrAAACAASURBVG7Mjz/+yKJFi5g7dy4TJkwo0T4UlQKgiIiI7FWNGjXimGOOYcGCBey7774cffTROcpEjwrGbv/WoEEDPv74Yx544AFef/11HnvsMWrUqEG7du247bbb6NatW4n2v27dusyaNYvRo0fz0ksv8dprr7Ft2zYaN27M4YcfzuOPP85pp51Won0oKnP30u5DuZGamuoZGRklfp3mg94p8WtI4pY92LO0uyAi5dCiRYto3bp1aXdDKoCC/i6Z2Tx3z7n2DHoGUERERCTpKACKiIiIJBkFQBEREZEkowAoIiIikmQUAEVERESSjAKgiIiISJJRABQRERFJMgqAIiIie4nW3pWiKq7fIQVAERGRvaBy5crs3LmztLsh5dzOnTupXLlykdtRABQREdkL6tSpw8aNG0u7G1LObdy4kTp16hS5HQVAERGRvaBBgwasW7eONWvWsGPHDt0OlgJzd3bs2MGaNWtYt24dDRo0KHKbVYqhXyIiIpKPatWq0axZM9auXcuyZcvIzMws7S5JOVK5cmXq1KlDs2bNqFatWpHbUwAUERHZS6pVq0bTpk1p2rRpaXdFkpxuAYuIiIgkGQVAERERkSSjACgiIiKSZBQARURERJKMAqCIiIhIkimTAdDM+pmZh68rcinTwczeNbO1ZrbVzBaY2Y1mluvy2GZ2iZl9YmabzWyDmc00szNL7puIiIiIlD1lLgCa2UHAk8DmPMqcA8wGTgHeAJ4C9gEeBybmUucRYBzQFBgDvAAcA7xtZtcW3zcQERERKdvKVAA0MwPGAr8Co3IpU5cgwGUCnd39cne/DTgW+BjobWZ9Y+p0AG4BlgBt3P0md78GaAusBR4xs+Yl8qVEREREypgy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ILLOH1Wb9GX3DejejfV+nqefomutXWvthl58d9WqVZIkqWAMgJIkSQVjAJQkSSoYA6AkSVLBGAAlSZIKxgAoSZJUMAZASZKkgjEASpIkFYwBUJIkqWAMgJIkSQVjAJQkSSoYA6AkSVLBGAAlSZIKxgAoSeqyZs+ezUUXXcSRRx5J7969iQjOOuusFl9TW1vL8ccfT9++famqqmLIkCHccMMNfPjhh2XrL1u2jK985Svsu+++9OjRg379+nHGGWewZMmSLerzzJkzOeyww9hll13o06cPo0aN4qGHHtqiY0kdxQAoSeqypkyZwk033cTixYvZe++9W60/d+5cRo4cyYIFCzj11FOZMGECGzZsYNKkSdTU1DSp//zzz3PIIYdw5513MnjwYCZOnMioUaO4//77GTp0KM8880y7+nvppZcyduxYli9fzvnnn89ZZ53Fiy++yEkn1HeiCgAAGQdJREFUncRNN93UrmNJHSlSSpXuw3Zj6NCh6dlnn+3wdvp/8+EOb0Nbrm7aCZXuglQYTz31FPvssw+DBg1i/vz5HHXUUZx55pncc889TequXr2aQYMGsWrVKp5++mmGDh0KwLp16xg9ejQLFy7kJz/5SYMgeMghh7B48WKmT5/OpEmTNu9fuHAhI0eOZMCAAbz00kvsuOOOrfa1traWESNGsP/++/OrX/2KXXfdFYC6ujo+97nPsWbNGpYsWUL//v238qfSRlf36Zx2tGWuXtXhTUTEcymloeXKPAMoSeqyjjrqKA444AAiotW6s2fP5q233qKmpmZz+APo1asXU6ZMAeCWW27ZvH/ZsmUsXryYPffck4kTJzY41rBhwzj55JN59dVXeeyxx9rU1x/+8IcAXHnllZvDH0D//v2ZMGEC69ev56677mrTsaSOZgCUJH0kPPnkkwCMGTOmSdnIkSOpqqqitraW9evXA7BixQogC2jdujX973DgwIEAPPHEE1vd/nHHHdegjlRpBkBJ0kfC0qVLARg8eHCTsu7duzNgwAA2btzIsmXLANh9990BeOONNyg3HapUry03g6xZs4Y333yTXXbZhb322qtJ+QEHHADAK6+80sZ3I3UsA6Ak6SNh1apsTlWfPuXnvpX2v/fee0AWFAcPHszKlSu58cYbG9T95S9/ydy5cwF49913t3nbUqUZACVJhVA6y1d/PuGtt95Kz549mThxIscccwyXXXYZZ5xxBiNHjuSggw4CYIcddthmfWjLXEapM3SvdAckSdoWSmfZSmfjGlu9enWDegCjRo1i0aJFTJkyhfnz5zN//nz23XdfJk+ezMEHH8zJJ5/MnnvuudVtt3aGUOpsngGUJH0kHHjggUD5eXYbN27k9ddfp3v37ptv7igZMmQI9913HytXrmTDhg289tprfOtb3+K5554D4POf/3yrbe+8887svffevP/++yxfvrxJ+auvvgqUn58oVYIBUJL0kTB69GiAssu2LFiwgLVr1zJ8+HB69uzZ6rHWr1/P3XffTbdu3couIN3e9h999NEGdaRKMwBKkj4Sqqur2X333Zk1axb1F+1ft24dkydPBmD8+PENXrNmzZomj4j74IMPGD9+PHV1dYwfP57999+/Qfny5ctZsmRJk8u9F154IQBTp05tcONIXV0dN998Mz179mTcuHFb/0albcA5gJKkLuuBBx7ggQceAP66bt/ChQsZO3YskC3lct111wHQu3dvbr/9dqqrqxk1ahQ1NTX07duXBx98kKVLl1JdXc3pp5/e4PhPPfUU5513HkcffTT77rsvq1ev5pFHHqGuro4TTjhh87Hru+KKK5g5cyZ33XXX5n4ADB8+nK997WtMnz6dIUOGUF1dzYYNG7j33nt55513uPHGGzvvKSBSKwyAkqQua/HixcycObPBvmXLlm1eo2+//fZrENJOOeUU5s+fz9SpU7n//vtZt24dgwYNYvr06Vx88cVN7sIdPHgwI0aMYP78+fzxj39kp5124uCDD+aqq67i7LPPLrtAdEuuv/56hgwZwk033cRtt91Gt27dOPTQQ7nssss48cQTt/CnIG17Pgu4HXwWsMBnAUvaTvgs4K7NZwFLkiSpMxkAJUmSCsYAKEmSVDAGQEmSpIIxAEqSJBWMAVCSJKlgXAdQktRuLlfV9dX1qnQP1JV5BlCSJKlgKh4AI6I6Im6MiP8bEasjIkXEPa28ZnhEPBIR70TE2oj4dURcEhE7tPCacyJiUUS8HxGrImJeRLgsuyRJKpyKB0BgMvBV4LPAm61VjoiTgQXASGAOcDPQA/geMKuZ11wHzAD2Am4H7gE+A/xXRHx1q9+BJEnSdqQrBMBJwGCgNzC+pYoR0ZsswH0IjEopfSWldBlZeFwIVEdETaPXDAe+DrwGDEkpTUopTQA+B7wDXBcR/bfpO5I6wcMPP8yxxx7LPvvsw0477cTAgQP58pe/zMKFCxvU++CDD/j+97/PuHHj+OxnP0uPHj2ICO64444tbru2tpbjjz+evn37UlVVxZAhQ7jhhhv48MMPt/ZtSZI6QcUDYErpqZTSq6ltDyWuBvYAZqWUNj+UN6W0juxMIjQNkRfm26kppXfrvaaO7OxhT2DcFnZfqojLL7+cE088keeff54xY8YwceJEDj30UObOncuIESO4556/zqJYs2YNl1xyCTNmzGDFihX069dvq9qeO3cuI0eOZMGCBZx66qlMmDCBDRs2MGnSJGpqalo/gCSp4ioeANtpdL59rEzZAmAtMDwierbxNY82qiN1eStWrOC6667jE5/4BC+//DJ33HEH06ZNY/bs2Tz++OOklPj2t7+9uX5VVRWPPPIIf/jDH1ixYgXnnnvuFre9evVqzj//fHbYYQfmzZvHj370I6699loWL17MsGHDmD17NrNmlZ2JIUnqQra3AHhgvn2lcUFKaSPwOtnSNgMBImJnYG/g/ZTS8jLHezXfDt72XZU6xhtvvMGmTZs4/PDD2XPPPRuUHXXUUXzsYx/jrbfe2ryvR48eHHfccey1115b3fbs2bN56623qKmpYejQoZv39+rViylTpgBwyy23bHU7kqSOtb0FwD75dlUz5aX9H9/C+k1ExAUR8WxEPFv/P1WpUg444AB69OjBokWLePvttxuULViwgD//+c8cffTRHdL2k08+CcCYMWOalI0cOZKqqipqa2tZv359h7QvSdo2trcA2JrIt22ZT1hfs/VTSrellIamlIbuscceW94zaRvp27cv3/3ud1m5ciUHHXQQF1xwAVdccQWnnXYaxx57LMcccwy33nprh7S9dOlSAAYPbnrSvHv37gwYMICNGzeybNmyDmlfkrRtbG9PAimdsevTTHnvRvVaq9/aGUKpS7rkkkvo378/5557Lrfffvvm/YMGDWLs2LFNLg1vK6tWZb8qffqU/5Uq7X/vvfc6pH1J0raxvZ0BXJpvm5x+iIjuwABgI7AMIKW0hmxtwV0iotwEqAPybZM5hVJXds0111BdXc3YsWN57bXXWLNmDc899xwDBw7kzDPP5Bvf+EZF+lW6mT8iWqkpSaqk7S0APplvm05AyhaGrgJqU0r1JyC19JrjGtWRurx58+Zx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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"labels = ['No Survive', 'Survive']\n",
"male = bysex[0]\n",
"female = bysex[1]\n",
"\n",
"x = np.arange(len(labels)) # the label locations\n",
"width = 0.35 # the width of the bars\n",
"\n",
"fig, ax = plt.subplots(figsize=(10,8))\n",
"rects1 = ax.bar(x - width/2, male, width, label='Men')\n",
"rects2 = ax.bar(x + width/2, female, width, label='Women')\n",
"\n",
"# Add some text for labels, title and custom x-axis tick labels, etc.\n",
"ax.set_ylabel('Passengers')\n",
"ax.set_title('Survival by Sex')\n",
"ax.set_xticks(x)\n",
"ax.set_ylim(0,500)\n",
"ax.set_xticklabels(labels)\n",
"ax.legend()\n",
"\n",
"def autolabel(rects):\n",
" \"\"\"Attach a text label above each bar in *rects*, displaying its height.\"\"\"\n",
" for rect in rects:\n",
" height = rect.get_height()\n",
" ax.annotate('{}'.format(height),\n",
" xy=(rect.get_x() + rect.get_width() / 2, height),\n",
" xytext=(0, 3), # 3 points vertical offset\n",
" textcoords=\"offset points\",\n",
" ha='center', va='bottom')\n",
"\n",
"autolabel(rects1)\n",
"autolabel(rects2)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are more males on board than there are females. Let's do an apples to apples comparison and visualize rate."
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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3HrrrQC8+eabPPzww/zgBz+gTZs2lR7XrVu3DUIewOmnn06HDh146KGHqj33Aw88wPz58zn//PPLhDyAnXbaiZ///OcsXryYadOm1fKqmjdH9CRJ0kax//77s+eee3Lrrbfy3//939x8882UlJRUedsWsnl8N9xwA3fddRevvPIKK1asoKSkZH3522+/Xe25Z86cCWThcuTIkRuUz5s3D4C5c+dy5JFH1uKqmjeDniRJ2mjOOusshg0bxpQpUxg/fjz77LMPe++9d5XHnHDCCUyaNInu3bszdOhQdtxxx/W3V6+77jrWrl1b7XmXLl0KwN13311lvY8//riGV7JpMOhJkqSN5qSTTuKSSy7hRz/6EW+//TbDhw+vsv7s2bOZNGkS3/jGN5g8eTItW7ZcX1ZSUsLVV19do/N27NgRgHvvvZchQ4bU/QI2Mc7RkyRJG80222zDd7/7XRYtWkTbtm353ve+V2X9N954A4AhQ4aUCXkAs2bNYs2aNTU67wEHHADAk08+WYdeb7oMepIkaaO64oormDRpEg899BDt27evsm5RURHA+tej5S1ZsoTzzjuvxuccOnQoxcXFjB07ttJlVGbOnMnq1atr3OamwFu3kiRpo9p1113Zdddda1R33333ZcCAAUycOJH+/fszcOBA3nvvPR588EF69erFTjvtVKN2WrZsycSJEznssMM46qij6N+/P3379qVNmza89dZbPPfccyxYsIB33323yieANzWO6EmSpGarRYsW3Hffffz4xz/mnXfeYcyYMTz11FOceeaZPPTQQxvczq3KV7/6VV566SUuueQSVqxYwfjx4/nDH/7AnDlz2HvvvbnjjjvYbrvtGvFqNr5IKTV1H5qdfv36pdmzZzd1NyRJm7C5c+fSp0+fpu6GNmE1/QxFxJyUUr+KyhzRkyRJKlAGPUmSpAJl0JMkSSpQBj1JkqQCZdCTJEkqUAY9SZKkAmXQkyRJKlAGPUmSpAJl0JMkSSpQBj1JkqQCZdCTJEkqUAY9SZKkAmXQkyRJKlAGPUmSpFqaMGECEcGECROauitV2rKpOyBJ0mZpZMem7kHVRq5okGYiosry8ePHc+qppzbIubQhg54kSWp0I0aMqHB/3759N3JPNi8GPUmS1OhGjhzZ1F3YLDlHT5IkNQsffvghl112GX369KF169Z07NiRQw89lKlTp25Qt/QcuYcffpgDDzyQdu3a0aVLF0477TSWL18OwAsvvMDRRx9Np06daNeuHUOGDGHhwoUbtDdnzhwuuOAC9tprLzp37szWW29Njx49uPjii1m2bFmtrmPRokX85Cc/oXv37rRq1Yptt92WIUOG8Nxzz9Xp91IfBj1JktTk3nzzTfbZZx+uuuoqunTpwjnnnMMJJ5zA3LlzOfzww7npppsqPO6+++7jqKOOWn9Mjx49mDBhAscccwzPPPMMAwcO5LPPPuOMM85gwIAB/OMf/+Coo46ipKSkTDs33XQTd911F7169eK0007jnHPOoWvXrlxzzTUMGDCAlStX1ug6nn/+efr27cu4cePo1asX559/Pt/61rd44oknGDhwIJMnT67376o2vHUrSZIaXUW3bouKitY/iHHKKafw5ptvcuedd3LiiSeur7N8+XIOPvhghg0bxpAhQ9hhhx3KtHHfffcxbdo0DjroIABKSko47LDDeOSRRzjyyCO58cYb+cEPfrC+/hlnnMGtt97KP/7xD4YOHbp+/2WXXcbYsWNp0aJFmfZvueUWzjzzTMaNG8cll1xS5TV+9tlnHH/88Xz88cdMnz59fZ8A3nnnHfbdd1/OOOMMFi5cSKtWrar+hTUQR/QkSVKjGzVq1AZf+aVJXnrpJR5//HG+853vlAl5ANtssw2jRo3ik08+4e9///sG7X7ve98rE6i22GILTjrpJAD22GOPMiEP4OSTTwbgxRdfLLO/W7duG4Q8gNNPP50OHTrw0EMPVXuNDzzwAPPnz+f8888v0yeAnXbaiZ///OcsXryYadOmVdtWQ3FET5IkNbqUUqVlM2fOBGDFihUVjvy9//77AMydO3eDsn79+m2wb6eddgJgn3322aBs5513BrJ5dKWtW7eOG264gbvuuotXXnmFFStWlLm9+/bbb1fa//LX8eabb1Z4HfPmzVt/HUceeWS17TUEg54kSWpSS5cuBeDhhx/m4YcfrrTexx9/vMG+jh03XI9wyy23rLZs3bp1ZfafcMIJTJo0ie7duzN06FB23HHH9bdXr7vuOtauXVvj67j77rurrFfRdTQWg54kSWpS+UA2evRohg0bttHPP3v2bCZNmsQ3vvENJk+eTMuWLdeXlZSUcPXVV9eonfx13HvvvQwZMqRR+lpbztGTJElN6oADDgDgySefbJLzv/HGGwAMGTKkTMgDmDVrFmvWrKlRO019HRUx6EmSpCbVr18/DjzwQCZOnMitt95aYZ1//vOfLFmypFHOX1RUBMBjjz1WZv+SJUs477zzatzO0KFDKS4uZuzYsZUuozJz5kxWr15d167WmrduJUlSk/vzn//MIYccwhlnnMGYMWPYf//92WabbVi0aBH/93//x8svv8zMmTPZfvvtG/zc++67LwMGDGDixIn079+fgQMH8t577/Hggw/Sq1ev9Q93VKdly5ZMnDiRww47jKOOOor+/fvTt29f2rRpw1tvvcVzzz3HggULePfdd2nTpk2DX0dFHNGTJElNbpdddmHOnDlceeWVtGjRgj/96U+MGTOGp59+ml133ZUbbriBPffcs1HO3aJFC+677z5+/OMf88477zBmzBieeuopzjzzTB566KENbudW5atf/SovvfQSl1xyCStWrGD8+PH84Q9/YM6cOey9997ccccdbLfddo1yHRWJqh533lz169cvzZ49u6m7sVEsWrSI4cOHM2XKFJYuXUrXrl055phjGDFiBJ06dapxOw888ACjR4/mlVdeWd/OPvvsw0UXXcTXv/71MnXXrVvHuHHjePHFF3nhhRd45ZVXWLduHTfddBNnnnlmQ1+iJDWJuXPn0qdPn6buhjZhNf0MRcSclNKG68zgrdvN2vz58+nfvz9Llixh6NCh9O7dm1mzZjF69GimTJnCjBkz2Hbbbatt55JLLuHqq69m22235ZhjjmG77bbjjTfe4N577+Xvf/87t99+Oz/84Q/X11+1ahUXXnghADvssAM77rgjb731VqNdpyRJmytv3W7Gzj33XJYsWcKYMWO45557uOqqq3j00Uf56U9/ymuvvcbll19ebRuLFy/md7/7HTvssAOvvPIKN998M1dddRV/+9vfeOihh0gpMXz48DLHtGnThsmTJ/POO++wePFiTj/99Ma6REmSNmsGvc3UggULmDp1KkVFRRs8UTRq1Cjatm3LHXfcwapVq6ps580336SkpIT9999/gwmygwYNon379utXNM/baqutOOKII+jatWvDXIwkSaqQQW8z9eijjwIwePBgttii7Megffv2DBgwgNWrV/PMM89U2U6PHj3YaqutmDVrFh988EGZsieeeIKVK1fyjW98o2E7L0mSasSgt5l67bXXAOjZs2eF5T169ADg9ddfr7Kdzp0789vf/pb33nuPL3/5y5x99tlcdtllHH/88QwePJhvfvOb3HDDDQ3beUmSVCM+jLGZWrFiBVDxewBL71++fHm1bV144YUUFRVx+umnc9NNN63fv/vuu3Pqqac2yppHkiSpeo7oqUL5ZXciotq6V199Nd/97nc59dRTmT9/PqtWrWLOnDl0796dH/zgB/z85z9v7O5KkqQKGPQ2U/kRu/zIXnkfffRRmXqVeeyxx7jkkksYMmQI11xzDd27d6dNmzZ87WtfY9KkSey88878/ve/Z8GCBQ17AZK0CXCtWtVVQ312DHqbqV69egGVz8GbN28eUPkcvrz7778fyJ6wLa9Nmzbst99+lJSU8MILL9Snu5K0yWnRogXr1q1r6m5oE7Vu3TpatGhR73YMepupfDCbOnUqJSUlZcpWrlzJjBkzaN26NQcccECV7axduxZggyVU8vL7t9pqq/p2WZI2Ke3bt19/d0SqrY8++oj27dvXux2D3maquLiYwYMHs3DhQsaOHVumbMSIEaxatYqTTz6Ztm3bAtm/LF599VXmz59fpu6BBx4IwI033sjbb79dpuzBBx9kxowZbL311vTv378Rr0aSmp/OnTuzbNkyPvjgAz799FNv46paKSU+/fRTPvjgA5YtW0bnzp3r3abvuq3A5vKu2/KvQOvTpw/PPvss06dPp2fPnjz99NPrX4G2cOFCdtttN7p168bChQvXt1FSUsJhhx3GI488Qvv27Tn22GPZcccdmTt3Lvfffz8pJa677jouuOCCMue+6qqrePXVVwF48cUXeemll+jfv//6ZV0GDhzoe28lbfLWrl3Lhx9+yMqVK/n888+bujvaBLRo0YL27dvTuXNnWrVqVaNjqnrXrUGvAptL0AN46623GD58OFOmTGHp0qV07dqVY445hhEjRpT5l0RlQQ+y0b6xY8dy11138corr7B69Wo6d+7Mfvvtx7Bhwxg8ePAG5z344IN5/PHHK+3XKaecwoQJExrqMiVJKlgGvVranIKeJEnatFUV9JyjJ0mSVKAMepIkSQXKoCdJklSgDHqSJEkFqtkEvYjYJSJujYh3ImJtRCyMiOsiolMt2zkqIqZGxKKIWBMRCyLi7oj4emP1XZIkqTlqFkEvIoqBOcBpwCzgWmABcAEwMyK2rWE7vwXuB74GTAFGA88DQ4EZEfHDhu+9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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"labels = ['No Survive', 'Survive']\n",
"male = np.round(bysex[0]/np.sum(bysex[0]),2)\n",
"female = np.round(bysex[1]/np.sum(bysex[1]),2)\n",
"\n",
"x = np.arange(len(labels)) # the label locations\n",
"width = 0.35 # the width of the bars\n",
"\n",
"fig, ax = plt.subplots(figsize=(10,8))\n",
"rects1 = ax.bar(x - width/2, male, width, label='Male')\n",
"rects2 = ax.bar(x + width/2, female, width, label='Female')\n",
"\n",
"# Add some text for labels, title and custom x-axis tick labels, etc.\n",
"ax.set_ylabel('Rate')\n",
"ax.set_title('Survival by Sex')\n",
"ax.set_xticks(x)\n",
"ax.set_ylim(0,1)\n",
"ax.set_xticklabels(labels)\n",
"ax.legend()\n",
"\n",
"autolabel(rects1)\n",
"autolabel(rects2)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we calculate Pearson's r for being a male and surviving the disaster for inclusion in the final model."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"is_male vs Survived\n",
"\tCorrelation: -0.54\n",
"\tp-val: 1.41e-69\n"
]
}
],
"source": [
"df['male'] = df['Sex'] == 'male' # Create a column to indicate whether or not the passenger is male\n",
"df['male'].replace([True,False],[1,0],inplace=True) # Converting the results to a numeric value\n",
"\n",
"# Define the input\n",
"X = np.array(df['male'])\n",
"y = np.array(df['Survived'])\n",
"\n",
"# Calculate correlation\n",
"pear = stats.pearsonr(X,y)\n",
"print('is_male vs Survived')\n",
"print(f'\\tCorrelation: {pear[0]:.2f}')\n",
"print(f'\\tp-val: {pear[1]:.2e}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Discussion\n",
"There is a statistically significant indirect correlation between being a male and survival. Our model should include whether or not the passenger is male."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['male']"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.append('male')\n",
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY PORT of EMBARKATION\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"An exploration is made into the correlation and significance of port of embarkation on surviving the shipwreck. We define a list of all ports"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['S', 'C', 'Q'], dtype=object)"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ports = df['Embarked'].unique()\n",
"ports"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Survival rate of:\n",
"\tS: 0.34\n",
"\tC: 0.55\n",
"\tQ: 0.39\n"
]
}
],
"source": [
"# Now we calculate and print the survival rate of passengers vs where the boarded.\n",
"byport = np.zeros((len(ports),2))\n",
"byport\n",
"for i in range(0,len(ports)):\n",
" byport[i] = df[df['Embarked'] == ports[i]]['Survived'].value_counts().sort_index()\n",
"print('Survival rate of:')\n",
"for i in range(0,len(ports)):\n",
" print(f'\\t{ports[i]}: {byport[i][1]/np.sum(byport[i]):.2f}')"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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vADAQw89lJL8gTfM/K9//Yvjx48zderULLcnIiIieUcJ4Dlm06ZNDB06lEGDBtGyZcsctVGkSBEAwsJOPwNg586dzJkzh4iICHr27JnlZyxduhSAdu3aBVzzDyP764iISNYlJCRgZvTp0ydf4+jTp0/KaJKcezQH8BySlJRE7969qVmzJo899liO2vj5559ZsmQJJUqUyFICOWXKFBITE+nTpw+lSpXK0jOOHDnCr7/+SkRERNAh5rp16wLw/fffZy94EQkdsWXyO4LMxR7I8ya//fZbnnvuOT766CO2bdvGH3/8QYUKFWjYsCGdO3emV69eFCtWLM+fK6FJCeA55JFHHmHDhg2sWLGC4sWLZ/v+48eP06tXL44fP864cePSDM0G45xLWV185513Zvk5Bw54/2MsUyb4/8D95cEWnIiIhKJHHnmEUaNGcfLkSa655hpuv/12IiIi2LlzJ8uWLWPAgAH873//oyDMQ5fzgxLAc8Tq1at57LHHGDx4ME2bNs32/cnJyfTu3ZuVK1fSvXt37rvvvtPes3jxYjZv3syVV15J48ZB55DmipnleZsiIueaxx57jJEjR1KjRg1mzZrF1VdfHVBn7ty5PPnkk/kQnZyvNAfwHOAf+r344ouzvQ8feMnfbbfdxqxZs+jWrRvTp0/PUvLlX/yRnd4/ONXD5+8JTO90PYQiIqEiISGB2NhYihQpwrx584ImfwAdOnRgwYIFQe/v0aMHFSpUoFixYjRu3DjTvVZnzJjBddddR7ly5ShWrBiXXnopjz76KMePHw+oa2a0atWK3377jQEDBlCtWjUKFy7MtGnT0tQ7efIkTz31FPXq1aNYsWJUr16de+65h4MHDwaNYd26ddx6661UrFiR8PBwatWqxT//+U927NgRULdVq1YZ/r6aNm0aZhYQT1RUFFFRURw8eJB7772XqKgoihQpQmxsbEqdhQsX0rx5c0qWLElkZCS33HIL3377bUjNa1QP4Dng8OHDKfPlMpr/cccdd3DHHXcwaNAgJkyYkFKelJREz549mTVrFj179uTVV1+lcOHCp33mrl27iIuLy/biD4CSJUtSrVo1fv31V3bs2BEwD/CHH34A4OKLL85WuyIi55upU6eSmJhIjx49+NOf/pRp3fDw8DTvf/75Z5o0acKFF15I79692bt3LzNnziQmJobFixdz3XXX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brvttlw947nnnuOmm27ihRdeYPHixezfv5/IyEhq1qzJkCFDctz+008/zXvvvcfkyZNJSEigfPnyDBo0iEceeSTg8IKYmBhWrlzJY489xsKFCzlw4ACVK1dm4MCBjBgxgqpVq6apX7FiReLj4xkyZAjLly8nPj6exo0bs2jRIrZs2ZLtBBC8vRLLlSvH6NGjmTlzJuHh4bRs2ZJPPvkk5ZhU/1zB85kFm/QpwTVu3NjpIG4RkdzbtGkTl156aX6HIZIiOTmZCy+8kOPHj2e4UKWgyOrfHzNb55wL2nWsHsACKGroB/kdQr5JePzm/A5BRETOY/v376do0aKUKFEipcw5x6OPPsrWrVv5xz/+kY/RnT1KAEVERCRkfPrpp3Tv3p22bdsSFRXF4cOH+fTTT/n888+pUaNGhluknW+UAIqIiEjIuOSSS+jQoQMrV65k3rx5JCUlUb16de666y6GDRt22pNPzhdKAEVERCRk1K5dO+i5x6Hm/F/nLCIiIiJpKAEUERERCTFKAEVERERCjBJAERERkRCjBFBEREQkxCgBFBEREQkxSgBFREREQowSQBEREZEQowRQREREJMQoARQREREJMToKTkRECpwrXrkiv0PI1Je3f5nfIYjkinoARURECoC1a9fSt29fLrzwQooXL07p0qWpX78+DzzwAL/99lt+h1cgtGrVCjPL7zDOC0oARURE8pFzjgceeICrrrqK6dOnU69ePe666y769+9PsWLFGDduHHXr1mXu3Ln5HaqcRzQELCIiko9Gjx7NuHHjiIqKYu7cuVx++eVprr/zzjvcdtttdO7cmY8//pirr746nyKV80mB7AE0s95m5nxfAzKo08zM5pnZXjM7amZfmNndZlY4k3ZvN7PVZnbYzA6Y2TIz63DmPomIiEjGEhISGD16NEWKFGH27NkByR/ArbfeytNPP01iYiJ///vfU8pjY2MxM5YtWxa0XTOjT58+AdeOHj3KmDFjaNCgASVLliQiIoKmTZsyY8aMDONcuHAh7du3p0KFCoSHh1OnTh2GDBnC/v37A+pGRUURFRXF0aNHGTJkCDVr1iQ8PJyLLrqIsWPH4pwLuGf27Nm0adOGKlWqEB4eTtWqVYmOjub5559P83ni4+MBMLOUr1atWqVpa926ddx6661UrFiR8PBwatWqxT//+U927NiRpt6DDz6I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V/LYY4+xcOFCDhw4QOXKlRk4cCAjRoygatWqAc+vX78+FSpUYPfu3QFz/FK/P5/m/wFYsCNZCgIzi8XbluUO59zLqcpL423oXBponmoj6GJ4SVxT4K9BNoJeSeBG0FF4vYglgXqn2wi6cePGLti8irwWNfSDM/6Mgirh8ZvzOwQROQs2bdrEpZdemt9hFGiHDh2iRYsWfPPNN8yaNYtbbrklv0OSAiKrf3/MbJ1zLugy6nxfBJJdzrmDwB1AYWCZmb1sZuOAz/GSv7eBmenuWQU8BdQBvjCzp83sOWAtEAncp1NARESkIClVqhRz587lggsuoHv37rkaZhVJ75xLAAGcc+8D0XgbP98K/AdIBO4Fergg3ZrOucFAH+A34E7gb8DXwF+cc8+enchFRESyrkaNGsyfP58HH3yQL774ghMnTuR3SHKeyO85gBlyzsUCsZlcXwm0z2abrwCv5CowERGRs6h+/frUr18/v8OQ88w52QMoIiIiIjmnBFBEREQkxCgBFBEREQkxSgBFRCRfFNRtyEQKsrz6e6MEUEREzrrChQuTmJiY32GInHMSExNTzkTODSWAIiJy1pUqVYqDBw/mdxgi55yDBw9SqlSpXLejBFBERM66yMhI9u3bx+7duzlx4oSGg0Uy4ZzjxIkT7N69m3379hEZGZnrNgvsPoAiInL+Cg8Pp2bNmuzdu5eEhASSk5PzOySRAq1w4cKUKlWKmjVrEh4enuv2lACKiEi+CA8Pp0qVKlSpUiW/QxEJORoCFhEREQkxSgBFREREQowSQBEREZEQowRQREREJMQoARQREREJMUoARUREREKMEkARERGREKMEUERERCTEKAEUERERCTFKAEVERERCjBJAERERkRCjBFBEREQkxCgBFBEREQkxSgBFREREQowSQBEREZEQowRQREREJMQoARQREREJMUoARUREREKMEkARERGREKMEUERERCTEKAEUERERCTFKAEVERERCjBJAERERkRCjBFBEREQkxCgBFBEREQkxSgBFREREQowSQBEREZEQowRQREREJMQoARQREREJMUoARUREREKMEkARERGREKMEUERERCTEKAEUERERCTFKAEVERERCjBJAERERkRCjBFBEREQkxCgBFBEREQkxSgBFREREQowSQBEREZEQowRQREREJMQoARQREREJMUoARURE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xyrP7PnPDXbGWzRS5PdvN9609dFmdkKE+k7xj1WeKRQRERE5EsUUAJpZRzO7xsyuNrMOoXTnXIlzbqJzbrhz7nfVLLaore478DZyfgcv+Pu8mqKhFci9I+RlAslAoXNuX5Tn9KlURkREROSIFnUA6L9Jowh4DpgDbDKzBxPRCTO7G2/Rx1vAxc657TUUnwtsB3LNLCOsjpbAeP/j45XOCe0neJeZtQk7pxPeq+H24b12TkREROSIF9Wr4Mzsx8Av8RZKrMdbaNEV+KWZrXHO/SXeDvjv5/0t3ps9/gHc4r1troJi59xMAOdcqZkNxQsE880sD+9tHj/y+zQX7/Vw5ZxzhWY2yb+GtWY2F+9VcP3xtrC52d8UWkREROSIF+27gAfjPVf3Q+fcywBm9gO8FcCDgbgDQLxn9gCaArdWU6YA7/3DgPccopldCNyF99aRlsC/8QK8R8LfGxx2zigzW4v3KrthwNfAGuBB59xfD6H/IiIiIo1KtAFgOvB8KPgDcM793cwWUvE1bTFzzo0FxsZx3itA3xjPmQXMirUtERERkSNJtM8AtuG/q2/DraeaDZRFREREpGGKNgBswn/fyxvuAP/deFlEREREGoFYtoGJ9c0aIiIiItIARfsMIMBYMxsbKcPMDkZIds65WOoXERERkcMglgAt1qleTQ2LiIiINEBRBYDOuXjeGSwiIiIiDZACOxEREZGAUQAoIiIiEjAKAEVEREQCRgGgiIiISMAoABQREREJGAWAIiIiIgGjAFBEREQkYBQAioiIiASMAkARERGRgFEAKCIiIhIwCgBFREREAkYBoIiIiEjAKAAUERERCRgFgCIiIiIBowBQREREJGAUAIqIiIgEjAJAERERkYBRACgiIiISMAoARURERAJGAaCIiIhIwCgAFBEREQkYBYAiIiIiAaMAUERERCRgFACKiIiIBIwCQBEREZGAUQAoIiIiEjAKAEVEREQCRgGgiIiISMAoABQREREJGAWAIiIiIgGjAFBEREQkYBQAioiIiASMAkARERGRgFEAKCIiIhIwCgBFREREAkYBoIiIiEjAKAAUERERCRgFgCIiIiIBowBQREREJGAUAIqIiIgEjAJAERERkYBRACgiIiISMAoARURERAJGAaCIiIhIwCgAFBEREQkYBYAiIiIiAaMAUERERCRgFACKiIiIBIwCQBER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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Now we do the same for the rate of surviving at each port.\n",
"labels = ['No Survive', 'Survive']\n",
"S = np.round(byport[0]/np.sum(byport[0]),2)\n",
"C = np.round(byport[1]/np.sum(byport[1]),2)\n",
"Q = np.round(byport[2]/np.sum(byport[2]),2)\n",
"\n",
"x = np.arange(len(labels)) # the label locations\n",
"width = 0.2 # the width of the bars\n",
"\n",
"fig, ax = plt.subplots(figsize=(10,8))\n",
"rects1 = ax.bar(x - width, S, width, label='Southampton')\n",
"rects2 = ax.bar(x , C, width, label='Cherbourg')\n",
"rects3 = ax.bar(x + width, Q, width, label='Queenstown')\n",
"\n",
"\n",
"# Add some text for labels, title and custom x-axis tick labels, etc.\n",
"ax.set_ylabel('rate')\n",
"ax.set_title('Survival by Port')\n",
"ax.set_xticks(x)\n",
"ax.set_ylim(0,1)\n",
"ax.set_xticklabels(labels)\n",
"ax.legend()\n",
"\n",
"autolabel(rects1)\n",
"autolabel(rects2)\n",
"autolabel(rects3)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"These are great pictures, but do they mean anything significant? Now I calculate the Pearson R correlation for the relationship between port and surviving."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Embarked Q:\n",
"\tcorr 3.650e-03\n",
"\tp-value 9.134e-01\n",
"\n",
"Embarked S:\n",
"\tcorr -1.497e-01\n",
"\tp-value 7.223e-06\n",
"\n"
]
}
],
"source": [
"portdum = pd.get_dummies(df['Embarked'])\n",
"ports = np.array(portdum.columns)\n",
"X = np.array(portdum)\n",
"for i in range(0,3):\n",
" if stats.pearsonr(X[:,i],y)[0] < 0.05:\n",
" print(f'Embarked {ports[i]}:')\n",
" print(f'\\tcorr {stats.pearsonr(X[:,i],y)[0]:.3e}')\n",
" print(f'\\tp-value {stats.pearsonr(X[:,i],y)[1]:.3e}')\n",
" model.append(f'port_{ports[i]}')\n",
" print()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Discussion\n",
"These values suggest that embarking at Cherbourg has a statistically significant direct correlation with surviving. Southampton has a similar indirect correlation. There is no statisically significant correlation between embarking at Queenstown and survival. Our model should include whether the passenger embarked at Cherbourg or Southampton."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['male', 'port_Q', 'port_S']"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY DECK"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Each cabin number is prefixed with a letter which indicates on which deck the passenger's cabin was. The cabin of all passengers is not known so for those without a known cabin(and deck) number we will create a group."
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" deck Survived\n",
"0 ? 0\n",
"1 C 1\n",
"2 ? 1\n",
"3 C 1\n",
"4 ? 0"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Replace NaN with '??' to indicate that the cabin number and deck for this passenger is unknown.\n",
"df['Cabin'].replace(np.nan,'??',inplace=True)\n",
"\n",
"# A function to return which deck the passenger was on.\n",
"def get_deck(cabin):\n",
" return str(cabin)[0]\n",
"\n",
"df['deck'] = df['Cabin'].apply(get_deck)\n",
"decks = df['deck'].unique()\n",
"decks.sort()\n",
"print(decks)\n",
"df.loc[:,['deck','Survived']][0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {
"scrolled": true
},
"source": [
"Now we have a list of all decks. Let's look into how this variable effects survival."
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Survival rate of:\n",
"? 687.00\n",
"A 15.00\n",
"B 47.00\n",
"C 59.00\n",
"D 33.00\n",
"E 32.00\n",
"F 13.00\n",
"G 4.00\n",
"T 1.00\n"
]
}
],
"source": [
"# Initialize an array\n",
"bydeck = np.zeros((len(decks),2))\n",
"\n",
"# Loop through all decks and calculate number of survivors on each.\n",
"for i in range(0,len(decks)):\n",
" if len(df[df['deck'] == decks[i]]['Survived']) > 1: # Did anyone survive on the deck?\n",
" bydeck[i] = df[df['deck'] == decks[i]]['Survived'].value_counts().sort_index()\n",
" elif df[df['deck'] == decks[8]]['Survived'].value_counts().index[0] == 0: # if no one survived, return 0\n",
" bydeck[i] = [df[df['deck'] == decks[8]]['Survived'].value_counts(),0]\n",
"\n",
"print('Survival rate of:')\n",
"for i in range(0,len(decks)):\n",
" print(f'{decks[i]} {np.sum(bydeck[i]):.2f}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The printout is informative, but not as revealing as a graph. Let's draw some axes."
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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3xwoJJVbbrkln/nMZzjssMNWa2uHHXZg1KhRDe77jjvuYOTIkXTt2pXRo0dTUVHBXXfdxaxZsxg1ahQTJ05cZ2KWpLpExOOZOWS1C5nZbl+77rprSpIktZYPPvig1vLTTz89gTzhhBNWls2ZMyeBHDt2bLP7XbRoUfbu3Ts7d+6cjz322Crx7LnnngnkTTfdtM7ELEl1AWZmLbmgU6MlSZJaSdeuXWst/9rXvgbACy+80Cr93nLLLbzxxhuMGTOGIUM+Hgjp2rUr559/PgBXXnllrfeujTFLUmO168WyJEmSyuGuu+4CYKeddlrt2quvvsovf/lL3nrrLXr27Mmee+5Za736TJ48GYCDDjpotWvDhg1j/fXXZ8aMGSxdupQuXbqsszFLUl1MhCVJklrZT37yE959910WLVrEzJkzeeihh9hpp5047bTTVqt7//33c//9969SNnz4cK6//nr69+/foP5mzZoFwMCBA1e71rFjR7bcckueeeYZZs+ezaBBg9aZmCWpoUyEJUmSWtlPfvIT5s+fv/L8oIMOYsKECfTu/fHWluuvvz5nnXUWhx12GFtttRUATz75JJWVlUyZMoX99tuPv/71r2ywwQZr7G/RokUAdO/evdbrVeULFy5cp2KWpIbyGWFJkqRWNm/ePDKTefPmcdtttzF79mx23nlnnnjiiZV1NtlkE84991x22WUXevToQY8ePRg2bBj33Xcfe+yxBy+++CLXXntti8STxV1DImKdilmSGsoRYUmSpBLp06cPX/nKV9hll10YOHAg3/zmN3n66afrvadjx44cd9xxPProo0yfPp1TTjlljf1UjZ5WjbLWtHjx4lXqrWsxS23F0qVLWbBgAe+88457YbeADh06sNFGG1FRUdHstQJMhCVJkkpsiy22YPvtt+evf/0rb775Jr169aq3ftV05Pfee69B7W+77bbMnDmT559/nl133XWVa8uXL2fOnDl07Nhx5XTmdTVmqZyWLl3KSy+9xMYbb8yAAQPo1KmTMxqaITNZtmwZixcv5qWXXqJ///7NSoadGi1JklQGr776KlAY4ViTRx55BKDBSeCIESMAuPfee1e7Nn36dN5//32GDh3a6A+Ra2PMUrksWLCAjTfemF69etG5c2eT4GaKCDp37kyvXr3YeOONWbBgQbPaMxGWJElqBc899xzz5s1brfyj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yy+/zIUXXliyvk2EJUmSJEllsd5663HmmWcCcNNNN5GZpem3JL1IkiRJklSLvfbai44dO/L6668zd+7ckvRpIixJkiRJKpsuXbrQs2dPAN54442S9GkiLEmSJEkqq6op0TW3W2otJsKSJEmSpLJZsmQJCxYsAKB3794l6dNEWJIkSZJUNg899BDLly+nT58+DBgwoCR9mghLkiRJksrio48+4oILLgDg61//esn6NRGWJEmSJJXc66+/zpgxY5g6dSr9+/fn9NNPL1nfHUvWkyRJkiSpXaqsrAQKI8ALFy7kmWee4aGHHuLDDz9k92PLRu4AACAASURBVN1358Ybb6RXr14li8dEWJIkSZLUqsaPHw9A586d2Wijjdhiiy345je/yciRIznwwANZb73STlY2EZYkSZKkEhv03LPlDqEkqrZFamt8RliSJEmS1K6YCEuSJEmS2hUTYUmSJElSu2IiLEmSJElqV0yEJUmSJEntiomwJEmSJKldMRGWJEmSJLUrJsKSJEmSpHbFRFiSJEmS1K6YCEuSJEmS2hUTYUmSJElSu2IiLEmSJElqV0yEJUmSJEntiomwJEmSJKld6VjuACRJkiSpvbni25PLHUK9vnPViBZpJyLWWGfKlCkMHz68RfprKBNhSZIkrbXeeustJk2axN13381TTz3FK6+8QufOndlxxx0ZN24c48aNY731Pp4EOXfuXLbccss62xs9ejQ333xzo2KYMWMG559/Po888ghLlixhm2224ZhjjuGkk06iQ4cOTX5v0rrknHPOqfPagAEDShdIkYmwJEmS1loTJ07khBNOoF+/fuy7777079+f+fPnc9ttt3Hcccdxzz33MHHixNVGpT7zmc9w2GGHrdbeDjvs0Kj+77jjDkaOHEnXrl0ZPXo0FRUV3HXXXXzve9/j4YcfZuLEic16f9K6orKystwhrMJEWJIkSWutgQMHcuedd3LIIYesMvJ74YUXsvvuu3Prrbdy2223MXLkyFXuGzx4cLM/mC9evJhvfetbdOjQgalTpzJkyBAAzjvvPEaMGMEtt9zCzTffzJgxY5rVj6SW52JZkiRJWmuNGDGCQw89dJUkGKBv3758+9vfBmDq1Kmt0vctt9zCG2+8wZgxY1YmwQBdu3bl/PPPB+DKK69slb4lNY8jwpIkSVonderUCYCOHVf/yPvqq6/yy1/+krfeeouePXuy5557stNOOzWq/cmTC4sdHXTQQatdGzZsGOuvvz4zZsxg6dKldOnSpQnvQFp31DUDo2vXrpx22mmlDQYTYUmSJK2Dli9fzg033ADUnqjef//93H///auUDR8+nOuvv57+/fs3qI9Zs2YBhenZNXXs2JEtt9ySZ555htmzZzNo0KDGvgVpnTJ+/Phay7t3716WRNip0ZIkSVrnnHbaaTz99NMcfPDBfP7zn19Zvv7663PWWWfx+OOP8/bbb/P2228zbdo09t13X6ZOncp+++3He++916A+Fi1aBBQ+yNemqnzhwoXNfDfS2i8za32V6/8PE2FJkiStUy6//HIuvvhitttuO37961+vcm2TTTbh3HPPZZdddqFHjx706NGDYcOGcd9997HHHnvw4osvcu2117ZIHJkJNGwfVUmlZSIsSZKkdcYVV1zBKaecwvbbb8+UKVOoqKho0H0dO3bkuOOOA2D69OkNuqdqxLdqZLimxYsXr1JPUtthIixJkqR1wmWXXcaJJ57IDjvswJQpU+jbt2+j7u/duzdAg6dGb7vttgA8//zzq11bvnw5c+bMoWPHjmy11VaNikNS6zMRliRJ0lrvoosu4nvf+x6DBw9mypQpbLLJJo1u45FHHgFocOI6YsQIAO69997Vrk2fPp3333+foUOHumK01Aa5arQkSZLWaueddx5nn302u+66K/fdd1+906EfffRRdt55Zzp37rxK+eTJk7n00ksBOPLII1e5tmjRIl577TW6d+9Ov379VpaPGjWKU089lZtvvpmTTjpp5V7CS5Ys4cwzzwTghBNOaJH3KK3t6to+CeCwww5j8ODBpQsGE2FJkiStxa6//nrOPvtsOnTowN57783ll1++Wp0BAwZw9NFHA3DqqafyzDPPMHz4cDbbbDMAnnzyyZV7Ap933nkMHTp0lfsnTZrEuHHjGDt2LBMmTFhZ3q1bN6655hpGjRrF8OHDGTNmDBUVFdx5553MmjWLUaNGMXr06NZ549Japq7tk6Dw/6iJsFQmb731FpMmTeLuu+/mqaee4pVXXqFz587suOOOjBs3jnHjxrHeevU/TXDsscfyP//zPwC88MILbLPNNo2KYcaMGZx//vk88sgjLFmyhG222YZjjjmGk046iQ4dOjT5vUmStK6aM2cOACtWrOCyyy6rtc4+++yzMhE+6qijmDRpEo899hj33HMPy5Yto0+fPnzta1/jxBNPZO+9925U/4cddhjTpk3jggsu4NZbb1357/cll1zCySefXOuK0X7mEMB3rhpR7hBKomr19LYmyh1YRPQEvgIcAuwIfBL4EHgKuA64LjM/qlZ/ADCnniZ/l5ljGtL3kCFDcubMmU0LXOucq666ihNOOIF+/fqx77770r9/f+bPn89tt93GokWLGDlyJBMnTqxzC4S77rqLL33pS2y44Ya8++67jf5H6Y477mDkyJF07dqV0aNHU1FRwV133bXyG+WJEye21FuVJLWmyrVvheAdt+xf7hAa7amxT5U7hCbzM0f78OyzzzJo0KByh7HOaujvNyIez8whq5W3gUT428CVwGvAFOAloA/wVaA7cCtweBYDrZYI/w24vZYmn87MWxrSt4mwqps8eTLvvfcehxxyyCrfws6bN4/dd9+dl19+mVtuuYWRI0eudu8bb7zBjjvuyPDhw5k3bx7Tpk1r1D9KixcvZptttmHRokU8/PDDqzxjNGLECP785z9z0003MWZMg77jkSSVk4lwSazNibCfOdoHE+HW1dxEuC2sGv088CVgs8z8Rmb+Z2YeA2wHvAyMpJAU1/TXzKys5dWgJFiqacSIERx66KGrTUXq27cv3/72twGYOnVqrfcef/zxQGHvwqa45ZZbeOONNxgzZszKf5AAunbtyvnnnw/AlVde2aS2JUlS2+JnDqn8yp4IZ+bkzLyr+vTnYvk84Kri6fCSByZV06lTJwA6dlz9sfoJEyZw++23c9VVV9GzZ88mtV+1QMdBBx202rVhw4ax/vrrM2PGDJYuXdqk9iVJ0trBzxxSaZQ9EV6DZcXj8lqubRoR/y8iTi8edyplYGo/li9fzg033ACs/o/GP//5T0455RSOPPJIDjvssCb3MWvWLAAGDhy42rWOHTuy5ZZbsnz5cmbPnt3kPiRJUtvmZw6pdNrsqtER0RH4ZvF09V3K4YDiq/o9U4GxmflS60an9uS0007j6aef5uCDD+bzn//8yvKPPvqIsWPHsuGGG9a6VUNjLFq0CIDu3Wt/rqyqfOHChc3qR5IktV1+5pBKp80mwsCPgR2AP2bm/1Yrfx84j8JCWVVfVe0EVAL7Ag9GxODMfK+2RiPieOB4gP79176FIVRal19+ORdffDHbbbcdv/71r1e5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qqqKuXPncsMNN+wvv+mmm5gzZw633nor8+fP75TrkCSprRwL5a3RkpRlxo0bx6c//ek6Az/Acccdx3XXXQfA888/32w/GzdupKSkhNzcXKZOnVqnbubMmeTk5LBo0SKqq6s7LHZJkjqCY6FMhCVJ+x166KEAHHJI8zcMlZaWAlBUVHTAB4nevXszevRodu3axcqVKzs+UEmSOoljYXYwEZYkAbB3714efPBBAC644IJm269btw5I3F7WkGHDhgGwfv36DopQkqTO5ViYPUyEJUkA3HLLLbz++uuMHz+e888/v9n227dvB6BPnz4N1teUb9u2reOClCSpEzkWZg8TYUkSc+fOZfbs2YwYMYJFixZ1SJ8xRoAW7bgpSVKqORZmFxNhScpy8+bN42tf+xonn3wyZWVl9O3bt0Xvq/mWu+bb8Pp27NhRp50kSenKsTD7mAhLUha75557+OpXv8opp5xCWVkZxx13XIvfO3z4cKDxdU8bNmwAGl83JUlSOnAszE4mwpKUpe68805uvPFGTj/9dMrKyjj22GNb9f6xY8cCUFJSwr59++rU7dy5k/Lycnr27MmoUaM6LGZJkjqSY2H2MhGWpCz03e9+l1tuuYWPfvSjLFu2jP79+zfads+ePaxdu5aKioo65Xl5eRQVFVFZWcm8efPq1E2fPp3q6momTZpETk5Op1yDJEnt4ViY3Zp/OJYk6aDywAMPcNttt9G9e3fOPvts5s6de0Cb3NxcJk+eDMDmzZspKChg8ODBVFZW1ml33333UVhYSHFxMcuWLaOgoIBVq1ZRVlZGfn4+s2bN6oIrkiSpdRwLZSIsSVnmzTffBOCDDz7gnnvuabDNueeeu3/wb0peXh5r1qzhtttuY+nSpTzzzDMMGDCA4uJipk+f3uLNRlriscce44UXXuDll1/mlVdeYefOnVx22WU89NBDre5r06ZN+2N+9913GTBgABdddBHTp0/n6KOP7rCYJUnpKVPHQnUcE2FJyjIzZsxgxowZLW6fm5u7//EPDRk0aBALFizogMiadvvtt/PKK69wxBFHMHDgQNauXdumfioqKigsLKSqqooJEyYwYsQIVq9ezb333svSpUspLy+nX79+HRy9JCmdZOpYqI7jGmFJUkaYM2cO69evZ8eOHfzwhz9scz/XX389VVVVzJ07lyVLlnDHHXdQWlrKjTfe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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"labels = ['No Survive', 'Survive']\n",
"\n",
"x = np.arange(0,2) # the label locations\n",
"width = 0.5 # the width of the bars\n",
"\n",
"fig, ax = plt.subplots(figsize=(16,9))\n",
"\n",
"for i in range(1,len(decks)):\n",
" b = ax.bar(x + (i-5)*width/5, bydeck[i], width/5, label=decks[i])\n",
" autolabel(b)\n",
"\n",
"# Add some text for labels, title and custom x-axis tick labels, etc.\n",
"ax.set_ylabel('Passengers')\n",
"ax.set_title('Survival by Deck')\n",
"ax.set_xticks(x)\n",
"#ax.set_ylim(0,505)\n",
"ax.set_xticklabels(labels)\n",
"ax.legend()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"colors: 18\n"
]
}
],
"source": [
"# A snippet to generate distinct colors for our bars.\n",
"import colorsys\n",
"N = 2*len(np.unique(decks))\n",
"print('colors: {}'.format(N))\n",
"rgb_list = []\n",
"HSV_tuples = []\n",
"for x in range(1,N+1):\n",
" if (x%2 == 0):\n",
" HSV_tuples.append(((x-1)*1.0/N, 1.0, 0.325))\n",
" else:\n",
" HSV_tuples.append((x*1.0/N, 1.0, 0.75))\n",
"RGB_tuples = map(lambda x: colorsys.hsv_to_rgb(*x), HSV_tuples)\n",
"for rgb in RGB_tuples:\n",
" color = [int(255*rgb[0]),int(255*rgb[1]),int(255*rgb[2])]\n",
" hxstr = '#'\n",
" for c in color:\n",
" hxstr = hxstr + '{0:0{1}X}'.format(c,2)\n",
" rgb_list.append(hxstr) \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's also visualize survival rate per deck."
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-2.0,2.0) # the label locations\n",
"width = 5.0 # the width of the bars\n",
"\n",
"fig, ax = plt.subplots(figsize=(16,9))\n",
"rects = []\n",
"for i in range(0,len(decks)):\n",
" b = plt.barh(i, np.round(bydeck[i,1]/np.sum(bydeck[i]),2), width/5, label=decks[i],color=rgb_list[2*i])\n",
" nb = plt.barh(i, -np.round(bydeck[i,0]/np.sum(bydeck[i]),2), width/5, label=decks[i],color=rgb_list[2*i+1])\n",
" plt.annotate(f'N = {str(int(np.sum(bydeck[i])))}',xy=[-0.20,i-0.1],c='white')\n",
" rects.append(b)\n",
"ax.set_xlabel('\\nDeath Survival\\nRate')\n",
"ax.set_ylabel('Deck')\n",
"ax.set_title('Survival by Deck')\n",
"ax.set_yticks(range(0,9))\n",
"ax.set_xlim(-1.1,1.1)\n",
"ax.set_yticklabels(decks)\n",
"ax.grid(axis='x')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It looks like if the deck is known, seems to indicate that the passenger survived. In fact, I would say that if the deck is unknown there is a significant chance the passenger did not survive. To validate my claim, the Pearson r is calculated."
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Significance p < 0.05\n",
"==========================\n",
"Deck ? \n",
"\tcorr -0.317\n",
"\tp-value 3.091e-22\n",
"\tSignificant: True\n",
"+------------------------+\n",
"Deck B \n",
"\tcorr 0.175\n",
"\tp-value 1.442e-07\n",
"\tSignificant: True\n",
"+------------------------+\n",
"Deck C \n",
"\tcorr 0.115\n",
"\tp-value 6.062e-04\n",
"\tSignificant: True\n",
"+------------------------+\n",
"Deck D \n",
"\tcorr 0.151\n",
"\tp-value 6.233e-06\n",
"\tSignificant: True\n",
"+------------------------+\n",
"Deck E \n",
"\tcorr 0.145\n",
"\tp-value 1.332e-05\n",
"\tSignificant: True\n",
"+------------------------+\n"
]
}
],
"source": [
"# Translate the categorical deck values into numeric types\n",
"deckdum = pd.get_dummies(df['deck'])\n",
"decks = np.array(deckdum.columns)\n",
"\n",
"#Define input (y is still survivors)\n",
"X = np.array(deckdum)\n",
"\n",
"# Loop through decks and check for correlation\n",
"print('Significance p < 0.05')\n",
"print('==========================')\n",
"for i in range(0,len(decks)):\n",
" pr = stats.pearsonr(X[:,i],y)\n",
" significant = ( pr[1] < 0.05)\n",
" if significant: # if a significant correlation is found, do stuff\n",
" print(f'Deck {decks[i]} ')\n",
" print(f'\\tcorr {pr[0]:.3f}')\n",
" print(f'\\tp-value {pr[1]:.3e}')\n",
" print(f'\\tSignificant: {significant}')\n",
" model.append(f'deck_{decks[i]}')\n",
" print('+------------------------+')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Discussion\n",
"There is a statistically significant correlation between staying on Deck B, C, D, E and survival. Conversely, if the deck of the passenger is unknown there is a stronger correlation with not surviving. There is no significant correlation for the other decks A, F, G, & T. The significant decks should be included in our model."
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['male', 'port_Q', 'port_S', 'deck_?', 'deck_B', 'deck_C', 'deck_D', 'deck_E']"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY AGE"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since we filled in the missing age values, everyone on board now has an age value. Let's visualize the age distribution and investigate different age groups for correlation with surviving the disaster.\n",
"\n",
"Let's make a histogram."
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Defining some parameters for our histogram\n",
"nbins = 20 # The number of bins in our histogram. More on this later.\n",
"ylim = df['Age'].max() # Maximum value for the histogram's x-axis\n",
"binwidth= ylim/nbins # The width of each bin\n",
"\n",
"bins = np.arange(0,ylim,binwidth) # An array of evenly spaced bins \"binwidth\" apart from 0 to 80 years of age.\n",
"\n",
"\n",
"thedigital = np.digitize(df['Age'],bins,right=True) # assign each age to a bin\n",
"thecount = np.bincount(thedigital) # Count the members in each bin\n",
"\n",
"# Create some axes\n",
"plt.figure(figsize=(8,6))\n",
"plt.bar(bins+binwidth/2,thecount[1:],width=binwidth*0.95)\n",
"plt.xticks(np.arange(0,88,8))\n",
"plt.title('Passenger Age Distibution')\n",
"plt.ylabel('Frequency')\n",
"plt.xlabel('Age (years)')\n",
"plt.savefig('./agedist.png',bbox_inches='tight',dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate some descriptive statistics for discussion."
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"nobs\t:\t891\n",
"minmax\t:\t(0.42, 80.0)\n",
"mean\t:\t29.561181143308534\n",
"variance:\t193.48469069039407\n",
"skewness:\t0.4117141257971412\n",
"kurtosis:\t0.2923446392726867\n",
"\n",
"mode\t:\t19.0 (30)\n",
"median\t:\t28.0\n",
"Std.Dev\t:\t13.9\n",
"\n",
"IQR\t:\t16.6\n",
"25%\t:\t21.2\n",
"50%\t:\t29.6\n",
"75%\t:\t37.9\n"
]
}
],
"source": [
"desc = stats.describe(df['Age'])\n",
"\n",
"stats_ = ['nobs\\t','minmax\\t','mean\\t','variance','skewness','kurtosis']\n",
"for i in range(0,len(stats_)):\n",
" print(f'{stats_[i]}:\\t{desc[i]}')\n",
"\n",
"mode = stats.mode(df['Age'])\n",
"print(f'\\nmode\\t:\\t{mode[0][0]} ({mode[1][0]})')\n",
"\n",
"median = np.median(np.array(df['Age']))\n",
"print(f'median\\t:\\t{median:.1f}')\n",
"\n",
"stdev= np.std(df['Age'])\n",
"print(f'Std.Dev\\t:\\t{stdev:.1f}')\n",
"\n",
"IQR = stats.iqr(df['Age'])\n",
"_25pct = desc[2] - IQR/2\n",
"_50pct = desc[2]\n",
"_75pct = desc[2] + IQR/2\n",
"print(f'\\nIQR\\t:\\t{IQR:.1f}')\n",
"print(f'25%\\t:\\t{_25pct:.1f}')\n",
"print(f'50%\\t:\\t{_50pct:.1f}')\n",
"print(f'75%\\t:\\t{_75pct:.1f}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This age distribution is bi-modal and skewed right with an IQR of 16.3. The center of the distribution lies between the mode (19) and the mean (30). \n",
"\n",
"Let's now visualize survival by age-group."
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"dig_sur = np.digitize(df[df['Survived'] == 1]['Age'],bins,right=True)\n",
"freq_sur = np.bincount(dig_sur,minlength=len(bins)+1)\n",
"\n",
"dig_die = np.digitize(df[df['Survived'] == 0]['Age'],bins,right=True)\n",
"freq_die = np.bincount(dig_die,minlength=len(bins)+1)\n",
"\n",
"xmax = freq_die.max()+5\n",
"xlim = [-xmax,xmax]\n",
"\n",
"plt.figure(figsize=(16,9))\n",
"plt.barh(bins+binwidth/2,freq_sur[1:],height=binwidth*0.9)\n",
"plt.barh(bins+binwidth/2,-freq_die[1:],height=binwidth*0.9)\n",
"plt.xlim(xlim)\n",
"plt.yticks(np.arange(0,88,8))\n",
"plt.title('Age groups on the RMS Titanic')\n",
"plt.ylabel('Age')\n",
"plt.xlabel('Lost Saved\\nPassengers')\n",
"plt.savefig('agegroups.png',bbox_inches='tight',dpi=300)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are three groups that seem to have a correlation with surviving or not surviving. First, those between the ages of 0 and 7 seem to survive more often than not. This could be the result that young people take up less room on lifeboats and they're pretty cute. \n",
"\n",
"Second, is the group of people age 20-27. Their fate seems to be tragic. This age group appears to correlate with not surviving. It could be that these people are full-grown adults but may not have a family of their own yet and therefore a liability. I suspect that males in this age group have sour odds.\n",
"\n",
"Finally, the age group 36-44 also seems to correlate with not surviving. Perhaps this group of people has already raised their children who are now grown and independent. Obsolescence.\n",
"\n",
"Let's check the pearson scores against my interpretation of this graphic."
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76]\n",
"[[0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
" [0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0]\n",
" [0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
" [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0]\n",
" [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0]\n",
" [0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0]\n",
" [0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0]\n",
" [1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
" [0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
" [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]]\n"
]
}
],
"source": [
"# Initialize an array to hold which age group each passenger belongs to.\n",
"age_arr = np.zeros((len(df),len(bins)+1))\n",
"\n",
"# Fill the array with the age group indicator for each passenger\n",
"for i in range(0,len(df)):\n",
" for j in range(0,len(bins)):\n",
" if (df['Age'][i] > bins[j]) & (df['Age'][i] <= bins[j]+binwidth):\n",
" age_arr[i,j] = 1\n",
" break\n",
" \n",
"# Let's have a look \n",
"print(bins.astype(int))\n",
"print(age_arr[0:10].astype(int))"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"i = 0\n",
"Age 0.0 : 4.0 \n",
"\tcorr 0.130\n",
"\tp-value 1.021e-04\n",
"\tSignificant: True\n",
"\tPassengers: 40.0\n",
"+------------------------+\n",
"i = 6\n",
"Age 24.0 : 28.0 \n",
"\tcorr -0.084\n",
"\tp-value 1.198e-02\n",
"\tSignificant: True\n",
"\tPassengers: 127.0\n",
"+------------------------+\n",
"167.0\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/pkg/lib/python3.8/site-packages/scipy/stats/stats.py:3845: PearsonRConstantInputWarning: An input array is constant; the correlation coefficent is not defined.\n",
" warnings.warn(PearsonRConstantInputWarning())\n"
]
}
],
"source": [
"bins = np.arange(0,ylim,binwidth)\n",
"X = age_arr\n",
"total = 0\n",
"for i in range(0,age_arr.shape[1]):\n",
" significant = False\n",
" if stats.pearsonr(X[:,i],y)[1] < 0.05:\n",
" significant = True\n",
" print(f'i = {i}')\n",
" print(f'Age {bins[i]:.1f} : {bins[i]+binwidth:.1f} ')\n",
" print(f'\\tcorr {stats.pearsonr(X[:,i],y)[0]:.3f}')\n",
" print(f'\\tp-value {stats.pearsonr(X[:,i],y)[1]:.3e}')\n",
" print(f'\\tSignificant: {significant}')\n",
" print(f'\\tPassengers: {np.sum(X[:,i])}')\n",
" model.append(f'{bins[i]:.0f}_{bins[i]+binwidth:.0f}')\n",
" total = total + np.sum(X[:,i])\n",
" print('+------------------------+') \n",
"\n",
"print(total)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Discussion\n",
"\n",
"There are two age groups that have a statistically significant correlation with survival on the RMS Titanic. Those age 0 - 9 are correlated with surviving. Those age 18-27 are correlated with not surviving. There are no other age groups that have a correlation at this confidence level."
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['male',\n",
" 'port_Q',\n",
" 'port_S',\n",
" 'deck_?',\n",
" 'deck_B',\n",
" 'deck_C',\n",
" 'deck_D',\n",
" 'deck_E',\n",
" '0_4',\n",
" '24_28']"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY TICKET PREFIX"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some tickets have a prefix. Maybe they mean something that could have an effect on whether or not the passenger survived. Let's peel off the prefixes and take a look."
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"def get_prefix(PD_SERIES):\n",
" splt = PD_SERIES.split(' ')\n",
" tmp = splt\n",
" if len(splt) > 1: \n",
" tmp = splt[0]\n",
" tmp = tmp.replace('STON/O2','SOTON/O2')\n",
" tmp = tmp.replace('STON/O','SOTON/O2')\n",
" tmp = tmp.replace('O2.','O2')\n",
"\n",
" tmp = tmp.upper()\n",
" else:\n",
" tmp = ''\n",
" return tmp"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" 665\n",
"PC 60\n",
"C.A. 27\n",
"SOTON/O2 20\n",
"A/5 10\n",
"SC/PARIS 9\n",
"W./C. 9\n",
"SOTON/O.Q. 8\n",
"CA. 8\n",
"SOTON/OQ 7\n",
"A/5. 7\n",
"CA 6\n",
"C 5\n",
"S.O.C. 5\n",
"F.C.C. 5\n",
"PP 3\n",
"A/4 3\n",
"SC/AH 3\n",
"A/4. 3\n",
"S.O./P.P. 3\n",
"A.5. 2\n",
"S.C./PARIS 2\n",
"P/PP 2\n",
"WE/P 2\n",
"A./5. 2\n",
"C.A./SOTON 1\n",
"FA 1\n",
"F.C. 1\n",
"A4. 1\n",
"W/C 1\n",
"SO/C 1\n",
"A/S 1\n",
"S.O.P. 1\n",
"W.E.P. 1\n",
"S.C./A.4. 1\n",
"SC 1\n",
"S.W./PP 1\n",
"S.P. 1\n",
"SW/PP 1\n",
"SCO/W 1\n",
"Name: Ticket, dtype: int64"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Ticket'].apply(get_prefix).value_counts()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Discussion\n",
"\n",
"This is a waste of time. There aren't enough passengers with any specific prefix to make any meaningful inference about the group."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY TITLE"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Each passenger has a title preceding his or her name. Perhaps the passenger's title is correlated with survival. We did find correlation for sex and age. This has an air of linear dependence, but let's look anyway."
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Mr 517\n",
"Miss 182\n",
"Mrs 125\n",
"Master 40\n",
"Dr 7\n",
"Rev 6\n",
"Col 2\n",
"Mlle 2\n",
"Major 2\n",
"Sir 1\n",
"Mme 1\n",
"theCountess 1\n",
"Jonkheer 1\n",
"Ms 1\n",
"Capt 1\n",
"Don 1\n",
"Lady 1\n",
"Name: title, dtype: int64"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Peel off and count titles\n",
"df['title'] = df['Name'].apply(lambda x: x.split(',')[1].split('.')[0].replace(' ',''))\n",
"df['title'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Mr 517\n",
"Miss 185\n",
"Mrs 127\n",
"Master 40\n",
"Prestigious 22\n",
"Name: title, dtype: int64"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Group up some of the less common titles\n",
"miss = ['Ms','Mlle']\n",
"mrs = ['Mme', 'Lady']\n",
"prestigious = ['Dr','Rev','Major','Col','Sir','theCountess','Capt','Jonkheer','Don']\n",
"\n",
"df['title'] = df['title'].replace(miss,'Miss')\n",
"df['title'] = df['title'].replace(mrs,'Mrs')\n",
"df['title'] = df['title'].replace(prestigious,'Prestigious')\n",
"df['title'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Creating an array to hold the titles and whether or not they surived.\n",
"titles = df['title'].value_counts().index.tolist()\n",
"bytitle = np.zeros((len(titles),2))\n",
"# Populate the array\n",
"for i in range(0,len(titles)):\n",
" bytitle[i] = df[df['title'] == titles[i]]['Survived'].value_counts().sort_index()\n",
"\n",
"### Visualizing survival vs title\n",
"\n",
"#Define some parameters for the graph\n",
"x = np.arange(-2.0,2.0) # the label locations\n",
"width = 5.0 # the width of the bars\n",
"\n",
"# Create some axes\n",
"fig, ax = plt.subplots(figsize=(16,9))\n",
"rects = []\n",
"# PLOT!\n",
"for i in range(0,len(titles)):\n",
" b = plt.barh(i, np.round(bytitle[i,1]/np.sum(bytitle[i]),2), width/5, label=titles[i],color=rgb_list[2*i])\n",
" nb = plt.barh(i, -np.round(bytitle[i,0]/np.sum(bytitle[i]),2), width/5, label=titles[i],color=rgb_list[2*i+1])\n",
" rects.append(b)\n",
" plt.annotate(f'N = {str(int(np.sum(bytitle[i])))}',xy=[-0.18,i-0.1],c='white')\n",
"ax.set_xlabel('\\nNo Survival Survival\\nRate')\n",
"ax.set_ylabel('Title')\n",
"ax.set_title('Survival by Title')\n",
"ax.set_yticks(range(0,len(titles)))\n",
"ax.set_xlim(-1.1,1.1)\n",
"ax.set_yticklabels(titles)\n",
"ax.grid(axis='x')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It appears that there is no correlation with having a prestigious title and surviving or not. Also it appears that having any title except Mr. is correlated with surviving. Mr is strongly correlated with drowning/hypothermia. Let's calculate the pearson R for confirmation."
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 0., 0., 0., 0.],\n",
" [0., 0., 1., 0., 0.],\n",
" [0., 1., 0., 0., 0.],\n",
" [0., 0., 1., 0., 0.],\n",
" [1., 0., 0., 0., 0.]])"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Prepare an array to hold our data\n",
"tit_arr = np.zeros((len(df),len(titles)))\n",
"\n",
"# Populate array with title indicators\n",
"for i in range(0,len(df)):\n",
" for j in range(0,len(titles)):\n",
" if df['title'][i] == titles[j]:\n",
" tit_arr[i,j] = 1\n",
" break\n",
"tit_arr[0:5]"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"i = 0\n",
"Title Mr \n",
"\tcorr -0.55\n",
"\tp-value 2.4e-71\n",
"\tSignificant: True\n",
"\tPassengers: 517.0\n",
"+------------------------+\n",
"i = 1\n",
"Title Miss \n",
"\tcorr 0.34\n",
"\tp-value 6.7e-25\n",
"\tSignificant: True\n",
"\tPassengers: 185.0\n",
"+------------------------+\n",
"i = 2\n",
"Title Mrs \n",
"\tcorr 0.34\n",
"\tp-value 2.7e-26\n",
"\tSignificant: True\n",
"\tPassengers: 127.0\n",
"+------------------------+\n",
"i = 3\n",
"Title Master \n",
"\tcorr 0.09\n",
"\tp-value 1.1e-02\n",
"\tSignificant: True\n",
"\tPassengers: 40.0\n",
"+------------------------+\n",
"869.0\n"
]
}
],
"source": [
"# Here I loop through the title array.\n",
"# Each title is checked for correlation with the Survived variable.\n",
"\n",
"X = tit_arr\n",
"total = 0\n",
"for i in range(0,tit_arr.shape[1]):\n",
" significant = False\n",
" if stats.pearsonr(X[:,i],y)[1] < 0.05:\n",
" significant = True\n",
" print(f'i = {i}')\n",
" print(f'Title {titles[i]} ')\n",
" print(f'\\tcorr {stats.pearsonr(X[:,i],y)[0]:.2f}')\n",
" print(f'\\tp-value {stats.pearsonr(X[:,i],y)[1]:.1e}')\n",
" print(f'\\tSignificant: {significant}')\n",
" print(f'\\tPassengers: {np.sum(X[:,i])}')\n",
" model.append(f'{titles[i]}')\n",
" total = total + np.sum(X[:,i])\n",
" print('+------------------------+') \n",
"\n",
"print(total)"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['male',\n",
" 'port_Q',\n",
" 'port_S',\n",
" 'deck_?',\n",
" 'deck_B',\n",
" 'deck_C',\n",
" 'deck_D',\n",
" 'deck_E',\n",
" '0_4',\n",
" '24_28',\n",
" 'Mr',\n",
" 'Miss',\n",
" 'Mrs',\n",
" 'Master']"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY SIBSP"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[608, 209, 28, 16, 18, 5, 7]"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['SibSp'].value_counts().sort_index().tolist()"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"sbsps = np.array(df['SibSp'].value_counts().sort_index().index)\n",
"bysbsp = np.zeros([len(sbsps),2])\n",
"for i in range(0,len(sbsps)):\n",
" bysbsp[i] = df[df['SibSp'] == sbsps[i]]['Survived'].value_counts().sort_index()"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Survival rate of SibSp\n",
"\t = 0: 0.35\n",
"\t = 1: 0.54\n",
"\t = 2: 0.46\n",
"\t = 3: 0.25\n",
"\t = 4: 0.17\n",
"\t = 5: 0.50\n",
"\t = 8: 0.50\n"
]
}
],
"source": [
"print('Survival rate of SibSp')\n",
"for i in range(0,len(sbsps)):\n",
" print(f'\\t = {sbsps[i]}: {bysbsp[i][1]/np.sum(bysbsp[i]):.2f}')"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0., 1., 0., 0., 0., 0., 0.],\n",
" [0., 1., 0., 0., 0., 0., 0.],\n",
" [1., 0., 0., 0., 0., 0., 0.],\n",
" [0., 1., 0., 0., 0., 0., 0.],\n",
" [1., 0., 0., 0., 0., 0., 0.]])"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ssp_arr = np.zeros((len(df),len(sbsps)))\n",
"for i in range(0,len(df)):\n",
" for j in range(0,len(sbsps)):\n",
" if df['SibSp'][i] == sbsps[j]:\n",
" ssp_arr[i,j] = 1\n",
" break\n",
"ssp_arr[0:5]"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"i = 0\n",
"SibSp: 0 \n",
"\tcorr -0.12\n",
"\tp-value 5.3e-04\n",
"\tSignificant: True\n",
"\tPassengers: 608.0\n",
"+------------------------+\n",
"i = 1\n",
"SibSp: 1 \n",
"\tcorr 0.17\n",
"\tp-value 2.0e-07\n",
"\tSignificant: True\n",
"\tPassengers: 209.0\n",
"+------------------------+\n",
"i = 6\n",
"SibSp: 8 \n",
"\tcorr -0.07\n",
"\tp-value 3.6e-02\n",
"\tSignificant: True\n",
"\tPassengers: 7.0\n",
"+------------------------+\n",
"824.0\n"
]
}
],
"source": [
"X = ssp_arr\n",
"total = 0\n",
"for i in range(0,ssp_arr.shape[1]):\n",
" significant = False\n",
" if stats.pearsonr(X[:,i],y)[1] < 0.05:\n",
" significant = True\n",
" print(f'i = {i}')\n",
" print(f'SibSp: {sbsps[i]} ')\n",
" print(f'\\tcorr {stats.pearsonr(X[:,i],y)[0]:.2f}')\n",
" print(f'\\tp-value {stats.pearsonr(X[:,i],y)[1]:.1e}')\n",
" print(f'\\tSignificant: {significant}')\n",
" print(f'\\tPassengers: {np.sum(X[:,i])}')\n",
" model.append(f'sbsp_{sbsps[i]}')\n",
" total = total + np.sum(X[:,i])\n",
" print('+------------------------+') \n",
"\n",
"print(total)"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['male',\n",
" 'port_Q',\n",
" 'port_S',\n",
" 'deck_?',\n",
" 'deck_B',\n",
" 'deck_C',\n",
" 'deck_D',\n",
" 'deck_E',\n",
" '0_4',\n",
" '24_28',\n",
" 'Mr',\n",
" 'Miss',\n",
" 'Mrs',\n",
" 'Master',\n",
" 'sbsp_0',\n",
" 'sbsp_1',\n",
" 'sbsp_8']"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY PARCH"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [],
"source": [
"parchs = np.array(df['Parch'].value_counts().sort_index().index)\n",
"byparch = np.zeros([len(parchs),2])\n",
"for i in range(0,len(parchs)):\n",
" byparch[i] = df[df['Parch'] == parchs[i]]['Survived'].value_counts().sort_index()"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Survival rate of: Parch\n",
"\t = 0: 0.34\n",
"\t = 1: 0.55\n",
"\t = 2: 0.50\n",
"\t = 3: 0.60\n",
"\t = 4: 0.50\n",
"\t = 5: 0.20\n",
"\t = 6: 0.50\n"
]
}
],
"source": [
"print('Survival rate of: Parch')\n",
"for i in range(0,len(parchs)):\n",
" print(f'\\t = {parchs[i]}: {byparch[i][1]/np.sum(byparch[i]):.2f}')"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[1., 0., 0., 0., 0., 0., 0.],\n",
" [1., 0., 0., 0., 0., 0., 0.],\n",
" [1., 0., 0., 0., 0., 0., 0.],\n",
" [1., 0., 0., 0., 0., 0., 0.],\n",
" [1., 0., 0., 0., 0., 0., 0.]])"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pch_arr = np.zeros((len(df),len(parchs)))\n",
"for i in range(0,len(df)):\n",
" for j in range(0,len(parchs)):\n",
" if df['Parch'][i] == parchs[j]:\n",
" pch_arr[i,j] = 1\n",
" break\n",
"pch_arr[0:5]"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"i = 0\n",
"Parch: 0 \n",
"\tcorr -0.15\n",
"\tp-value 1.0e-05\n",
"\tSignificant: True\n",
"\tPassengers: 678.0\n",
"+------------------------+\n",
"i = 1\n",
"Parch: 1 \n",
"\tcorr 0.13\n",
"\tp-value 5.9e-05\n",
"\tSignificant: True\n",
"\tPassengers: 118.0\n",
"+------------------------+\n",
"i = 2\n",
"Parch: 2 \n",
"\tcorr 0.08\n",
"\tp-value 2.5e-02\n",
"\tSignificant: True\n",
"\tPassengers: 80.0\n",
"+------------------------+\n",
"876.0\n"
]
}
],
"source": [
"X = pch_arr\n",
"total = 0\n",
"for i in range(0,pch_arr.shape[1]):\n",
" significant = False\n",
" if stats.pearsonr(X[:,i],y)[1] < 0.05:\n",
" significant = True\n",
" print(f'i = {i}')\n",
" print(f'Parch: {parchs[i]} ')\n",
" print(f'\\tcorr {stats.pearsonr(X[:,i],y)[0]:.2f}')\n",
" print(f'\\tp-value {stats.pearsonr(X[:,i],y)[1]:.1e}')\n",
" print(f'\\tSignificant: {significant}')\n",
" print(f'\\tPassengers: {np.sum(X[:,i])}')\n",
" model.append(f'pa_{parchs[i]}')\n",
" total = total + np.sum(X[:,i])\n",
" print('+------------------------+') \n",
"\n",
"print(total)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# BY PCLASS"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1, 2, 3])"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pcls = np.array(df['Pclass'].value_counts().sort_index().index)\n",
"pcls"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0., 0., 1.],\n",
" [1., 0., 0.],\n",
" [0., 0., 1.],\n",
" [1., 0., 0.],\n",
" [0., 0., 1.]])"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pcls_arr = np.zeros((len(df),len(pcls)))\n",
"for i in range(0,len(df)):\n",
" for j in range(0,len(pcls)):\n",
" if df['Pclass'][i] == pcls[j]:\n",
" pcls_arr[i,j] = 1\n",
" break\n",
"pcls_arr[0:5]"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"i = 0\n",
"Pclass: 1 \n",
"\tcorr 0.29\n",
"\tp-value 3.2e-18\n",
"\tSignificant: True\n",
"\tPassengers: 216.0\n",
"+------------------------+\n",
"i = 1\n",
"Pclass: 2 \n",
"\tcorr 0.09\n",
"\tp-value 5.3e-03\n",
"\tSignificant: True\n",
"\tPassengers: 184.0\n",
"+------------------------+\n",
"i = 2\n",
"Pclass: 3 \n",
"\tcorr -0.32\n",
"\tp-value 5.5e-23\n",
"\tSignificant: True\n",
"\tPassengers: 491.0\n",
"+------------------------+\n",
"891.0\n"
]
}
],
"source": [
"X = pcls_arr\n",
"total = 0\n",
"for i in range(0,pcls_arr.shape[1]):\n",
" significant = False\n",
" if stats.pearsonr(X[:,i],y)[1] < 0.05:\n",
" significant = True\n",
" print(f'i = {i}')\n",
" print(f'Pclass: {pcls[i]} ')\n",
" print(f'\\tcorr {stats.pearsonr(X[:,i],y)[0]:.2f}')\n",
" print(f'\\tp-value {stats.pearsonr(X[:,i],y)[1]:.1e}')\n",
" print(f'\\tSignificant: {significant}')\n",
" print(f'\\tPassengers: {np.sum(X[:,i])}')\n",
" model.append(f'class_{pcls[i]}')\n",
" total = total + np.sum(X[:,i])\n",
" print('+------------------------+') \n",
"\n",
"print(total)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Modeling\n",
"\n",
"Below I use the information gleaned from exploration to build a model of who survives the disaster based upon variables considered to be most signicant. A function is defined to create an array of 0s and 1s from a dataframe which indicate whether or not the passenger has this particular feature. The array is then used to fit a logistic regression model. "
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['male',\n",
" 'port_Q',\n",
" 'port_S',\n",
" 'deck_?',\n",
" 'deck_B',\n",
" 'deck_C',\n",
" 'deck_D',\n",
" 'deck_E',\n",
" '0_4',\n",
" '24_28',\n",
" 'Mr',\n",
" 'Miss',\n",
" 'Mrs',\n",
" 'Master',\n",
" 'sbsp_0',\n",
" 'sbsp_1',\n",
" 'sbsp_8',\n",
" 'pa_0',\n",
" 'pa_1',\n",
" 'pa_2',\n",
" 'class_1',\n",
" 'class_2',\n",
" 'class_3']"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"