├── 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 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\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 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | " \n", 443 | " \n", 444 | " \n", 445 | " \n", 446 | " \n", 447 | " \n", 448 | " \n", 449 | " \n", 450 | " \n", 451 | " \n", 452 | " \n", 453 | " \n", 454 | " \n", 455 | " \n", 456 | " \n", 457 | " \n", 458 | " \n", 459 | " \n", 460 | " \n", 461 | " \n", 462 | " \n", 463 | " \n", 464 | " \n", 465 | " \n", 466 | " \n", 467 | " \n", 468 | " \n", 469 | " \n", 470 | "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
616211Icard, Miss. Ameliefemale38.00011357280.0B28NaN
82983011Stone, Mrs. George Nelson (Martha Evelyn)female62.00011357280.0B28NaN
\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 | " \n", 519 | " \n", 520 | " \n", 521 | " \n", 522 | " \n", 523 | " \n", 524 | " \n", 525 | " \n", 526 | " \n", 527 | " \n", 528 | " \n", 529 | " \n", 530 | " \n", 531 | " \n", 532 | " \n", 533 | " \n", 534 | "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
\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 | " \n", 612 | " \n", 613 | " \n", 614 | " \n", 615 | " \n", 616 | " \n", 617 | " \n", 618 | " \n", 619 | " \n", 620 | " \n", 621 | " \n", 622 | " \n", 623 | " \n", 624 | " \n", 625 | " \n", 626 | " \n", 627 | " \n", 628 | " \n", 629 | " \n", 630 | " \n", 631 | " \n", 632 | " \n", 633 | " \n", 634 | " \n", 635 | " \n", 636 | " \n", 637 | " \n", 638 | " \n", 639 | " \n", 640 | "
PassengerIdPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
15210443Storey, Mr. Thomasmale60.5003701NaNNaNS
\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 | " \n", 687 | " \n", 688 | " \n", 689 | " \n", 690 | " \n", 691 | " \n", 692 | " \n", 693 | " \n", 694 | " \n", 695 | " \n", 696 | " \n", 697 | " \n", 698 | " \n", 699 | " \n", 700 | " \n", 701 | "
PassengerIdPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
\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 | " \n", 808 | " \n", 809 | " \n", 810 | " \n", 811 | " \n", 812 | " \n", 813 | " \n", 814 | " \n", 815 | " \n", 816 | " \n", 817 | " \n", 818 | " \n", 819 | " \n", 820 | " \n", 821 | " \n", 822 | " \n", 823 | " \n", 824 | " \n", 825 | " \n", 826 | " \n", 827 | " \n", 828 | " \n", 829 | " \n", 830 | " \n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | " \n", 871 | " \n", 872 | " \n", 873 | " \n", 874 | " \n", 875 | " \n", 876 | " \n", 877 | " \n", 878 | " \n", 879 | " \n", 880 | " \n", 881 | " \n", 882 | " \n", 883 | " \n", 884 | " \n", 885 | " \n", 886 | " \n", 887 | " \n", 888 | " \n", 889 | " \n", 890 | " \n", 891 | " \n", 892 | " \n", 893 | " \n", 894 | " \n", 895 | " \n", 896 | " \n", 897 | " \n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | "
PassengerIdSurvivedPclassNameSexSibSpParchTicketFareEmbarked
0103Braund, Mr. Owen Harrismale10A/5 211717.2500S
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female10PC 1759971.2833C
2313Heikkinen, Miss. Lainafemale00STON/O2. 31012827.9250S
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female1011380353.1000S
4503Allen, Mr. William Henrymale003734508.0500S
5603Moran, Mr. Jamesmale003308778.4583Q
6701McCarthy, Mr. Timothy Jmale001746351.8625S
7803Palsson, Master. Gosta Leonardmale3134990921.0750S
8913Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)female0234774211.1333S
91012Nasser, Mrs. Nicholas (Adele Achem)female1023773630.0708C
\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 | " \n", 1050 | " \n", 1051 | " \n", 1052 | " \n", 1053 | " \n", 1054 | " \n", 1055 | " \n", 1056 | " \n", 1057 | " \n", 1058 | " \n", 1059 | " \n", 1060 | " \n", 1061 | " \n", 1062 | " \n", 1063 | " \n", 1064 | " \n", 1065 | " \n", 1066 | " \n", 1067 | " \n", 1068 | " \n", 1069 | " \n", 1070 | " \n", 1071 | " \n", 1072 | " \n", 1073 | " \n", 1074 | " \n", 1075 | " \n", 1076 | " \n", 1077 | " \n", 1078 | " \n", 1079 | " \n", 1080 | " \n", 1081 | " \n", 1082 | " \n", 1083 | " \n", 1084 | " \n", 1085 | " \n", 1086 | " \n", 1087 | " \n", 1088 | " \n", 1089 | " \n", 1090 | " \n", 1091 | " \n", 1092 | " \n", 1093 | " \n", 1094 | " \n", 1095 | " \n", 1096 | " \n", 1097 | " \n", 1098 | " \n", 1099 | " \n", 1100 | " \n", 1101 | " \n", 1102 | " \n", 1103 | " \n", 1104 | " \n", 1105 | " \n", 1106 | " \n", 1107 | " \n", 1108 | " \n", 1109 | " \n", 1110 | " \n", 1111 | " \n", 1112 | " \n", 1113 | " \n", 1114 | " \n", 1115 | " \n", 1116 | " \n", 1117 | " \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 | " \n", 1131 | " \n", 1132 | " \n", 1133 | " \n", 1134 | " \n", 1135 | " \n", 1136 | " \n", 1137 | " \n", 1138 | " \n", 1139 | " \n", 1140 | " \n", 1141 | " \n", 1142 | " \n", 1143 | " \n", 1144 | " \n", 1145 | " \n", 1146 | " \n", 1147 | " \n", 1148 | " \n", 1149 | " \n", 1150 | " \n", 1151 | " \n", 1152 | " \n", 1153 | " \n", 1154 | " \n", 1155 | " \n", 1156 | " \n", 1157 | " \n", 1158 | " \n", 1159 | " \n", 1160 | " \n", 1161 | " \n", 1162 | " \n", 1163 | " \n", 1164 | " \n", 1165 | " \n", 1166 | " \n", 1167 | " \n", 1168 | " \n", 1169 | " \n", 1170 | " \n", 1171 | " \n", 1172 | " \n", 1173 | " \n", 1174 | " \n", 1175 | " \n", 1176 | " \n", 1177 | " \n", 1178 | " \n", 1179 | " \n", 1180 | "
SurvivedPclassSexSibSpParchFareEmbarked
PassengerId
103male107.2500S
211female1071.2833C
313female007.9250S
411female1053.1000S
503male008.0500S
........................
88702male0013.0000S
88811female0030.0000S
88903female1223.4500S
89011male0030.0000C
89103male007.7500Q
\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": "iVBORw0KGgoAAAANSUhEUgAAA6UAAAIYCAYAAACVAkpZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABHC0lEQVR4nO3df7hdZX3n/fenRBQBCYg9Q5No6CPVYWRUego4+jgHqRbwR5hrlMFSBYeZzLTopSPTGp2Zp9MfXoPXPFTRWjupKMGiSPEHeZBaGeTU0Q5UECoCWiMTSlIgIhCN+KPR7/PHXtFNck7OTs7ee+29z/t1Xfs6a93r3mt/1521s9Z3r3vdK1WFJEmSJElt+Jm2A5AkSZIkLV0mpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSiMmyR8n+S8DWO9/TfKn/V6vJEnqSDKTZEvbcUjjxqRU6lGSFyT5qyTbkzyU5AtJfqnfn1NV/76qfq/f65UkSfsmyeYk30uyI8kDSS5NckjbcUmTxqRU6kGSJwHXAO8BjgBWAL8D/GAf15Mkfu8kSRofL6+qQ4DjgWngP7ccjzRxPDmWevMLAFX1kar6UVV9r6o+U1Vf3r1bbJLVSSrJsmZ+Nsnbk3wBeBT4zSQ3d688yX9IsrGZvjTJ7zfTdyV5WVe9ZUm+meT4Zv6k5urtI0n+JslMV92jk/xlku8kuQ44ckBtI0nSxKuqrcCfA89KckSSDyb5+yQPJ/nkXO9Jsi7JN5pj8Z1J/kXXsqc3x+ntSR5M8tGmPEnemWRbkm8nuT3Js4aykVJLTEql3vwt8KMkG5KcluTwfXz/a4C1wKHAHwPPSHJM1/JfBT48x/s+Ary6a/5XgAer6ktJVgCfAn6fztXb/wh8LMlTmrofBm6hk4z+HnDOPsYsSZIaSVYBpwO3Ah8Cngj8E+BngXfO87ZvAP83cBidHlZ/muSoZtnvAZ8BDgdW0umNBfAS4IV0fhA/DDgT+FafN0caKSalUg+q6tvAC4AC/gT4ZpKNSaZ6XMWlVXVHVe2squ3A1TTJZpOcPhPYOMf7Pgy8IskTm/lfpZOoAvwacG1VXVtVP66q64CbgdOTPBX4JeC/VNUPqupzwP+3r9stSZL4ZJJHgM8Dfwn8EXAa8O+r6uGq+oeq+su53lhVf1ZVf98cpz8KfB04oVn8D8DTgJ+rqu9X1ee7yg+lc26Qqrqrqu4b2NZJI8CkVOpRc1A4t6pWAs8Cfg54V49vv3e3+Q/z0yugvwp8sqoeneMzNwF3AS9vEtNX8NMrqk8DXtV03X2kOWC+ADiqie3hqvpu1+ru6TFWSZL0U2dU1fKqelpV/QawCnioqh5e6I1JXpvktq7j9LP46e00vwUE+OskdyT51wBV9VngD4H3AtuSrG/GtpAmlkmptB+q6qvApXQOLt+l04Vnl38011t2m78OeEqS59BJTufqurvLri68a4A7m0QVOonuh5oD5a7XwVV1IXAfcHiSg7vW89SeNk6SJO3NvcARSZbvrVKSp9HpXfV64MlVtRz4Cp1ElKq6v6r+bVX9HPDvgD9K8vRm2bur6heBY+l04/3NAW2LNBJMSqUeJHlmkguSrGzmV9FJFG8EbgNemOSpSQ4D3rrQ+qrqH4A/A/47nftBr9tL9Svo3F/y6zw2ef1TOldQfyXJAUme0DwfbWVV3UOnK+/vJDkwyQuAl+/jZkuSpN00XWn/nE4SeXiSxyV54RxVD6bzo/Q3AZK8js6P2TTzr9p1XgE83NT9cZJfSnJiksfR+eH7+8CPB7dFUvtMSqXefAc4EbgpyXfpJKNfAS5o7uX8KPBlOgMLXdPjOj8M/DLwZ1W1c75KzcHvfwP/rPmcXeX30rl6+jY6B7x76fySuut7/atNzA8Bvw1c1mNckiRp715D597PrwLbgDftXqGq7gQuonMMfwA4DvhCV5VfonNesYPOuBJvrKq7gSfRucL6MJ1bb75F50dsaWKlavdehZIkSZIkDYdXSiVJkiRJrTEplSRJkiS1xqRUkiRJktQak1JJkiRJUmtMSiVJkiRJrVnWdgAARx55ZK1evXrR6/nud7/LwQcfvPiAJoztMj/bZm62y/xsm/n1o21uueWWB6vqKX0KST1IspnOY69+BOysqukkR9B5BNVqYDNwZlU9nCTAxcDpwKPAuVX1pb2tvx/H+HH73o1bvDB+MRvvYBnvYC3VePd2jB+JpHT16tXcfPPNi17P7OwsMzMziw9owtgu87Nt5ma7zM+2mV8/2ibJPf2JRvvo5Kp6sGt+HXB9VV2YZF0z/xbgNOCY5nUi8L7m77z6cYwft+/duMUL4xez8Q6W8Q7WUo13b8d4u+9KkqTdrQE2NNMbgDO6yi+rjhuB5UmOaiE+SdIEMSmVJGlpK+AzSW5JsrYpm6qq+5rp+4GpZnoFcG/Xe7c0ZZIk7beR6L4rSZJa84Kq2prkZ4Hrkny1e2FVVZLalxU2ye1agKmpKWZnZxcV4I4dOxa9jmEat3hh/GI23sEy3sEy3j2ZlEqStIRV1dbm77YknwBOAB5IclRV3dd0z93WVN8KrOp6+8qmbPd1rgfWA0xPT9di70VaqvdfDdO4xWy8g2W8g2W8e5qopPT2rds5d92n2g4DgM0XvrTtECRJ2qskBwM/U1XfaaZfAvwusBE4B7iw+Xt185aNwOuTXEFngKPtXd18JUl9snpEchqAS08d/EjBE5WUSpKkfTIFfKLzpBeWAR+uqk8n+SJwZZLzgHuAM5v619J5HMwmOo+Eed3wQ5YkTRqTUkmSlqiquht49hzl3wJOmaO8gPOHEJokaQlx9F1JkiRJUmtMSiVJkiRJrTEplSRJkiS1xqRUkiRJktQak1JJkiRJUmt6SkqTbE5ye5LbktzclB2R5LokX2/+Ht6UJ8m7k2xK8uUkxw9yAyRJkiRJ42tfrpSeXFXPqarpZn4dcH1VHQNc38wDnAYc07zWAu/rV7CSJEmSpMmymO67a4ANzfQG4Iyu8suq40ZgeZKjFvE5kiRJkqQJ1WtSWsBnktySZG1TNlVV9zXT9wNTzfQK4N6u925pyiRJkiRJeoxlPdZ7QVVtTfKzwHVJvtq9sKoqSe3LBzfJ7VqAqakpZmdn9+Xtc5o6CC44buei19MP/dieftmxY8dIxTNKbJu52S7zs23mZ9tIkqT90VNSWlVbm7/bknwCOAF4IMlRVXVf0z13W1N9K7Cq6+0rm7Ld17keWA8wPT1dMzMz+70Ru7zn8qu56PZe8+zB2nz2TNsh/MTs7Cz9aN9JZNvMzXaZn20zP9tGkiTtjwW77yY5OMmhu6aBlwBfATYC5zTVzgGubqY3Aq9tRuE9Cdje1c1XkiRJkqSf6OWy4hTwiSS76n+4qj6d5IvAlUnOA+4BzmzqXwucDmwCHgVe1/eoJUmSJEkTYcGktKruBp49R/m3gFPmKC/g/L5EJ0mSJEmaaIt5JIwkSZIkSYtiUipJkiRJao1JqSRJkiSpNSalkiRJkqTWmJRKkrSEJTkgya1Jrmnmj05yU5JNST6a5MCm/PHN/KZm+epWA5ckTQyTUkmSlrY3And1zb8DeGdVPR14GDivKT8PeLgpf2dTT5KkRTMplSRpiUqyEngp8P5mPsCLgKuaKhuAM5rpNc08zfJTmvqSJC3Kgs8plSRJE+tdwG8BhzbzTwYeqaqdzfwWYEUzvQK4F6CqdibZ3tR/cPeVJlkLrAWYmppidnZ2UUHu2LFj0esYpnGLF8YvZuMdLOMdrF7iveC4nXtdPkzDaF+TUkmSlqAkLwO2VdUtSWb6ue6qWg+sB5ienq6ZmcWtfnZ2lsWuY5jGLV4Yv5iNd7CMd7B6iffcdZ8aTjA9uPTUgwfevialkiQtTc8HXpHkdOAJwJOAi4HlSZY1V0tXAlub+luBVcCWJMuAw4BvDT9sSdKk8Z5SSZKWoKp6a1WtrKrVwFnAZ6vqbOAG4JVNtXOAq5vpjc08zfLPVlUNMWRJ0oQyKZUkSd3eArw5ySY694xe0pRfAjy5KX8zsK6l+CRJE8buu5IkLXFVNQvMNtN3AyfMUef7wKuGGpgkaUnwSqkkSZIkqTUmpZIkSZKk1vSclCY5IMmtSa5p5o9OclOSTUk+muTApvzxzfymZvnqAcUuSZIkSRpz+3Kl9I3AXV3z7wDeWVVPBx4GzmvKzwMebsrf2dSTJEmSJGkPPSWlSVYCLwXe38wHeBFwVVNlA3BGM72mmadZfkpTX5IkSZKkx+h19N13Ab8FHNrMPxl4pHmwNsAWYEUzvQK4F6CqdibZ3tR/sHuFSdYCawGmpqaYnZ3dvy3oMnUQXHDczoUrDkE/tqdfduzYMVLxjBLbZm62y/xsm/nZNpIkaX8smJQmeRmwrapuSTLTrw+uqvXAeoDp6emamVn8qt9z+dVcdPtoPOVm89kzbYfwE7Ozs/SjfSeRbTM322V+ts38bBtJkrQ/esngng+8IsnpwBOAJwEXA8uTLGuulq4Etjb1twKrgC1JlgGHAd/qe+SSJEmSpLG34D2lVfXWqlpZVauBs4DPVtXZwA3AK5tq5wBXN9Mbm3ma5Z+tqupr1JIkSZKkibCY55S+BXhzkk107hm9pCm/BHhyU/5mYN3iQpQkSZIkTap9ugGzqmaB2Wb6buCEOep8H3hVH2KTJEmSJE24xVwplSRJkiRpUUxKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJGmJSvKEJH+d5G+S3JHkd5ryo5PclGRTko8mObApf3wzv6lZvrrVDZAkTQSTUkmSlq4fAC+qqmcDzwFOTXIS8A7gnVX1dOBh4Lym/nnAw035O5t6kiQtyrK2A5Ak7Z/V6z7VdgiPcempB7cdgvZRVRWwo5l9XPMq4EXArzblG4D/CrwPWNNMA1wF/GGSNOuRJGm/mJRKkrSEJTkAuAV4OvBe4BvAI1W1s6myBVjRTK8A7gWoqp1JtgNPBh7cbZ1rgbUAU1NTzM7OLirGHTt2LHodwzRu8cL4xWy8g2W8g9VLvBcct3Ovy4dpGO1rUipJ0hJWVT8CnpNkOfAJ4Jl9WOd6YD3A9PR0zczMLGp9s7OzLHYdwzRu8cL4xWy8g2W8g9VLvOeOUG+oS089eODt6z2lkiSJqnoEuAF4HrA8ya4frlcCW5vprcAqgGb5YcC3hhupJGnSmJRKkrREJXlKc4WUJAcBLwbuopOcvrKpdg5wdTO9sZmnWf5Z7yeVJC2W3XclSVq6jgI2NPeV/gxwZVVdk+RO4Iokvw/cClzS1L8E+FCSTcBDwFltBC1JmiwLJqVJngB8Dnh8U/+qqvrtJEcDV9AZ4OAW4DVV9cMkjwcuA36RTpeef1VVmwcUvyRJ2k9V9WXguXOU3w2cMEf594FXDSE0SdIS0kv3XZ9hJkmSJEkaiAWT0uqY7xlmVzXlG4Azmuk1zTzN8lOSpF8BS5IkSZImR08DHSU5IMltwDbgOvbhGWbArmeYSZIkSZL0GD0NdDSIZ5j1+8HaAFMHjc6DZkfpAb7j9kDhYbJt5ma7zG+U2mZU/r/bZZTaRpIkjY99Gn23qh5J8phnmDVXQ+d6htmWvT3DrN8P1gZ4z+VXc9HtozGg8OazZ9oO4SfG7YHCw2TbzM12md8otc0oPVgbhvNwbUmSNHkW7L7rM8wkSZIkSYPSy2VFn2EmSZIkSRqIBZNSn2EmSZIkSRqUnkbflSRJkiRpEExKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa5a1HYAkSWpHklXAZcAUUMD6qro4yRHAR4HVwGbgzKp6OEmAi4HTgUeBc6vqS4OO8/at2zl33acG/TE923zhS9sOQZImildKJUlaunYCF1TVscBJwPlJjgXWAddX1THA9c08wGnAMc1rLfC+4YcsSZo0JqWSJC1RVXXfriudVfUd4C5gBbAG2NBU2wCc0UyvAS6rjhuB5UmOGm7UkqRJY1IqSZJIshp4LnATMFVV9zWL7qfTvRc6Ceu9XW/b0pRJkrTfvKdUkqQlLskhwMeAN1XVtzu3jnZUVSWpfVzfWjrde5mammJ2dnZR8U0dBBcct3NR6+inhbZnx44di97mYRu3mI13sIx3sHqJd5T+zxtG+5qUSpK0hCV5HJ2E9PKq+nhT/ECSo6rqvqZ77ramfCuwquvtK5uyx6iq9cB6gOnp6ZqZmVlUjO+5/Gouun10Tlk2nz2z1+Wzs7MsdpuHbdxiNt7BMt7B6iXeURrc7dJTDx54+y7YfTfJqiQ3JLkzyR1J3tiUH5HkuiRfb/4e3pQnybuTbEry5STHD3QLJEnSfmlG070EuKuq/qBr0UbgnGb6HODqrvLXNsf6k4DtXd18JUnaL73cU+rIfJIkTabnA68BXpTktuZ1OnAh8OIkXwd+uZkHuBa4G9gE/AnwGy3ELEmaMAv2hWl+Ab2vmf5Oku6R+WaaahuAWeAtdI3MB9yYZPmuLkD9D1+SJO2vqvo8kHkWnzJH/QLOH2hQ0gQapWft+pxdjaJ9ukFjkSPzPSYp7fcgCDBaAyGM0s3W43bz9zDZNnOzXeY3Sm0zKv/f7TJKbSNJksZHz0lpv0fm6/cgCDBaAyEsNAjCMI3bzd/DZNvMzXaZ3yi1zaj86r7LMAZCkCRJk6en55TubWS+Zvk+j8wnSZIkSVIvo+86Mp8kSZIkaSB66eu6a2S+25Pc1pS9jc5IfFcmOQ+4BzizWXYtcDqdkfkeBV7Xz4AlSZIkSZOjl9F3HZlPkiRJkjQQPd1TKkmSJEnSIJiUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkLVFJPpBkW5KvdJUdkeS6JF9v/h7elCfJu5NsSvLlJMe3F7kkaZKYlEqStHRdCpy6W9k64PqqOga4vpkHOA04pnmtBd43pBglSRPOpFSSpCWqqj4HPLRb8RpgQzO9ATijq/yy6rgRWJ7kqKEEKkmaaMsWqpDkA8DLgG1V9aym7Ajgo8BqYDNwZlU9nCTAxcDpwKPAuVX1pcGELkmSBmCqqu5rpu8HpprpFcC9XfW2NGX3sZska+lcTWVqaorZ2dnFBXQQXHDczkWto58W2p4dO3YsepuHbdxiHrd4R2kf7qXdxq19JzHeUdlfYDjtu2BSSqdrzx8Cl3WV7erac2GSdc38W3hs154T6XTtObGfAUuSpOGoqkpS+/G+9cB6gOnp6ZqZmVlUHO+5/Gouur2XU5bh2Hz2zF6Xz87OsthtHrZxi3nc4h2lfXih/RfGr30nMd5z131qOMH04NJTDx54+y7YfdeuPZIkLSkP7Dp2N3+3NeVbgVVd9VY2ZZIkLcr+/mQzcl17YPy6RgzLuHVpGCbbZm62y/xGqW1G5f+7XUapbbQoG4FzgAubv1d3lb8+yRV0ekFt7zoXkCRpvy26H8GodO2B8esaMSzj1qVhmGybudku8xulthmlrj0wnO496q8kHwFmgCOTbAF+m04yemWS84B7gDOb6tfSGTNiE51xI1439IAlSRNpfzO4B5IcVVX32bVHkqTxVFWvnmfRKXPULeD8wUYkSVqK9veRMLu69sCeXXte2zxg+yTs2iNJkiRJ2oteHglj1x5JkiRJ0kAsmJTatUeSJEmSNCj7231XkiRJkqRFMymVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLVmIElpklOTfC3JpiTrBvEZkiRp+DzGS5L6re9JaZIDgPcCpwHHAq9Ocmy/P0eSJA2Xx3hJ0iAM4krpCcCmqrq7qn4IXAGsGcDnSJKk4fIYL0nqu2UDWOcK4N6u+S3AibtXSrIWWNvM7kjytT589pHAg31Yz6LlHW1H8Bgj0y4jyLaZm+0yP9tmHie/oy9t87R+xKKBaesYP1Lfux6O8SMVb4/GLWbj3U89nqOOTLw9Mt4B6tPxHfZyjB9EUtqTqloPrO/nOpPcXFXT/VznJLBd5mfbzM12mZ9tMz/bRrv0+xg/bvvWuMUL4xez8Q6W8Q6W8e5pEN13twKruuZXNmWSJGm8eYyXJPXdIJLSLwLHJDk6yYHAWcDGAXyOJEkaLo/xkqS+63v33arameT1wF8ABwAfqKo7+v058+hrd+AJYrvMz7aZm+0yP9tmfrbNhGvxGD9u+9a4xQvjF7PxDpbxDpbx7iZVNejPkCRJkiRpToPovitJkiRJUk9MSiVJkiRJrRm7pDTJqUm+lmRTknVzLH98ko82y29KsrqFMFvRQ9u8OcmdSb6c5PokS+Z5gAu1TVe9f5mkkozNMN2L0Uu7JDmz2W/uSPLhYcfYlh6+T09NckOSW5vv1OltxDlsST6QZFuSr8yzPEne3bTbl5McP+wYNT4Wsz8lOSfJ15vXOSMS79lNnLcn+askz+5atrkpvy3JzcOIt8eYZ5Jsb+K6Lcn/07Wsp2PnkOP9za5Yv5LkR0mOaJYNtY2TrGqOA7uOkW+co87I7MM9xjtS+3CPMY/MPtxjvKO0Dz8hyV8n+Zsm3t+Zo868uVWStzblX0vyK4sKpqrG5kVnUIVvAD8PHAj8DXDsbnV+A/jjZvos4KNtxz1CbXMy8MRm+tdtmz3qHQp8DrgRmG477lFoF+AY4Fbg8Gb+Z9uOe4TaZj3w6830scDmtuMeUtu8EDge+Mo8y08H/hwIcBJwU9sx+xrd1/7uT8ARwN3N38Ob6cNHIN5/1vX/5Wnd+z+wGThyBNt4BrhmjvKejp3Djne3ui8HPttWGwNHAcc304cCfzvHsWJk9uEe4x2pfbjHmEdmH+4l3hHbhwMc0kw/DrgJOGm3OnPmVnTOff4GeDxwdNPWB+xvLON2pfQEYFNV3V1VPwSuANbsVmcNsKGZvgo4JUmGGGNbFmybqrqhqh5tZm+k83y5paCX/Qbg94B3AN8fZnAt6qVd/i3w3qp6GKCqtg05xrb00jYFPKmZPgz4+yHG15qq+hzw0F6qrAEuq44bgeVJjhpOdBo3i9iffgW4rqoeav5/ug44te14q+qvdv1/yYgcZ3to4/n0euzsq32M99XARwYYzl5V1X1V9aVm+jvAXcCK3aqNzD7cS7yjtg/32MbzGfo+vB/xtr0PV1XtaGYf17x2HwV3vtxqDXBFVf2gqv4PsIlOm++XcUtKVwD3ds1vYc9/6J/UqaqdwHbgyUOJrl29tE238+j8crcULNg2TXeaVVX1qWEG1rJe9plfAH4hyReS3Jhk4Cd9I6KXtvmvwK8l2QJcC7xhOKGNvH39v0jam/n2p3HYz3Y/zhbwmSS3JFnbUkzzeV7Tfe/Pk/yTpmyk2zjJE+kkcR/rKm6tjZsujc+lc6Wp20juw3uJt9tI7cMLxDxy+/BCbTwq+3CSA5LcBmyj80PJvPvwbrlVX9u3788p1ehL8mvANPDP245lFCT5GeAPgHNbDmUULaPThXeGzq+ln0tyXFU90mZQI+LVwKVVdVGS5wEfSvKsqvpx24FJaleSk+mc0L+gq/gFVbU1yc8C1yX5anNVsG1fAp5WVTvSuTf+k3T+3x91Lwe+UFXdV1VbaeMkh9BJLN5UVd8e9OctVi/xjto+vEDMI7cP97hPjMQ+XFU/Ap6TZDnwieZcZs57ugdp3K6UbgVWdc2vbMrmrJNkGZ1udd8aSnTt6qVtSPLLwH8CXlFVPxhSbG1bqG0OBZ4FzCbZTOeej42Z/MGOetlntgAbq+ofmq4Zf8t4nKwsVi9tcx5wJUBV/W/gCcCRQ4lutPX0f5HUo/n2p5Hdz5L8U+D9wJqq+sn5R1Vtbf5uAz7BIrq59VNVfXtX972quhZ4XJIjGeE2bpzFbt0e22jjJI+jk3xcXlUfn6PKSO3DPcQ7cvvwQjGP2j7cSxs3RmIf7vrsR4Ab2LMb+Xy5VV/bd9yS0i8CxyQ5OsmBdP4xN+5WZyOwawSzV9K5eXj3vtGTaMG2SfJc4H/QSUiXyr2BsEDbVNX2qjqyqlZX1Wo691C8oqqGNjpiS3r5Pn2SzlVSmv/gf4HOYAyTrpe2+TvgFIAk/5hOUvrNoUY5mjYCr03HScD2qrqv7aA0tubbn/4CeEmSw5McDrykKWtVkqcCHwdeU1V/21V+cJJDd03TiXfoVyLmkuQf7Rp7I8kJdM4Nv0Vv/w+2IslhdHp7Xd1VNvQ2btrtEuCuqvqDeaqNzD7cS7yjtg/3GPPI7MM97hOjtA8/pblCSpKDgBcDX92t2ny51UbgrHRG5z2azkWLv97fWMaq+25V7Uzyejpf2gOAD1TVHUl+F7i5qjbS2RE+lGQTnRvlz2ov4uHpsW3+O3AI8GfNd/fvquoVrQU9JD22zZLTY7vsOmjeCfwI+M3uX00nVY9tcwHwJ0n+A517QM5dCj+AJfkInR8qjkznftrfpjMwAlX1x3Turz2dzoAHjwKvaydSjYP93Z+q6qEkv0fnpBPgd3frAtdWvP8PnXut/qg5zu6sqmlgik63OOice324qj496Hh7jPmVwK8n2Ql8Dzir+b9szv8HRyBegH8BfKaqvtv11jba+PnAa4Db07knD+BtwFO74h2lfbiXeEdtH+4l5lHah3uJF0ZnHz4K2JDkADrJ/JVVdU0vuVVzXnQlcCewEzi/6Qq8X7IEzqEkSZIkSSNq3LrvSpIkSZImiEmpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpNARJzk7yma75SvL0NmOSJEmjIcl/TfKnbcchtcWkVOqjJC9I8ldJtid5KMkXkvxSVV1eVS/pcR0HJrkoyZYkO5JsTvKuAYcuSZLm0RyLv9cclx9IcmmSQ9qOS5oUJqVSnyR5EnAN8B7gCGAF8DvAD/ZxVW8FpoETgEOBGeBLfQtUkiTtj5dX1SHA8XSO0/+51zemw/NuaR5+OaT++QWAqvpIVf2oqr5XVZ+pqi8nOTfJ53erf3qSu5M8mOS/dx2sfgn4RFX9fXVsrqrLdr2p+bX2rUnuTPJwkg8mecKQtlGSpCWtqrYCfw4cl+SaJN9sjsfXJFm5q16S2SRvT/IF4FHg55P8kyTXNb2pHkjytq5VH5jksiTfSXJHkukhb5rUGpNSqX/+FvhRkg1JTkty+AL1/wWdX1qPB9YA/7opvxF4c5LfSHJckszx3rOBXwH+LzrJcM+/1kqSpP2XZBVwOnA38EHgacBTge8Bf7hb9dcAa+n0fHoA+J/Ap4GfA54OXN9V9xXAFcByYOMc65Imlkmp1CdV9W3gBUABfwJ8M8nGJFPzvOUdVfVQVf0d8C7g1U35fwPeQSfxvBnYmuSc3d77h1V1b1U9BLy9672SJGkwPpnkEeDzwF8Cv1VVH6uqR6vqO3SOx/98t/dcWlV3VNVO4GXA/VV1UVV9v6q+U1U3ddX9fFVdW1U/Aj4EPHvwmySNBpNSqY+q6q6qOreqVgLPovNL6LvmqX5v1/Q9TV2arr/vrarn0/m19O3AB5L844XeK0mSBuaMqlpeVU+rqt+gc6vo/0hyT5JvA58Dlic5oOs93cfrVcA39rL++7umHwWekGRZ36KXRphJqTQgVfVV4FI6yelcVnVNPxX4+znW8b2qei/wMHDsvrxXkiQN1AXAM4ATq+pJwAub8u7bbqpr+l7g54cUmzRWTEqlPknyzCQX7BrkoLnn5NV07hGdy28mObyp90bgo8373pRkJslBSZY1XXcPBW7teu/5SVYmOQL4T7veK0mShuZQOveRPtIcj397gfrXAEc1x/nHJzk0yYkDj1IaAyalUv98BzgRuCnJd+kko1+h80vqXK4GbgFuAz4FXNKUPwpcRKcbz4PA+cC/rKq7u977YeAzdAZZ+Abw+/3cEEmStKB3AQfROVbfSGcAo3k1952+GHg5nWP814GTBxuiNB5SVQvXkjQykmwG/k1V/c+2Y5EkSZIWyyulkiRJkqTWmJRKkiRJklpj911JkiRJUmu8UipJkiRJas1IPJD3yCOPrNWrVy96Pd/97nc5+OCDFx/QkBjvYBnvYBnvYI1bvNCfmG+55ZYHq+opfQpJI6Afx/hx/D7sL7d1Mrmtk2epbCf0b1v3dowfiaR09erV3HzzzYtez+zsLDMzM4sPaEiMd7CMd7CMd7DGLV7oT8xJ7ulPNBoV/TjGj+P3YX+5rZPJbZ08S2U7oX/burdjvN13JUmSJEmtMSmVJEmSJLXGpFSSJEmS1JqektIky5NcleSrSe5K8rwkRyS5LsnXm7+HN3WT5N1JNiX5cpLjB7sJkiRJkqRx1euV0ouBT1fVM4FnA3cB64Drq+oY4PpmHuA04JjmtRZ4X18jliRJkiRNjAVH301yGPBC4FyAqvoh8MMka4CZptoGYBZ4C7AGuKyqCrixucp6VFXd1/fod3P71u2cu+5Tg/6Ynmy+8KVthyBJ0kQYpeM7eIyXpH7r5ZEwRwPfBD6Y5NnALcAbgamuRPN+YKqZXgHc2/X+LU3ZY5LSJGvpXEllamqK2dnZ/dyEn5o6CC44buei19MPvWzPjh07+rLdw2K8g2W8g2W8gzeOMUuSpPb1kpQuA44H3lBVNyW5mJ921QWgqipJ7csHV9V6YD3A9PR09ePZN++5/Gouun0kHr3K5rNnFqwzbs83Mt7BMt7BMt7BG8eYJUlS+3q5p3QLsKWqbmrmr6KTpD6Q5CiA5u+2ZvlWYFXX+1c2ZZIkSZIkPcaCSWlV3Q/cm+QZTdEpwJ3ARuCcpuwc4OpmeiPw2mYU3pOA7cO4n1SSJEmSNH567ev6BuDyJAcCdwOvo5PQXpnkPOAe4Mym7rXA6cAm4NGmriRJkiRJe+gpKa2q24DpORadMkfdAs5fXFiSJEmSpKWg1+eUSpIkSZLUdyalkiRJkqTWmJRKkiRJklpjUipJkiRJao1JqSRJS1iS5UmuSvLVJHcleV6SI5Jcl+Trzd/Dm7pJ8u4km5J8OcnxbccvSRp/JqWSJC1tFwOfrqpnAs8G7gLWAddX1THA9c08wGnAMc1rLfC+4YcrSZo0JqWSJC1RSQ4DXghcAlBVP6yqR4A1wIam2gbgjGZ6DXBZddwILE9y1FCDliRNHJNSSZKWrqOBbwIfTHJrkvcnORiYqqr7mjr3A1PN9Arg3q73b2nKJEnab8vaDkCSJLVmGXA88IaquinJxfy0qy4AVVVJal9WmmQtne69TE1NMTs7u6ggpw6CC47buah19NNit2dvduzYMdD1jxK3dTItlW1dKtsJw9lWk1JJkpauLcCWqrqpmb+KTlL6QJKjquq+pnvutmb5VmBV1/tXNmWPUVXrgfUA09PTNTMzs6gg33P51Vx0++icsmw+e2Zg656dnWWx7TUu3NbJtFS2dalsJwxnW+2+K0nSElVV9wP3JnlGU3QKcCewETinKTsHuLqZ3gi8thmF9yRge1c3X0mS9svo/OwoSZLa8Abg8iQHAncDr6Pzo/WVSc4D7gHObOpeC5wObAIebepKkrQoJqWSJC1hVXUbMD3HolPmqFvA+YOOSZK0tNh9V5IkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUmp6T0iQHJLk1yTXN/NFJbkqyKclHkxzYlD++md/ULF89oNglSZIkSWNuX66UvhG4q2v+HcA7q+rpwMPAeU35ecDDTfk7m3qSJEmSJO2hp6Q0yUrgpcD7m/kALwKuaqpsAM5optc08zTLT2nqS5IkSZL0GMt6rPcu4LeAQ5v5JwOPVNXOZn4LsKKZXgHcC1BVO5Nsb+o/2L3CJGuBtQBTU1PMzs7u3xZ0mToILjhu58IVh6CX7dmxY0dftntYjHewjHewjHfwxjFmSZLUvgWT0iQvA7ZV1S1JZvr1wVW1HlgPMD09XTMzi1/1ey6/motu7zXPHqzNZ88sWGd2dpZ+bPewGO9gGe9gGe/gjWPMkiSpfb1kcM8HXpHkdOAJwJOAi4HlSZY1V0tXAlub+luBVcCWJMuAw4Bv9T1ySZIkSdLYW/Ce0qp6a1WtrKrVwFnAZ6vqbOAG4JVNtXOAq5vpjc08zfLPVlX1NWpJkiRJ0kRYzHNK3wK8OckmOveMXtKUXwI8uSl/M7BucSFKkiRJkibVPt2AWVWzwGwzfTdwwhx1vg+8qg+xSZKkAUtyAHAzsLWqXpbkaOAKOj843wK8pqp+mOTxwGXAL9K5LedfVdXmlsKWJE2QxVwplSRJ48/nkEuSWmVSKknSEuVzyCVJo8CkVJKkpetddJ5D/uNmvufnkAO7nkMuSdKijMZDPSVJ0lAN6jnkzbrXAmsBpqammJ2dXdT6pg6CC47buXDFIVns9uzNjh07Brr+UeK2Tqalsq1LZTthONtqUipJ0tI0sOeQV9V6YD3A9PR0zczMLCrQ91x+NRfdPjqnLJvPnhnYumdnZ1lse40Lt3UyLZVtXSrbCcPZVrvvSpK0BPkccknSqDAplSRJ3XwOuSRpqEanL4wkSWqFzyGXJLXJK6WSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNYsmJQmWZXkhiR3JrkjyRub8iOSXJfk683fw5vyJHl3kk1Jvpzk+EFvhCRJkiRpPPVypXQncEFVHQucBJyf5FhgHXB9VR0DXN/MA5wGHNO81gLv63vUkiRJkqSJsGyhClV1H3BfM/2dJHcBK4A1wExTbQMwC7ylKb+sqgq4McnyJEc161kyVq/71IJ1LjhuJ+f2UG+xNl/40oF/hiRJkiTtj326pzTJauC5wE3AVFeieT8w1UyvAO7tetuWpkySJEmSpMdY8ErpLkkOAT4GvKmqvp3kJ8uqqpLUvnxwkrV0uvcyNTXF7Ozsvrx9TlMHda4+jothxduPtgXYsWNH39Y1DMY7WMY7WOMWL4xnzJIkqX09JaVJHkcnIb28qj7eFD+wq1tukqOAbU35VmBV19tXNmWPUVXrgfUA09PTNTMzs39b0OU9l1/NRbf3nGe37oLjdg4l3s1nz/RlPbOzs/Tj32lYjHewjHewxi1eGM+Yl7okq4DL6PR2KmB9VV2c5Ajgo8BqYDNwZlU9nM4v0hcDpwOPAudW1ZfaiF2SNDl6GX03wCXAXVX1B12LNgLnNNPnAFd3lb+2GYX3JGD7UrufVJKkMeFghpKk1vVyme75wGuA25Pc1pS9DbgQuDLJecA9wJnNsmvp/IK6ic6vqK/rZ8CSJKk/HMxQkjQKehl99/NA5ll8yhz1Czh/kXFJkqQhWuRgho9JSvs9bsSojRkxyHunl9K92W7rZFoq27pUthOGs63jcwOmJEkaiH4PZtjvcSNGbcyIfo3VMJeldG+22zqZlsq2LpXthOFs6z49EkaSJE2WvQ1m2Czf58EMJUnaFyalkiQtUQ5mKEkaBaPTF0aSJA2bgxlKklpnUipJ0hLlYIaSpFFg911JkiRJUmtMSiVJkiRJrTEplSRJkiS1xqRUkiRJktQak1JJkiRJUmtMSiVJkiRJrTEplSRJkiS1xqRUkiRJktQak1JJkiRJUmtMSiVJkiRJrVnWdgCSJEnjZPW6Tw1s3Rcct5Nz92H9my986cBikaRh8UqpJEmSJKk1JqWSJEmSpNaYlEqSJEmSWmNSKkmSJElqjUmpJEmSJKk1JqWSJEmSpNb4SBhJkiQt2r4+KmdfH3+zL3xUjjRevFIqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJas6ztADR4+/ow6/n06yHXPtBakiRJ0i5eKZUkSZIktcYrpdKIuH3r9r5cie4Hr2ZLkiRpWAaSlCY5FbgYOAB4f1VdOIjP0XjqV3fihfTS3djkS5L2jcd4SVK/9b37bpIDgPcCpwHHAq9Ocmy/P0eSJA2Xx3hJ0iAM4krpCcCmqrobIMkVwBrgzgF8lqQB6OVqdr8GvuqFV7TnNqxeB7269NSD2w5Bg+cxXtoPo3SLzqDty/nBqB3f9+W4OujzoFFrm0FLVfV3hckrgVOr6t80868BTqyq1+9Wby2wtpl9BvC1Pnz8kcCDfVjPsBjvYBnvYBnvYI1bvNCfmJ9WVU/pRzDqvxaP8eP4fdhfbutkclsnz1LZTujfts57jG9toKOqWg+s7+c6k9xcVdP9XOcgGe9gGe9gGe9gjVu8MJ4xazD6fYxfSvuW2zqZ3NbJs1S2E4azrYN4JMxWYFXX/MqmTJIkjTeP8ZKkvhtEUvpF4JgkRyc5EDgL2DiAz5EkScPlMV6S1Hd9775bVTuTvB74CzrDxX+gqu7o9+fMo6/dgYfAeAfLeAfLeAdr3OKF8YxZ+6DFY/xS2rfc1snktk6epbKdMIRt7ftAR5IkSZIk9WoQ3XclSZIkSeqJSakkSZIkqTUTkZQmOTXJ15JsSrKu7XgWkuQDSbYl+UrbsfQiyaokNyS5M8kdSd7Ydkx7k+QJSf46yd808f5O2zEtJMkBSW5Nck3bsfQiyeYktye5LcnNbcezkCTLk1yV5KtJ7kryvLZjmk+SZzTtuuv17SRvajuuvUnyH5rv2leSfCTJE9qOSZNj3I7x+2vczg0WY9zOK/bXOJ6PLNa4nc/sr3E7D1qMYZ1Djf09pUkOAP4WeDGwhc7IgK+uqjtbDWwvkrwQ2AFcVlXPajuehSQ5Cjiqqr6U5FDgFuCMUW3jJAEOrqodSR4HfB54Y1Xd2HJo80ryZmAaeFJVvazteBaSZDMwXVVj8dDoJBuA/1VV729GDH1iVT3SclgLav5/2wqcWFX3tB3PXJKsoPMdO7aqvpfkSuDaqrq03cg0CcbxGL+/xu3cYDHG7bxif43j+chijdv5zP4at/OgxRjWOdQkXCk9AdhUVXdX1Q+BK4A1Lce0V1X1OeChtuPoVVXdV1Vfaqa/A9wFrGg3qvlVx45m9nHNa2R/fUmyEngp8P62Y5lESQ4DXghcAlBVPxyHhLRxCvCNUU1IuywDDkqyDHgi8Pctx6PJMXbH+P01bucGizFu5xX7a9zORxbL85nJM8xzqElISlcA93bNb2EC/2MbFUlWA88Fbmo5lL1quo/cBmwDrquqUY73XcBvAT9uOY59UcBnktySZG3bwSzgaOCbwAebLkXvT3Jw20H16CzgI20HsTdVtRX4f4G/A+4DtlfVZ9qNShPEY/yEG5fziv01Zucji/Uuxu98Zn+N03nQYgztHGoSklINSZJDgI8Bb6qqb7cdz95U1Y+q6jnASuCEJCPZFSrJy4BtVXVL27HsoxdU1fHAacD5TbezUbUMOB54X1U9F/guMPL3pTVdZF4B/FnbsexNksPpXLk6Gvg54OAkv9ZuVJLGwTidV+yvcTkfWawxPp/ZX+N0HrQYQzuHmoSkdCuwqmt+ZVOmPmruhfgYcHlVfbzteHrVdDG4ATi15VDm83zgFc29CVcAL0ryp+2GtLDm6hhVtQ34BJ0udqNqC7Cl69fpq+j8BzvqTgO+VFUPtB3IAn4Z+D9V9c2q+gfg48A/azkmTQ6P8RNqXM8r9tcYnI8s1liez+yvMTsPWoyhnUNNQlL6ReCYJEc3VxbOAja2HNNEaW7UvwS4q6r+oO14FpLkKUmWN9MH0Rkg46utBjWPqnprVa2sqtV09t3PVtVIX2VKcnAzMAVNF46XACM7WmRV3Q/cm+QZTdEpwDgMpvFqRrzrbuPvgJOSPLH5v+IUOveHSf3gMX4Cjdt5xf4ap/ORxRrH85n9NW7nQYsxzHOoZYNY6TBV1c4krwf+AjgA+EBV3dFyWHuV5CPADHBkki3Ab1fVJe1GtVfPB14D3N7cFwHwtqq6tr2Q9uooYEMzauPPAFdW1UQPTT5kU8AnOucULAM+XFWfbjekBb0BuLw5qb0beF3L8exVc5B7MfDv2o5lIVV1U5KrgC8BO4FbgfXtRqVJMY7H+P01hucGizFu5xX7y/ORyTSO50GLMZRzqLF/JIwkSZIkaXxNQvddSZIkSdKYMimVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFQaoCSbk3wvyY6u18+1HZckSZI0Kpa1HYC0BLy8qv7nvr4pSYBU1Y8HEJMkSZI0ErxSKg1RksOTXJPkm0kebqZXdi2fTfL2JF8AHgV+Pskzk1yX5KEkX0tyZntbIEmSJPWXSak0XD8DfBB4GvBU4HvAH+5W5zXAWuBQ4JvAdcCHgZ8FzgL+KMmxwwpYkiRJGiSTUmnwPpnkkSSPAJdU1ceq6tGq+g7wduCf71b/0qq6o6p2AqcCm6vqg1W1s6puBT4GvGqoWyBJkiQNiPeUSoN3xq57SpM8Mcn/oJNsHt4sPzTJAVX1o2b+3q73Pg04sUlod1kGfGjAMUuSJElDYVIqDdcFwDOAE6vq/iTPAW4F0lWnuqbvBf6yql48vBAlSZKk4bH7rjRch9K5j/SRJEcAv71A/WuAX0jymiSPa16/lOQfDzxSSZIkaQhMSqXhehdwEPAgcCPw6b1Vbu47fQmdAY7+HrgfeAfw+IFGKUmSJA1JqmrhWpIkSZIkDYBXSiVJkiRJrTEplSRJkiS1xqRUkiRJktQak1JJkiRJUmtG4jmlRx55ZK1evXrR6/nud7/LwQcfvPiAJoht8li2x55skz3ZJnsaVpvccsstD1bVUwb+QZIkaWSMRFK6evVqbr755kWvZ3Z2lpmZmcUHNEFsk8eyPfZkm+zJNtnTsNokyT0D/xBJkjRS7L4rSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJaMxIDHfXL7Vu3c+66T7UdBgCbL3xp2yFIkiRJ0sjzSqkkSZIkqTUmpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJaY1IqSZIkSWqNSakkSZIkqTUmpZIkSZKk1piUSpIkSZJa01NSmmR5kquSfDXJXUmel+SIJNcl+Xrz9/CmbpK8O8mmJF9OcvxgN0GSJEmSNK56vVJ6MfDpqnom8GzgLmAdcH1VHQNc38wDnAYc07zWAu/ra8SSJEmSpImxYFKa5DDghcAlAFX1w6p6BFgDbGiqbQDOaKbXAJdVx43A8iRH9TluSZIkSdIE6OVK6dHAN4EPJrk1yfuTHAxMVdV9TZ37galmegVwb9f7tzRlkiRJkiQ9Rqpq7xWSaeBG4PlVdVOSi4FvA2+oquVd9R6uqsOTXANcWFWfb8qvB95SVTfvtt61dLr3MjU19YtXXHHFojdm20PbeeB7i15NXxy34rC2QwBgx44dHHLIIW2HMTJsjz3ZJnuyTfY0rDY5+eSTb6mq6YF/kCRJGhnLeqizBdhSVTc181fRuX/0gSRHVdV9Tffcbc3yrcCqrvevbMoeo6rWA+sBpqena2ZmZv+2oMt7Lr+ai27vZZMGb/PZM22HAMDs7Cz9aNtJYXvsyTbZk22yJ9tEkiQNyoLdd6vqfuDeJM9oik4B7gQ2Auc0ZecAVzfTG4HXNqPwngRs7+rmK0mSJEnST/R6WfENwOVJDgTuBl5HJ6G9Msl5wD3AmU3da4HTgU3Ao01dSZIkSZL20FNSWlW3AXPd43PKHHULOH9xYUmSJEmSloJen1MqSZIkSVLfmZRKkiRJklpjUipJkiRJao1JqSRJkiSpNSalkiRJkqTWmJRKkiRJklpjUipJkiRJao1JqSRJkiSpNSalkiRJkqTWmJRKkiRJklpjUipJkiRJao1JqSRJkiSpNSalkiRJkqTWmJRKkiRJklpjUipJkiRJao1JqSRJkiSpNSalkiRJkqTWmJRKkiRJklpjUipJkiRJao1JqSRJkiSpNSalkiRJkqTWmJRKkiRJklpjUipJkiRJao1JqSRJkiSpNSalkiRJkqTWmJRKkiRJklpjUipJkiRJak3PSWmSA5LcmuSaZv7oJDcl2ZTko0kObMof38xvapavHlDskiRJkqQxty9XSt8I3NU1/w7gnVX1dOBh4Lym/Dzg4ab8nU09SZIkSZL20FNSmmQl8FLg/c18gBcBVzVVNgBnNNNrmnma5ac09SVJkiRJeoxU1cKVkquA/wYcCvxH4FzgxuZqKElWAX9eVc9K8hXg1Kra0iz7BnBiVT242zrXAmsBpqamfvGKK65Y9MZse2g7D3xv0avpi+NWHNZ2CADs2LGDQw45pO0wRobtsSfbZE+2yZ6G1SYnn3zyLVU1PfAPkiRJI2PZQhWSvAzYVlW3JJnp1wdX1XpgPcD09HTNzCx+1e+5/Gouun3BTRqKzWfPtB0CALOzs/SjbSeF7bEn22RPtsmebBNJkjQovWRwzwdekeR04AnAk4CLgeVJllXVTmAlsLWpvxVYBWxJsgw4DPhW3yOXJEmSJI29Be8praq3VtXKqloNnAV8tqrOBm4AXtlUOwe4upne2MzTLP9s9dJHWJIkSZK05CzmOaVvAd6cZBPwZOCSpvwS4MlN+ZuBdYsLUZIkSZI0qfbpBsyqmgVmm+m7gRPmqPN94FV9iE2SJEmSNOEWc6VUkiRJkqRFMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLXGpFSSJEmS1BqTUkmSJElSa0xKJUmSJEmtMSmVJEmSJLVmwaQ0yaokNyS5M8kdSd7YlB+R5LokX2/+Ht6UJ8m7k2xK8uUkxw96IyRJkiRJ46mXK6U7gQuq6ljgJOD8JMcC64Drq+oY4PpmHuA04JjmtRZ4X9+jliRJkiRNhAWT0qq6r6q+1Ex/B7gLWAGsATY01TYAZzTTa4DLquNGYHmSo/oduCRJkiRp/KWqeq+crAY+BzwL+LuqWt6UB3i4qpYnuQa4sKo+3yy7HnhLVd2827rW0rmSytTU1C9eccUVi96YbQ9t54HvLXo1fXHcisPaDgGAHTt2cMghh7QdxsiwPfZkm+zJNtnTsNrk5JNPvqWqpgf+QZIkaWQs67VikkOAjwFvqqpvd/LQjqqqJL1nt533rAfWA0xPT9fMzMy+vH1O77n8ai66vedNGqjNZ8+0HQIAs7Oz9KNtJ4XtsSfbZE+2yZ5sE0mSNCg9jb6b5HF0EtLLq+rjTfEDu7rlNn+3NeVbgVVdb1/ZlEmSJEmS9Bi9jL4b4BLgrqr6g65FG4FzmulzgKu7yl/bjMJ7ErC9qu7rY8ySJEmSpAnRS1/X5wOvAW5PcltT9jbgQuDKJOcB9wBnNsuuBU4HNgGPAq/rZ8CSJEmSpMmxYFLaDFiUeRafMkf9As5fZFySJEmSpCWgp3tKJUmSJEkaBJNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa1Z1nYAk2r1uk+1HQIAFxy3k5m2g5AkSZKkeXilVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktcakVJIkSZLUGpNSSZIkSVJrTEolSZIkSa0xKZUkSZIktWZZ2wFo8Fav+1TbITzG5gtf2nYIkiRJkkaEV0olSZIkSa0ZSFKa5NQkX0uyKcm6QXyGJEmSJGn89T0pTXIA8F7gNOBY4NVJju3350iSJEmSxt8g7ik9AdhUVXcDJLkCWAPcOYDPkhZllO639V5bSZIkLUWDSEpXAPd2zW8BThzA52hMtZkIXnDcTs4doUS0W1vtMlebmCCPh2HuM718d9xvJEnS/khV9XeFySuBU6vq3zTzrwFOrKrX71ZvLbC2mX0G8LU+fPyRwIN9WM8ksU0ey/bYk22yJ9tkT8Nqk6dV1VOG8DmSJGlEDOJK6VZgVdf8yqbsMapqPbC+nx+c5Oaqmu7nOsedbfJYtseebJM92SZ7sk0kSdKgDGL03S8CxyQ5OsmBwFnAxgF8jiRJkiRpzPX9SmlV7UzyeuAvgAOAD1TVHf3+HEmSJEnS+BtE912q6lrg2kGsewF97Q48IWyTx7I99mSb7Mk22ZNtIkmSBqLvAx1JkiRJktSrQdxTKkmSJElSTyYiKU1yapKvJdmUZF3b8QxLkg8k2ZbkK11lRyS5LsnXm7+HN+VJ8u6mjb6c5Pj2Ih+cJKuS3JDkziR3JHljU75k2yXJE5L8dZK/adrkd5ryo5Pc1Gz7R5uByUjy+GZ+U7N8dasbMCBJDkhya5Jrmvml3h6bk9ye5LYkNzdlS/Z7I0mShmfsk9IkBwDvBU4DjgVeneTYdqMamkuBU3crWwdcX1XHANc389Bpn2Oa11rgfUOKcdh2AhdU1bHAScD5zf6wlNvlB8CLqurZwHOAU5OcBLwDeGdVPR14GDivqX8e8HBT/s6m3iR6I3BX1/xSbw+Ak6vqOV2PflnK3xtJkjQkY5+UAicAm6rq7qr6IXAFsKblmIaiqj4HPLRb8RpgQzO9ATijq/yy6rgRWJ7kqKEEOkRVdV9VfamZ/g6dpGMFS7hdmm3b0cw+rnkV8CLgqqZ89zbZ1VZXAackyXCiHY4kK4GXAu9v5sMSbo+9WLLfG0mSNDyTkJSuAO7tmt/SlC1VU1V1XzN9PzDVTC+5dmq6WT4XuIkl3i5NV9XbgG3AdcA3gEeqamdTpXu7f9ImzfLtwJOHGvDgvQv4LeDHzfyTWdrtAZ0fKj6T5JYka5uyJf29kSRJwzGQR8JoNFRVJVmSwysnOQT4GPCmqvp294WtpdguVfUj4DlJlgOfAJ7ZbkTtSfIyYFtV3ZJkpuVwRskLqmprkp8Frkvy1e6FS/F7I0mShmMSrpRuBVZ1za9sypaqB3Z1o2v+bmvKl0w7JXkcnYT08qr6eFO85NsFoKoeAW4Ankeny+WuH6a6t/snbdIsPwz41nAjHajnA69IsplOd/8XARezdNsDgKra2vzdRueHixPweyNJkoZgEpLSLwLHNCNnHgicBWxsOaY2bQTOaabPAa7uKn9tM2rmScD2rm55E6O51+8S4K6q+oOuRUu2XZI8pblCSpKDgBfTudf2BuCVTbXd22RXW70S+GxN0AONq+qtVbWyqlbT+f/is1V1Nku0PQCSHJzk0F3TwEuAr7CEvzeSJGl4MgnnVklOp3OP2AHAB6rq7e1GNBxJPgLMAEcCDwC/DXwSuBJ4KnAPcGZVPdQka39IZ7TeR4HXVdXNLYQ9UEleAPwv4HZ+er/g2+jcV7ok2yXJP6UzSM0BdH6IurKqfjfJz9O5UngEcCvwa1X1gyRPAD5E537ch4CzqurudqIfrKb77n+sqpct5fZotv0Tzewy4MNV9fYkT2aJfm8kSdLwTERSKkmSJEkaT5PQfVeSJEmSNKZMSiVJkiRJrTEplSRJkiS1xqRUkiRJktQak1JJkiRJUmtMSiVJkiRJrTEplSRJkiS1xqRUkiRJktSa/x9MNgX9e5v26wAAAABJRU5ErkJggg==\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 | " \n", 1457 | " \n", 1458 | " \n", 1459 | " \n", 1460 | " \n", 1461 | " \n", 1462 | " \n", 1463 | " \n", 1464 | " \n", 1465 | " \n", 1466 | " \n", 1467 | " \n", 1468 | " \n", 1469 | " \n", 1470 | " \n", 1471 | " \n", 1472 | " \n", 1473 | " \n", 1474 | " \n", 1475 | " \n", 1476 | " \n", 1477 | " \n", 1478 | " \n", 1479 | " \n", 1480 | " \n", 1481 | " \n", 1482 | " \n", 1483 | " \n", 1484 | " \n", 1485 | " \n", 1486 | " \n", 1487 | " \n", 1488 | " \n", 1489 | " \n", 1490 | " \n", 1491 | " \n", 1492 | " \n", 1493 | " \n", 1494 | " \n", 1495 | " \n", 1496 | " \n", 1497 | " \n", 1498 | " \n", 1499 | " \n", 1500 | " \n", 1501 | " \n", 1502 | " \n", 1503 | " \n", 1504 | " \n", 1505 | " \n", 1506 | " \n", 1507 | " \n", 1508 | " \n", 1509 | " \n", 1510 | " \n", 1511 | " \n", 1512 | " \n", 1513 | " \n", 1514 | " \n", 1515 | " \n", 1516 | " \n", 1517 | " \n", 1518 | " \n", 1519 | " \n", 1520 | " \n", 1521 | " \n", 1522 | " \n", 1523 | " \n", 1524 | " \n", 1525 | " \n", 1526 | " \n", 1527 | " \n", 1528 | " \n", 1529 | " \n", 1530 | " \n", 1531 | " \n", 1532 | " \n", 1533 | " \n", 1534 | " \n", 1535 | " \n", 1536 | " \n", 1537 | " \n", 1538 | " \n", 1539 | " \n", 1540 | " \n", 1541 | " \n", 1542 | " \n", 1543 | " \n", 1544 | " \n", 1545 | " \n", 1546 | " \n", 1547 | " \n", 1548 | " \n", 1549 | " \n", 1550 | " \n", 1551 | " \n", 1552 | " \n", 1553 | " \n", 1554 | " \n", 1555 | " \n", 1556 | " \n", 1557 | " \n", 1558 | " \n", 1559 | " \n", 1560 | " \n", 1561 | " \n", 1562 | " \n", 1563 | " \n", 1564 | " \n", 1565 | " \n", 1566 | " \n", 1567 | " \n", 1568 | " \n", 1569 | " \n", 1570 | " \n", 1571 | " \n", 1572 | " \n", 1573 | " \n", 1574 | " \n", 1575 | " \n", 1576 | " \n", 1577 | "
SurvivedPclassSexSibSpParchFareEmbarked
PassengerId
103male107.2500S
211female1071.2833C
313female007.9250S
411female1053.1000S
503male008.0500S
603male008.4583Q
701male0051.8625S
803male3121.0750S
913female0211.1333S
1012female1030.0708C
\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 | " \n", 1631 | " \n", 1632 | " \n", 1633 | " \n", 1634 | " \n", 1635 | " \n", 1636 | " \n", 1637 | " \n", 1638 | " \n", 1639 | " \n", 1640 | " \n", 1641 | " \n", 1642 | " \n", 1643 | " \n", 1644 | " \n", 1645 | " \n", 1646 | " \n", 1647 | " \n", 1648 | " \n", 1649 | " \n", 1650 | " \n", 1651 | " \n", 1652 | " \n", 1653 | " \n", 1654 | " \n", 1655 | " \n", 1656 | " \n", 1657 | " \n", 1658 | " \n", 1659 | " \n", 1660 | " \n", 1661 | " \n", 1662 | " \n", 1663 | " \n", 1664 | " \n", 1665 | " \n", 1666 | " \n", 1667 | " \n", 1668 | " \n", 1669 | " \n", 1670 | " \n", 1671 | " \n", 1672 | " \n", 1673 | " \n", 1674 | " \n", 1675 | " \n", 1676 | " \n", 1677 | " \n", 1678 | " \n", 1679 | " \n", 1680 | " \n", 1681 | " \n", 1682 | " \n", 1683 | " \n", 1684 | " \n", 1685 | " \n", 1686 | " \n", 1687 | " \n", 1688 | " \n", 1689 | " \n", 1690 | " \n", 1691 | " \n", 1692 | " \n", 1693 | " \n", 1694 | "
PclassSexSibSpParchFareEmbarked
PassengerId
8923male007.8292Q
8933female107.0000S
8942male009.6875Q
8953male008.6625S
8963female1112.2875S
\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 | " \n", 1959 | " \n", 1960 | " \n", 1961 | " \n", 1962 | " \n", 1963 | " \n", 1964 | " \n", 1965 | " \n", 1966 | " \n", 1967 | " \n", 1968 | " \n", 1969 | " \n", 1970 | " \n", 1971 | " \n", 1972 | " \n", 1973 | " \n", 1974 | " \n", 1975 | " \n", 1976 | " \n", 1977 | " \n", 1978 | " \n", 1979 | " \n", 1980 | " \n", 1981 | " \n", 1982 | " \n", 1983 | " \n", 1984 | " \n", 1985 | " \n", 1986 | " \n", 1987 | " \n", 1988 | " \n", 1989 | " \n", 1990 | " \n", 1991 | " \n", 1992 | " \n", 1993 | " \n", 1994 | "
FeatureMean Ranking
1Sex0.90
4Fare0.64
0Pclass0.42
5Embarked0.20
2SibSp0.18
3Parch0.11
\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": "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\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 | " \n", 2310 | " \n", 2311 | " \n", 2312 | " \n", 2313 | " \n", 2314 | " \n", 2315 | " \n", 2316 | " \n", 2317 | " \n", 2318 | " \n", 2319 | " \n", 2320 | " \n", 2321 | " \n", 2322 | " \n", 2323 | " \n", 2324 | " \n", 2325 | " \n", 2326 | " \n", 2327 | " \n", 2328 | " \n", 2329 | " \n", 2330 | " \n", 2331 | " \n", 2332 | " \n", 2333 | " \n", 2334 | " \n", 2335 | " \n", 2336 | " \n", 2337 | " \n", 2338 | " \n", 2339 | " \n", 2340 | " \n", 2341 | " \n", 2342 | " \n", 2343 | " \n", 2344 | " \n", 2345 | " \n", 2346 | " \n", 2347 | " \n", 2348 | " \n", 2349 | " \n", 2350 | " \n", 2351 | " \n", 2352 | " \n", 2353 | " \n", 2354 | " \n", 2355 | " \n", 2356 | " \n", 2357 | " \n", 2358 | " \n", 2359 | " \n", 2360 | " \n", 2361 | " \n", 2362 | "
Survived
PassengerId
8920
8931
8940
8950
8961
......
13050
13061
13070
13080
13090
\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 | " \n", 2530 | " \n", 2531 | " \n", 2532 | " \n", 2533 | " \n", 2534 | " \n", 2535 | " \n", 2536 | " \n", 2537 | " \n", 2538 | " \n", 2539 | " \n", 2540 | " \n", 2541 | " \n", 2542 | " \n", 2543 | " \n", 2544 | " \n", 2545 | " \n", 2546 | " \n", 2547 | " \n", 2548 | " \n", 2549 | " \n", 2550 | " \n", 2551 | " \n", 2552 | " \n", 2553 | " \n", 2554 | " \n", 2555 | " \n", 2556 | " \n", 2557 | " \n", 2558 | " \n", 2559 | " \n", 2560 | " \n", 2561 | " \n", 2562 | " \n", 2563 | " \n", 2564 | " \n", 2565 | " \n", 2566 | " \n", 2567 | " \n", 2568 | " \n", 2569 | " \n", 2570 | " \n", 2571 | " \n", 2572 | " \n", 2573 | " \n", 2574 | " \n", 2575 | " \n", 2576 | " \n", 2577 | " \n", 2578 | " \n", 2579 | " \n", 2580 | " \n", 2581 | " \n", 2582 | " \n", 2583 | " \n", 2584 | " \n", 2585 | " \n", 2586 | " \n", 2587 | " \n", 2588 | " \n", 2589 | " \n", 2590 | " \n", 2591 | " \n", 2592 | " \n", 2593 | " \n", 2594 | " \n", 2595 | "
Survivedtest_survived
PassengerId
8920NaN
8931NaN
8940NaN
8950NaN
8961NaN
.........
13050NaN
13061NaN
13070NaN
13080NaN
13090NaN
\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": "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\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 | --------------------------------------------------------------------------------