├── README.md
└── Predict_survival.ipynb
/README.md:
--------------------------------------------------------------------------------
1 | # predict_survival
2 |
3 | The data has been split into two groups:
4 |
5 | training set (train.csv)
6 | test set (test.csv)
7 | The training set should be used to build your machine learning models. For the training set, we provide the outcome (also known as the “ground truth”) for each passenger. Your model will be based on “features” like passengers’ gender and class. You can also use feature engineering to create new features.
8 |
9 | The test set should be used to see how well your model performs on unseen data. For the test set, we do not provide the ground truth for each passenger. It is your job to predict these outcomes. For each passenger in the test set, use the model you trained to predict whether or not they survived the sinking of the Titanic.
10 |
11 | We also include gender_submission.csv, a set of predictions that assume all and only female passengers survive, as an example of what a submission file should look like.
12 |
--------------------------------------------------------------------------------
/Predict_survival.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Import data wrangling and analytics library"
8 | ]
9 | },
10 | {
11 | "cell_type": "code",
12 | "execution_count": 7,
13 | "metadata": {},
14 | "outputs": [],
15 | "source": [
16 | "import numpy as np\n",
17 | "import pandas as pd\n",
18 | "import matplotlib.pyplot as plt\n",
19 | "import seaborn as sns\n",
20 | "import os\n",
21 | "\n",
22 | "\n",
23 | "from sklearn.model_selection import train_test_split\n",
24 | "from sklearn.ensemble import RandomForestClassifier\n",
25 | "from sklearn.linear_model import LogisticRegression\n",
26 | "from sklearn.naive_bayes import GaussianNB\n",
27 | "from sklearn.tree import DecisionTreeClassifier\n",
28 | "from sklearn.neighbors import KNeighborsClassifier\n",
29 | "from sklearn.preprocessing import MinMaxScaler\n",
30 | "from sklearn import metrics\n",
31 | "from sklearn.preprocessing import LabelEncoder\n",
32 | "from sklearn.feature_selection import RFE\n",
33 | "from sklearn import metrics\n",
34 | "\n",
35 | "\n",
36 | "import warnings\n",
37 | "from sklearn.exceptions import DataConversionWarning\n",
38 | "warnings.filterwarnings(action='ignore', category=UserWarning)\n",
39 | "\n",
40 | "\n",
41 | "import warnings\n",
42 | "from sklearn.exceptions import DataConversionWarning\n",
43 | "warnings.filterwarnings(action='ignore', category=DataConversionWarning)\n",
44 | "\n",
45 | "import warnings\n",
46 | "from sklearn.exceptions import DataConversionWarning\n",
47 | "warnings.filterwarnings(action='ignore', category=DataConversionWarning)\n",
48 | "\n",
49 | "import warnings\n",
50 | "warnings.simplefilter(action='ignore', category=FutureWarning)\n"
51 | ]
52 | },
53 | {
54 | "cell_type": "markdown",
55 | "metadata": {},
56 | "source": [
57 | "# Data read and Analysis"
58 | ]
59 | },
60 | {
61 | "cell_type": "code",
62 | "execution_count": 8,
63 | "metadata": {},
64 | "outputs": [],
65 | "source": [
66 | "trainDf = pd.read_csv('train.csv')\n",
67 | "testDf = pd.read_csv('test.csv')"
68 | ]
69 | },
70 | {
71 | "cell_type": "code",
72 | "execution_count": 9,
73 | "metadata": {},
74 | "outputs": [
75 | {
76 | "data": {
77 | "text/html": [
78 | "
\n",
79 | "\n",
92 | "
\n",
93 | " \n",
94 | " \n",
95 | " \n",
96 | " PassengerId \n",
97 | " Survived \n",
98 | " Pclass \n",
99 | " Name \n",
100 | " Sex \n",
101 | " Age \n",
102 | " SibSp \n",
103 | " Parch \n",
104 | " Ticket \n",
105 | " Fare \n",
106 | " Cabin \n",
107 | " Embarked \n",
108 | " \n",
109 | " \n",
110 | " \n",
111 | " \n",
112 | " 0 \n",
113 | " 1 \n",
114 | " 0 \n",
115 | " 3 \n",
116 | " Braund, Mr. Owen Harris \n",
117 | " male \n",
118 | " 22.0 \n",
119 | " 1 \n",
120 | " 0 \n",
121 | " A/5 21171 \n",
122 | " 7.2500 \n",
123 | " NaN \n",
124 | " S \n",
125 | " \n",
126 | " \n",
127 | " 1 \n",
128 | " 2 \n",
129 | " 1 \n",
130 | " 1 \n",
131 | " Cumings, Mrs. John Bradley (Florence Briggs Th... \n",
132 | " female \n",
133 | " 38.0 \n",
134 | " 1 \n",
135 | " 0 \n",
136 | " PC 17599 \n",
137 | " 71.2833 \n",
138 | " C85 \n",
139 | " C \n",
140 | " \n",
141 | " \n",
142 | " 2 \n",
143 | " 3 \n",
144 | " 1 \n",
145 | " 3 \n",
146 | " Heikkinen, Miss. Laina \n",
147 | " female \n",
148 | " 26.0 \n",
149 | " 0 \n",
150 | " 0 \n",
151 | " STON/O2. 3101282 \n",
152 | " 7.9250 \n",
153 | " NaN \n",
154 | " S \n",
155 | " \n",
156 | " \n",
157 | " 3 \n",
158 | " 4 \n",
159 | " 1 \n",
160 | " 1 \n",
161 | " Futrelle, Mrs. Jacques Heath (Lily May Peel) \n",
162 | " female \n",
163 | " 35.0 \n",
164 | " 1 \n",
165 | " 0 \n",
166 | " 113803 \n",
167 | " 53.1000 \n",
168 | " C123 \n",
169 | " S \n",
170 | " \n",
171 | " \n",
172 | " 4 \n",
173 | " 5 \n",
174 | " 0 \n",
175 | " 3 \n",
176 | " Allen, Mr. William Henry \n",
177 | " male \n",
178 | " 35.0 \n",
179 | " 0 \n",
180 | " 0 \n",
181 | " 373450 \n",
182 | " 8.0500 \n",
183 | " NaN \n",
184 | " S \n",
185 | " \n",
186 | " \n",
187 | "
\n",
188 | "
"
189 | ],
190 | "text/plain": [
191 | " PassengerId Survived Pclass \\\n",
192 | "0 1 0 3 \n",
193 | "1 2 1 1 \n",
194 | "2 3 1 3 \n",
195 | "3 4 1 1 \n",
196 | "4 5 0 3 \n",
197 | "\n",
198 | " Name Sex Age SibSp \\\n",
199 | "0 Braund, Mr. Owen Harris male 22.0 1 \n",
200 | "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n",
201 | "2 Heikkinen, Miss. Laina female 26.0 0 \n",
202 | "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n",
203 | "4 Allen, Mr. William Henry male 35.0 0 \n",
204 | "\n",
205 | " Parch Ticket Fare Cabin Embarked \n",
206 | "0 0 A/5 21171 7.2500 NaN S \n",
207 | "1 0 PC 17599 71.2833 C85 C \n",
208 | "2 0 STON/O2. 3101282 7.9250 NaN S \n",
209 | "3 0 113803 53.1000 C123 S \n",
210 | "4 0 373450 8.0500 NaN S "
211 | ]
212 | },
213 | "execution_count": 9,
214 | "metadata": {},
215 | "output_type": "execute_result"
216 | }
217 | ],
218 | "source": [
219 | "trainDf.head()"
220 | ]
221 | },
222 | {
223 | "cell_type": "code",
224 | "execution_count": 10,
225 | "metadata": {},
226 | "outputs": [
227 | {
228 | "name": "stdout",
229 | "output_type": "stream",
230 | "text": [
231 | "\n",
232 | "RangeIndex: 891 entries, 0 to 890\n",
233 | "Data columns (total 12 columns):\n",
234 | " # Column Non-Null Count Dtype \n",
235 | "--- ------ -------------- ----- \n",
236 | " 0 PassengerId 891 non-null int64 \n",
237 | " 1 Survived 891 non-null int64 \n",
238 | " 2 Pclass 891 non-null int64 \n",
239 | " 3 Name 891 non-null object \n",
240 | " 4 Sex 891 non-null object \n",
241 | " 5 Age 714 non-null float64\n",
242 | " 6 SibSp 891 non-null int64 \n",
243 | " 7 Parch 891 non-null int64 \n",
244 | " 8 Ticket 891 non-null object \n",
245 | " 9 Fare 891 non-null float64\n",
246 | " 10 Cabin 204 non-null object \n",
247 | " 11 Embarked 889 non-null object \n",
248 | "dtypes: float64(2), int64(5), object(5)\n",
249 | "memory usage: 83.7+ KB\n"
250 | ]
251 | }
252 | ],
253 | "source": [
254 | "trainDf.info()"
255 | ]
256 | },
257 | {
258 | "cell_type": "code",
259 | "execution_count": 11,
260 | "metadata": {},
261 | "outputs": [
262 | {
263 | "name": "stdout",
264 | "output_type": "stream",
265 | "text": [
266 | "\n",
267 | "RangeIndex: 418 entries, 0 to 417\n",
268 | "Data columns (total 11 columns):\n",
269 | " # Column Non-Null Count Dtype \n",
270 | "--- ------ -------------- ----- \n",
271 | " 0 PassengerId 418 non-null int64 \n",
272 | " 1 Pclass 418 non-null int64 \n",
273 | " 2 Name 418 non-null object \n",
274 | " 3 Sex 418 non-null object \n",
275 | " 4 Age 332 non-null float64\n",
276 | " 5 SibSp 418 non-null int64 \n",
277 | " 6 Parch 418 non-null int64 \n",
278 | " 7 Ticket 418 non-null object \n",
279 | " 8 Fare 417 non-null float64\n",
280 | " 9 Cabin 91 non-null object \n",
281 | " 10 Embarked 418 non-null object \n",
282 | "dtypes: float64(2), int64(4), object(5)\n",
283 | "memory usage: 36.0+ KB\n"
284 | ]
285 | }
286 | ],
287 | "source": [
288 | "testDf.info()"
289 | ]
290 | },
291 | {
292 | "cell_type": "code",
293 | "execution_count": 6,
294 | "metadata": {
295 | "scrolled": true
296 | },
297 | "outputs": [
298 | {
299 | "ename": "KeyboardInterrupt",
300 | "evalue": "",
301 | "output_type": "error",
302 | "traceback": [
303 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
304 | "\u001b[1;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
305 | "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mProfileReport\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mProfileReport\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtrainDf\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
306 | "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas_profiling\\__init__.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconfig\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mConfig\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mconfig\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 7\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcontroller\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mpandas_decorator\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 8\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprofile_report\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mProfileReport\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0m__version__\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
307 | "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas_profiling\\controller\\pandas_decorator.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mDataFrame\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprofile_report\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mProfileReport\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
308 | "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas_profiling\\profile_report.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[0;32m 18\u001b[0m )\n\u001b[0;32m 19\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mserialize_report\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mSerializeReport\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 20\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdataframe\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mhash_dataframe\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mrename_index\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 21\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mpandas_profiling\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpaths\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mget_config\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 22\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
309 | "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load\u001b[1;34m(name, import_)\u001b[0m\n",
310 | "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_find_and_load_unlocked\u001b[1;34m(name, import_)\u001b[0m\n",
311 | "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap.py\u001b[0m in \u001b[0;36m_load_unlocked\u001b[1;34m(spec)\u001b[0m\n",
312 | "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap_external.py\u001b[0m in \u001b[0;36mexec_module\u001b[1;34m(self, module)\u001b[0m\n",
313 | "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap_external.py\u001b[0m in \u001b[0;36mget_code\u001b[1;34m(self, fullname)\u001b[0m\n",
314 | "\u001b[1;32m~\\anaconda3\\lib\\importlib\\_bootstrap_external.py\u001b[0m in \u001b[0;36mget_data\u001b[1;34m(self, path)\u001b[0m\n",
315 | "\u001b[1;31mKeyboardInterrupt\u001b[0m: "
316 | ]
317 | }
318 | ],
319 | "source": [
320 | "from pandas_profiling import ProfileReport\n",
321 | "ProfileReport(trainDf)"
322 | ]
323 | },
324 | {
325 | "cell_type": "markdown",
326 | "metadata": {},
327 | "source": [
328 | "# Data Cleaning"
329 | ]
330 | },
331 | {
332 | "cell_type": "code",
333 | "execution_count": 12,
334 | "metadata": {
335 | "scrolled": true
336 | },
337 | "outputs": [
338 | {
339 | "data": {
340 | "text/plain": [
341 | "PassengerId 0\n",
342 | "Survived 0\n",
343 | "Pclass 0\n",
344 | "Name 0\n",
345 | "Sex 0\n",
346 | "Age 177\n",
347 | "SibSp 0\n",
348 | "Parch 0\n",
349 | "Ticket 0\n",
350 | "Fare 0\n",
351 | "Cabin 687\n",
352 | "Embarked 2\n",
353 | "dtype: int64"
354 | ]
355 | },
356 | "execution_count": 12,
357 | "metadata": {},
358 | "output_type": "execute_result"
359 | }
360 | ],
361 | "source": [
362 | "trainDf.isna().sum()"
363 | ]
364 | },
365 | {
366 | "cell_type": "code",
367 | "execution_count": 13,
368 | "metadata": {
369 | "scrolled": true
370 | },
371 | "outputs": [
372 | {
373 | "data": {
374 | "text/plain": [
375 | "PassengerId 0\n",
376 | "Pclass 0\n",
377 | "Name 0\n",
378 | "Sex 0\n",
379 | "Age 86\n",
380 | "SibSp 0\n",
381 | "Parch 0\n",
382 | "Ticket 0\n",
383 | "Fare 1\n",
384 | "Cabin 327\n",
385 | "Embarked 0\n",
386 | "dtype: int64"
387 | ]
388 | },
389 | "execution_count": 13,
390 | "metadata": {},
391 | "output_type": "execute_result"
392 | }
393 | ],
394 | "source": [
395 | "testDf.isnull().sum()"
396 | ]
397 | },
398 | {
399 | "cell_type": "code",
400 | "execution_count": 14,
401 | "metadata": {},
402 | "outputs": [
403 | {
404 | "data": {
405 | "text/html": [
406 | "\n",
407 | "\n",
420 | "
\n",
421 | " \n",
422 | " \n",
423 | " \n",
424 | " PassengerId \n",
425 | " Survived \n",
426 | " Pclass \n",
427 | " Name \n",
428 | " Sex \n",
429 | " Age \n",
430 | " SibSp \n",
431 | " Parch \n",
432 | " Ticket \n",
433 | " Fare \n",
434 | " Cabin \n",
435 | " Embarked \n",
436 | " \n",
437 | " \n",
438 | " \n",
439 | " \n",
440 | " 61 \n",
441 | " 62 \n",
442 | " 1 \n",
443 | " 1 \n",
444 | " Icard, Miss. Amelie \n",
445 | " female \n",
446 | " 38.0 \n",
447 | " 0 \n",
448 | " 0 \n",
449 | " 113572 \n",
450 | " 80.0 \n",
451 | " B28 \n",
452 | " NaN \n",
453 | " \n",
454 | " \n",
455 | " 829 \n",
456 | " 830 \n",
457 | " 1 \n",
458 | " 1 \n",
459 | " Stone, Mrs. George Nelson (Martha Evelyn) \n",
460 | " female \n",
461 | " 62.0 \n",
462 | " 0 \n",
463 | " 0 \n",
464 | " 113572 \n",
465 | " 80.0 \n",
466 | " B28 \n",
467 | " NaN \n",
468 | " \n",
469 | " \n",
470 | "
\n",
471 | "
"
472 | ],
473 | "text/plain": [
474 | " PassengerId Survived Pclass Name \\\n",
475 | "61 62 1 1 Icard, Miss. Amelie \n",
476 | "829 830 1 1 Stone, Mrs. George Nelson (Martha Evelyn) \n",
477 | "\n",
478 | " Sex Age SibSp Parch Ticket Fare Cabin Embarked \n",
479 | "61 female 38.0 0 0 113572 80.0 B28 NaN \n",
480 | "829 female 62.0 0 0 113572 80.0 B28 NaN "
481 | ]
482 | },
483 | "execution_count": 14,
484 | "metadata": {},
485 | "output_type": "execute_result"
486 | }
487 | ],
488 | "source": [
489 | "trainDf[trainDf[\"Embarked\"].isnull()]"
490 | ]
491 | },
492 | {
493 | "cell_type": "code",
494 | "execution_count": 15,
495 | "metadata": {},
496 | "outputs": [
497 | {
498 | "data": {
499 | "text/html": [
500 | "\n",
501 | "\n",
514 | "
\n",
515 | " \n",
516 | " \n",
517 | " \n",
518 | " PassengerId \n",
519 | " Survived \n",
520 | " Pclass \n",
521 | " Name \n",
522 | " Sex \n",
523 | " Age \n",
524 | " SibSp \n",
525 | " Parch \n",
526 | " Ticket \n",
527 | " Fare \n",
528 | " Cabin \n",
529 | " Embarked \n",
530 | " \n",
531 | " \n",
532 | " \n",
533 | " \n",
534 | "
\n",
535 | "
"
536 | ],
537 | "text/plain": [
538 | "Empty DataFrame\n",
539 | "Columns: [PassengerId, Survived, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin, Embarked]\n",
540 | "Index: []"
541 | ]
542 | },
543 | "execution_count": 15,
544 | "metadata": {},
545 | "output_type": "execute_result"
546 | }
547 | ],
548 | "source": [
549 | "trainDf[\"Embarked\"] = trainDf[\"Embarked\"].fillna(\"C\")\n",
550 | "trainDf[trainDf[\"Embarked\"].isnull()]"
551 | ]
552 | },
553 | {
554 | "cell_type": "code",
555 | "execution_count": 16,
556 | "metadata": {},
557 | "outputs": [
558 | {
559 | "data": {
560 | "text/plain": [
561 | "PassengerId 0\n",
562 | "Survived 0\n",
563 | "Pclass 0\n",
564 | "Name 0\n",
565 | "Sex 0\n",
566 | "Age 177\n",
567 | "SibSp 0\n",
568 | "Parch 0\n",
569 | "Ticket 0\n",
570 | "Fare 0\n",
571 | "Cabin 687\n",
572 | "Embarked 0\n",
573 | "dtype: int64"
574 | ]
575 | },
576 | "execution_count": 16,
577 | "metadata": {},
578 | "output_type": "execute_result"
579 | }
580 | ],
581 | "source": [
582 | "trainDf.isnull().sum()"
583 | ]
584 | },
585 | {
586 | "cell_type": "code",
587 | "execution_count": 17,
588 | "metadata": {},
589 | "outputs": [
590 | {
591 | "data": {
592 | "text/html": [
593 | "\n",
594 | "\n",
607 | "
\n",
608 | " \n",
609 | " \n",
610 | " \n",
611 | " PassengerId \n",
612 | " Pclass \n",
613 | " Name \n",
614 | " Sex \n",
615 | " Age \n",
616 | " SibSp \n",
617 | " Parch \n",
618 | " Ticket \n",
619 | " Fare \n",
620 | " Cabin \n",
621 | " Embarked \n",
622 | " \n",
623 | " \n",
624 | " \n",
625 | " \n",
626 | " 152 \n",
627 | " 1044 \n",
628 | " 3 \n",
629 | " Storey, Mr. Thomas \n",
630 | " male \n",
631 | " 60.5 \n",
632 | " 0 \n",
633 | " 0 \n",
634 | " 3701 \n",
635 | " NaN \n",
636 | " NaN \n",
637 | " S \n",
638 | " \n",
639 | " \n",
640 | "
\n",
641 | "
"
642 | ],
643 | "text/plain": [
644 | " PassengerId Pclass Name Sex Age SibSp Parch Ticket \\\n",
645 | "152 1044 3 Storey, Mr. Thomas male 60.5 0 0 3701 \n",
646 | "\n",
647 | " Fare Cabin Embarked \n",
648 | "152 NaN NaN S "
649 | ]
650 | },
651 | "execution_count": 17,
652 | "metadata": {},
653 | "output_type": "execute_result"
654 | }
655 | ],
656 | "source": [
657 | "testDf[testDf[\"Fare\"].isnull()]"
658 | ]
659 | },
660 | {
661 | "cell_type": "code",
662 | "execution_count": 18,
663 | "metadata": {},
664 | "outputs": [
665 | {
666 | "data": {
667 | "text/html": [
668 | "\n",
669 | "\n",
682 | "
\n",
683 | " \n",
684 | " \n",
685 | " \n",
686 | " PassengerId \n",
687 | " Pclass \n",
688 | " Name \n",
689 | " Sex \n",
690 | " Age \n",
691 | " SibSp \n",
692 | " Parch \n",
693 | " Ticket \n",
694 | " Fare \n",
695 | " Cabin \n",
696 | " Embarked \n",
697 | " \n",
698 | " \n",
699 | " \n",
700 | " \n",
701 | "
\n",
702 | "
"
703 | ],
704 | "text/plain": [
705 | "Empty DataFrame\n",
706 | "Columns: [PassengerId, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin, Embarked]\n",
707 | "Index: []"
708 | ]
709 | },
710 | "execution_count": 18,
711 | "metadata": {},
712 | "output_type": "execute_result"
713 | }
714 | ],
715 | "source": [
716 | "testDf[\"Fare\"] = testDf[\"Fare\"].fillna(np.mean(testDf[testDf[\"Pclass\"] == 3][\"Fare\"]))\n",
717 | "testDf[testDf[\"Fare\"].isnull()]"
718 | ]
719 | },
720 | {
721 | "cell_type": "code",
722 | "execution_count": 19,
723 | "metadata": {},
724 | "outputs": [
725 | {
726 | "data": {
727 | "text/plain": [
728 | "PassengerId 0\n",
729 | "Survived 0\n",
730 | "Pclass 0\n",
731 | "Name 0\n",
732 | "Sex 0\n",
733 | "SibSp 0\n",
734 | "Parch 0\n",
735 | "Ticket 0\n",
736 | "Fare 0\n",
737 | "Embarked 0\n",
738 | "dtype: int64"
739 | ]
740 | },
741 | "execution_count": 19,
742 | "metadata": {},
743 | "output_type": "execute_result"
744 | }
745 | ],
746 | "source": [
747 | "trainDf.dropna(axis = 1, how = 'any', inplace = True)\n",
748 | "trainDf.isnull().sum()"
749 | ]
750 | },
751 | {
752 | "cell_type": "code",
753 | "execution_count": 20,
754 | "metadata": {},
755 | "outputs": [
756 | {
757 | "data": {
758 | "text/plain": [
759 | "PassengerId 0\n",
760 | "Pclass 0\n",
761 | "Name 0\n",
762 | "Sex 0\n",
763 | "SibSp 0\n",
764 | "Parch 0\n",
765 | "Ticket 0\n",
766 | "Fare 0\n",
767 | "Embarked 0\n",
768 | "dtype: int64"
769 | ]
770 | },
771 | "execution_count": 20,
772 | "metadata": {},
773 | "output_type": "execute_result"
774 | }
775 | ],
776 | "source": [
777 | "testDf.dropna(axis = 1, how = 'any', inplace = True)\n",
778 | "testDf.isnull().sum()"
779 | ]
780 | },
781 | {
782 | "cell_type": "code",
783 | "execution_count": 21,
784 | "metadata": {},
785 | "outputs": [
786 | {
787 | "data": {
788 | "text/html": [
789 | "\n",
790 | "\n",
803 | "
\n",
804 | " \n",
805 | " \n",
806 | " \n",
807 | " PassengerId \n",
808 | " Survived \n",
809 | " Pclass \n",
810 | " Name \n",
811 | " Sex \n",
812 | " SibSp \n",
813 | " Parch \n",
814 | " Ticket \n",
815 | " Fare \n",
816 | " Embarked \n",
817 | " \n",
818 | " \n",
819 | " \n",
820 | " \n",
821 | " 0 \n",
822 | " 1 \n",
823 | " 0 \n",
824 | " 3 \n",
825 | " Braund, Mr. Owen Harris \n",
826 | " male \n",
827 | " 1 \n",
828 | " 0 \n",
829 | " A/5 21171 \n",
830 | " 7.2500 \n",
831 | " S \n",
832 | " \n",
833 | " \n",
834 | " 1 \n",
835 | " 2 \n",
836 | " 1 \n",
837 | " 1 \n",
838 | " Cumings, Mrs. John Bradley (Florence Briggs Th... \n",
839 | " female \n",
840 | " 1 \n",
841 | " 0 \n",
842 | " PC 17599 \n",
843 | " 71.2833 \n",
844 | " C \n",
845 | " \n",
846 | " \n",
847 | " 2 \n",
848 | " 3 \n",
849 | " 1 \n",
850 | " 3 \n",
851 | " Heikkinen, Miss. Laina \n",
852 | " female \n",
853 | " 0 \n",
854 | " 0 \n",
855 | " STON/O2. 3101282 \n",
856 | " 7.9250 \n",
857 | " S \n",
858 | " \n",
859 | " \n",
860 | " 3 \n",
861 | " 4 \n",
862 | " 1 \n",
863 | " 1 \n",
864 | " Futrelle, Mrs. Jacques Heath (Lily May Peel) \n",
865 | " female \n",
866 | " 1 \n",
867 | " 0 \n",
868 | " 113803 \n",
869 | " 53.1000 \n",
870 | " S \n",
871 | " \n",
872 | " \n",
873 | " 4 \n",
874 | " 5 \n",
875 | " 0 \n",
876 | " 3 \n",
877 | " Allen, Mr. William Henry \n",
878 | " male \n",
879 | " 0 \n",
880 | " 0 \n",
881 | " 373450 \n",
882 | " 8.0500 \n",
883 | " S \n",
884 | " \n",
885 | " \n",
886 | " 5 \n",
887 | " 6 \n",
888 | " 0 \n",
889 | " 3 \n",
890 | " Moran, Mr. James \n",
891 | " male \n",
892 | " 0 \n",
893 | " 0 \n",
894 | " 330877 \n",
895 | " 8.4583 \n",
896 | " Q \n",
897 | " \n",
898 | " \n",
899 | " 6 \n",
900 | " 7 \n",
901 | " 0 \n",
902 | " 1 \n",
903 | " McCarthy, Mr. Timothy J \n",
904 | " male \n",
905 | " 0 \n",
906 | " 0 \n",
907 | " 17463 \n",
908 | " 51.8625 \n",
909 | " S \n",
910 | " \n",
911 | " \n",
912 | " 7 \n",
913 | " 8 \n",
914 | " 0 \n",
915 | " 3 \n",
916 | " Palsson, Master. Gosta Leonard \n",
917 | " male \n",
918 | " 3 \n",
919 | " 1 \n",
920 | " 349909 \n",
921 | " 21.0750 \n",
922 | " S \n",
923 | " \n",
924 | " \n",
925 | " 8 \n",
926 | " 9 \n",
927 | " 1 \n",
928 | " 3 \n",
929 | " Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) \n",
930 | " female \n",
931 | " 0 \n",
932 | " 2 \n",
933 | " 347742 \n",
934 | " 11.1333 \n",
935 | " S \n",
936 | " \n",
937 | " \n",
938 | " 9 \n",
939 | " 10 \n",
940 | " 1 \n",
941 | " 2 \n",
942 | " Nasser, Mrs. Nicholas (Adele Achem) \n",
943 | " female \n",
944 | " 1 \n",
945 | " 0 \n",
946 | " 237736 \n",
947 | " 30.0708 \n",
948 | " C \n",
949 | " \n",
950 | " \n",
951 | "
\n",
952 | "
"
953 | ],
954 | "text/plain": [
955 | " PassengerId Survived Pclass \\\n",
956 | "0 1 0 3 \n",
957 | "1 2 1 1 \n",
958 | "2 3 1 3 \n",
959 | "3 4 1 1 \n",
960 | "4 5 0 3 \n",
961 | "5 6 0 3 \n",
962 | "6 7 0 1 \n",
963 | "7 8 0 3 \n",
964 | "8 9 1 3 \n",
965 | "9 10 1 2 \n",
966 | "\n",
967 | " Name Sex SibSp Parch \\\n",
968 | "0 Braund, Mr. Owen Harris male 1 0 \n",
969 | "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 1 0 \n",
970 | "2 Heikkinen, Miss. Laina female 0 0 \n",
971 | "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 1 0 \n",
972 | "4 Allen, Mr. William Henry male 0 0 \n",
973 | "5 Moran, Mr. James male 0 0 \n",
974 | "6 McCarthy, Mr. Timothy J male 0 0 \n",
975 | "7 Palsson, Master. Gosta Leonard male 3 1 \n",
976 | "8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 0 2 \n",
977 | "9 Nasser, Mrs. Nicholas (Adele Achem) female 1 0 \n",
978 | "\n",
979 | " Ticket Fare Embarked \n",
980 | "0 A/5 21171 7.2500 S \n",
981 | "1 PC 17599 71.2833 C \n",
982 | "2 STON/O2. 3101282 7.9250 S \n",
983 | "3 113803 53.1000 S \n",
984 | "4 373450 8.0500 S \n",
985 | "5 330877 8.4583 Q \n",
986 | "6 17463 51.8625 S \n",
987 | "7 349909 21.0750 S \n",
988 | "8 347742 11.1333 S \n",
989 | "9 237736 30.0708 C "
990 | ]
991 | },
992 | "execution_count": 21,
993 | "metadata": {},
994 | "output_type": "execute_result"
995 | }
996 | ],
997 | "source": [
998 | "trainDf.head(10)"
999 | ]
1000 | },
1001 | {
1002 | "cell_type": "code",
1003 | "execution_count": 22,
1004 | "metadata": {},
1005 | "outputs": [],
1006 | "source": [
1007 | "# set the PassengerId as index and drop the variable Name due to unique value \n",
1008 | "trainDf.set_index('PassengerId', inplace=True)\n",
1009 | "trainDf.drop(['Name', 'Ticket'], axis=1, inplace=True)"
1010 | ]
1011 | },
1012 | {
1013 | "cell_type": "code",
1014 | "execution_count": 23,
1015 | "metadata": {},
1016 | "outputs": [],
1017 | "source": [
1018 | "# set the PassengerId as index and drop the variable Name due to unique value \n",
1019 | "testDf.set_index('PassengerId', inplace=True)\n",
1020 | "testDf.drop(['Name', 'Ticket'], axis=1, inplace=True)"
1021 | ]
1022 | },
1023 | {
1024 | "cell_type": "code",
1025 | "execution_count": 24,
1026 | "metadata": {},
1027 | "outputs": [
1028 | {
1029 | "data": {
1030 | "text/html": [
1031 | "\n",
1032 | "\n",
1045 | "
\n",
1046 | " \n",
1047 | " \n",
1048 | " \n",
1049 | " Survived \n",
1050 | " Pclass \n",
1051 | " Sex \n",
1052 | " SibSp \n",
1053 | " Parch \n",
1054 | " Fare \n",
1055 | " Embarked \n",
1056 | " \n",
1057 | " \n",
1058 | " PassengerId \n",
1059 | " \n",
1060 | " \n",
1061 | " \n",
1062 | " \n",
1063 | " \n",
1064 | " \n",
1065 | " \n",
1066 | " \n",
1067 | " \n",
1068 | " \n",
1069 | " \n",
1070 | " 1 \n",
1071 | " 0 \n",
1072 | " 3 \n",
1073 | " male \n",
1074 | " 1 \n",
1075 | " 0 \n",
1076 | " 7.2500 \n",
1077 | " S \n",
1078 | " \n",
1079 | " \n",
1080 | " 2 \n",
1081 | " 1 \n",
1082 | " 1 \n",
1083 | " female \n",
1084 | " 1 \n",
1085 | " 0 \n",
1086 | " 71.2833 \n",
1087 | " C \n",
1088 | " \n",
1089 | " \n",
1090 | " 3 \n",
1091 | " 1 \n",
1092 | " 3 \n",
1093 | " female \n",
1094 | " 0 \n",
1095 | " 0 \n",
1096 | " 7.9250 \n",
1097 | " S \n",
1098 | " \n",
1099 | " \n",
1100 | " 4 \n",
1101 | " 1 \n",
1102 | " 1 \n",
1103 | " female \n",
1104 | " 1 \n",
1105 | " 0 \n",
1106 | " 53.1000 \n",
1107 | " S \n",
1108 | " \n",
1109 | " \n",
1110 | " 5 \n",
1111 | " 0 \n",
1112 | " 3 \n",
1113 | " male \n",
1114 | " 0 \n",
1115 | " 0 \n",
1116 | " 8.0500 \n",
1117 | " S \n",
1118 | " \n",
1119 | " \n",
1120 | " ... \n",
1121 | " ... \n",
1122 | " ... \n",
1123 | " ... \n",
1124 | " ... \n",
1125 | " ... \n",
1126 | " ... \n",
1127 | " ... \n",
1128 | " \n",
1129 | " \n",
1130 | " 887 \n",
1131 | " 0 \n",
1132 | " 2 \n",
1133 | " male \n",
1134 | " 0 \n",
1135 | " 0 \n",
1136 | " 13.0000 \n",
1137 | " S \n",
1138 | " \n",
1139 | " \n",
1140 | " 888 \n",
1141 | " 1 \n",
1142 | " 1 \n",
1143 | " female \n",
1144 | " 0 \n",
1145 | " 0 \n",
1146 | " 30.0000 \n",
1147 | " S \n",
1148 | " \n",
1149 | " \n",
1150 | " 889 \n",
1151 | " 0 \n",
1152 | " 3 \n",
1153 | " female \n",
1154 | " 1 \n",
1155 | " 2 \n",
1156 | " 23.4500 \n",
1157 | " S \n",
1158 | " \n",
1159 | " \n",
1160 | " 890 \n",
1161 | " 1 \n",
1162 | " 1 \n",
1163 | " male \n",
1164 | " 0 \n",
1165 | " 0 \n",
1166 | " 30.0000 \n",
1167 | " C \n",
1168 | " \n",
1169 | " \n",
1170 | " 891 \n",
1171 | " 0 \n",
1172 | " 3 \n",
1173 | " male \n",
1174 | " 0 \n",
1175 | " 0 \n",
1176 | " 7.7500 \n",
1177 | " Q \n",
1178 | " \n",
1179 | " \n",
1180 | "
\n",
1181 | "
891 rows × 7 columns
\n",
1182 | "
"
1183 | ],
1184 | "text/plain": [
1185 | " Survived Pclass Sex SibSp Parch Fare Embarked\n",
1186 | "PassengerId \n",
1187 | "1 0 3 male 1 0 7.2500 S\n",
1188 | "2 1 1 female 1 0 71.2833 C\n",
1189 | "3 1 3 female 0 0 7.9250 S\n",
1190 | "4 1 1 female 1 0 53.1000 S\n",
1191 | "5 0 3 male 0 0 8.0500 S\n",
1192 | "... ... ... ... ... ... ... ...\n",
1193 | "887 0 2 male 0 0 13.0000 S\n",
1194 | "888 1 1 female 0 0 30.0000 S\n",
1195 | "889 0 3 female 1 2 23.4500 S\n",
1196 | "890 1 1 male 0 0 30.0000 C\n",
1197 | "891 0 3 male 0 0 7.7500 Q\n",
1198 | "\n",
1199 | "[891 rows x 7 columns]"
1200 | ]
1201 | },
1202 | "execution_count": 24,
1203 | "metadata": {},
1204 | "output_type": "execute_result"
1205 | }
1206 | ],
1207 | "source": [
1208 | "trainDf"
1209 | ]
1210 | },
1211 | {
1212 | "cell_type": "markdown",
1213 | "metadata": {},
1214 | "source": [
1215 | "# Exploratory data analysis (EDA)"
1216 | ]
1217 | },
1218 | {
1219 | "cell_type": "code",
1220 | "execution_count": 25,
1221 | "metadata": {
1222 | "scrolled": true
1223 | },
1224 | "outputs": [
1225 | {
1226 | "data": {
1227 | "text/plain": [
1228 | ""
1229 | ]
1230 | },
1231 | "execution_count": 25,
1232 | "metadata": {},
1233 | "output_type": "execute_result"
1234 | },
1235 | {
1236 | "data": {
1237 | "image/png": "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\n",
1238 | "text/plain": [
1239 | ""
1240 | ]
1241 | },
1242 | "metadata": {
1243 | "needs_background": "light"
1244 | },
1245 | "output_type": "display_data"
1246 | }
1247 | ],
1248 | "source": [
1249 | "sns.countplot(trainDf['Sex'], data=trainDf, )"
1250 | ]
1251 | },
1252 | {
1253 | "cell_type": "code",
1254 | "execution_count": 26,
1255 | "metadata": {},
1256 | "outputs": [
1257 | {
1258 | "data": {
1259 | "image/png": "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\n",
1260 | "text/plain": [
1261 | ""
1262 | ]
1263 | },
1264 | "metadata": {
1265 | "needs_background": "light"
1266 | },
1267 | "output_type": "display_data"
1268 | }
1269 | ],
1270 | "source": [
1271 | "sns.countplot('Sex',hue='Survived',data=trainDf)\n",
1272 | "plt.show()"
1273 | ]
1274 | },
1275 | {
1276 | "cell_type": "code",
1277 | "execution_count": 27,
1278 | "metadata": {},
1279 | "outputs": [
1280 | {
1281 | "data": {
1282 | "text/plain": [
1283 | ""
1284 | ]
1285 | },
1286 | "execution_count": 27,
1287 | "metadata": {},
1288 | "output_type": "execute_result"
1289 | },
1290 | {
1291 | "data": {
1292 | "image/png": "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\n",
1293 | "text/plain": [
1294 | ""
1295 | ]
1296 | },
1297 | "metadata": {
1298 | "needs_background": "light"
1299 | },
1300 | "output_type": "display_data"
1301 | }
1302 | ],
1303 | "source": [
1304 | "sns.countplot('Survived', data=trainDf)"
1305 | ]
1306 | },
1307 | {
1308 | "cell_type": "code",
1309 | "execution_count": 28,
1310 | "metadata": {},
1311 | "outputs": [
1312 | {
1313 | "data": {
1314 | "text/plain": [
1315 | ""
1316 | ]
1317 | },
1318 | "execution_count": 28,
1319 | "metadata": {},
1320 | "output_type": "execute_result"
1321 | },
1322 | {
1323 | "data": {
1324 | "image/png": "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\n",
1325 | "text/plain": [
1326 | ""
1327 | ]
1328 | },
1329 | "metadata": {
1330 | "needs_background": "light"
1331 | },
1332 | "output_type": "display_data"
1333 | }
1334 | ],
1335 | "source": [
1336 | "sns.countplot('Pclass', data=trainDf)"
1337 | ]
1338 | },
1339 | {
1340 | "cell_type": "code",
1341 | "execution_count": 29,
1342 | "metadata": {},
1343 | "outputs": [
1344 | {
1345 | "data": {
1346 | "image/png": "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\n",
1347 | "text/plain": [
1348 | ""
1349 | ]
1350 | },
1351 | "metadata": {
1352 | "needs_background": "light"
1353 | },
1354 | "output_type": "display_data"
1355 | }
1356 | ],
1357 | "source": [
1358 | "sns.countplot('Embarked',hue='Survived',data=trainDf)\n",
1359 | "plt.show()"
1360 | ]
1361 | },
1362 | {
1363 | "cell_type": "code",
1364 | "execution_count": 30,
1365 | "metadata": {},
1366 | "outputs": [
1367 | {
1368 | "data": {
1369 | "image/png": "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\n",
1370 | "text/plain": [
1371 | ""
1372 | ]
1373 | },
1374 | "metadata": {
1375 | "needs_background": "light"
1376 | },
1377 | "output_type": "display_data"
1378 | }
1379 | ],
1380 | "source": [
1381 | "plt.figure(figsize=(16,9))\n",
1382 | "sns.heatmap(trainDf.corr(), annot=True, cmap=\"cubehelix\")\n",
1383 | "plt.show()"
1384 | ]
1385 | },
1386 | {
1387 | "cell_type": "code",
1388 | "execution_count": 31,
1389 | "metadata": {},
1390 | "outputs": [
1391 | {
1392 | "data": {
1393 | "text/plain": [
1394 | "array([[,\n",
1395 | " ],\n",
1396 | " [,\n",
1397 | " ],\n",
1398 | " [, ]],\n",
1399 | " dtype=object)"
1400 | ]
1401 | },
1402 | "execution_count": 31,
1403 | "metadata": {},
1404 | "output_type": "execute_result"
1405 | },
1406 | {
1407 | "data": {
1408 | "image/png": "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\n",
1409 | "text/plain": [
1410 | ""
1411 | ]
1412 | },
1413 | "metadata": {
1414 | "needs_background": "light"
1415 | },
1416 | "output_type": "display_data"
1417 | }
1418 | ],
1419 | "source": [
1420 | "trainDf.hist(figsize=(16,9))"
1421 | ]
1422 | },
1423 | {
1424 | "cell_type": "markdown",
1425 | "metadata": {},
1426 | "source": [
1427 | "# Data type transformation"
1428 | ]
1429 | },
1430 | {
1431 | "cell_type": "code",
1432 | "execution_count": 32,
1433 | "metadata": {},
1434 | "outputs": [
1435 | {
1436 | "data": {
1437 | "text/html": [
1438 | "\n",
1439 | "\n",
1452 | "
\n",
1453 | " \n",
1454 | " \n",
1455 | " \n",
1456 | " Survived \n",
1457 | " Pclass \n",
1458 | " Sex \n",
1459 | " SibSp \n",
1460 | " Parch \n",
1461 | " Fare \n",
1462 | " Embarked \n",
1463 | " \n",
1464 | " \n",
1465 | " PassengerId \n",
1466 | " \n",
1467 | " \n",
1468 | " \n",
1469 | " \n",
1470 | " \n",
1471 | " \n",
1472 | " \n",
1473 | " \n",
1474 | " \n",
1475 | " \n",
1476 | " \n",
1477 | " 1 \n",
1478 | " 0 \n",
1479 | " 3 \n",
1480 | " male \n",
1481 | " 1 \n",
1482 | " 0 \n",
1483 | " 7.2500 \n",
1484 | " S \n",
1485 | " \n",
1486 | " \n",
1487 | " 2 \n",
1488 | " 1 \n",
1489 | " 1 \n",
1490 | " female \n",
1491 | " 1 \n",
1492 | " 0 \n",
1493 | " 71.2833 \n",
1494 | " C \n",
1495 | " \n",
1496 | " \n",
1497 | " 3 \n",
1498 | " 1 \n",
1499 | " 3 \n",
1500 | " female \n",
1501 | " 0 \n",
1502 | " 0 \n",
1503 | " 7.9250 \n",
1504 | " S \n",
1505 | " \n",
1506 | " \n",
1507 | " 4 \n",
1508 | " 1 \n",
1509 | " 1 \n",
1510 | " female \n",
1511 | " 1 \n",
1512 | " 0 \n",
1513 | " 53.1000 \n",
1514 | " S \n",
1515 | " \n",
1516 | " \n",
1517 | " 5 \n",
1518 | " 0 \n",
1519 | " 3 \n",
1520 | " male \n",
1521 | " 0 \n",
1522 | " 0 \n",
1523 | " 8.0500 \n",
1524 | " S \n",
1525 | " \n",
1526 | " \n",
1527 | " 6 \n",
1528 | " 0 \n",
1529 | " 3 \n",
1530 | " male \n",
1531 | " 0 \n",
1532 | " 0 \n",
1533 | " 8.4583 \n",
1534 | " Q \n",
1535 | " \n",
1536 | " \n",
1537 | " 7 \n",
1538 | " 0 \n",
1539 | " 1 \n",
1540 | " male \n",
1541 | " 0 \n",
1542 | " 0 \n",
1543 | " 51.8625 \n",
1544 | " S \n",
1545 | " \n",
1546 | " \n",
1547 | " 8 \n",
1548 | " 0 \n",
1549 | " 3 \n",
1550 | " male \n",
1551 | " 3 \n",
1552 | " 1 \n",
1553 | " 21.0750 \n",
1554 | " S \n",
1555 | " \n",
1556 | " \n",
1557 | " 9 \n",
1558 | " 1 \n",
1559 | " 3 \n",
1560 | " female \n",
1561 | " 0 \n",
1562 | " 2 \n",
1563 | " 11.1333 \n",
1564 | " S \n",
1565 | " \n",
1566 | " \n",
1567 | " 10 \n",
1568 | " 1 \n",
1569 | " 2 \n",
1570 | " female \n",
1571 | " 1 \n",
1572 | " 0 \n",
1573 | " 30.0708 \n",
1574 | " C \n",
1575 | " \n",
1576 | " \n",
1577 | "
\n",
1578 | "
"
1579 | ],
1580 | "text/plain": [
1581 | " Survived Pclass Sex SibSp Parch Fare Embarked\n",
1582 | "PassengerId \n",
1583 | "1 0 3 male 1 0 7.2500 S\n",
1584 | "2 1 1 female 1 0 71.2833 C\n",
1585 | "3 1 3 female 0 0 7.9250 S\n",
1586 | "4 1 1 female 1 0 53.1000 S\n",
1587 | "5 0 3 male 0 0 8.0500 S\n",
1588 | "6 0 3 male 0 0 8.4583 Q\n",
1589 | "7 0 1 male 0 0 51.8625 S\n",
1590 | "8 0 3 male 3 1 21.0750 S\n",
1591 | "9 1 3 female 0 2 11.1333 S\n",
1592 | "10 1 2 female 1 0 30.0708 C"
1593 | ]
1594 | },
1595 | "execution_count": 32,
1596 | "metadata": {},
1597 | "output_type": "execute_result"
1598 | }
1599 | ],
1600 | "source": [
1601 | "trainDf.head(10)"
1602 | ]
1603 | },
1604 | {
1605 | "cell_type": "code",
1606 | "execution_count": 33,
1607 | "metadata": {},
1608 | "outputs": [
1609 | {
1610 | "data": {
1611 | "text/html": [
1612 | "\n",
1613 | "\n",
1626 | "
\n",
1627 | " \n",
1628 | " \n",
1629 | " \n",
1630 | " Pclass \n",
1631 | " Sex \n",
1632 | " SibSp \n",
1633 | " Parch \n",
1634 | " Fare \n",
1635 | " Embarked \n",
1636 | " \n",
1637 | " \n",
1638 | " PassengerId \n",
1639 | " \n",
1640 | " \n",
1641 | " \n",
1642 | " \n",
1643 | " \n",
1644 | " \n",
1645 | " \n",
1646 | " \n",
1647 | " \n",
1648 | " \n",
1649 | " 892 \n",
1650 | " 3 \n",
1651 | " male \n",
1652 | " 0 \n",
1653 | " 0 \n",
1654 | " 7.8292 \n",
1655 | " Q \n",
1656 | " \n",
1657 | " \n",
1658 | " 893 \n",
1659 | " 3 \n",
1660 | " female \n",
1661 | " 1 \n",
1662 | " 0 \n",
1663 | " 7.0000 \n",
1664 | " S \n",
1665 | " \n",
1666 | " \n",
1667 | " 894 \n",
1668 | " 2 \n",
1669 | " male \n",
1670 | " 0 \n",
1671 | " 0 \n",
1672 | " 9.6875 \n",
1673 | " Q \n",
1674 | " \n",
1675 | " \n",
1676 | " 895 \n",
1677 | " 3 \n",
1678 | " male \n",
1679 | " 0 \n",
1680 | " 0 \n",
1681 | " 8.6625 \n",
1682 | " S \n",
1683 | " \n",
1684 | " \n",
1685 | " 896 \n",
1686 | " 3 \n",
1687 | " female \n",
1688 | " 1 \n",
1689 | " 1 \n",
1690 | " 12.2875 \n",
1691 | " S \n",
1692 | " \n",
1693 | " \n",
1694 | "
\n",
1695 | "
"
1696 | ],
1697 | "text/plain": [
1698 | " Pclass Sex SibSp Parch Fare Embarked\n",
1699 | "PassengerId \n",
1700 | "892 3 male 0 0 7.8292 Q\n",
1701 | "893 3 female 1 0 7.0000 S\n",
1702 | "894 2 male 0 0 9.6875 Q\n",
1703 | "895 3 male 0 0 8.6625 S\n",
1704 | "896 3 female 1 1 12.2875 S"
1705 | ]
1706 | },
1707 | "execution_count": 33,
1708 | "metadata": {},
1709 | "output_type": "execute_result"
1710 | }
1711 | ],
1712 | "source": [
1713 | "testDf.head()"
1714 | ]
1715 | },
1716 | {
1717 | "cell_type": "code",
1718 | "execution_count": 34,
1719 | "metadata": {},
1720 | "outputs": [],
1721 | "source": [
1722 | "le = LabelEncoder()\n",
1723 | "# dtype transform of train dataset\n",
1724 | "trainDf.Sex = le.fit_transform(trainDf.Sex)\n",
1725 | "trainDf.Embarked = le.fit_transform(trainDf.Embarked)\n",
1726 | "\n",
1727 | "# dtype transform of test dataset\n",
1728 | "testDf.Sex = le.fit_transform(testDf.Sex)\n",
1729 | "testDf.Embarked = le.fit_transform(testDf.Embarked)"
1730 | ]
1731 | },
1732 | {
1733 | "cell_type": "markdown",
1734 | "metadata": {},
1735 | "source": [
1736 | "# Feature Ranking"
1737 | ]
1738 | },
1739 | {
1740 | "cell_type": "code",
1741 | "execution_count": 35,
1742 | "metadata": {},
1743 | "outputs": [],
1744 | "source": [
1745 | "# Extract the input variable and target variable\n",
1746 | "X = trainDf.drop('Survived', axis=1)\n",
1747 | "\n",
1748 | "Y = trainDf[['Survived']]\n",
1749 | "\n",
1750 | "# Store the column/feature names into a list \"colnames\"\n",
1751 | "colnames = list(trainDf.drop('Survived', axis=1))"
1752 | ]
1753 | },
1754 | {
1755 | "cell_type": "code",
1756 | "execution_count": 36,
1757 | "metadata": {},
1758 | "outputs": [],
1759 | "source": [
1760 | "# Define dictionary to store our rankings\n",
1761 | "ranks = {}\n",
1762 | "# Create our function which stores the feature rankings to the ranks dictionary\n",
1763 | "def ranking(ranks, names, order=1):\n",
1764 | " minmax = MinMaxScaler()\n",
1765 | " ranks = minmax.fit_transform(order*np.array([ranks]).T).T[0]\n",
1766 | " ranks = map(lambda x: round(x,2), ranks)\n",
1767 | " return dict(zip(names, ranks))"
1768 | ]
1769 | },
1770 | {
1771 | "cell_type": "code",
1772 | "execution_count": 37,
1773 | "metadata": {},
1774 | "outputs": [],
1775 | "source": [
1776 | "# Construct Recursive Feature Elimination ( RFE ) of the Logistic Regression model\n",
1777 | "lr = LogisticRegression(random_state= 42) #lr = LinearRegression(normalize=True)\n",
1778 | "lr.fit(X,Y)\n",
1779 | "\n",
1780 | "#stop the search when only the last feature is left\n",
1781 | "rfe = RFE(lr, n_features_to_select=1, ) #verbose =3\n",
1782 | "rfe.fit(X,Y)\n",
1783 | "ranks[\"RFE\"] = ranking(list(map(float, rfe.ranking_)), colnames, order=-1)"
1784 | ]
1785 | },
1786 | {
1787 | "cell_type": "code",
1788 | "execution_count": 38,
1789 | "metadata": {},
1790 | "outputs": [
1791 | {
1792 | "data": {
1793 | "text/plain": [
1794 | "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
1795 | " intercept_scaling=1, l1_ratio=None, max_iter=100,\n",
1796 | " multi_class='auto', n_jobs=None, penalty='l2',\n",
1797 | " random_state=None, solver='lbfgs', tol=0.0001, verbose=0,\n",
1798 | " warm_start=False)"
1799 | ]
1800 | },
1801 | "execution_count": 38,
1802 | "metadata": {},
1803 | "output_type": "execute_result"
1804 | }
1805 | ],
1806 | "source": [
1807 | "# Using Logistic Regression\n",
1808 | "lr = LogisticRegression()\n",
1809 | "lr.fit(X,Y)\n",
1810 | "\n",
1811 | "#ranks[\"LogReg\"] = ranking(np.abs(lr.coef_), colnames)"
1812 | ]
1813 | },
1814 | {
1815 | "cell_type": "code",
1816 | "execution_count": 39,
1817 | "metadata": {},
1818 | "outputs": [],
1819 | "source": [
1820 | "# Decision Tree Classifier\n",
1821 | "\n",
1822 | "dt = DecisionTreeClassifier()\n",
1823 | "dt.fit(X,Y)\n",
1824 | "ranks[\"DT\"] = ranking(dt.feature_importances_, colnames)"
1825 | ]
1826 | },
1827 | {
1828 | "cell_type": "code",
1829 | "execution_count": 40,
1830 | "metadata": {},
1831 | "outputs": [],
1832 | "source": [
1833 | "# Random Forest Classifier\n",
1834 | "\n",
1835 | "rf = RandomForestClassifier(n_jobs=-1, n_estimators=9, ) #verbose=3\n",
1836 | "rf.fit(X,Y)\n",
1837 | "ranks[\"RF\"] = ranking(rf.feature_importances_, colnames)"
1838 | ]
1839 | },
1840 | {
1841 | "cell_type": "markdown",
1842 | "metadata": {},
1843 | "source": [
1844 | "# Creating the Feature Ranking Matrix\n",
1845 | "We combine the scores from the various methods above and output it in a matrix form for convenient viewing as such:"
1846 | ]
1847 | },
1848 | {
1849 | "cell_type": "code",
1850 | "execution_count": 41,
1851 | "metadata": {},
1852 | "outputs": [
1853 | {
1854 | "name": "stdout",
1855 | "output_type": "stream",
1856 | "text": [
1857 | "\tDT\tRF\tRFE\tMean\n",
1858 | "Pclass\t0.22\t0.25\t0.8\t0.42\n",
1859 | "Sex\t1.0\t0.69\t1.0\t0.9\n",
1860 | "SibSp\t0.1\t0.03\t0.4\t0.18\n",
1861 | "Parch\t0.06\t0.07\t0.2\t0.11\n",
1862 | "Fare\t0.92\t1.0\t0.0\t0.64\n",
1863 | "Embarked\t0.0\t0.0\t0.6\t0.2\n"
1864 | ]
1865 | }
1866 | ],
1867 | "source": [
1868 | "# Create empty dictionary to store the mean value calculated from all the scores\n",
1869 | "r = {}\n",
1870 | "for name in colnames:\n",
1871 | " \n",
1872 | " r[name] = round(np.mean([ranks[method][name] for method in ranks.keys()]), 2)\n",
1873 | " \n",
1874 | "methods = sorted(ranks.keys())\n",
1875 | "ranks[\"Mean\"] = r\n",
1876 | "methods.append(\"Mean\")\n",
1877 | " \n",
1878 | "print(\"\\t%s\" % \"\\t\".join(methods))\n",
1879 | "for name in colnames:\n",
1880 | " print(\"%s\\t%s\" % (name, \"\\t\".join(map(str, [ranks[method][name] for method in methods]))))"
1881 | ]
1882 | },
1883 | {
1884 | "cell_type": "code",
1885 | "execution_count": 42,
1886 | "metadata": {},
1887 | "outputs": [],
1888 | "source": [
1889 | "# Put the mean scores into a Pandas dataframe\n",
1890 | "meanplot = pd.DataFrame(list(r.items()), columns= ['Feature','Mean Ranking'])\n",
1891 | "\n",
1892 | "# Sort the dataframe\n",
1893 | "meanplot = meanplot.sort_values('Mean Ranking', ascending=False)"
1894 | ]
1895 | },
1896 | {
1897 | "cell_type": "code",
1898 | "execution_count": 43,
1899 | "metadata": {
1900 | "scrolled": true
1901 | },
1902 | "outputs": [
1903 | {
1904 | "data": {
1905 | "text/plain": [
1906 | ""
1907 | ]
1908 | },
1909 | "execution_count": 43,
1910 | "metadata": {},
1911 | "output_type": "execute_result"
1912 | },
1913 | {
1914 | "data": {
1915 | "image/png": "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\n",
1916 | "text/plain": [
1917 | ""
1918 | ]
1919 | },
1920 | "metadata": {
1921 | "needs_background": "light"
1922 | },
1923 | "output_type": "display_data"
1924 | }
1925 | ],
1926 | "source": [
1927 | "# Let's plot the ranking of the features\n",
1928 | "sns.factorplot(x=\"Mean Ranking\", y=\"Feature\", data = meanplot, kind=\"bar\", \n",
1929 | " size=5, aspect=1.9, palette='coolwarm')"
1930 | ]
1931 | },
1932 | {
1933 | "cell_type": "code",
1934 | "execution_count": 44,
1935 | "metadata": {},
1936 | "outputs": [
1937 | {
1938 | "data": {
1939 | "text/html": [
1940 | "\n",
1941 | "\n",
1954 | "
\n",
1955 | " \n",
1956 | " \n",
1957 | " \n",
1958 | " Feature \n",
1959 | " Mean Ranking \n",
1960 | " \n",
1961 | " \n",
1962 | " \n",
1963 | " \n",
1964 | " 1 \n",
1965 | " Sex \n",
1966 | " 0.90 \n",
1967 | " \n",
1968 | " \n",
1969 | " 4 \n",
1970 | " Fare \n",
1971 | " 0.64 \n",
1972 | " \n",
1973 | " \n",
1974 | " 0 \n",
1975 | " Pclass \n",
1976 | " 0.42 \n",
1977 | " \n",
1978 | " \n",
1979 | " 5 \n",
1980 | " Embarked \n",
1981 | " 0.20 \n",
1982 | " \n",
1983 | " \n",
1984 | " 2 \n",
1985 | " SibSp \n",
1986 | " 0.18 \n",
1987 | " \n",
1988 | " \n",
1989 | " 3 \n",
1990 | " Parch \n",
1991 | " 0.11 \n",
1992 | " \n",
1993 | " \n",
1994 | "
\n",
1995 | "
"
1996 | ],
1997 | "text/plain": [
1998 | " Feature Mean Ranking\n",
1999 | "1 Sex 0.90\n",
2000 | "4 Fare 0.64\n",
2001 | "0 Pclass 0.42\n",
2002 | "5 Embarked 0.20\n",
2003 | "2 SibSp 0.18\n",
2004 | "3 Parch 0.11"
2005 | ]
2006 | },
2007 | "execution_count": 44,
2008 | "metadata": {},
2009 | "output_type": "execute_result"
2010 | }
2011 | ],
2012 | "source": [
2013 | "meanplot = meanplot.sort_values('Mean Ranking', ascending=False)\n",
2014 | "meanplot"
2015 | ]
2016 | },
2017 | {
2018 | "cell_type": "code",
2019 | "execution_count": 45,
2020 | "metadata": {},
2021 | "outputs": [
2022 | {
2023 | "data": {
2024 | "text/plain": [
2025 | "['Sex', 'Fare', 'Pclass', 'Embarked']"
2026 | ]
2027 | },
2028 | "execution_count": 45,
2029 | "metadata": {},
2030 | "output_type": "execute_result"
2031 | }
2032 | ],
2033 | "source": [
2034 | "columnName = meanplot.loc[meanplot['Mean Ranking'] >= 0.20]\n",
2035 | "columnName = list(columnName.Feature)\n",
2036 | "columnName"
2037 | ]
2038 | },
2039 | {
2040 | "cell_type": "markdown",
2041 | "metadata": {},
2042 | "source": [
2043 | "# Predictive Modeling"
2044 | ]
2045 | },
2046 | {
2047 | "cell_type": "code",
2048 | "execution_count": 46,
2049 | "metadata": {},
2050 | "outputs": [],
2051 | "source": [
2052 | "# Extract the input variable and target variable\n",
2053 | "X = trainDf[columnName]\n",
2054 | "y = trainDf[['Survived']]\n",
2055 | "\n",
2056 | "testDf = testDf[columnName]\n"
2057 | ]
2058 | },
2059 | {
2060 | "cell_type": "code",
2061 | "execution_count": 47,
2062 | "metadata": {},
2063 | "outputs": [],
2064 | "source": [
2065 | "# split original data [i.e X and y] into 70:30 \n",
2066 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)"
2067 | ]
2068 | },
2069 | {
2070 | "cell_type": "markdown",
2071 | "metadata": {},
2072 | "source": [
2073 | "### Utility functions"
2074 | ]
2075 | },
2076 | {
2077 | "cell_type": "code",
2078 | "execution_count": 48,
2079 | "metadata": {},
2080 | "outputs": [],
2081 | "source": [
2082 | "def classifier_report(ModelName, model_object):\n",
2083 | " model_object.fit(X_train, y_train)\n",
2084 | " y_test_pred = model_object.predict(X_test)\n",
2085 | " print(ModelName, \"Classifier Report:\")\n",
2086 | " print(\"\\n\", metrics.classification_report(y_test, y_test_pred))\n",
2087 | " # Compute confusion matrix\n",
2088 | " print(\"\\n\\nConfusion_matrix: \\n\")\n",
2089 | " cnf_matrix = metrics.confusion_matrix(y_test, y_test_pred)\n",
2090 | " ax= plt.subplot()\n",
2091 | " sns.heatmap(cnf_matrix, annot=True, ax = None, fmt= '.1f' , cmap= 'Blues', linewidths=0.5); #annot=True to annotate cells "
2092 | ]
2093 | },
2094 | {
2095 | "cell_type": "code",
2096 | "execution_count": 49,
2097 | "metadata": {},
2098 | "outputs": [
2099 | {
2100 | "name": "stdout",
2101 | "output_type": "stream",
2102 | "text": [
2103 | "Logistic Regression Classifier Report:\n",
2104 | "\n",
2105 | " precision recall f1-score support\n",
2106 | "\n",
2107 | " 0 0.81 0.78 0.79 157\n",
2108 | " 1 0.70 0.75 0.72 111\n",
2109 | "\n",
2110 | " accuracy 0.76 268\n",
2111 | " macro avg 0.76 0.76 0.76 268\n",
2112 | "weighted avg 0.77 0.76 0.77 268\n",
2113 | "\n",
2114 | "\n",
2115 | "\n",
2116 | "Confusion_matrix: \n",
2117 | "\n"
2118 | ]
2119 | },
2120 | {
2121 | "data": {
2122 | "image/png": "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\n",
2123 | "text/plain": [
2124 | ""
2125 | ]
2126 | },
2127 | "metadata": {
2128 | "needs_background": "light"
2129 | },
2130 | "output_type": "display_data"
2131 | }
2132 | ],
2133 | "source": [
2134 | "#Logistic Regression\n",
2135 | "\n",
2136 | "lr = LogisticRegression()\n",
2137 | "classifier_report(\"Logistic Regression\", lr)"
2138 | ]
2139 | },
2140 | {
2141 | "cell_type": "code",
2142 | "execution_count": 50,
2143 | "metadata": {},
2144 | "outputs": [
2145 | {
2146 | "name": "stdout",
2147 | "output_type": "stream",
2148 | "text": [
2149 | "Decision Tree Classifier Report:\n",
2150 | "\n",
2151 | " precision recall f1-score support\n",
2152 | "\n",
2153 | " 0 0.81 0.89 0.85 157\n",
2154 | " 1 0.81 0.71 0.76 111\n",
2155 | "\n",
2156 | " accuracy 0.81 268\n",
2157 | " macro avg 0.81 0.80 0.80 268\n",
2158 | "weighted avg 0.81 0.81 0.81 268\n",
2159 | "\n",
2160 | "\n",
2161 | "\n",
2162 | "Confusion_matrix: \n",
2163 | "\n"
2164 | ]
2165 | },
2166 | {
2167 | "data": {
2168 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAD4CAYAAADSIzzWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAV6ElEQVR4nO3deXwV5b3H8c8viWxCEhYTkChii1pUFFkuiDtWcSvUV6tY2yJyGxG0drkVsCqotWL1VWu1alM3VBTRoqhXrV6qdUEQkKoIiqhFQCBsCUHZQn73j4wxkJCcHE7OZIbv29e8klnOM8/R+M0vz5l5xtwdERFJv4ywOyAisrdSAIuIhEQBLCISEgWwiEhIFMAiIiHJSsM5dJmFiCTK9rSBlj0vSzhzNs+/c4/PtyfSEcC07HlZOk4jEbF5/p0AbCkPuSPSpLRISxo1LXvhWxaRWLPojKwqgEUkXjIyw+5BwhTAIhIvFuqwboMogEUkXjQEISISElXAIiIhUQUsIhISVcAiIiHRVRAiIiHREISISEg0BCEiEhJVwCIiIVEAi4iEJFMfwomIhENjwCIiIdEQhIhISFQBi4iERBWwiEhIVAGLiIREtyKLiIREQxAiIiHREISISEhUAYuIhEQBLCISEn0IJyISEo0Bi4iEREMQIiIhUQUsIhIOUwCLiIQjSgEcncESEZEEWIYlvNTbltn9ZlZsZguqbbvFzD40s/fM7Ckzy622b5yZLTGzj8zs9PraVwCLSKyYWcJLAh4EBu2y7WXgCHfvASwGxgXn7Q4MBQ4PXnOXmdV5TZwCWERiJZUB7O6vAet32faSu5cHq7OAguD7wcAUd9/q7p8BS4C+dbWvABaRWElxBVyfi4EXgu87A8uq7VsebNstBbCIxIslvphZoZnNrbYUJnwas98C5cDkZLuqqyBEJFYaUtm6exFQlMQ5LgLOBga6uwebVwAHVDusINi2W6qARSRWMjIyEl6SYWaDgCuB77n7V9V2PQMMNbPmZtYV6Aa8XVdbqoBFJFZSeR2wmT0GnAR0MLPlwHgqr3poDrwcnGuWu4909w/MbCqwkMqhidHuvqOu9hXAIhIvKbwPw90vqGXzfXUcfyNwY6LtK4BFJFaidCecAlhEYkUBLCISkkRuMW4qFMAiEiuqgEVEQqIAFhEJiQJYRCQkCmARkbBEJ38VwCISL8neYhwGBbCIxIqGIEREwhKd/FUAJ+ue8RdyxglHsGZ9Gb1/+HsArh11Fmef2IMKd9asL6Nw/COsXFNKbpuW/HXCj+la0IGt27ZzyYTJLPxkZY02u+zfnocnDqddzr7MX/Q5F1/9ENvL65zLQ5qwa68ex2v/epV27dozbfpzAHy4aBG/u34827ZuJTMrk6uunsCRPXrUeO0zTz/F3/56NwA/u+RSvjfk+2nte5RFqQKOzmBJE/Pws7MYPPovO227bdIM+p5/E/2GTuSF1xcwrvAMAK4ccTrvfrScvuffxIhrHubW3/yg1jZvvGIwd0x+hSMGX8eGss1c9P3+jf4+pPEMHnIud//13p223fbHWxg5ajRTp01n1GVX8Kc/3lLjdaUlJdxz95088thUJk95gnvuvpONpaXp6nbkpfmJGHuk3gA2s8PMbIyZ/TlYxpjZd9LRuabszXc+YX3pVzttK/tyS9X3rVo25+t5mg87uCP/mrMYgMX/WU2X/duR165NjTZP7HMI0/5vPgCTn53NOScd1VjdlzTo1bsP2Tk5O20zjE2bvgRgU1kZ++2XV+N1M998g379B5CTm0t2Tg79+g/gzTdeT0uf4yBKAVznEISZjQEuAKbwzcTCBcBjZjbF3Sc2cv8iZ8Loc7jw7L6UbtrMoMI/A/D+4hUMPuUo3pz/Cb0P78KBndrROT+X4vVlVa9rn7svpWWb2bGjAoAVqzewf15OreeQ6Lpy7FVcWjiCP956MxUVFTw0eUqNY4qLV9OxY8eq9fz8fIqLV6ezm5EWpbkg6quARwB93H2iuz8SLBOpfNLniN29qPpzloqKGvy0j0ib8Jdn6XbGNUx5YS4jzz8BgFsfeJmcNq2YNWUslw49kXc/Wl4VtLJ3mfr4Y/xmzDhemvEvfjNmHBOu+W3YXYqdKFXA9QVwBbB/Lds7Bftq5e5F7t7b3XsXFib8jLtYefz5OQwZeDRQOTRxyYRH6Dd0IiOueYgObVvz2Yp1Ox2/ruRLctq0JDOz8j9J5/y2fFGscb+4eXb6Uwz87mkAnHb6GSx4/70ax+Tl5bNq1aqq9dWrV5OXl5+2PkZdnAL4F8AMM3vBzIqC5UVgBnBFo/cuYr514H5V3599Ug8W/6fyz8ac1i3ZJysTgOHfP5Y33lmy03jx116bu5hzT+0JwIXn/BfPvVrzf06Jtv3y8pg7p3I07+3Zsziwy0E1jjl2wHG8NfMNNpaWsrG0lLdmvsGxA45Lc0+jyyzxJWx1jgG7+4tmdgiVQw5fP99+BTCnvmcdxd2kmy7i+F7d6JDbmiUv3sAN9zzPoOMOp1uXPCoqnM9XrufnN1aO7x12cEf+dv1PcHcWfbKSkdd98xTrp+64lFHXP8rKNaX89vbpPDxxOONHnc27Hy3jwaffCuvtSQqM+Z9fMXfO25SUbOC7p5zApaMv59oJN/CHib9nR3k5zZo359oJ1wPwwYL3eWLqFCZcfyM5ubkUjhzFj86vvFrmkktHk5ObG+I7iZamUNkmyr55onKj8ZY9L2vsc0iEbJ5/JwBbykPuiDQpLSrLwT1Oz0PH/CPhUPvo5tNDTWvdiCEisRKhAlgBLCLxkhGhy9AUwCISK6qARURCEqUP4RTAIhIrEcpfBbCIxIsmZBcRCUmUKuDo/KoQEUlAKm9FNrP7zazYzBZU29bOzF42s4+Dr22D7RbMGLnEzN4zs2Pqa18BLCKxkuJbkR8EBu2ybSwww927UTktw9hg+xlAt2ApBO6ur3EFsIjESiorYHd/DVi/y+bBwKTg+0nAkGrbH/JKs4BcM+tUV/sKYBGJlYZUwNWnzg2WRKZvzHf3r58ptgr4eqq6zsCyasct55s5dGqlD+FEJFYaciecuxcBSU9a7u5uZklPqKMAFpFYScONGKvNrJO7rwyGGIqD7SuAA6odVxBs2y0NQYhIrKRhPuBngGHB98OA6dW2/zS4GqIfUFptqKJWqoBFJFZSWQGb2WPASUAHM1sOjAcmAlPNbASwFDgvOPx54ExgCfAVMLy+9hXAIhIrqRyBcPcLdrNrYC3HOjC6Ie0rgEUkVjQdpYhISDQbmohISBTAIiIhiVD+KoBFJF5UAYuIhCRC+asAFpF40VUQIiIhyYhQCawAFpFYiVD+KoBFJF70IZyISEgiNASsABaReNGHcCIiITEUwCIioYhQAawAFpF40YdwIiIhiVD+KoBFJF50I4aISEh0FYSISEgiVAArgEUkXjQEISISkujErwJYRGJGl6GJiIQkQp/BKYBFJF50FYSISEg0BCEiEpIIFcAKYBGJlyhVwBlhd0BEJJWsAUu9bZn90sw+MLMFZvaYmbUws65mNtvMlpjZ42bWLNm+KoBFJFYyMyzhpS5m1hn4OdDb3Y8AMoGhwM3Abe7+bWADMCLZviqARSRWzCzhJQFZQEszywJaASuBU4Ang/2TgCHJ9lUBLCKxYtaQxQrNbG61pfDrdtx9BXAr8DmVwVsKzANK3L08OGw50DnZvupDOBGJlYbMBeHuRUBRbfvMrC0wGOgKlABPAIP2vIffSEsAb55/ZzpOIxHTQr/+pRGk8CKIU4HP3H1NZbs2DRgA5JpZVlAFFwArkj2BhiBEJFZSOAb8OdDPzFpZ5cEDgYXAK8APgmOGAdOT7WtaapCl67am4zQSEV3aNwdg1LSFIfdEmpK7zu2eknYyU1QCu/tsM3sSeAcoB+ZTOVzxv8AUM/tdsO2+ZM+hPwJFJFZSeSecu48Hxu+y+VOgbyraVwCLSKzoVmQRkZBE6VZkBbCIxIoqYBGRkESoAFYAi0i8ZEUogRXAIhIrEcpfBbCIxIseSy8iEpII5a8CWETiRVdBiIiEpL6J1psSBbCIxEqE8lcBLCLxYgk97a1pUACLSKyoAhYRCYkCWEQkJJqMR0QkJJkRes6PAlhEYkV3womIhERjwCIiIYlQAawAFpF4ydB1wCIi4VAFLCISkqwIDQIrgEUkVlQBi4iERJehiYiEJEL5qwAWkXiJ0I1wCmARiZcoDUFE6ZeFiEi9MswSXupjZrlm9qSZfWhmi8ysv5m1M7OXzezj4GvbpPua7AtFRJoia8CSgNuBF939MOAoYBEwFpjh7t2AGcF6UhTAIhIrZokvdbdjOcAJwH0A7r7N3UuAwcCk4LBJwJBk+6oAFpFYMbOGLIVmNrfaUlitqa7AGuABM5tvZvea2b5AvruvDI5ZBeQn21d9CCcisdKQqtLdi4Ci3ezOAo4BLnf32WZ2O7sMN7i7m5kn11NVwCISMyn8EG45sNzdZwfrT1IZyKvNrBNA8LU46b4m+0IRkaaoIUMQdXH3VcAyMzs02DQQWAg8AwwLtg0DpifbVw1BiEispLiqvByYbGbNgE+B4cEppprZCGApcF6yjSuARSRWUvlQTnf/N9C7ll0DU9G+AlhEYiU698EpgEUkZjIjdCuyAlhEYiVC+asAFpF4sQgNQiiARSRWVAGLiIRET0UWEQmJKmARkZBEaUJ2BbCIxEqEnkqvABaReNFVECIiIYnQCIQCOBW2bd3Kr0cNZ/v2bezYsYPjTz6Vn/73aG6aMJaPP/yAzMwsDut+JFeMuYasrH1qvP6l56fz6IN/A+BHF/2M084cnO63II0gr3UzRvQtqFrvsO8+PLdwDYvXfskFR3eieVYG67/azgNzVrClvKLG67vn78sPe3TEzJj5nw28tHhdOrsfWaqA9zL7NGvGH+64l5atWlFevp1fjhxGn37HMfC0sxg7/iYAbho/hheemcY5556/02s3bizlkfvv4c77p2AYoy8+n/7HnUyb7Oww3oqkUPGmbdz0z0+ByvkJfn/mIbz7RRk/61fAtPdX8/Har+jfJZdTD2nPcwvX7PRaA84/qhN/fmMpJZu3M+bkg3lvZRmryral/41ETJTGgDUfcAqYGS1btQKgvLycHeXlYEbfY4+vmnf00O5HsrZ4dY3Xzpv1Jsf06U92dg5tsrM5pk9/5s56I91vQRrZYXn7svbLbazfvJ281s34eO1XAHxYvIme+9f8ZXtQu5as+XIb677azg6HectLOapTm3R3O5JS+VTkRu9r2B2Iix07djBy2A8576yTOKZPf75zeI+qfeXl25nx4rP07jegxuvWri1mv7yOVesd8vJZuzbpCfaliepVkM3cZaUArNy4tSpMe3bOpm3Lmn+I5rbIYsPm7VXrGzaXk9Oy5vCV1JTipyI3qqQD2MyG17Gv6kF3RUW7e9xSvGRmZnLPpCd49OmX+WjRAj775OOqfXfcciNHHt2LI4/uFWIPJSyZBj06teGdFRsBeHjeF5xwcFvGntyVFlkZlFck/UgxqUWUKuA9GQO+Dnigth27POjOl67bugeniZbWbbI56pg+zJ39Jl2/1Y2H77ubkpINjB9zba3Hd+iQx7vz51atry1ezVE9a5v/WaLq8I6tWVayhbKtOwBYvWkbd7z5OVD5Qd0RHWsOLZRsKadttYq3bcssSqtVxLJ74cdq4uqsgM3svd0s77MHj2KOm5IN69lUVlndbN26hXfmvMUBXbrywjN/Z97smVx1/c1kZNT+r7pXvwHMe3smZRs3UrZxI/PenkmvWoYqJLp6F+QwZ3lp1Xrr5plAZVCccWgHXv9sQ43XLN2wmbzWzWjfah8yDXoV5PDeyk3p6nK0RWgMor4KOB84Hdj1J8SAmY3Sowhav24tt9xwNRUVO6ioqODEgafTb8CJDDq+J/n5nbii8CcAHHfiQH588UgWL/qA556eyq/GXUd2dg4XDr+Ey0dcAMCPh48kOzsnzLcjKdQs0zgsb18enb+yalufghxOOLgtAP/+ooy3lpYAkNMiiwuP6cRdM5dR4fD4v1dx2YADyTDjraUlrCzbe/6S3BNNYWghUea++/EnM7sPeMDda3wsb2aPuvuPEjjHXjUEIfXr0r45AKOmLQy5J9KU3HVud0hBXTrn09KEB9X7HJwTalrXWQG7+4g69iUSviIi6RWdAlg3YohIvOhOOBGRkERoCFgBLCLxEqH8VQCLSLxYhEpgBbCIxEqE8lcBLCLxEqH81WQ8IhIzKb4TzswyzWy+mT0XrHc1s9lmtsTMHjezZsl2VQEsIrFiDfgnQVcAi6qt3wzc5u7fpvIu4d3eL1EfBbCIxIpZ4kv9bVkBcBZwb7BuwCnAk8Ehk4AhyfZVASwisdKQAK4+dW6wFO7S3J+AK4GvnxnVHihx9/JgfTnQOdm+6kM4EYmVhtwJt8vUuTu3Y3Y2UOzu88zspJR0bhcKYBGJlRRehjYA+J6ZnQm0ALKB24FcM8sKquACYEWyJ9AQhIjESqougnD3ce5e4O4HAUOBf7r7hcArwA+Cw4YB05PtqwJYROKl8SdkHwP8ysyWUDkmfF+yDWkIQkRipTEmZHf3V4FXg+8/Bfqmol0FsIjESpTuhFMAi0i8RCiBFcAiEiuakF1EJCSaDU1EJCQRyl8FsIjEiyZkFxEJSYTyVwEsIvESofxVAItIzEQogRXAIhIrugxNRCQkGgMWEQlJhgJYRCQs0UlgBbCIxIqGIEREQhKh/FUAi0i8qAIWEQmJbkUWEQlJdOJXASwiMROhAlgBLCLxojvhRETCEp38VQCLSLxEKH8VwCISL43xWPrGogAWkViJUP6SEXYHRET2VqqARSRWolQBK4BFJFaidBmahiBEJFbMEl/qbscOMLNXzGyhmX1gZlcE29uZ2ctm9nHwtW2yfVUAi0ispCqAgXLg1+7eHegHjDaz7sBYYIa7dwNmBOtJUQCLSKxYA/6pi7uvdPd3gu/LgEVAZ2AwMCk4bBIwJNm+KoBFJFYaUgGbWaGZza22FNbeph0E9ARmA/nuvjLYtQrIT7av+hBORGKlIR/BuXsRUFRne2atgb8Dv3D3jdWnu3R3NzNPqqOoAhaRuLEGLPU1ZbYPleE72d2nBZtXm1mnYH8noDjprronHd6JavQTiEhs7PE1ZFvKE8+cFlm7P59VlrqTgPXu/otq228B1rn7RDMbC7Rz9yuT6Ws6AlgCZlYY/MkjUkU/F02TmR0HvA68D1QEm6+ichx4KnAgsBQ4z93XJ3UOBXD6mNlcd+8ddj+kadHPxd5LY8AiIiFRAIuIhEQBnF4a55Pa6OdiL6UxYBGRkKgCFhEJiQJYRCQkCuA0MbNBZvaRmS0JLt6WvZyZ3W9mxWa2IOy+SDgUwGlgZpnAX4AzgO7ABcG0drJ3exAYFHYnJDwK4PToCyxx90/dfRswhcop7WQv5u6vAUndQSXxoABOj87Asmrry4NtIrIXUwCLiIREAZweK4ADqq0XBNtEZC+mAE6POUA3M+tqZs2AocAzIfdJREKmAE4Ddy8HLgP+QeVzpaa6+wfh9krCZmaPAW8Bh5rZcjMbEXafJL10K7KISEhUAYuIhEQBLCISEgWwiEhIFMAiIiFRAIuIhEQBLCISEgWwiEhI/h9aX05XSn1/XwAAAABJRU5ErkJggg==\n",
2169 | "text/plain": [
2170 | ""
2171 | ]
2172 | },
2173 | "metadata": {
2174 | "needs_background": "light"
2175 | },
2176 | "output_type": "display_data"
2177 | }
2178 | ],
2179 | "source": [
2180 | "dt = DecisionTreeClassifier()\n",
2181 | "classifier_report(\"Decision Tree\", dt)"
2182 | ]
2183 | },
2184 | {
2185 | "cell_type": "code",
2186 | "execution_count": 51,
2187 | "metadata": {},
2188 | "outputs": [
2189 | {
2190 | "name": "stdout",
2191 | "output_type": "stream",
2192 | "text": [
2193 | "Random Forest Classifier Report:\n",
2194 | "\n",
2195 | " precision recall f1-score support\n",
2196 | "\n",
2197 | " 0 0.82 0.85 0.83 157\n",
2198 | " 1 0.78 0.73 0.75 111\n",
2199 | "\n",
2200 | " accuracy 0.80 268\n",
2201 | " macro avg 0.80 0.79 0.79 268\n",
2202 | "weighted avg 0.80 0.80 0.80 268\n",
2203 | "\n",
2204 | "\n",
2205 | "\n",
2206 | "Confusion_matrix: \n",
2207 | "\n"
2208 | ]
2209 | },
2210 | {
2211 | "data": {
2212 | "image/png": "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\n",
2213 | "text/plain": [
2214 | ""
2215 | ]
2216 | },
2217 | "metadata": {
2218 | "needs_background": "light"
2219 | },
2220 | "output_type": "display_data"
2221 | }
2222 | ],
2223 | "source": [
2224 | "# Random Forest Classifier\n",
2225 | "rf = RandomForestClassifier(n_estimators = 51)\n",
2226 | "classifier_report(\"Random Forest\", rf)"
2227 | ]
2228 | },
2229 | {
2230 | "cell_type": "code",
2231 | "execution_count": 52,
2232 | "metadata": {},
2233 | "outputs": [
2234 | {
2235 | "name": "stdout",
2236 | "output_type": "stream",
2237 | "text": [
2238 | "K-Neighbors Classifier Report:\n",
2239 | "\n",
2240 | " precision recall f1-score support\n",
2241 | "\n",
2242 | " 0 0.77 0.85 0.81 157\n",
2243 | " 1 0.76 0.64 0.69 111\n",
2244 | "\n",
2245 | " accuracy 0.76 268\n",
2246 | " macro avg 0.76 0.75 0.75 268\n",
2247 | "weighted avg 0.76 0.76 0.76 268\n",
2248 | "\n",
2249 | "\n",
2250 | "\n",
2251 | "Confusion_matrix: \n",
2252 | "\n"
2253 | ]
2254 | },
2255 | {
2256 | "data": {
2257 | "image/png": "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\n",
2258 | "text/plain": [
2259 | ""
2260 | ]
2261 | },
2262 | "metadata": {
2263 | "needs_background": "light"
2264 | },
2265 | "output_type": "display_data"
2266 | }
2267 | ],
2268 | "source": [
2269 | "# K-Neighbors Classifier\n",
2270 | "knn = KNeighborsClassifier(n_neighbors=3)\n",
2271 | "classifier_report(\"K-Neighbors\", knn)"
2272 | ]
2273 | },
2274 | {
2275 | "cell_type": "markdown",
2276 | "metadata": {},
2277 | "source": [
2278 | "# Model selection\n",
2279 | "\n",
2280 | "Decision tree model performs well compared to other models such as Logistic regression, Random forest and K-Neighbors Classifier. Random forest model has selected for further prediction and analytics.\n"
2281 | ]
2282 | },
2283 | {
2284 | "cell_type": "code",
2285 | "execution_count": 90,
2286 | "metadata": {},
2287 | "outputs": [
2288 | {
2289 | "data": {
2290 | "text/html": [
2291 | "\n",
2292 | "\n",
2305 | "
\n",
2306 | " \n",
2307 | " \n",
2308 | " \n",
2309 | " Survived \n",
2310 | " \n",
2311 | " \n",
2312 | " PassengerId \n",
2313 | " \n",
2314 | " \n",
2315 | " \n",
2316 | " \n",
2317 | " \n",
2318 | " 892 \n",
2319 | " 0 \n",
2320 | " \n",
2321 | " \n",
2322 | " 893 \n",
2323 | " 1 \n",
2324 | " \n",
2325 | " \n",
2326 | " 894 \n",
2327 | " 0 \n",
2328 | " \n",
2329 | " \n",
2330 | " 895 \n",
2331 | " 0 \n",
2332 | " \n",
2333 | " \n",
2334 | " 896 \n",
2335 | " 1 \n",
2336 | " \n",
2337 | " \n",
2338 | " ... \n",
2339 | " ... \n",
2340 | " \n",
2341 | " \n",
2342 | " 1305 \n",
2343 | " 0 \n",
2344 | " \n",
2345 | " \n",
2346 | " 1306 \n",
2347 | " 1 \n",
2348 | " \n",
2349 | " \n",
2350 | " 1307 \n",
2351 | " 0 \n",
2352 | " \n",
2353 | " \n",
2354 | " 1308 \n",
2355 | " 0 \n",
2356 | " \n",
2357 | " \n",
2358 | " 1309 \n",
2359 | " 0 \n",
2360 | " \n",
2361 | " \n",
2362 | "
\n",
2363 | "
418 rows × 1 columns
\n",
2364 | "
"
2365 | ],
2366 | "text/plain": [
2367 | " Survived\n",
2368 | "PassengerId \n",
2369 | "892 0\n",
2370 | "893 1\n",
2371 | "894 0\n",
2372 | "895 0\n",
2373 | "896 1\n",
2374 | "... ...\n",
2375 | "1305 0\n",
2376 | "1306 1\n",
2377 | "1307 0\n",
2378 | "1308 0\n",
2379 | "1309 0\n",
2380 | "\n",
2381 | "[418 rows x 1 columns]"
2382 | ]
2383 | },
2384 | "execution_count": 90,
2385 | "metadata": {},
2386 | "output_type": "execute_result"
2387 | }
2388 | ],
2389 | "source": [
2390 | "submission = pd.read_csv(\"gender_submission.csv\", index_col='PassengerId')\n",
2391 | "submission"
2392 | ]
2393 | },
2394 | {
2395 | "cell_type": "code",
2396 | "execution_count": 91,
2397 | "metadata": {},
2398 | "outputs": [],
2399 | "source": [
2400 | "rf = DecisionTreeClassifier(random_state=41)\n",
2401 | "rf.fit(X_train, y_train)\n",
2402 | "y_test_pred = rf.predict(X_test)"
2403 | ]
2404 | },
2405 | {
2406 | "cell_type": "code",
2407 | "execution_count": 92,
2408 | "metadata": {},
2409 | "outputs": [
2410 | {
2411 | "data": {
2412 | "text/plain": [
2413 | "0 0\n",
2414 | "1 1\n",
2415 | "2 0\n",
2416 | "3 0\n",
2417 | "4 1\n",
2418 | " ..\n",
2419 | "413 0\n",
2420 | "414 1\n",
2421 | "415 0\n",
2422 | "416 0\n",
2423 | "417 0\n",
2424 | "Name: Survived, Length: 418, dtype: int32"
2425 | ]
2426 | },
2427 | "execution_count": 92,
2428 | "metadata": {},
2429 | "output_type": "execute_result"
2430 | }
2431 | ],
2432 | "source": [
2433 | "test_survived = pd.Series(rf.predict(testDf), name = \"Survived\").astype(int)\n",
2434 | "test_survived"
2435 | ]
2436 | },
2437 | {
2438 | "cell_type": "code",
2439 | "execution_count": 93,
2440 | "metadata": {},
2441 | "outputs": [
2442 | {
2443 | "name": "stdout",
2444 | "output_type": "stream",
2445 | "text": [
2446 | "\n",
2447 | " precision recall f1-score support\n",
2448 | "\n",
2449 | " 0 0.87 0.92 0.90 266\n",
2450 | " 1 0.85 0.76 0.80 152\n",
2451 | "\n",
2452 | " accuracy 0.86 418\n",
2453 | " macro avg 0.86 0.84 0.85 418\n",
2454 | "weighted avg 0.86 0.86 0.86 418\n",
2455 | "\n",
2456 | "\n",
2457 | "\n",
2458 | "Confusion_matrix: \n",
2459 | "\n"
2460 | ]
2461 | },
2462 | {
2463 | "data": {
2464 | "image/png": "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\n",
2465 | "text/plain": [
2466 | ""
2467 | ]
2468 | },
2469 | "metadata": {
2470 | "needs_background": "light"
2471 | },
2472 | "output_type": "display_data"
2473 | }
2474 | ],
2475 | "source": [
2476 | "print(\"\\n\", metrics.classification_report(submission, test_survived))\n",
2477 | "# Compute confusion matrix\n",
2478 | "print(\"\\n\\nConfusion_matrix: \\n\")\n",
2479 | "cnf_matrix = metrics.confusion_matrix(submission, test_survived)\n",
2480 | "ax= plt.subplot()\n",
2481 | "sns.heatmap(cnf_matrix, annot=True, ax = None, fmt= '.1f' , cmap= 'Blues', linewidths=0.5); #annot=True to annotate cells "
2482 | ]
2483 | },
2484 | {
2485 | "cell_type": "code",
2486 | "execution_count": 107,
2487 | "metadata": {},
2488 | "outputs": [],
2489 | "source": [
2490 | "results = pd.concat([submission, test_survived],axis = 0)\n",
2491 | "submission.to_csv(\"titanic.csv\", index = False)"
2492 | ]
2493 | },
2494 | {
2495 | "cell_type": "code",
2496 | "execution_count": 104,
2497 | "metadata": {},
2498 | "outputs": [],
2499 | "source": [
2500 | "submission['test_survived'] = pd.Series(test_survived)"
2501 | ]
2502 | },
2503 | {
2504 | "cell_type": "code",
2505 | "execution_count": 105,
2506 | "metadata": {},
2507 | "outputs": [
2508 | {
2509 | "data": {
2510 | "text/html": [
2511 | "\n",
2512 | "\n",
2525 | "
\n",
2526 | " \n",
2527 | " \n",
2528 | " \n",
2529 | " Survived \n",
2530 | " test_survived \n",
2531 | " \n",
2532 | " \n",
2533 | " PassengerId \n",
2534 | " \n",
2535 | " \n",
2536 | " \n",
2537 | " \n",
2538 | " \n",
2539 | " \n",
2540 | " 892 \n",
2541 | " 0 \n",
2542 | " NaN \n",
2543 | " \n",
2544 | " \n",
2545 | " 893 \n",
2546 | " 1 \n",
2547 | " NaN \n",
2548 | " \n",
2549 | " \n",
2550 | " 894 \n",
2551 | " 0 \n",
2552 | " NaN \n",
2553 | " \n",
2554 | " \n",
2555 | " 895 \n",
2556 | " 0 \n",
2557 | " NaN \n",
2558 | " \n",
2559 | " \n",
2560 | " 896 \n",
2561 | " 1 \n",
2562 | " NaN \n",
2563 | " \n",
2564 | " \n",
2565 | " ... \n",
2566 | " ... \n",
2567 | " ... \n",
2568 | " \n",
2569 | " \n",
2570 | " 1305 \n",
2571 | " 0 \n",
2572 | " NaN \n",
2573 | " \n",
2574 | " \n",
2575 | " 1306 \n",
2576 | " 1 \n",
2577 | " NaN \n",
2578 | " \n",
2579 | " \n",
2580 | " 1307 \n",
2581 | " 0 \n",
2582 | " NaN \n",
2583 | " \n",
2584 | " \n",
2585 | " 1308 \n",
2586 | " 0 \n",
2587 | " NaN \n",
2588 | " \n",
2589 | " \n",
2590 | " 1309 \n",
2591 | " 0 \n",
2592 | " NaN \n",
2593 | " \n",
2594 | " \n",
2595 | "
\n",
2596 | "
418 rows × 2 columns
\n",
2597 | "
"
2598 | ],
2599 | "text/plain": [
2600 | " Survived test_survived\n",
2601 | "PassengerId \n",
2602 | "892 0 NaN\n",
2603 | "893 1 NaN\n",
2604 | "894 0 NaN\n",
2605 | "895 0 NaN\n",
2606 | "896 1 NaN\n",
2607 | "... ... ...\n",
2608 | "1305 0 NaN\n",
2609 | "1306 1 NaN\n",
2610 | "1307 0 NaN\n",
2611 | "1308 0 NaN\n",
2612 | "1309 0 NaN\n",
2613 | "\n",
2614 | "[418 rows x 2 columns]"
2615 | ]
2616 | },
2617 | "execution_count": 105,
2618 | "metadata": {},
2619 | "output_type": "execute_result"
2620 | }
2621 | ],
2622 | "source": [
2623 | "submission"
2624 | ]
2625 | },
2626 | {
2627 | "cell_type": "code",
2628 | "execution_count": 106,
2629 | "metadata": {},
2630 | "outputs": [],
2631 | "source": [
2632 | "test_survived.to_csv(\"test_survived.csv\", index = False)"
2633 | ]
2634 | },
2635 | {
2636 | "cell_type": "code",
2637 | "execution_count": 98,
2638 | "metadata": {},
2639 | "outputs": [
2640 | {
2641 | "data": {
2642 | "text/plain": [
2643 | "pandas.core.series.Series"
2644 | ]
2645 | },
2646 | "execution_count": 98,
2647 | "metadata": {},
2648 | "output_type": "execute_result"
2649 | }
2650 | ],
2651 | "source": [
2652 | "type(test_survived)"
2653 | ]
2654 | },
2655 | {
2656 | "cell_type": "code",
2657 | "execution_count": 99,
2658 | "metadata": {},
2659 | "outputs": [
2660 | {
2661 | "data": {
2662 | "text/plain": [
2663 | "pandas.core.frame.DataFrame"
2664 | ]
2665 | },
2666 | "execution_count": 99,
2667 | "metadata": {},
2668 | "output_type": "execute_result"
2669 | }
2670 | ],
2671 | "source": [
2672 | "type(submission)"
2673 | ]
2674 | },
2675 | {
2676 | "cell_type": "code",
2677 | "execution_count": 88,
2678 | "metadata": {},
2679 | "outputs": [
2680 | {
2681 | "data": {
2682 | "text/plain": [
2683 | "836"
2684 | ]
2685 | },
2686 | "execution_count": 88,
2687 | "metadata": {},
2688 | "output_type": "execute_result"
2689 | }
2690 | ],
2691 | "source": [
2692 | "len(results)"
2693 | ]
2694 | },
2695 | {
2696 | "cell_type": "code",
2697 | "execution_count": 67,
2698 | "metadata": {},
2699 | "outputs": [
2700 | {
2701 | "data": {
2702 | "text/plain": [
2703 | "418"
2704 | ]
2705 | },
2706 | "execution_count": 67,
2707 | "metadata": {},
2708 | "output_type": "execute_result"
2709 | }
2710 | ],
2711 | "source": [
2712 | "len(submission)"
2713 | ]
2714 | },
2715 | {
2716 | "cell_type": "code",
2717 | "execution_count": 64,
2718 | "metadata": {},
2719 | "outputs": [
2720 | {
2721 | "data": {
2722 | "text/plain": [
2723 | "418"
2724 | ]
2725 | },
2726 | "execution_count": 64,
2727 | "metadata": {},
2728 | "output_type": "execute_result"
2729 | }
2730 | ],
2731 | "source": [
2732 | "len(test_survived)"
2733 | ]
2734 | },
2735 | {
2736 | "cell_type": "code",
2737 | "execution_count": 66,
2738 | "metadata": {},
2739 | "outputs": [
2740 | {
2741 | "data": {
2742 | "text/plain": [
2743 | "418"
2744 | ]
2745 | },
2746 | "execution_count": 66,
2747 | "metadata": {},
2748 | "output_type": "execute_result"
2749 | }
2750 | ],
2751 | "source": [
2752 | "len(testDf)"
2753 | ]
2754 | },
2755 | {
2756 | "cell_type": "code",
2757 | "execution_count": 48,
2758 | "metadata": {},
2759 | "outputs": [],
2760 | "source": [
2761 | "rf = DecisionTreeClassifier(random_state=41)\n",
2762 | "rf.fit(X_train, y_train)\n",
2763 | "y_test_pred = rf.predict(testDf)"
2764 | ]
2765 | },
2766 | {
2767 | "cell_type": "code",
2768 | "execution_count": 49,
2769 | "metadata": {},
2770 | "outputs": [
2771 | {
2772 | "data": {
2773 | "text/plain": [
2774 | "array([0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0,\n",
2775 | " 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1,\n",
2776 | " 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0,\n",
2777 | " 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0,\n",
2778 | " 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,\n",
2779 | " 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0,\n",
2780 | " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,\n",
2781 | " 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1,\n",
2782 | " 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
2783 | " 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0,\n",
2784 | " 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1,\n",
2785 | " 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1,\n",
2786 | " 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,\n",
2787 | " 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,\n",
2788 | " 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,\n",
2789 | " 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,\n",
2790 | " 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0,\n",
2791 | " 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1,\n",
2792 | " 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0],\n",
2793 | " dtype=int64)"
2794 | ]
2795 | },
2796 | "execution_count": 49,
2797 | "metadata": {},
2798 | "output_type": "execute_result"
2799 | }
2800 | ],
2801 | "source": [
2802 | "y_test_pred"
2803 | ]
2804 | },
2805 | {
2806 | "cell_type": "code",
2807 | "execution_count": 50,
2808 | "metadata": {},
2809 | "outputs": [],
2810 | "source": [
2811 | "submission = pd.read_csv(\"gender_submission.csv\", index_col='PassengerId')\n",
2812 | "submission"
2813 | ]
2814 | },
2815 | {
2816 | "cell_type": "code",
2817 | "execution_count": 52,
2818 | "metadata": {},
2819 | "outputs": [
2820 | {
2821 | "name": "stdout",
2822 | "output_type": "stream",
2823 | "text": [
2824 | "\n",
2825 | " precision recall f1-score support\n",
2826 | "\n",
2827 | " 0 0.87 0.92 0.90 266\n",
2828 | " 1 0.85 0.76 0.80 152\n",
2829 | "\n",
2830 | " accuracy 0.86 418\n",
2831 | " macro avg 0.86 0.84 0.85 418\n",
2832 | "weighted avg 0.86 0.86 0.86 418\n",
2833 | "\n",
2834 | "\n",
2835 | "\n",
2836 | "Confusion_matrix: \n",
2837 | "\n"
2838 | ]
2839 | },
2840 | {
2841 | "data": {
2842 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAD4CAYAAADSIzzWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZ0ElEQVR4nO3deZgV1b3u8e+vG0FGGwm0yNwKRHDAiCjHqCgacURiNHJyceLYGuVG7okDQyLRPCaeaPRIOFdtLyoaRUlwOsYxqCFGQECQQUAGB+g03RwQGpGpu3/3j13oFnrYu9m9q6t4P89TD3uvqlq1dsLzuli1qpa5OyIikn05YTdARORApQAWEQmJAlhEJCQKYBGRkCiARURC0iQL19A0CxFJle1vBc2PH5Vy5mxfMGm/r7c/shHAND9+VDYuIxGxfcEkAHZUhNwQaVQOzkoaNS4H4E8WkViz6IysKoBFJF5ycsNuQcoUwCISLxbqsG5aFMAiEi8aghARCYl6wCIiIVEPWEQkJOoBi4iERLMgRERCoiEIEZGQaAhCRCQk6gGLiIREASwiEpJc3YQTEQmHxoBFREISoSGI6LRURCQVZqlvtVZjXczsbTP7yMyWmtlNQfk9ZrbczBaZ2fNmlheUdzez7Wa2MNgeqqup6gGLSLxkrgdcAfzc3T8ws9bAfDN7E3gTGOvuFWb2H8BY4LbgnNXu3i/VC6gHLCLxkqEesLuXuPsHweetwDKgk7u/4e571nOZDXSub1MVwCISLzm5KW9mVmhm85K2wuqqNLPuwPHAnL12XQO8mvS9h5ktMLO/mdmpdTVVQxAiEi9pDEG4exFQVGt1Zq2A6cBody9PKh9PYpjiqaCoBOjq7hvN7ATgBTPrm3zO3hTAIhIvGZyGZmYHkQjfp9z9uaTyq4ALgMHu7gDuvhPYGXyeb2argV7AvJrqVwCLSLxk6CacmRkwGVjm7vcllQ8BbgVOd/evksrbA5vcvdLMCoCewJrarqEAFpF4ydwsiFOAEcBiM1sYlI0DJgLNgDcTGc1sd78eOA2408x2A1XA9e6+qbYLKIBFJF4y9D5gd38XqG4845Uajp9OYrgiZQpgEYkXPYosIhKSCD2KrAAWkXhRD1hEJBymABYRCYcCWEQkJJajABYRCYV6wCIiIVEAi4iERAEsIhKW6OSvAlhE4kU9YBGRkOTk6Ek4EZFQqAcsIhKW6OSvAlhE4iVKPeDoDJaIiKTAzFLe6qini5m9bWYfmdlSM7spKD/UzN40s5XBn22DcjOziWa2yswWmdn36mqrAlhEYsVyLOWtDhXAz929D3AycKOZ9QHGADPcvScwI/gOcC6JZYh6AoXAg3VdQAEsIrGSqR6wu5e4+wfB563AMqATMBSYEhw2Bbg4+DwUeMITZgN5ZtaxtmsogEUkVtIJYDMrNLN5SVthDXV2B44H5gD57l4S7FoP5AefOwFrk05bF5TVSDfhRCRW0rkJ5+5FQFEd9bUisdbbaHcvT67f3d3MvJ5NVQCLSLxkchaEmR1EInyfcvfnguJSM+vo7iXBEENZUF4MdEk6vXNQViMNQYhIvFgaW23VJJJ8MrDM3e9L2vUScGXw+UrgxaTyK4LZECcDW5KGKqqlHrCIxEoGH0U+BRgBLDazhUHZOOBuYJqZjQQ+Ay4L9r0CnAesAr4Crq7rAgpgEYmVTA1BuPu71NxPHlzN8Q7cmM41FMAiEi/ReRBOY8D11Tk/j9eKfsYH08cz/8/juXH4oG/tv2nEmWxfMIl2eS0BOPWEnqyfeQ+znxnD7GfGMLZwSLX1dju8HTOfuJklL07gybuv5qAmuQ39U6SBrC8pYeRVIxh24XkMu+h8nnoyMXX0jddfZdhF59Pv6O+ydMniGs//x99nctH553DBkLOZ/EitN+olSabmAWeDesD1VFFZxZj7nmPh8nW0atGM956+jRlzlrN8zXo65+cx+OSj+Lxk07fO+ceC1Vxy00O11nvXTUP5w1Nv86fX5zNx/OVcNWwgj/zp3Yb8KdJAcpvkcvOtYziqT1+2bfuSyy+9hJMHnsKRR/bi/gf+wK/vmFDjuZWVlfzmrjt5+JHHyM/P519//CMGnXEmRxx5ZBZ/QTQ1hmBNVZ09YDP7rpndFjzjPDH4fFQ2GteYrf+fchYuXwfAl1/tZPkn6zm8fR4Av7v5EsY/8AKJIaH0nH5iL5776wIAnvrvOVw46LiMtVmyq337DhzVpy8ALVu2oqCggLKyUgqOOILuPQpqPXfJ4kV06dKNzl26cFDTpgw573zeeXtGNpodeVHqAdcawGZ2G/AMiVGV94PNgKlmNqa2cw8kXTseSr/enZm75FMuGHQM/yzbzOKP953+d9KxPZjz7BhemPRTjio4bJ/97fJasmXrdiorqwAoLv2Cwzsc0uDtl4ZXXLyO5cuWccyxqf0Htay0lMM6fvN3pEN+PqWlpQ3VvFjJ4LsgGlxdQxAjgb7uvju50MzuA5aSmI6xj+BxvkKAhx9+OAPNbLxaNm/K1Hv/jVvunU5FZSW3XnMOF9wwaZ/jFi5fS+/zfsm27bs45/t9mHZ/IccMvTOEFku2fbVtGz8f/TNuGTOOVq1ahd2c2GsMPdtU1TUEUQUcXk15x2Bftdy9yN37u3v/wsJqH62OhSZNcph677U8++o8XnzrQwo6t6dbp3a8/+xYlv/lDjp1yGPW07eR3641W7ftYNv2XQC8/u5HHNQk9+sbdHts3LyNQ1o3Jzc38X9Lp/y2/LNsS9Z/l2TO7t27+ffRP+O88y/krLN/kPJ5HfLzWV+y/uvvZaWl5Ofn13KG7BGlIYi6esCjgRlmtpJvXjLRFTgSGNWA7YqEhyb8hBWfrGfiH98CYOmqf9Jt8Niv9y//yx2c8pPfsXHzNvLbtaZ041YA+vftRo4ZGzdv26fOmfM+5odnHc+fXp/PTy48iZffWZSdHyMZ5+786vbxFBQUcMVVdc7J/5a+Rx/D559/yrp1a8nvkM9rr/yF397z+wZqabw0glxNWa0B7O6vmVkvYADfvNWnGJjr7pUN3bjG7F/6FfCTC05i8cfFzH4mMRw+YdJLvP7uR9UeP+ys47n20lOpqKxkx47dXDH2sa/3Pf+Hn3LDnU9TsmEL4x94kSfvvpoJN1zAhyvW8vgLs7LyeyTzFnwwn5dfepGevXpx2Q+HAvC/R/87u3bt4u7f/JovNm1i1A3X0bv3UTz0yGTKykq54/Zf8F8PPUKTJk0YO/52flr4b1RVVXLxsEs48sieIf+iaGgMPdtUWX3u1KfJmx9/wHeWJcn2BYkx8h0VITdEGpWDE93B/U7P3re9nnKorfiPc0JNa80DFpFYiVAHWAEsIvGS0wiml6VKASwisaIesIhISKJ0E04BLCKxEqH8VQCLSLxk8IXsmNmjwAVAmbsfHZQ9C/QODskDNrt7v2DhzmXAimDfbHe/vrb6FcAiEisZ7gE/DkwCnthT4O4//uZa9nsg+XHV1e7eL9XKFcAiEiuZHAN295lBz7a66xiJ5YjOrG/9eiG7iMSKWTqbFZrZvKQtnZfXnAqUuvvKpLIeZrbAzP5mZqfWVYF6wCISK+n0gN29CKjvciPDgalJ30uAru6+0cxOAF4ws77uXl5TBQpgEYmVbMyCMLMmwA+BE/aUuftOYGfweb6ZrQZ6AfNqqkcBLCKxkqUn4c4Clrv7uj0FZtYe2OTulWZWAPQE1tRWicaARSRWMvk+YDObCswCepvZOjMbGey6nG8PPwCcBiwys4XAn4Hr3X0TtVAPWERiJZNDEO4+vIbyq6opmw5MT6d+BbCIxIoeRRYRCUmE8lcBLCLxotdRioiEREMQIiIhUQCLiIQkQvmrABaReFEPWEQkJBHKXwWwiMSLZkGIiIQkJ0JdYAWwiMRKhPJXASwi8aKbcCIiIYnQELACWETiRTfhRERCYkQngPVCdhGJlRxLfauLmT1qZmVmtiSp7FdmVmxmC4PtvKR9Y81slZmtMLNz6qpfPWARiZUM34R7HJgEPLFX+f3ufu9e1+1DYqWMvsDhwF/NrJe7V9ZUuXrAIhIr6SxLXxd3nwnUuqxQkqHAM+6+090/AVYBA2o7QQEsIrGSY5byth9GmdmiYIiibVDWCVibdMy6oKzmtu5PC0REGpucHEt5M7NCM5uXtBWmcIkHgSOAfkAJ8Pv6tlVjwCISK+l0bN29CChKp353L/3mWvYI8HLwtRjoknRo56CsRuoBi0isNPQQhJl1TPo6DNgzQ+Il4HIza2ZmPYCewPu11aUesIjESibnQJjZVGAQ8B0zWwdMAAaZWT/AgU+B6wDcfamZTQM+AiqAG2ubAQEKYBGJmUxOQ3P34dUUT67l+LuAu1KtXwEsIrESoSeRFcAiEi96F4SISEj0OkoRkZBEqAOsABaReFEPWEQkJNGJXwWwiMRMboTGIBTAIhIrGoIQEQlJhPJXASwi8bKfr5nMqqwE8PYFk7JxGYmYg/Wff2kAEcpf9YBFJF40BryXDVsrsnEZiYj2rRN/7e55Z03ILZHG5JZBBRmpJ1cBLCISjgjNQlMAi0i8KIBFREISpTFgLUkkIrGSY6lvdQlWPS4zsyVJZfeY2fJgVeTnzSwvKO9uZtvNbGGwPVRnW/fjd4qINDpmqW8peBwYslfZm8DR7n4s8DEwNmnfanfvF2zX11W5AlhEYqWJWcpbXdx9JrBpr7I33H3P1K7ZJFY/rhcFsIjESjo9YDMrNLN5SVthmpe7Bng16XsPM1tgZn8zs1PrOlk34UQkVtJ5FNndi4Ci+lzHzMaTWP34qaCoBOjq7hvN7ATgBTPr6+7lNdWhABaRWMnGJAgzuwq4ABjs7g7g7juBncHn+Wa2GugFzKupHgWwiMRKQ88DNrMhwK3A6e7+VVJ5e2CTu1eaWQHQE6j1cU8FsIjESiZfyG5mU4FBwHfMbB0wgcSsh2bAm8Gc49nBjIfTgDvNbDdQBVzv7puqrTigABaRWMlkD9jdh1dTPLmGY6cD09OpXwEsIrFiEVoVTgEsIrGid0GIiIREASwiEpIovYxHASwisZIboed7FcAiEitalFNEJCQaAxYRCUmEOsAKYBGJlxzNAxYRCYd6wCIiIWkSoUFgBbCIxIp6wCIiIdE0NBGRkEQofxXAIhIvEXoQLlJtFRGpU45ZyltdzOxRMyszsyVJZYea2ZtmtjL4s21QbmY20cxWmdkiM/tenW3dr18qItLIZDKAgceBIXuVjQFmuHtPYEbwHeBcEssQ9QQKgQfrbGuKv0lEJBIsja0u7j4T2HtZoaHAlODzFODipPInPGE2kGdmHWurXwEsIrFils5mhWY2L2krTOES+e5eEnxeD+QHnzsBa5OOWxeU1Ug34UQkVtJ5H7C7FwFF9b2Wu7uZeX3PVw9YRGIlJ42tnkr3DC0Ef5YF5cVAl6TjOgdltbZVRCQ2MnwTrjovAVcGn68EXkwqvyKYDXEysCVpqKJaGoIQkVjJ5JJEZjYVGAR8x8zWAROAu4FpZjYS+Ay4LDj8FeA8YBXwFXB1XfUrgEUkVjL5z3p3H17DrsHVHOvAjenUrwAWkVjRopwiIiGJTvwqgEUkZnLVAxYRCUeE8lcBLCLxYhEahFAAi0isqAcsIhISrYosIhIS9YBFREKiNeFEREISoVXpFcAiEi+aBSEiEpIIjUAogDNh586djLr2Cnbt3kVlZSVnDP4BI68bhbtT9H8n8vaM18nNyeXiH/2YSy//X/uc/+rLLzBl8sMAXDnyOs694OIs/wLJlJlT7uPzxe/TvHUel0x4CIA18//OB//9RzavX8vQMf9J++69vj5+47pP+McfJ7Jrx1eY5TB03AM0Oajpt+rcsW0rbz3yW77cWEqrdvkMvnYszVq2zurvihL1gA8wTZs25YGHHqVFi5ZUVOzmpyNHcNK/nMpnn6yhrHQ9T//5ZXJycvhi08Z9zi3fsplHH3mQyU88C2aMHHEZp5x2Bm3aHBLCL5H91XPg2fQ54yL+9ti9X5e1PbwbZ13/S959auK3jq2qrOSdR3/HoKtvoV2XAnZ8WU5Obu4+dX742jQ6fbcfxw25jA9fm8aHr01jwCUjG/y3RFWUxoD1QvYMMDNatGgJQEVFBZUVFZgZL/z5Ga6+9npychL/M7c9tN0+586Z9Q9OHDCQNofk0abNIZw4YCBz3ns3q+2XzOnY6xiatfh277Rtx67kHdZ5n2OLP5rPoZ160K5LAQAHt2pDTs6+Afz5h7PoOfAsAHoOPIvPPpzVAC2Pjyy8kD1j1APOkMrKSkaOuJTitZ8z7NLh9D36WIqL1zLjjdeY+c4M8tq2ZfTN4+jStdu3ztuwoYwO+Yd9/b1Dfj4bNpTtXb3E0JbSYsyMVx8Yz46tWyg48XSOO+fSfY7bXr6ZFoccCkDzNm3ZXr45yy2NlkzFqpn1Bp5NKioAbgfygGuBDUH5OHd/pT7XqHcP2MxqfNt78kqjRUX1Xu8uUnJzc3n86ed47pW3WLZ0MWtWrWT3rl00bdaMyU9O46KLf8Rv7/xF2M2URqSqqpL1q5ZyxshbufDWe/lswXsUL1tQ6zm2ZzlfqVGmesDuvsLd+7l7P+AEEqtcPB/svn/PvvqGL+zfEMQdNe1w9yJ37+/u/QsLU1nlOT5at27D9/oPYPasd2nf4TBOPyPxT8fTzjiL1Ss/3uf49u07UFa6/uvvZaWltG/fIWvtlfC0bPsdOvY8moNbHUKTpgfT5ZgT2fj56n2Oa94mj6+2bALgqy2baN5a9wdqY2lsaRgMrHb3zzLY1NoD2MwW1bAtBvIz2ZAo++KLTWzdWg7Azh07mDtnFt269+DUQWfywbz3AVgwfy5dunXb59yTBp7C3DnvUV6+hfLyLcyd8x4nDTwlq+2XcHTucwKbij+lYtcOqiorKfl4MXmHd93nuK7HnszKWX8FYOWsv9L1uIHZbmq0pJHAyf9aD7aaeoyXA1OTvo8KsvBRM2tb76YmljGqYadZKXAO8MXeu4D33P3wFK7hG7ZW1Ld9kbBq5QrumjCOqqoqqqqqOPPsc7j62hvYurWcO39xG6XrS2jeogU3j72dnr2+y/KPlvDC9GmM+eWdALz84nM8+VhiqOaKa67j/IuGhflzGlz71olbD/e8sybklmTeW//vbkpWLGLHl+U0b5PHCReOoFnLVrz3zIPs+HILTZu3ol2XAs696S4AVs5+iw9fexYzo/PRJ3JSMLth5hP/yVGnnUf77r3Y8WU5bxX9hi+/2ECrQztwZuE4Do7hNLRbBhVABoZw31+zpeZQ28uAgkPqvJ6ZNQX+CfR191Izywf+B3Dg10BHd7+mPm2tK4AnA4+5+z635c3saXf/1xSuEfsAlvTEOYCl/jIVwHPTCOATUwvgocCN7v6DavZ1B15296PTamSg1lkQ7l7jZMMUw1dEJLsyf49yOEnDD2bW0d1Lgq/DgCX1rVjT0EQkVjL5JJyZtQTOBq5LKv6dmfUjMQTx6V770qIAFpFYyeQsPXffBrTbq2xEpupXAItIrERplrQCWERixSL0oIoCWERiJUL5qwAWkXiJUP4qgEUkZiKUwApgEYkVvZBdRCQkGgMWEQmJAlhEJCQaghARCYl6wCIiIYlQ/iqARSRmIpTACmARiZXGsNpxqhTAIhIr0YlfBbCIxE2EElgBLCKxkuEXsn8KbAUqgQp3729mhwLPAt1JvJD9Mnffe93MlOzPsvQiIo2OWepbis5w937u3j/4PgaY4e49gRnB93pRAItIrKSxKn19DQWmBJ+nABfXtyIFsIjEipmlvKXAgTfMbL6ZFQZl+UmLcq4H8uvbVo0Bi0ispDMLLQjVwqSiIncvSvr+fXcvNrMOwJtmtjz5fHd3M/P6tlUBLCKxks7QQhC2RbXsLw7+LDOz54EBQOmepenNrCNQVt+2aghCROIlQ4PAZtbSzFrv+Qz8AFgCvARcGRx2JfBifZuqHrCIxEoGp6HlA88HY8VNgKfd/TUzmwtMM7ORwGfAZfW9gAJYRGIlU08iu/sa4LhqyjcCgzNxDQWwiMRKjp6EExEJS3QSWAEsIrESoZehKYBFJF4ilL8KYBGJF/WARURCkuIjxo2CAlhEYiU68asAFpGYiVAHWAEsIvGSyReyNzQFsIjES3TyVwEsIvESofxVAItIvGhZehGRkEQof/U+YBGRsKgHLCKxEqUesAJYRGIlStPQNAQhIrFilvpWez3WxczeNrOPzGypmd0UlP/KzIrNbGGwnVfftqoHLCKxksEhiArg5+7+QbA23HwzezPYd7+737u/F1AAi0isZGoIwt1LgJLg81YzWwZ0ykjlAQ1BiEispDMEYWaFZjYvaSusvk7rDhwPzAmKRpnZIjN71Mza1retCmARiZV0VqV39yJ375+0Fe1Tn1krYDow2t3LgQeBI4B+JHrIv69vWxXAIhIv6SRwXVWZHUQifJ9y9+cA3L3U3SvdvQp4BBhQ76a6e33PTVWDX0BEYmO/B3B3VKSeOQc3qfl6lniz+xRgk7uPTirvGIwPY2b/BzjJ3S+vT1uzEcASMLPC6v6JIwc2/b1onMzs+8DfgcVAVVA8DhhOYvjBgU+B6/YEctrXUABnj5nNc/f+YbdDGhf9vThwaQxYRCQkCmARkZAogLNL43xSHf29OEBpDFhEJCTqAYuIhEQBLCISEgVwlpjZEDNbYWarzGxM2O2R8AXvESgzsyVht0XCoQDOAjPLBf4LOBfoAww3sz7htkoagceBIWE3QsKjAM6OAcAqd1/j7ruAZ4ChIbdJQubuM4FNYbdDwqMAzo5OwNqk7+vI8HtFRSR6FMAiIiFRAGdHMdAl6XvnoExEDmAK4OyYC/Q0sx5m1hS4HHgp5DaJSMgUwFng7hXAKOB1YBkwzd2XhtsqCZuZTQVmAb3NbJ2ZjQy7TZJdehRZRCQk6gGLiIREASwiEhIFsIhISBTAIiIhUQCLiIREASwiEhIFsIhISP4/VKcJn88voFoAAAAASUVORK5CYII=\n",
2843 | "text/plain": [
2844 | ""
2845 | ]
2846 | },
2847 | "metadata": {
2848 | "needs_background": "light"
2849 | },
2850 | "output_type": "display_data"
2851 | }
2852 | ],
2853 | "source": [
2854 | "print(\"\\n\", metrics.classification_report(submission, y_test_pred))\n",
2855 | "# Compute confusion matrix\n",
2856 | "print(\"\\n\\nConfusion_matrix: \\n\")\n",
2857 | "cnf_matrix = metrics.confusion_matrix(submission, y_test_pred)\n",
2858 | "ax= plt.subplot()\n",
2859 | "sns.heatmap(cnf_matrix, annot=True, ax = None, fmt= '.1f' , cmap= 'Blues', linewidths=0.5); #annot=True to annotate cells "
2860 | ]
2861 | },
2862 | {
2863 | "cell_type": "markdown",
2864 | "metadata": {},
2865 | "source": [
2866 | "# Conclution: \n",
2867 | "\n",
2868 | "The results as per the Accuracy for Decision Tree is 86%.\n",
2869 | "\n",
2870 | "The training set should be used to build machine learning models. The test set should be used to see how well the model performs on unseen data.\n",
2871 | "\n",
2872 | "For the test set, they do not provide the ground truth for each passenger. It is the challenge to predict these outcomes. For each passenger in the test set, use the trained model to predict whether or not they survived the sinking of the Titanic.\n"
2873 | ]
2874 | }
2875 | ],
2876 | "metadata": {
2877 | "kernelspec": {
2878 | "display_name": "Python 3 (ipykernel)",
2879 | "language": "python",
2880 | "name": "python3"
2881 | },
2882 | "language_info": {
2883 | "codemirror_mode": {
2884 | "name": "ipython",
2885 | "version": 3
2886 | },
2887 | "file_extension": ".py",
2888 | "mimetype": "text/x-python",
2889 | "name": "python",
2890 | "nbconvert_exporter": "python",
2891 | "pygments_lexer": "ipython3",
2892 | "version": "3.11.5"
2893 | }
2894 | },
2895 | "nbformat": 4,
2896 | "nbformat_minor": 4
2897 | }
2898 |
--------------------------------------------------------------------------------