Skip to content

Instantly share code, notes, and snippets.

@hafizio
Created December 9, 2019 13:53
Show Gist options
  • Save hafizio/6d1c5f96667325f64b2629f3f4c2460f to your computer and use it in GitHub Desktop.
Save hafizio/6d1c5f96667325f64b2629f3f4c2460f to your computer and use it in GitHub Desktop.
titanic_survival_prediction.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
},
"colab": {
"name": "titanic_survival_prediction.ipynb",
"provenance": [],
"collapsed_sections": [],
"toc_visible": true,
"include_colab_link": true
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/hafizio/6d1c5f96667325f64b2629f3f4c2460f/titanic_survival_prediction.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sOqm1rrz_uEB",
"colab_type": "text"
},
"source": [
"## Import Data"
]
},
{
"cell_type": "code",
"metadata": {
"id": "UZrrIdWk_FMC",
"colab_type": "code",
"outputId": "4dd956f9-cec4-4b8c-a501-4fc47688a86a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 119
}
},
"source": [
"!git clone https://github.com/hafizio/titanic.git"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Cloning into 'titanic'...\n",
"remote: Enumerating objects: 11, done.\u001b[K\n",
"remote: Counting objects: 100% (11/11), done.\u001b[K\n",
"remote: Compressing objects: 100% (11/11), done.\u001b[K\n",
"remote: Total 11 (delta 0), reused 11 (delta 0), pack-reused 0\u001b[K\n",
"Unpacking objects: 100% (11/11), done.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EfNu-q97977M",
"colab_type": "text"
},
"source": [
"## Import Libraries"
]
},
{
"cell_type": "code",
"metadata": {
"id": "UgYdk39R977O",
"colab_type": "code",
"colab": {}
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import os\n",
"import seaborn as sns"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "o1w5G6ZF977Q",
"colab_type": "text"
},
"source": [
"## List Directory"
]
},
{
"cell_type": "code",
"metadata": {
"id": "wn_i0w8_977R",
"colab_type": "code",
"outputId": "8f548112-6918-422c-84cc-d02971e84076",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"!ls"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"sample_data titanic\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "8PvPftmwAS6n",
"colab_type": "text"
},
"source": [
"## Change Working Directory"
]
},
{
"cell_type": "code",
"metadata": {
"id": "JVJNuijIAR3G",
"colab_type": "code",
"outputId": "1931f26d-c733-4ce3-8c44-868189974c20",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"os.chdir(\"./titanic\")\n",
"os.getcwd()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"'/content/titanic'"
]
},
"metadata": {
"tags": []
},
"execution_count": 5
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ZbCWIVPH977U",
"colab_type": "text"
},
"source": [
"## Read CSV Files"
]
},
{
"cell_type": "code",
"metadata": {
"id": "Oh8RRDmt977U",
"colab_type": "code",
"outputId": "32aaf7b7-4d71-48e6-f31d-fa5d92e3d305",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 68
}
},
"source": [
"train_data = pd.read_csv(\"./data/train.csv\")\n",
"test_data = pd.read_csv(\"./data/test.csv\")\n",
"gender_sub = pd.read_csv(\"./data/gender_submission.csv\")\n",
"\n",
"print(train_data.shape)\n",
"print(test_data.shape)\n",
"print(gender_sub.shape)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"(891, 12)\n",
"(418, 11)\n",
"(418, 2)\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "E6mmxI7S977X",
"colab_type": "text"
},
"source": [
"## Exploratory Data Analysis (EDA)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "DgDYcbZt977X",
"colab_type": "code",
"outputId": "8699672f-b2f4-4d2e-8ef5-d6e1410643cf",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 496
}
},
"source": [
"train_data.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>male</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>female</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C85</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>female</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>female</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>C123</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>male</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Survived Pclass ... Fare Cabin Embarked\n",
"0 1 0 3 ... 7.2500 NaN S\n",
"1 2 1 1 ... 71.2833 C85 C\n",
"2 3 1 3 ... 7.9250 NaN S\n",
"3 4 1 1 ... 53.1000 C123 S\n",
"4 5 0 3 ... 8.0500 NaN S\n",
"\n",
"[5 rows x 12 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 252
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "jfDojLGs977Z",
"colab_type": "code",
"outputId": "1799cdec-8468-435d-d485-dd5941bfefe1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 289
}
},
"source": [
"test_data.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>892</td>\n",
" <td>3</td>\n",
" <td>Kelly, Mr. James</td>\n",
" <td>male</td>\n",
" <td>34.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>330911</td>\n",
" <td>7.8292</td>\n",
" <td>NaN</td>\n",
" <td>Q</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>893</td>\n",
" <td>3</td>\n",
" <td>Wilkes, Mrs. James (Ellen Needs)</td>\n",
" <td>female</td>\n",
" <td>47.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>363272</td>\n",
" <td>7.0000</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>894</td>\n",
" <td>2</td>\n",
" <td>Myles, Mr. Thomas Francis</td>\n",
" <td>male</td>\n",
" <td>62.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>240276</td>\n",
" <td>9.6875</td>\n",
" <td>NaN</td>\n",
" <td>Q</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>895</td>\n",
" <td>3</td>\n",
" <td>Wirz, Mr. Albert</td>\n",
" <td>male</td>\n",
" <td>27.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>315154</td>\n",
" <td>8.6625</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>896</td>\n",
" <td>3</td>\n",
" <td>Hirvonen, Mrs. Alexander (Helga E Lindqvist)</td>\n",
" <td>female</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3101298</td>\n",
" <td>12.2875</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Pclass ... Cabin Embarked\n",
"0 892 3 ... NaN Q\n",
"1 893 3 ... NaN S\n",
"2 894 2 ... NaN Q\n",
"3 895 3 ... NaN S\n",
"4 896 3 ... NaN S\n",
"\n",
"[5 rows x 11 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 253
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "siHNMB_m977b",
"colab_type": "code",
"outputId": "73049805-14b6-4c06-bd6a-a080f4fd0351",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"gender_sub.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>892</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>893</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>894</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>895</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>896</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Survived\n",
"0 892 0\n",
"1 893 1\n",
"2 894 0\n",
"3 895 0\n",
"4 896 1"
]
},
"metadata": {
"tags": []
},
"execution_count": 254
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "jjLM_8D3977d",
"colab_type": "code",
"outputId": "d212f587-e7dc-449c-eb81-78d01920ecb3",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
}
},
"source": [
"train_data.describe()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" <th>Pclass</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Fare</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>891.000000</td>\n",
" <td>891.000000</td>\n",
" <td>891.000000</td>\n",
" <td>714.000000</td>\n",
" <td>891.000000</td>\n",
" <td>891.000000</td>\n",
" <td>891.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>446.000000</td>\n",
" <td>0.383838</td>\n",
" <td>2.308642</td>\n",
" <td>29.699118</td>\n",
" <td>0.523008</td>\n",
" <td>0.381594</td>\n",
" <td>32.204208</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>257.353842</td>\n",
" <td>0.486592</td>\n",
" <td>0.836071</td>\n",
" <td>14.526497</td>\n",
" <td>1.102743</td>\n",
" <td>0.806057</td>\n",
" <td>49.693429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.420000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>223.500000</td>\n",
" <td>0.000000</td>\n",
" <td>2.000000</td>\n",
" <td>20.125000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>7.910400</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>446.000000</td>\n",
" <td>0.000000</td>\n",
" <td>3.000000</td>\n",
" <td>28.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>14.454200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>668.500000</td>\n",
" <td>1.000000</td>\n",
" <td>3.000000</td>\n",
" <td>38.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>31.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>891.000000</td>\n",
" <td>1.000000</td>\n",
" <td>3.000000</td>\n",
" <td>80.000000</td>\n",
" <td>8.000000</td>\n",
" <td>6.000000</td>\n",
" <td>512.329200</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Survived Pclass ... SibSp Parch Fare\n",
"count 891.000000 891.000000 891.000000 ... 891.000000 891.000000 891.000000\n",
"mean 446.000000 0.383838 2.308642 ... 0.523008 0.381594 32.204208\n",
"std 257.353842 0.486592 0.836071 ... 1.102743 0.806057 49.693429\n",
"min 1.000000 0.000000 1.000000 ... 0.000000 0.000000 0.000000\n",
"25% 223.500000 0.000000 2.000000 ... 0.000000 0.000000 7.910400\n",
"50% 446.000000 0.000000 3.000000 ... 0.000000 0.000000 14.454200\n",
"75% 668.500000 1.000000 3.000000 ... 1.000000 0.000000 31.000000\n",
"max 891.000000 1.000000 3.000000 ... 8.000000 6.000000 512.329200\n",
"\n",
"[8 rows x 7 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 255
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "umJauclU977f",
"colab_type": "code",
"outputId": "edbd72f9-f8bb-49e9-b352-56252f3b24fe",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
}
},
"source": [
"test_data.describe()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Pclass</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Fare</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>418.000000</td>\n",
" <td>418.000000</td>\n",
" <td>332.000000</td>\n",
" <td>418.000000</td>\n",
" <td>418.000000</td>\n",
" <td>417.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1100.500000</td>\n",
" <td>2.265550</td>\n",
" <td>30.272590</td>\n",
" <td>0.447368</td>\n",
" <td>0.392344</td>\n",
" <td>35.627188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>120.810458</td>\n",
" <td>0.841838</td>\n",
" <td>14.181209</td>\n",
" <td>0.896760</td>\n",
" <td>0.981429</td>\n",
" <td>55.907576</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>892.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.170000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>996.250000</td>\n",
" <td>1.000000</td>\n",
" <td>21.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>7.895800</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>1100.500000</td>\n",
" <td>3.000000</td>\n",
" <td>27.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>14.454200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>1204.750000</td>\n",
" <td>3.000000</td>\n",
" <td>39.000000</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>31.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>1309.000000</td>\n",
" <td>3.000000</td>\n",
" <td>76.000000</td>\n",
" <td>8.000000</td>\n",
" <td>9.000000</td>\n",
" <td>512.329200</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Pclass Age SibSp Parch Fare\n",
"count 418.000000 418.000000 332.000000 418.000000 418.000000 417.000000\n",
"mean 1100.500000 2.265550 30.272590 0.447368 0.392344 35.627188\n",
"std 120.810458 0.841838 14.181209 0.896760 0.981429 55.907576\n",
"min 892.000000 1.000000 0.170000 0.000000 0.000000 0.000000\n",
"25% 996.250000 1.000000 21.000000 0.000000 0.000000 7.895800\n",
"50% 1100.500000 3.000000 27.000000 0.000000 0.000000 14.454200\n",
"75% 1204.750000 3.000000 39.000000 1.000000 0.000000 31.500000\n",
"max 1309.000000 3.000000 76.000000 8.000000 9.000000 512.329200"
]
},
"metadata": {
"tags": []
},
"execution_count": 256
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "v1V3rs4C977h",
"colab_type": "code",
"outputId": "96cbe883-38fd-4a73-a9b6-b1e9b3e73b41",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
}
},
"source": [
"gender_sub.describe()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Survived</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>418.000000</td>\n",
" <td>418.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>1100.500000</td>\n",
" <td>0.363636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>120.810458</td>\n",
" <td>0.481622</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>892.000000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>996.250000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>1100.500000</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>1204.750000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>1309.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Survived\n",
"count 418.000000 418.000000\n",
"mean 1100.500000 0.363636\n",
"std 120.810458 0.481622\n",
"min 892.000000 0.000000\n",
"25% 996.250000 0.000000\n",
"50% 1100.500000 0.000000\n",
"75% 1204.750000 1.000000\n",
"max 1309.000000 1.000000"
]
},
"metadata": {
"tags": []
},
"execution_count": 257
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "lPDLscwR977j",
"colab_type": "code",
"outputId": "9e5db0b7-3aa8-4aca-c9e8-cf70cb8b308f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 296
}
},
"source": [
"# Total survived and dead counts\n",
"sns.countplot(x= \"Survived\", data = train_data)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fb34efcf208>"
]
},
"metadata": {
"tags": []
},
"execution_count": 258
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BzfymYMy977l",
"colab_type": "code",
"outputId": "15eafbed-df95-45ec-bcc9-ae71d77b0a9b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 323
}
},
"source": [
"# Total survived and dead count based on gender\n",
"new_train = train_data\n",
"new_train[\"Died\"] = 1 - new_train[\"Survived\"]\n",
"new_train.groupby(\"Sex\").agg(\"sum\")[[\"Survived\", \"Died\"]].plot(kind='bar',stacked=True)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fb34ef96be0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 259
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "pONZSmQc977n",
"colab_type": "code",
"outputId": "4b7774ff-be13-4bcf-eaf3-03a4df831f46",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 296
}
},
"source": [
"# Total survived and dead count based on class\n",
"sns.countplot(x='Survived',hue='Pclass',data=new_train)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fb34ef87588>"
]
},
"metadata": {
"tags": []
},
"execution_count": 260
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "umP3nAZZ977p",
"colab_type": "text"
},
"source": [
"## Combine Train and Test Data"
]
},
{
"cell_type": "code",
"metadata": {
"id": "gDKUIzns977p",
"colab_type": "code",
"outputId": "04a84b82-853d-453c-bcd0-60e7be064cbc",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 691
}
},
"source": [
"# Drop the survived and died columns and combine the train and test sets\n",
"x_train = train_data.drop([\"Survived\", \"Died\"], axis = 1)\n",
"y_train = train_data[\"Survived\"]\n",
"x_test = test_data\n",
"x_train"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>male</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>female</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C85</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>female</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>female</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>C123</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>male</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>886</th>\n",
" <td>887</td>\n",
" <td>2</td>\n",
" <td>Montvila, Rev. Juozas</td>\n",
" <td>male</td>\n",
" <td>27.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>211536</td>\n",
" <td>13.0000</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>887</th>\n",
" <td>888</td>\n",
" <td>1</td>\n",
" <td>Graham, Miss. Margaret Edith</td>\n",
" <td>female</td>\n",
" <td>19.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>112053</td>\n",
" <td>30.0000</td>\n",
" <td>B42</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>888</th>\n",
" <td>889</td>\n",
" <td>3</td>\n",
" <td>Johnston, Miss. Catherine Helen \"Carrie\"</td>\n",
" <td>female</td>\n",
" <td>NaN</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>W./C. 6607</td>\n",
" <td>23.4500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>889</th>\n",
" <td>890</td>\n",
" <td>1</td>\n",
" <td>Behr, Mr. Karl Howell</td>\n",
" <td>male</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>111369</td>\n",
" <td>30.0000</td>\n",
" <td>C148</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>890</th>\n",
" <td>891</td>\n",
" <td>3</td>\n",
" <td>Dooley, Mr. Patrick</td>\n",
" <td>male</td>\n",
" <td>32.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>370376</td>\n",
" <td>7.7500</td>\n",
" <td>NaN</td>\n",
" <td>Q</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>891 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" PassengerId Pclass ... Cabin Embarked\n",
"0 1 3 ... NaN S\n",
"1 2 1 ... C85 C\n",
"2 3 3 ... NaN S\n",
"3 4 1 ... C123 S\n",
"4 5 3 ... NaN S\n",
".. ... ... ... ... ...\n",
"886 887 2 ... NaN S\n",
"887 888 1 ... B42 S\n",
"888 889 3 ... NaN S\n",
"889 890 1 ... C148 C\n",
"890 891 3 ... NaN Q\n",
"\n",
"[891 rows x 11 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 261
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "H0H81SK2977r",
"colab_type": "code",
"outputId": "748f3ced-0f17-4b70-eec3-9e26dcce07b1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"combined_data = x_train.append(x_test)\n",
"combined_data.shape"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(1309, 11)"
]
},
"metadata": {
"tags": []
},
"execution_count": 262
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "rul1FuSQ977t",
"colab_type": "code",
"outputId": "3a4b2a6f-8afd-4a7d-ebd8-b0565f165045",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 221
}
},
"source": [
"# Check for total Nan in each columns\n",
"combined_data.isna().sum()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"PassengerId 0\n",
"Pclass 0\n",
"Name 0\n",
"Sex 0\n",
"Age 263\n",
"SibSp 0\n",
"Parch 0\n",
"Ticket 0\n",
"Fare 1\n",
"Cabin 1014\n",
"Embarked 2\n",
"dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 263
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "vcy65Jb7977u",
"colab_type": "text"
},
"source": [
"## Pre-processing"
]
},
{
"cell_type": "code",
"metadata": {
"id": "phg4yvk1977v",
"colab_type": "code",
"outputId": "eec3ec5e-6649-4c44-a34c-a2873a01d2e5",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"# Boxplot to see age whether has outliers\n",
"combined_data.boxplot(column=\"Age\", return_type=\"axes\")"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fb34eef05c0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 264
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "wA_4Cllg977w",
"colab_type": "code",
"outputId": "495a91d2-99ba-4198-9ac7-c6e687df7c6e",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"# Use median to replace Nan in Age attribute as there are outliers\n",
"# Mean is not suitable to be used to replace Nan if there are outliers\n",
"age_median = combined_data[\"Age\"].median()\n",
"age_median"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"28.0"
]
},
"metadata": {
"tags": []
},
"execution_count": 265
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "waRGXnS0977y",
"colab_type": "code",
"outputId": "f6ad6255-7ad6-4d94-eb9a-ad553e25e4fe",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 827
}
},
"source": [
"age_nan = combined_data[\"Age\"]\n",
"replaced_age = age_nan.fillna(age_median)\n",
"combined_data[\"Age\"] = replaced_age\n",
"combined_data"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>male</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>female</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C85</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>female</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>female</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>C123</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>male</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>413</th>\n",
" <td>1305</td>\n",
" <td>3</td>\n",
" <td>Spector, Mr. Woolf</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>A.5. 3236</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>414</th>\n",
" <td>1306</td>\n",
" <td>1</td>\n",
" <td>Oliva y Ocana, Dona. Fermina</td>\n",
" <td>female</td>\n",
" <td>39.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>PC 17758</td>\n",
" <td>108.9000</td>\n",
" <td>C105</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>415</th>\n",
" <td>1307</td>\n",
" <td>3</td>\n",
" <td>Saether, Mr. Simon Sivertsen</td>\n",
" <td>male</td>\n",
" <td>38.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>SOTON/O.Q. 3101262</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416</th>\n",
" <td>1308</td>\n",
" <td>3</td>\n",
" <td>Ware, Mr. Frederick</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>359309</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>417</th>\n",
" <td>1309</td>\n",
" <td>3</td>\n",
" <td>Peter, Master. Michael J</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2668</td>\n",
" <td>22.3583</td>\n",
" <td>NaN</td>\n",
" <td>C</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1309 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" PassengerId Pclass ... Cabin Embarked\n",
"0 1 3 ... NaN S\n",
"1 2 1 ... C85 C\n",
"2 3 3 ... NaN S\n",
"3 4 1 ... C123 S\n",
"4 5 3 ... NaN S\n",
".. ... ... ... ... ...\n",
"413 1305 3 ... NaN S\n",
"414 1306 1 ... C105 C\n",
"415 1307 3 ... NaN S\n",
"416 1308 3 ... NaN S\n",
"417 1309 3 ... NaN C\n",
"\n",
"[1309 rows x 11 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 266
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "1Ojz3Jxn977z",
"colab_type": "code",
"outputId": "c4b4b2ec-4e53-48df-b12b-f56b8c086410",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"# Find the unique values of Embarked attribute\n",
"combined_data[\"Embarked\"].unique()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array(['S', 'C', 'Q', nan], dtype=object)"
]
},
"metadata": {
"tags": []
},
"execution_count": 267
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "vTLkl9yX9772",
"colab_type": "code",
"outputId": "543c9285-1412-48c9-bd02-30ef63afe7c0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 85
}
},
"source": [
"combined_data[\"Embarked\"].value_counts()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"S 914\n",
"C 270\n",
"Q 123\n",
"Name: Embarked, dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 268
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "LliCEc4e9775",
"colab_type": "code",
"outputId": "fa8ed52a-f2d7-4e08-8a88-6b64ff7d6817",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 827
}
},
"source": [
"# Replace the Nan with the most occuring values, which is \"S\"\n",
"embarked_nan = combined_data[\"Embarked\"]\n",
"replaced_embarked = embarked_nan.fillna(\"S\")\n",
"combined_data[\"Embarked\"] = replaced_embarked\n",
"combined_data"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Cabin</th>\n",
" <th>Embarked</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>male</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>female</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C85</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>female</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>female</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>C123</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>male</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>413</th>\n",
" <td>1305</td>\n",
" <td>3</td>\n",
" <td>Spector, Mr. Woolf</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>A.5. 3236</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>414</th>\n",
" <td>1306</td>\n",
" <td>1</td>\n",
" <td>Oliva y Ocana, Dona. Fermina</td>\n",
" <td>female</td>\n",
" <td>39.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>PC 17758</td>\n",
" <td>108.9000</td>\n",
" <td>C105</td>\n",
" <td>C</td>\n",
" </tr>\n",
" <tr>\n",
" <th>415</th>\n",
" <td>1307</td>\n",
" <td>3</td>\n",
" <td>Saether, Mr. Simon Sivertsen</td>\n",
" <td>male</td>\n",
" <td>38.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>SOTON/O.Q. 3101262</td>\n",
" <td>7.2500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416</th>\n",
" <td>1308</td>\n",
" <td>3</td>\n",
" <td>Ware, Mr. Frederick</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>359309</td>\n",
" <td>8.0500</td>\n",
" <td>NaN</td>\n",
" <td>S</td>\n",
" </tr>\n",
" <tr>\n",
" <th>417</th>\n",
" <td>1309</td>\n",
" <td>3</td>\n",
" <td>Peter, Master. Michael J</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2668</td>\n",
" <td>22.3583</td>\n",
" <td>NaN</td>\n",
" <td>C</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1309 rows × 11 columns</p>\n",
"</div>"
],
"text/plain": [
" PassengerId Pclass ... Cabin Embarked\n",
"0 1 3 ... NaN S\n",
"1 2 1 ... C85 C\n",
"2 3 3 ... NaN S\n",
"3 4 1 ... C123 S\n",
"4 5 3 ... NaN S\n",
".. ... ... ... ... ...\n",
"413 1305 3 ... NaN S\n",
"414 1306 1 ... C105 C\n",
"415 1307 3 ... NaN S\n",
"416 1308 3 ... NaN S\n",
"417 1309 3 ... NaN C\n",
"\n",
"[1309 rows x 11 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 269
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Xra6VF009776",
"colab_type": "code",
"outputId": "e1ed76b0-2026-47f2-d88d-99c8bfa3744d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
" # Find the first unique letter of each string in Cabin attribute\n",
"combined_data[\"Cabin\"].astype(str).str[0].unique()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array(['n', 'C', 'E', 'G', 'D', 'A', 'B', 'F', 'T'], dtype=object)"
]
},
"metadata": {
"tags": []
},
"execution_count": 270
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "14GnSSv_9777",
"colab_type": "code",
"colab": {}
},
"source": [
"def process_cabin():\n",
" global combined_data \n",
" # replacing missing cabins with U (for Uknown)\n",
" combined_data.Cabin.fillna('T', inplace=True)\n",
" \n",
" # mapping each Cabin value with the cabin letter\n",
" combined_data['Cabin'] = combined_data['Cabin'].map(lambda c: c[0])\n",
" \n",
" # dummy encoding ...\n",
" cabin_dummies = pd.get_dummies(combined_data['Cabin'], prefix='Cabin') \n",
" combined_data = pd.concat([combined_data, cabin_dummies], axis=1)\n",
"\n",
" combined_data.drop('Cabin', axis=1, inplace=True)\n",
"# status('cabin')\n",
" return combined_data"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "EHf1AlwR9779",
"colab_type": "code",
"outputId": "8d1bd135-08ed-4f48-c33b-cbf90ac20c31",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 864
}
},
"source": [
"combined_data = process_cabin()\n",
"combined_data"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Embarked</th>\n",
" <th>Cabin_A</th>\n",
" <th>Cabin_B</th>\n",
" <th>Cabin_C</th>\n",
" <th>Cabin_D</th>\n",
" <th>Cabin_E</th>\n",
" <th>Cabin_F</th>\n",
" <th>Cabin_G</th>\n",
" <th>Cabin_T</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>male</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>female</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>female</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>female</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>male</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>413</th>\n",
" <td>1305</td>\n",
" <td>3</td>\n",
" <td>Spector, Mr. Woolf</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>A.5. 3236</td>\n",
" <td>8.0500</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>414</th>\n",
" <td>1306</td>\n",
" <td>1</td>\n",
" <td>Oliva y Ocana, Dona. Fermina</td>\n",
" <td>female</td>\n",
" <td>39.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>PC 17758</td>\n",
" <td>108.9000</td>\n",
" <td>C</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>415</th>\n",
" <td>1307</td>\n",
" <td>3</td>\n",
" <td>Saether, Mr. Simon Sivertsen</td>\n",
" <td>male</td>\n",
" <td>38.5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>SOTON/O.Q. 3101262</td>\n",
" <td>7.2500</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416</th>\n",
" <td>1308</td>\n",
" <td>3</td>\n",
" <td>Ware, Mr. Frederick</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>359309</td>\n",
" <td>8.0500</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>417</th>\n",
" <td>1309</td>\n",
" <td>3</td>\n",
" <td>Peter, Master. Michael J</td>\n",
" <td>male</td>\n",
" <td>28.0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2668</td>\n",
" <td>22.3583</td>\n",
" <td>C</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1309 rows × 18 columns</p>\n",
"</div>"
],
"text/plain": [
" PassengerId Pclass ... Cabin_G Cabin_T\n",
"0 1 3 ... 0 1\n",
"1 2 1 ... 0 0\n",
"2 3 3 ... 0 1\n",
"3 4 1 ... 0 0\n",
"4 5 3 ... 0 1\n",
".. ... ... ... ... ...\n",
"413 1305 3 ... 0 1\n",
"414 1306 1 ... 0 0\n",
"415 1307 3 ... 0 1\n",
"416 1308 3 ... 0 1\n",
"417 1309 3 ... 0 1\n",
"\n",
"[1309 rows x 18 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 272
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "NrUyRmKR977_",
"colab_type": "code",
"outputId": "63a1384f-0c50-4c58-a4c1-d2b8b1509ee4",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"# Use describe to see the percentiles of Fare attribute, median method is chosen to replace Nan\n",
"print(combined_data[\"Fare\"].describe())\n",
"print(\"\")\n",
"fare_median = combined_data[\"Fare\"].median()\n",
"print(\"The median of Fare is : \", fare_median)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"count 1308.000000\n",
"mean 33.295479\n",
"std 51.758668\n",
"min 0.000000\n",
"25% 7.895800\n",
"50% 14.454200\n",
"75% 31.275000\n",
"max 512.329200\n",
"Name: Fare, dtype: float64\n",
"\n",
"The median of Fare is : 14.4542\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "btBvypve978A",
"colab_type": "code",
"colab": {}
},
"source": [
"fare_nan = combined_data[\"Fare\"]\n",
"replaced_fare = fare_nan.fillna(fare_median)\n",
"combined_data[\"Fare\"] = replaced_fare"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "bm6yHD2M978C",
"colab_type": "code",
"outputId": "db39a265-6d5c-41c3-dcc0-92fe5aa9be9d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 340
}
},
"source": [
"# Display to see whether there is still Nan in data\n",
"combined_data.isna().sum()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"PassengerId 0\n",
"Pclass 0\n",
"Name 0\n",
"Sex 0\n",
"Age 0\n",
"SibSp 0\n",
"Parch 0\n",
"Ticket 0\n",
"Fare 0\n",
"Embarked 0\n",
"Cabin_A 0\n",
"Cabin_B 0\n",
"Cabin_C 0\n",
"Cabin_D 0\n",
"Cabin_E 0\n",
"Cabin_F 0\n",
"Cabin_G 0\n",
"Cabin_T 0\n",
"dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 275
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QVLXGWt-f1Cu",
"colab_type": "text"
},
"source": [
"**Reconstruct Features**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "7iUf9Y98P6nK",
"colab_type": "code",
"outputId": "ca0d2578-2b91-4738-84b6-d3f83bf4b075",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 496
}
},
"source": [
"# Map string values to binary class for sex\n",
"sex_dict = {'male' : 0, 'female' : 1} \n",
"combined_data['Sex']= combined_data['Sex'].map(sex_dict)\n",
"\n",
"combined_data.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>PassengerId</th>\n",
" <th>Pclass</th>\n",
" <th>Name</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Ticket</th>\n",
" <th>Fare</th>\n",
" <th>Embarked</th>\n",
" <th>Cabin_A</th>\n",
" <th>Cabin_B</th>\n",
" <th>Cabin_C</th>\n",
" <th>Cabin_D</th>\n",
" <th>Cabin_E</th>\n",
" <th>Cabin_F</th>\n",
" <th>Cabin_G</th>\n",
" <th>Cabin_T</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>Braund, Mr. Owen Harris</td>\n",
" <td>0</td>\n",
" <td>22.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>A/5 21171</td>\n",
" <td>7.2500</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
" <td>1</td>\n",
" <td>38.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>PC 17599</td>\n",
" <td>71.2833</td>\n",
" <td>C</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>Heikkinen, Miss. Laina</td>\n",
" <td>1</td>\n",
" <td>26.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>STON/O2. 3101282</td>\n",
" <td>7.9250</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>1</td>\n",
" <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
" <td>1</td>\n",
" <td>35.0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>113803</td>\n",
" <td>53.1000</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>3</td>\n",
" <td>Allen, Mr. William Henry</td>\n",
" <td>0</td>\n",
" <td>35.0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>373450</td>\n",
" <td>8.0500</td>\n",
" <td>S</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" PassengerId Pclass ... Cabin_G Cabin_T\n",
"0 1 3 ... 0 1\n",
"1 2 1 ... 0 0\n",
"2 3 3 ... 0 1\n",
"3 4 1 ... 0 0\n",
"4 5 3 ... 0 1\n",
"\n",
"[5 rows x 18 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 276
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "FXsWejp9CHzH",
"colab_type": "code",
"colab": {}
},
"source": [
"# Categorise Names into Designation\n",
"designation_dict = {\n",
" \"Mr\": 1,\n",
" \"Miss\": 2,\n",
" \"Mrs\": 3,\n",
" \"Master\": 4,\n",
" \"Rare\": 5\n",
"}\n",
"\n",
"combined_data['Designation'] = combined_data.Name.str.extract('([A-Za-z]+)\\.', expand = False)\n",
"\n",
"# Replace titles with a more common title or as Rare\n",
"combined_data['Designation'] = combined_data['Designation'].replace(\n",
" ['Lady', 'Countess','Capt', 'Col','Don', 'Dr', 'Major', 'Rev', 'Sir', 'Jonkheer', 'Dona'],\n",
" 'Rare')\n",
"combined_data['Designation'] = combined_data['Designation'].replace('Mlle', 'Miss')\n",
"combined_data['Designation'] = combined_data['Designation'].replace('Ms', 'Miss')\n",
"combined_data['Designation'] = combined_data['Designation'].replace('Mme', 'Mrs')\n",
"\n",
"# Convert titles into categorical feature\n",
"combined_data['Designation'] = combined_data['Designation'].map(designation_dict)\n",
"\n",
"# Replace NaN with 0, to be safe\n",
"combined_data['Designation'] = combined_data['Designation'].fillna(0)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "aYICVsIwGoIT",
"colab_type": "code",
"outputId": "f10d4383-870f-48cb-e0a6-16acbd02ab07",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 153
}
},
"source": [
"# Make Age into a categorical feature\n",
"combined_data['Age'] = combined_data['Age'].astype(int)\n",
"combined_data.loc[combined_data['Age'] <= 11, 'Age'] = 0\n",
"combined_data.loc[(combined_data['Age'] > 11) & (combined_data['Age'] <= 18), 'Age'] = 1\n",
"combined_data.loc[(combined_data['Age'] > 18) & (combined_data['Age'] <= 22), 'Age'] = 2\n",
"combined_data.loc[(combined_data['Age'] > 22) & (combined_data['Age'] <= 27), 'Age'] = 3\n",
"combined_data.loc[(combined_data['Age'] > 27) & (combined_data['Age'] <= 33), 'Age'] = 4\n",
"combined_data.loc[(combined_data['Age'] > 33) & (combined_data['Age'] <= 40), 'Age'] = 5\n",
"combined_data.loc[(combined_data['Age'] > 40) & (combined_data['Age'] <= 66), 'Age'] = 6\n",
"combined_data.loc[ combined_data['Age'] > 66, 'Age'] = 6\n",
"\n",
"combined_data['Age'].value_counts()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"4 442\n",
"6 224\n",
"3 170\n",
"5 139\n",
"2 138\n",
"1 105\n",
"0 91\n",
"Name: Age, dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 278
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "PjELas09JHV6",
"colab_type": "code",
"outputId": "7576204b-1473-41b7-c3ff-4a0bf01e26be",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 136
}
},
"source": [
"# Make Fare into a categorical feature\n",
"combined_data.loc[combined_data['Fare'] <= 7.91, 'Fare'] = 0\n",
"combined_data.loc[(combined_data['Fare'] > 7.91) & (combined_data['Fare'] <= 14.454), 'Fare'] = 1\n",
"combined_data.loc[(combined_data['Fare'] > 14.454) & (combined_data['Fare'] <= 31), 'Fare'] = 2\n",
"combined_data.loc[(combined_data['Fare'] > 31) & (combined_data['Fare'] <= 99), 'Fare'] = 3\n",
"combined_data.loc[(combined_data['Fare'] > 99) & (combined_data['Fare'] <= 250), 'Fare'] = 4\n",
"combined_data.loc[combined_data['Fare'] > 250, 'Fare'] = 5\n",
"\n",
"combined_data['Fare'] = combined_data['Fare'].astype(int)\n",
"\n",
"combined_data['Fare'].value_counts()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0 337\n",
"2 332\n",
"1 310\n",
"3 246\n",
"4 67\n",
"5 17\n",
"Name: Fare, dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 279
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3d1cOxeffnRq",
"colab_type": "text"
},
"source": [
"**Dataset Normalisation**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "l2pvJUZRNzlv",
"colab_type": "code",
"colab": {}
},
"source": [
"# Drop columns that we think are irrelevant features\n",
"normalised_data = combined_data.drop([\"PassengerId\", \"Name\", \"Ticket\", \"Embarked\"], axis = 1)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VRkh2cKu978I",
"colab_type": "code",
"colab": {}
},
"source": [
"x_train = normalised_data[:891]\n",
"x_test = normalised_data[891:]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VLZlcXE_EDNW",
"colab_type": "code",
"outputId": "431ce858-0303-4abf-d91e-edd3cca6b762",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 224
}
},
"source": [
"# Verify that we have the normalised data for training\n",
"x_train.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Pclass</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Fare</th>\n",
" <th>Cabin_A</th>\n",
" <th>Cabin_B</th>\n",
" <th>Cabin_C</th>\n",
" <th>Cabin_D</th>\n",
" <th>Cabin_E</th>\n",
" <th>Cabin_F</th>\n",
" <th>Cabin_G</th>\n",
" <th>Cabin_T</th>\n",
" <th>Designation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Pclass Sex Age SibSp ... Cabin_F Cabin_G Cabin_T Designation\n",
"0 3 0 2 1 ... 0 0 1 1\n",
"1 1 1 5 1 ... 0 0 0 3\n",
"2 3 1 3 0 ... 0 0 1 2\n",
"3 1 1 5 1 ... 0 0 0 3\n",
"4 3 0 5 0 ... 0 0 1 1\n",
"\n",
"[5 rows x 15 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 282
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Az4j-ZRjPG9C",
"colab_type": "code",
"outputId": "5cbf2174-3c85-4a27-e72e-29cbdafdfb17",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 224
}
},
"source": [
"# Verify that we have the normalised data for test\n",
"x_test.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Pclass</th>\n",
" <th>Sex</th>\n",
" <th>Age</th>\n",
" <th>SibSp</th>\n",
" <th>Parch</th>\n",
" <th>Fare</th>\n",
" <th>Cabin_A</th>\n",
" <th>Cabin_B</th>\n",
" <th>Cabin_C</th>\n",
" <th>Cabin_D</th>\n",
" <th>Cabin_E</th>\n",
" <th>Cabin_F</th>\n",
" <th>Cabin_G</th>\n",
" <th>Cabin_T</th>\n",
" <th>Designation</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>6</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Pclass Sex Age SibSp ... Cabin_F Cabin_G Cabin_T Designation\n",
"0 3 0 5 0 ... 0 0 1 1\n",
"1 3 1 6 1 ... 0 0 1 3\n",
"2 2 0 6 0 ... 0 0 1 1\n",
"3 3 0 3 0 ... 0 0 1 1\n",
"4 3 1 2 1 ... 0 0 1 3\n",
"\n",
"[5 rows x 15 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 283
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kpJi5GpjRS9_",
"colab_type": "text"
},
"source": [
"## Building Prediction Models"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1j6cLZAFB8dF",
"colab_type": "text"
},
"source": [
"##### Random Forest\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "hYXG2AxGwslD",
"colab_type": "text"
},
"source": [
"**Model Training**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "DS3nWueQCxBc",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.metrics import confusion_matrix"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "1W677Mr4Cq14",
"colab_type": "code",
"outputId": "5eb0475c-3143-44d2-dfc1-0be1f69f463f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"random_forest = RandomForestClassifier(n_estimators = 200)\n",
"\n",
"random_forest.fit(x_train, y_train)\n",
"\n",
"y_prediction = random_forest.predict(x_test)\n",
"random_forest.score(x_train, y_train)\n",
"accuracy_for_random_forest = round(random_forest.score(x_train, y_train) * 100, 2)\n",
"accuracy_for_random_forest"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"91.02"
]
},
"metadata": {
"tags": []
},
"execution_count": 285
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "PBZ0D8IFd2XE",
"colab_type": "text"
},
"source": [
"**K-Fold Cross Validation**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "_FrQxYkmdozA",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.model_selection import cross_val_score"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "NuNDFbqhd-fT",
"colab_type": "code",
"outputId": "150f228c-1ce1-49f6-b384-137d329783b9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 85
}
},
"source": [
"scores = cross_val_score(random_forest, x_train, y_train, cv = 10, scoring = \"accuracy\")\n",
"print(\"Scores:\", scores)\n",
"print(\"Mean:\", scores.mean())\n",
"print(\"Standard Deviation:\", scores.std())\n",
"\n",
"mean_accuracy_for_random_forest = round(scores.mean() * 100, 2)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Scores: [0.76666667 0.83333333 0.71910112 0.83146067 0.88764045 0.85393258\n",
" 0.83146067 0.83146067 0.87640449 0.86363636]\n",
"Mean: 0.8295097037793667\n",
"Standard Deviation: 0.048481699508097505\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kAtsXAGewyXl",
"colab_type": "text"
},
"source": [
"**Feature Importance**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "UO-PT1UiyMLF",
"colab_type": "code",
"outputId": "00d900d2-3dee-4362-b0c7-7ce5a105477b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 545
}
},
"source": [
"importances = pd.DataFrame({\n",
" 'Feature': x_train.columns,\n",
" 'Importance': np.round(random_forest.feature_importances_, 3)\n",
"})\n",
"\n",
"importances = importances.sort_values('Importance', ascending = False).set_index('Feature')\n",
"importances"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Importance</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Feature</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Designation</th>\n",
" <td>0.210</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sex</th>\n",
" <td>0.189</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Age</th>\n",
" <td>0.150</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fare</th>\n",
" <td>0.108</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Pclass</th>\n",
" <td>0.094</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SibSp</th>\n",
" <td>0.089</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_T</th>\n",
" <td>0.053</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Parch</th>\n",
" <td>0.051</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_E</th>\n",
" <td>0.014</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_B</th>\n",
" <td>0.012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_C</th>\n",
" <td>0.009</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_D</th>\n",
" <td>0.009</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_A</th>\n",
" <td>0.005</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_F</th>\n",
" <td>0.003</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Cabin_G</th>\n",
" <td>0.003</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Importance\n",
"Feature \n",
"Designation 0.210\n",
"Sex 0.189\n",
"Age 0.150\n",
"Fare 0.108\n",
"Pclass 0.094\n",
"SibSp 0.089\n",
"Cabin_T 0.053\n",
"Parch 0.051\n",
"Cabin_E 0.014\n",
"Cabin_B 0.012\n",
"Cabin_C 0.009\n",
"Cabin_D 0.009\n",
"Cabin_A 0.005\n",
"Cabin_F 0.003\n",
"Cabin_G 0.003"
]
},
"metadata": {
"tags": []
},
"execution_count": 288
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "6Eas7fhn0KAc",
"colab_type": "code",
"outputId": "5dc3cbda-fd86-489c-badd-1a341a576b35",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 346
}
},
"source": [
"importances.plot.bar()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7fb34ee3eda0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 298
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAE4CAYAAABSXiSnAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3de7xVdZ3/8debg4LjHTyZgQgmaSaK\neEAnf5qXVCqDJvGWpZRm5WAXq9/gTGMNXUZ/XazMKS3NS5rXMRnFQU1tTEc9iAgiXgBJDjkj4QVS\nUS6f3x9rbdhsN+fsc/Za57LX+/l47MfZ6/bZ3732Puuz13d91/eriMDMzIqnX08XwMzMeoYTgJlZ\nQTkBmJkVlBOAmVlBOQGYmRVU/54uQGfstNNOMXz48J4uhplZn/Loo4/+JSKaK+f3qQQwfPhwZs2a\n1dPFMDPrUyT9qdp8VwGZmRWUE4CZWUE5AZiZFVSfugZgZn3LmjVraGtrY/Xq1T1dlEIYOHAgQ4cO\nZYsttqhpfScAM8tNW1sb2267LcOHD0dSTxenoUUEK1asoK2tjREjRtS0jauAzCw3q1evZvDgwT74\ndwNJDB48uFNnW04AZpYrH/y7T2f3tROAmVlB+RqAmXWb4VNvzzTekvM/0uE622yzDX/9618zfd32\nLFmyhAcffJBPfOIT3faaXdXnE0Bnv1C1fGHMzLpi7dq1LFmyhGuvvbZPJABXAZlZIdx333184AMf\nYOLEiey+++5MnTqVa665hnHjxjFq1CgWLVoEwOTJk/n85z9PS0sL73nPe7jtttuA5IL2pz/9aUaN\nGsX+++/PvffeC8AVV1zBhAkTOOKIIzjyyCOZOnUq999/P6NHj+bCCy9kyZIlHHLIIYwZM4YxY8bw\n4IMPbijPYYcdxqRJk9hrr7045ZRTKI3Q2Nrayvvf/372228/xo0bx6pVq1i3bh1f//rXGTt2LPvu\nuy+XXHJJ3fukz58BmJnV6vHHH2fBggUMGjSI3XffnTPOOINHHnmEn/zkJ1x00UX8+Mc/BpJqnEce\neYRFixZx+OGHs3DhQi6++GIkMW/ePJ566imOPvponnnmGQBmz57N3LlzGTRoEPfddx8/+MEPNiSO\n119/nbvuuouBAwfy7LPPcvLJJ2/o0+yxxx5j/vz5vOtd7+Lggw/mgQceYNy4cZx44olcf/31jB07\nlpUrV7LVVltx2WWXsf3229Pa2sqbb77JwQcfzNFHH11zk89qnADMrDDGjh3LLrvsAsC73/1ujj76\naABGjRq14Rc9wAknnEC/fv0YOXIku+++O0899RR//OMfOfvsswHYa6+92G233TYkgKOOOopBgwZV\nfc01a9YwZcoU5syZQ1NT04ZtAMaNG8fQoUMBGD16NEuWLGH77bdnl112YezYsQBst912ANx5553M\nnTuXm266CYBXX32VZ5991gnAzKwWAwYM2PC8X79+G6b79evH2rVrNyyrbE7ZUfPKrbfeerPLLrzw\nQnbeeWcef/xx1q9fz8CBA6uWp6mpaZMyVIoILrroIo455ph2y9IZvgZgZlbhxhtvZP369SxatIjF\nixez5557csghh3DNNdcA8Mwzz/D888+z5557vm3bbbfdllWrVm2YfvXVV9lll13o168fV199NevW\nrWv3tffcc09eeOEFWltbAVi1ahVr167lmGOO4ec//zlr1qzZUIbXXnutrvdZ0xmApPHAT4Am4FcR\ncX7F8nOAM4C1wHLgMxHxp3TZacA30lW/ExFXpvMPAK4AtgJmAF+K0hUQM2tIfaUV3rBhwxg3bhwr\nV67kF7/4BQMHDuSss87iC1/4AqNGjaJ///5cccUVm/yCL9l3331pampiv/32Y/LkyZx11lkcd9xx\nXHXVVYwfP77dswWALbfckuuvv56zzz6bN954g6222oq7776bM844gyVLljBmzBgigubmZn73u9/V\n9T7V0TFXUhPwDHAU0Aa0AidHxJNl6xwOPBwRr0v6AnBYRJwoaRAwC2gBAngUOCAiXpb0CPBF4GGS\nBPDTiLijvbK0tLRE5YAwbgZq1nstWLCA9773vT1djE6ZPHkyxx57LJMmTerponRJtX0u6dGIaKlc\nt5YqoHHAwohYHBFvAdcBE8tXiIh7I+L1dPIhYGj6/Bjgroh4KSJeBu4CxkvaBdguIh5Kf/VfBXys\n9rdoZmb1qqUKaAiwtGy6DTiwnfVPB0q/5KttOyR9tFWZb2bWo6644oqeLkK3ybQVkKRPklT3fCDD\nmGcCZ0JSL2dmfUtEuEO4btLZy6i1VAEtA3Ytmx6aztuEpA8C/wRMiIg3O9h2GRuriTYbEyAiLo2I\nlohoaW5+26D2ZtaLDRw4kBUrVnT6wGSdVxoPoLyZaUdqOQNoBUZKGkFykD4J2KSTC0n7A5cA4yPi\n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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "astQLJLTU2Rq",
"colab_type": "text"
},
"source": [
"##### Logistic Regression"
]
},
{
"cell_type": "code",
"metadata": {
"id": "KwmCEzf9HFER",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.linear_model import LogisticRegression"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "U9BpGG-9VBiV",
"colab_type": "code",
"outputId": "951dd8b0-2d9b-401c-d9c2-e967b451e0d0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 88
}
},
"source": [
"logistic_regression = LogisticRegression()\n",
"logistic_regression.fit(x_train, y_train)\n",
"\n",
"y_prediction = logistic_regression.predict(x_test)\n",
"\n",
"accuracy_for_logistic_regression = round(logistic_regression.score(x_train, y_train) * 100, 2)\n",
"accuracy_for_logistic_regression"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n"
],
"name": "stderr"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"81.71"
]
},
"metadata": {
"tags": []
},
"execution_count": 291
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "cwZ6If7nvu0A",
"colab_type": "text"
},
"source": [
"**K-Fold Cross Validation**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "sJZQqCObvRZn",
"colab_type": "code",
"outputId": "7d0f9621-15e4-486a-9a3c-2d87c670c969",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 445
}
},
"source": [
"scores = cross_val_score(logistic_regression, x_train, y_train, cv = 10, scoring = \"accuracy\")\n",
"print(\"Scores:\", scores)\n",
"print(\"Mean:\", scores.mean())\n",
"print(\"Standard Deviation:\", scores.std())\n",
"\n",
"mean_accuracy_for_logistic_regression = round(scores.mean() * 100, 2)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Scores: [0.77777778 0.8 0.7752809 0.86516854 0.80898876 0.76404494\n",
" 0.84269663 0.80898876 0.83146067 0.80681818]\n",
"Mean: 0.8081225173079106\n",
"Standard Deviation: 0.03000945243665205\n"
],
"name": "stdout"
},
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n"
],
"name": "stderr"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "klWF2ft6Z8D5",
"colab_type": "text"
},
"source": [
"## Comparing Prediction Models"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "8_FgJg3uLa1i",
"colab_type": "text"
},
"source": [
"**Overall Accuracy**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "i3N0BZZaZ_A6",
"colab_type": "code",
"outputId": "e9cac681-8d99-4df6-d182-911021094bb1",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 142
}
},
"source": [
"result_dict = {\n",
" 'Model': ['Random Forest', 'Logistic Regression'],\n",
" 'Score': [mean_accuracy_for_random_forest, mean_accuracy_for_logistic_regression]\n",
"}\n",
"\n",
"accuracy_results = pd.DataFrame(result_dict)\n",
"result_df = accuracy_results.sort_values(by='Score', ascending = False)\n",
"result_df = result_df.set_index('Score')\n",
"result_df.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Model</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Score</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>82.95</th>\n",
" <td>Random Forest</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80.81</th>\n",
" <td>Logistic Regression</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Model\n",
"Score \n",
"82.95 Random Forest\n",
"80.81 Logistic Regression"
]
},
"metadata": {
"tags": []
},
"execution_count": 293
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "axAM76NRLfZb",
"colab_type": "text"
},
"source": [
"**Confusion Matrix**"
]
},
{
"cell_type": "code",
"metadata": {
"id": "qE3hGLB1Lul8",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.model_selection import cross_val_predict\n",
"from sklearn.metrics import confusion_matrix"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "yM3TMespLw0E",
"colab_type": "code",
"outputId": "145adcb1-f872-4158-be32-97f9910fd869",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 327
}
},
"source": [
"predictions = cross_val_predict(random_forest, x_train, y_train, cv = 3)\n",
"confusion_matrix = confusion_matrix(y_train, predictions)\n",
"\n",
"ax = plt.subplot()\n",
"sns.heatmap(confusion_matrix, annot = True, ax = ax, cmap = 'Greens', fmt = 'g')\n",
"\n",
"ax.set_xlabel('Predicted Labels')\n",
"ax.set_ylabel('True Labels')\n",
"ax.set_title('Confusion Matrix for Random Forest\\n')\n",
"ax.xaxis.set_ticklabels(['Survived', 'Not Survived'])\n",
"ax.yaxis.set_ticklabels(['Not Survived', 'Survived'])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[Text(0, 0.5, 'Not Survived'), Text(0, 1.5, 'Survived')]"
]
},
"metadata": {
"tags": []
},
"execution_count": 295
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nRK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "W-7w8YOmR0r6",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.model_selection import cross_val_predict\n",
"from sklearn.metrics import confusion_matrix"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "VZ5QhKBgQfQA",
"colab_type": "code",
"outputId": "54a59f11-ab4f-4391-be42-4bdb1e10dec6",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 449
}
},
"source": [
"predictions = cross_val_predict(logistic_regression, x_train, y_train, cv = 3)\n",
"predictions\n",
"confusion_matrix = confusion_matrix(y_train, predictions)\n",
"\n",
"ax = plt.subplot()\n",
"sns.heatmap(confusion_matrix, annot = True, ax = ax, cmap = 'Greens', fmt = 'g')\n",
"\n",
"ax.set_xlabel('Predicted')\n",
"ax.set_ylabel('True')\n",
"ax.set_title('Confusion Matrix for Logistic Regression\\n')\n",
"ax.xaxis.set_ticklabels(['Survived', 'Not Survived'])\n",
"ax.yaxis.set_ticklabels(['Not Survived', 'Survived'])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n",
"/usr/local/lib/python3.6/dist-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
" FutureWarning)\n"
],
"name": "stderr"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[Text(0, 0.5, 'Not Survived'), Text(0, 1.5, 'Survived')]"
]
},
"metadata": {
"tags": []
},
"execution_count": 297
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment