{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Titanic: Machine Learning from Disaster\n", "**Predict survival on the Titanic**\n", "
\n", "I barely remember first when exactly I watched Titanic movie but still now Titanic remains a discussion subject in the most diverse areas. The sinking of the RMS Titanic is one of the most infamous shipwrecks in history. It was April 15-1912 during her maiden voyage, the Titanic sank after colliding with an iceberg and killing 1502 out of 2224 passengers and crew. \n", "\n", "In this kaggle challenge, we're asked to complete the analysis of what sorts of people were likely to survive. In particular, we're asked to apply the tools of **machine learning** to predict which passengers survived the tragedy.\n", "\n", "More challenge information and datasets are available on [Kaagle Titanic Page](https://www.kaggle.com/c/titanic/data) The datasets has been split into two groups:\n", "\n", "- training set (train.csv)\n", "- test set (test.csv)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Look at the Big Picture \n", "
\n", "\n", "The goal is to build a Model that can predict the survival or the death of a given passenger based on a set of variables describing their such as age, sex, or passenger class on the boat.\n", "\n", "### Frame the Problem\n", "\n", "To frame the problem elegantly, is very much important because it will determine our problem spaces. What algorithms we will select, what performance measure we will use to evaluate our model and also how much effort we should spend tweaking it. \n", "\n", "The test set should be used to see how well our model performs on unseen data. For the test set, the ground truth for each passenger is not provided. It is our job to predict these outcomes. For each passenger in the test set, we use the trained model to predict whether or not they survived the sinking of the Titanic. We will use **Cross-validation** for evaluating estimator performance.\n", "\n", "Basically, we've two datasets are available, a `train set` and a `test set`. We'll be using the training set to build our predictive model and the testing set will be used to validate that model. This is a binary classification problem. \n", "\n", "To solve this **ML** problem, topics like feature analysis, data visualization, missing data imputation, feature engineering, model fine tuning and various classification models will be addressed for ensemble modeling.\n", "\n", "### Preprocessing\n", "\n", "In Data Science or ML problem spaces, Data Preprocessing means a lot, which is to make the Data usable or clean before using it, like before fit the model.\n", "\n", "Now, the real world data is so messy, like following -\n", "* **inconsistant values**\n", "* **duplicate records**\n", "* **missing values**\n", "* **invalid data**\n", "* **outlier**\n", "\n", "So what? Actually this is a matter of big concern. Because, Model can't handle missing data. So, we need to handle this manually. Actually there're many approaches we can take to handle missing value in our data sets, such as-\n", "\n", "* **Remove observation/records that have missing values.** But..\n", " - data may randomly missing, so by doing this we may loss a lots of data\n", " - data may non-randomly missing, so by doing this we may also loss a lots of data, again we're also introducing potential biases \n", " \n", "* **Imputation**\n", " - replace missing values with another values \n", " - strategies: mean, median or highest frequency value of the given feature" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Table of Contents\n", "
\n", "The steps we will go through:\n", "\n", "[Get The Data](#2-bullet)\n", "\n", "Here we explore what inside of the dataset and make our first commit on it.\n", " \n", "[Feature Analysis To Gain Insights](#5-bullet)\n", "\n", "First we try to find out outlier from our datasets. There're many method to dectect outlier but here we will use tukey method to detect it. Then we will do component analysis of our features.\n", "\n", "[Feature Engineering](#9-bullet)\n", "\n", "Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work. And here, in our datasets there are few features that we can do engineering on it. I like to choose two of them.\n", " - Name\n", " - Family Size\n", " \n", "[Predictive Modeling](#10-bullet)\n", "\n", "Here, we will use various classificatiom models and compare the results. We'll use Cross-validation for evaluating estimator performance and fine-tune the model and observe the learning curve, of best estimator and finally, will do enseble modeling of with three best predictive model. \n", "\n", "[Submit Predictor](#11-bullet)\n", "\n", "Create a CSV file and submit to Kaggle." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Import \n", "
\n", "At first we will load some various libraries. At first sight it may be confusing but we will see the use cases each of them in details later on." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Data Processing and Visualization Libraries\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "\n", "\n", "# Data Modelling Libraries\n", "from sklearn.ensemble import (RandomForestClassifier, AdaBoostClassifier,\n", " GradientBoostingClassifier, ExtraTreesClassifier,\n", " VotingClassifier)\n", "\n", "from sklearn.model_selection import (GridSearchCV, cross_val_score, cross_val_predict,\n", " StratifiedKFold, learning_curve)\n", "\n", "\n", "from sklearn.metrics import (confusion_matrix, accuracy_score) \n", "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.neural_network import MLPClassifier\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.naive_bayes import GaussianNB\n", "from sklearn.svm import SVC\n", "\n", "import warnings\n", "from collections import Counter\n", "\n", "sns.set(style = 'white' , context = 'notebook', palette = 'deep')\n", "warnings.filterwarnings('ignore', category = DeprecationWarning)\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Get Data Sets\n", "
\n", "Using pandas, we now load the dataset. Basically two files, one is for training purpose and other is for testng." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# load the datasets using pandas's read_csv method\n", "train = pd.read_csv('train.csv')\n", "test = pd.read_csv('test.csv')\n", "\n", "# concat these two datasets, this will come handy while processing the data\n", "dataset = pd.concat(objs=[train, test], axis=0).reset_index(drop=True)\n", "\n", "# separately store ID of test datasets, \n", "# this will be using at the end of the task to predict.\n", "TestPassengerID = test['PassengerId']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Look Inside \n", "Let's look what we've just loaded. Datasets size, shape, short description and few more." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(891, 12)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# shape of the data set\n", "train.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So it has 891 samples with 12 features. That's somewhat big, let's top 5 sample of it." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
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", "
" ], "text/plain": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "3 4 1 1 \n", "4 5 0 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22.0 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", "2 Heikkinen, Miss. Laina female 26.0 0 \n", "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", "4 Allen, Mr. William Henry male 35.0 0 \n", "\n", " Parch Ticket Fare Cabin Embarked \n", "0 0 A/5 21171 7.2500 NaN S \n", "1 0 PC 17599 71.2833 C85 C \n", "2 0 STON/O2. 3101282 7.9250 NaN S \n", "3 0 113803 53.1000 C123 S \n", "4 0 373450 8.0500 NaN S " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# first 5 records\n", "train.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Definitions of each features and quick thoughts:\n", "\n", "- PassengerId. Unique identification of the passenger. It shouldn't be necessary for the machine learning model.\n", "\n", "- Survived. Survival (0 = No, 1 = Yes). Binary variable that will be our target variable.\n", "- Pclass. Ticket class (1 = 1st, 2 = 2nd, 3 = 3rd). Ready to go.\n", "- Name. Name of the passenger. We need to parse before using it.\n", "- Sex. Gender Categorical variable that should be encoded. We can use dummy variable to encode it.\n", "- Age. Age in years.\n", "- SibSp. Siblings / Spouses aboard the Titanic.\n", "- Parch. Parents / Children aboard the Titanic.\n", "- Ticket. Ticket number. Big mess. \n", "- Fare. Passenger fare.\n", "- Cabin. Cabin number.\n", "- Embarked. Port of Embarkation , C = Cherbourg, Q = Queenstown, S = Southampton. Categorical feature that should be encoded. We can use feature mapping or make dummy vairables for it.\n", "\n", "The main conclusion is that we already have a set of features that we can easily use in our machine learning model. But features like Name, Ticket, Cabin require an additional effort before we can integrate them." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 891 entries, 0 to 890\n", "Data columns (total 12 columns):\n", "PassengerId 891 non-null int64\n", "Survived 891 non-null int64\n", "Pclass 891 non-null int64\n", "Name 891 non-null object\n", "Sex 891 non-null object\n", "Age 714 non-null float64\n", "SibSp 891 non-null int64\n", "Parch 891 non-null int64\n", "Ticket 891 non-null object\n", "Fare 891 non-null float64\n", "Cabin 204 non-null object\n", "Embarked 889 non-null object\n", "dtypes: float64(2), int64(5), object(5)\n", "memory usage: 83.6+ KB\n" ] } ], "source": [ "# using info method we can get quick overview of the data sets\n", "train.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One things to notice, we have 891 samples or entries but columns like **Age**, **Cabin** and **Embarked** have some missing values. We can't ignore those. However, let's generate the descriptive statistics to get the basic quantitative information about the features of our data set." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassAgeSibSpParchFare
count891.000000891.000000891.000000714.000000891.000000891.000000891.000000
mean446.0000000.3838382.30864229.6991180.5230080.38159432.204208
std257.3538420.4865920.83607114.5264971.1027430.80605749.693429
min1.0000000.0000001.0000000.4200000.0000000.0000000.000000
25%223.5000000.0000002.00000020.1250000.0000000.0000007.910400
50%446.0000000.0000003.00000028.0000000.0000000.00000014.454200
75%668.5000001.0000003.00000038.0000001.0000000.00000031.000000
max891.0000001.0000003.00000080.0000008.0000006.000000512.329200
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass Age SibSp \\\n", "count 891.000000 891.000000 891.000000 714.000000 891.000000 \n", "mean 446.000000 0.383838 2.308642 29.699118 0.523008 \n", "std 257.353842 0.486592 0.836071 14.526497 1.102743 \n", "min 1.000000 0.000000 1.000000 0.420000 0.000000 \n", "25% 223.500000 0.000000 2.000000 20.125000 0.000000 \n", "50% 446.000000 0.000000 3.000000 28.000000 0.000000 \n", "75% 668.500000 1.000000 3.000000 38.000000 1.000000 \n", "max 891.000000 1.000000 3.000000 80.000000 8.000000 \n", "\n", " Parch Fare \n", "count 891.000000 891.000000 \n", "mean 0.381594 32.204208 \n", "std 0.806057 49.693429 \n", "min 0.000000 0.000000 \n", "25% 0.000000 7.910400 \n", "50% 0.000000 14.454200 \n", "75% 0.000000 31.000000 \n", "max 6.000000 512.329200 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Descriptive Statistics\n", "train.describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are three aspects that usually catch my attention when I analyse descriptive statistics:\n", "\n", "- **Min and max values**: This can give us an idea about the range of values and is helpful to detect outliers.\n", "\n", "- **Mean and standard deviation**: The mean shows us the central tendency of the distribution, while the standard deviation quantifies its amount of variation.\n", "- **Count**: Give us a first perception about the volume of missing data. \n", "\n", "\n", "Let's define a function for missing data analysis more in details." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Create table for missing data analysis\n", "def find_missing_data(data):\n", " Total = data.isnull().sum().sort_values(ascending = False)\n", " Percentage = (data.isnull().sum()/data.isnull().count()).sort_values(ascending = False)\n", " \n", " return pd.concat([Total,Percentage] , axis = 1 , keys = ['Total' , 'Percent'])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TotalPercent
Cabin6870.771044
Age1770.198653
Embarked20.002245
Fare00.000000
Ticket00.000000
Parch00.000000
SibSp00.000000
Sex00.000000
Name00.000000
Pclass00.000000
Survived00.000000
PassengerId00.000000
\n", "
" ], "text/plain": [ " Total Percent\n", "Cabin 687 0.771044\n", "Age 177 0.198653\n", "Embarked 2 0.002245\n", "Fare 0 0.000000\n", "Ticket 0 0.000000\n", "Parch 0 0.000000\n", "SibSp 0 0.000000\n", "Sex 0 0.000000\n", "Name 0 0.000000\n", "Pclass 0 0.000000\n", "Survived 0 0.000000\n", "PassengerId 0 0.000000" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_missing_data(train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's create a heatmap plot to visualize the amount of missing values." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# checking only train set - visualize\n", "sns.heatmap(train.isnull(), cbar = False , \n", " yticklabels = False , cmap = 'viridis')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that, Cabin feature has terrible amount of missing values, around 77% data are missing. Until now, we only see train datasets, now let's see amount of missing values in whole datasets." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TotalPercent
Cabin10140.774637
Survived4180.319328
Age2630.200917
Embarked20.001528
Fare10.000764
Ticket00.000000
SibSp00.000000
Sex00.000000
Pclass00.000000
PassengerId00.000000
Parch00.000000
Name00.000000
\n", "
" ], "text/plain": [ " Total Percent\n", "Cabin 1014 0.774637\n", "Survived 418 0.319328\n", "Age 263 0.200917\n", "Embarked 2 0.001528\n", "Fare 1 0.000764\n", "Ticket 0 0.000000\n", "SibSp 0 0.000000\n", "Sex 0 0.000000\n", "Pclass 0 0.000000\n", "PassengerId 0 0.000000\n", "Parch 0 0.000000\n", "Name 0 0.000000" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "find_missing_data(dataset)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAEnCAYAAAAKMZAQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAF3BJREFUeJzt3XmUZVV1gPGvEdDQgEZFtMWogGxwCI44ASqOuKKSKAoOURTFASQOSxxwQDAKGhFFhSgOiLMmKiqDKKIRBxyiILIdcCaigCMgg1T+OPfRj7K7q7HvOe/Wre+3Vq16VXS//ah6ve85++xz7rK5uTkkSW2sN+sXIElLiUlXkhoy6UpSQyZdSWrIpCtJDZl0Jamh9df0Hx+43u72k0nStfSZqz68bHX/bY1Jt7WTzvt203gPXrF903iSZHlBkhoy6UpSQyZdSWpojTXd1jVWSRo7R7qS1JBJV5IaWmN5wZYqSeqXfbqS1NCgkq5JUNLYDSrpOtKVNHYupElSQyZdSWrIpCtJDQ2qpmuNVdLYOdKVpIYGNdK1e0HS2DnSlaSGTLqS1JBHO0pSQ4M68MYkL2nsLC9IUkMmXUlqyKQrSQ2ZdCWpIZOuJDVky5gkNTSoljFJGrslPdL1oiKpNWu6ktTQoMoLYx9ZS9KSLi9IUmuOdCWpIWu6ktSQSVeSGjLpSlJDJl1JasikK0kN2TImSQ3ZMiZJDa0x6bbmWQiSxm5QSbf1SNckL6k1a7qS1JDdC5LU0BqTrtNvSerXgjXdlonXcoaksbO8IEkNuZAmSQ050pWkhga1I02Sxs7NEZLU0KCSrklQ0thZ05Wkhky6ktSQSVeSGhpUTdeFNElj50hXkhoy6UpSQyZdSWrIsxckqaFBbQM2yUsaO8sLktSQSVeSGjLpSlJDJl1JasikK0kN2TImSQ050pWkhuzTlaSGHOlKUkMmXUlqyKQrSQ0N6hBzDxWXNHZLumXMJC+pNUe6ktTQkm4ZM8lLas2FNElqaFA1XUeeksZuUDVdk7yksRtUTVeSxs6RriQ15EKaJDU0qJGuI09JYzeo7oXWTPKSWrO8IEkN2b0gSQ0NqqZr94KksbO8IEkNmXQlqaEl3b0gSa0NaiHNJC9p7CwvSFJDJl1JamhQLWO2cEkauwWTbss664NXbN88niS1tMbyQuuFLRfSJI2d3QuS1JB9upLUkN0LktSQ5QVJasiRriQ1ZNKVpIZMupLUkDvSJKmhQSVd7xwhaewsL0hSQ26OkKSGHOlKUkOD2hwhSWPnQpokNWRNV5IasqYrSQ0NqqbryFrS2FlekKSGBjXSlaSxs3tBkhoaVNI1CUoaO7sXJKmhQY10LS9IGjtHupLUkElXkhoaVJ+u031JYzeoPl2TvKSxs7wgSQ2ZdCWpIZOuJDVk0pWkhuxekKSGBtW9IElj5zZgSWrImq4kNWTSlaSGBlVecLovaewGlXSt6UoaO8sLktSQSVeSGjLpSlJDJl1JasikK0kNmXQlqSGTriQ1ZNKVpIZMupLU0KB2pLlDTNLYrXGk23pbbut4ktTa4A4xb5l4HVlLam1Q5QVJS8NSPtzKhTRJamhQI90hXY0kqYZBJd2lPOWQtDQMKumaBCWN3aCSriNdSWO3xqRr36wk9WtQfbomeUljN6jygtN9SWO3pMsLJnlJrVlekKSG3JEmSQ2ZdCWpIZOuJDW0pBfSJKk1F9IkqSH7dCWpoSVdXjDJS2rNhTRJamhQNV1JGrtB1XQ92lHS2FlekKSGlvRCmiS1Nqiarkle0thZXpCkhga1kObClqSxc6QrSQ0NaqRry5iksbN7QZIasntBkhqypitJDZl0Jakhk64kNWTSlaSGTLqS1JBJV5Iask9XkhoaVJ+uJI2d24AlqaFBJV2ToKSxG1TSdaQraezsXpCkhgY10nXkKWnsBpV0LS9IGjvLC5LU0KBGuo48JY3doJKu5QVJY+c2YElqaFA1XUeeksZuUGcvOLKWNHaDKi840pU0dkt6pGuSl9TaoGq6kjR2Jl1JasikK0kNDWpzhDVWSWM3qKTrQpqksRtU0jUJShq7QSVdR7qSxm5QSdckKGnsBpV0HelKGjtbxiSpIZOuJDVk0pWkhky6ktTQoBbSXNiSNHaOdCWpoUGNdG0ZkzR2jnQlqSGTriQ1tGxubm7Wr0GSlgxHupLUkElXkhoy6UpSQyZdSWrIpCtJDZl0Jakhk64kNdTrNuCIuA2wNXAm8MvMtAlYkqb0lnQjYl/gn4EbAu+mJN99+3r+pSgiNgVuCZybmRc3iOdFs0cRsR6wDLgX8NXMvHzGL6k33f/bZsCvx/Y+iYi9M/PtU18/OzPf2Nfz9znS3QPYCfhcZr4hIs7o8bn/SkRsAuwKXG/yvcw8tkKcHwPTb6orgA2AyzJzu77jTcV9FPASyu/oQxExl5mHVIzX9KIZEbcCHgVsNPleZr6yQpx3cs3f39Uy88l9x5uKeyhwLuWieWfgfOCJlWK9BnhxZl4VEdcH3p6Zu9eI1cX7F+D1wG+BTSLiGZn5mQpxdl7df8vML1SItyfwcOB+EbFL9+3rALcHeku6fdZ0J881eYNf1uNzr8rHKT+g7bqPbSvF2Ra4LXAqsEdmBvBI4H8qxZt4DnAP4ALgEEpCrGkP4AHA7zLzDcDdK8d7P7CckowmHzV8APgg5WJyDnAM8B2mLtaV7JiZRwP3zMyHAFtUjHUZcEpE7AZ8AfhkxVgALwV2yMw7AfcGXlUpzjO6j9dRkt4TKMm+94tz50TgaMr74+ju40jggX0G6XOk+37KL/yWEfFp4GM9PveqrJeZj68cg8y8DCAitsrMr3Xf+1ZEROXQV2XmZd0Idy4iapcXWl80L8nMgyrHIDNPAoiI52XmYd23vxQRvY/M5rlOROwA/CQiNqRMxWt5BWV28iFg/8x8d8VYABdm5q8BMvP8iPhDjSCZuSdARHwKeERmXhkR1wE+VSneb4HPA5+PiPsDWwJfBS7qM05vSTcz3xQRp1CG4udk5pl9PfdqfCci7g78L12iqFwz+11EHAx8jVKj+0nFWABfjIj3AVtExFFA1XIN8D4aXDQjYpvu4fkR8VjgG6z8/X2/RszOxt2U8QzK72/DirEAjgXeBDwZOAw4omKs0yg/x1sBb42IO2Xm0yrG+0NEnNTFvSuwUUT8O0BmvrhCvJtNPV4fuEmFGFfr/l+2oMygLwdeBOzZ1/P3uZD2jqkvd42IK4CfA2/uriB9uw/wsKmv5yhXploeBzwJeAhlmnpgxVgAhwL3BL5FuYgdXzNYZh4ZEZ+l/kXz6KnHT+0+oPz+dvnrP96bp1CmpUcC3wMeUzEWmfkW4C0AEfEfmfnziuEOzczJ6O8REfHsirGglPYmflk5FpSS0Hcj4ixKqe/llePtmJk7R8SpmfnuiHhGn0/eZ3nh74AfAV+k1CLvBvyaMu15eI9xAMjM1rd9+DNlyn0BZXX/77vHtXwqM3ek1Jmq66bCe1BqnfeLCDLzmX3Hycz7dfGuB2zXlWp2o9KUcSru94Bqi0vzdYnvUuAGwF4RcWJmPrdSuC90s7AVlJ/jpyvFISK27xLRhpQL5mXAOzLzqloxM/PNEfEeyvrKuZlZ898dwPrd+3OuK2f8pdcn7/G5NpvUYICTIuLkzHxpRPS6yhgRR2bmvhHxZeatSmfmvfqMNc/RwHmUovrXKdPHh1aMd1FE7A8kcBVAZp5cMd67KaPrGrOSVTkOOIUykt8GeDTw2L6DRMT/Ud4ny/jr98uKvuNN2ZMyGzsRuB3w2Yqx3gGcANyXMio8povdq4h4LvCYiLg38FpKZ8ZPgcOB/fuONxX3dsBRlAvYeyPirMysuVh4OKVcsxmlpnt4n0/eZ9LdNCK2zcxzImI7Sg3tRsDGPcYAOLj7vEfPz7uQrTJz74jYKTOPj4gXVo53IXDH7gNKwqiZdH+Qme+q+Pzz3TwzjwLIzMMi4tQaQTLzZgARcYPM/F2NGKsxR6lFnt8thN6wYqwbZeY7IuLxmXl6RCyrFGdXSj18jnKB3CYzfxsRp1eKN/FGYC/gbZQLyglU7NDIzA9361NbAz9mwCPdfSlXoZtRplXvotTNem0nycxJa9F1KFfbbYCzgBf0GWcV1o+IG1OmHJvQjT5rycy9pr/ufq41fTQiPgCcPfUaarXmAGVRLTO/HxFbUX6fNX0S2LFyjGmnUhYm94yIw4GP1gwWEdt2n7eg5yQx5arM/EtE3JkyzZ/Mimol+atl5g+7Tp7fRMQfa8aKiDdl5n7AGRHxYMqC6DYL/LW11mf3wte6gvO+wIOAzTPz4AX+2ro4hrIqfDqwM2WK1Ws/3TwHAl+ijF6+QsXpFEBEHAQ8k7LKvhHwfco0tZZnAv8FtBoN7k/Z9HETStlmn8rxmpZrMvMllM0tRMQZmXlFrVjAs4F3UhaZPsbKxcnedd0newGf6L6+HfWS/MRFEbEPsDwi9qD+e/QP3YaTjSkLyw/p88nXOel2BfU9gWdRiuqbArfOzEvX9bkX8JfMPKF7fHxE/FvleKdnZkTEZpQFtJqdElCmcltQ6kmvp1sJr+iizDy0coxpO2fmHRf+Y71pWq6JiIdT/k1sACyLiBtn5h16jnFnyuBjB8qs762Uf3+3oNTK+3Yg8B5Ku+SLIuI+lNp87QXKpwAvpvy7u2v3dTWZ+ZKIeC2wdWbet+/n72Ok+xPKxojHZeYPIuKEmgk3Ih7UPbw4Il5AmcLtQL0dTRPvBx7VTW/2AZ5Hj1OOVbiw2xyxSTe12mjhv7JOLoiIo4FvsrJv9j8rxntoRByembVHSUAp13SjtK0o3SfnVQ75MmA/4OmUUsMDKsR4FfDEzLwiIg6hXKh/SKl5fqLvYJl5BlM7FbvF7C0rj+IBDgLelplnL/gn18HUoiuUksnmEXEe9Lvo2kfSPYJSVL9VRLyd+vWdSYfERazcAgz1d1Cd0rWt3IAyvam9TfYXEfFkysXl1ZQRTE0/7D7ftPtc+xCTzYDzYuXZFnM1u0/immdLvAu4DXUPZLowM78cEU/PzHdFxF4L/5Vrbb3M/E5ErACWZ+Y3ASKi6npDRNyV0s2zOfCziNin8maoLwGHdWsp7wQ+WGNgN1l0BYiI5Zl5cUSsyMxeL9DrnHS7Kemh3VRjb+BuUQ77eE9mnrWuz7+KeKt889ZaaOrKJ1BqxhsD96fi9CYiDuwOttmHktg/TNmUUbVbIzMP6n6GG1AunDXbqQD+qfLzzzd9INMRUflAJuCyKAe2bNAtxtR4f062bj+E0n5HRFwX2KRCrGlvBJ6QmWdHxB0opa+dagXLzI8AH+nen4cDb6AMfqqIiJcB16fMZo+IiK/3WXrrcyHtNOC0iLgB5WCK9wB36uv552u40JRcc8ox/b0add1dgEO6E6NelZm7UFZPq4qIYyg74JZTNrqcS9nkUssGlFrgdJKvuZjW+myJZ1Ca+Q+htDm+rEKMUyLiS5Qa7sO7LpC3Ug74qenSyVQ/M8+MiKpHVkbEP1BOaHskpfy1a814lHMe7gKQmbt3P+PhJd2JrhfyTdRPFE0WmjLz1gBdD+RxNWLMs2w1j2vbjnLROpqyaPGRyvGOBY6ntHGdR//93PM1OZApVp4tAWUbPJSfZ+/lmsw8NCI+QTnT9sJJ0s3M/+47FkBETM5zuCIi3sLK9ZQqB95M+SjwdmCnzKzaLta5KiI2zMzLI2IDer7DTu9Jt6HWC01PpazU1ja3mse1/bFr4l+emRdMlVVquSQzXx0Rt8nMJ0fEF2sGa3gg0/TZEvN3wvV+tkS3vXny+EeUrfi1TEokX+4+B/B7yqFTvYuILTLzF8Dj6TabTMqIlQ9HOgo4KyLOpMxWDlvgz18riznpTi80vYb6C03XjYhvcc0+z963rQJ36Xb4LANuO/W46kIT8I2IeD5lcesD1N+ssCwibkrZubicssBVTTQ6kGlWZ0s0ckxm/mLeaL6m53YfR837ftXDkTLzmG4GsSXwo77PeliUSbeb5jyLcuX9AbA9lU+NAg6o/PwT/9goDgAR8a/dw3MoF65zgJ9Rame1Ym5KaQPajTJ7+DGl3FBT0wOZaHS2RGOTJHg0JfHdkLIx4vfUGcVPDgg6AvhEzUN1YOUidkS8n6lZZpTDn3r73S26pBsRr6BMEY/LzJ9G2Wf+HMqpXzV3wJ0JPJhrLvyc1neQzPxp38+5gPm3HFpG2XF0CT1Pq+Dq1q3nAVcC+2XmiVQ+H7XT5ECmKU3OlmjsuG62d3dK98lbKQm39mH0DwAO7kafx2TmuZXiTDow5o+se7Xoki5lAe0e2d0MLzN/EhGPoWwHrpl0P0LpkLgD5ZjHSyrGaiYzXzR5HBFbU3pYPwnU2uH3WEotcFNKh0uToyu55oFM21Lu7VXjQKarRduzJVqYbMa4vMVmjInuVMENgUcAR3aLXDU2m2zQxet9MDVtMSbdP+W8u492O3Kqr2pm5tO72uDelJXb0YiIZ1ES7XMqH5v35yx3+GixWDdtciDTCkr55FlUOJAJri6fHEDbsyVaWN1mjBYLvjtQZpqbU6+zZqvo7oAxX/Z4R4zFmHQvjYgtp6cYEbElDVb6u8WR5V2s2i1OTUTEzSm7fC6i3Gyw1Xm60LAlLsv97e4y79tf7zvOasonY7G6zRhV/y1ExNnAtyl3Od67YqhLKAvlVS3GpHsA8LEot5Y5F/gHyhWwyu2tp7yZUjs+mbLqXftuwK2cRbkP1OeAN8fU/TYrdWfcLsq935ZNPa4ZD7h6wfCFTN0FODNrbG6ZVfmkhVltxnhnZr62cgyAX2X9m3ouvqSbmd+NiJ0o9Z0VlFX2V9Zums7MjwJ0dcAPZ2bthvBWdmsc79FTj6suWMxzAKVLoea9ymB25ZPqWm/GmLJrRLy+weFI36j8/AAsm5tr2X+/eEXEQyk3NfwdZTr1tMz8/ExflNZaRByfmQ9b+E+uc5zPdVu3r/FYf7tuk8JNKK2F1Q9Hqm3RjXRn6OXA3bujHW9K2UZa82wC9euSiDiBsntq0vlS43bhMymfjFzrw5GqMumuvT9m5m8AMvNXEXHxrF+QrpVqd8idZ1blkzFb1XpN1VtJ1WTSXcBUC8n6EfFJygLaDtQ/pUr9ei/liMxbUA4V7/3YUajf47lETW5QsAy4Mz0fQNOaSXdhOe8zwMdn8UK0To6i9Ms+kNIqdizw0Jm+Iq2VzJw+RIiuTLRomXQXMGkhiYjrA/dhquVIi8pWmbl3ROyUmcdHxAtn/YK0duYdsLOC0ia6aJl0197JlNuTT+5EOgd8aHYvR9fS+hFxY2Auym1fqh6eol5NH7BzIWXzyaJl0l17v1/drYK0KBxIudfWzYCvUO9sCfUkVt7tePqAnY0od4tZtOzTXUsR8TzgYspoF4DMHNX5C0tBRGwG/DYzr5z1a9GadbXbA7rzHs6mHGb+Q+CEzLz3bF/d386R7trbCbgupa4LZbpj0l0kImJ3yklf16XcWfa1mfm6Gb8srdlM7nZcm0l37W1c6Tg5tfF8SrfCBygLMScDJt1hm9Xdjqsy6a69syJiT8pZD5MdTTXv06R+/bn7/MfJvfVm+mq0NmZ1wE5VJt21tz3lVjqT4wivR7lluRaHH1P6c/eLiJcDX53x69ECZnjATlUupC0gIj6YmY/pHj9/UgeMiFMnNyHU4hARG2fmnyJi88w8f+G/IfVvUW+na2T6/l3TO5i8Wi0iEbEzsGN3WtzpEeHhM5oJk+610+xOB+rdYZQ7Rz8buDfw9Nm+HC1VJt2Fza3msRaXSykHp1yZmb+itI5JzbmQtrBVnY+6DLjtbF+WrqU/UNqO3tLdhPNnM349WqJMugtb3fmonpW6uDyacujN2RFxe+Bts35BWprsXtCSEBFbA7sDG1BmKisycwy3RdciY01XS8Wx3ecdgVsDN5rha9ESZtLVUnFJZr4a+EVmPgnYfMavR0uUSVdLxbLuhqIbR8RyytmsUnMmXY1eRGwKHATsBhxH2RK8qG/5osXLhTSNWkTsS7nTwJXAfpl54oxfkpY4R7oau8cCQTmcaP8ZvxbJpKvR+3NmXp6ZF7DIb/OicTDpainx7AzNnDVdjVpEnA98lpJwd+keA5CZnjSm5twGrLFb3TZuaSYc6UpSQ9Z0Jakhk64kNWTSlaSGTLqS1JBJV5Ia+n82i7AEOXI8zAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# checking only datasets set\n", "sns.heatmap(dataset.isnull(), cbar = False , \n", " yticklabels = False , cmap = 'viridis')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As it mentioned earlier, ground truth of test datasets are missing.\n", "\n", "## Problem Spaces \n", "\n", "So, we've this train data set and with a quick analysis we've seen its internal components and find some missing values there. We've also seen many observations with concern attributes. \n", "\n", "**Task**: The goal is to predict the survival or the death of a given passenger based on a set of variables describing their such as age, sex, or passenger class on the boat.\n", "\n", "So, **Survived** is our **target variable**, This is the variable we're going to predict. `1` represent **survived** , `0` represent **not survived**. And rest of the attributes are called **feature variables**, based on those we need to build a model which will predict whether a passenger survived or not.\n", "\n", "\n", "### Preprocessing\n", "In Data Science or ML contexts, Data Preprocessing means to make the Data usable or clean before using it, like before fit the model.\n", "\n", "Now, the real world data is so messy, they're like -\n", "* inconsistant\n", "* duplicate records\n", "* missing values\n", "* invalid data\n", "* outlier" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Feature Analysis \n", "
\n", "\n", "### Outlier Detection \n", "\n", "There are many method to detect outlier. We will use [Tukey Method](http://datapigtechnologies.com/blog/index.php/highlighting-outliers-in-your-data-with-the-tukey-method/) to accomplish it." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Mohammed Innat\\Anaconda3\\lib\\site-packages\\numpy\\lib\\function_base.py:4291: RuntimeWarning: Invalid value encountered in percentile\n", " interpolation=interpolation)\n" ] } ], "source": [ "# Outlier detection \n", "\n", "def detect_outliers(df,n,features):\n", " \"\"\"\n", " Takes a dataframe df of features and returns a list of the indices\n", " corresponding to the observations containing more than n outliers according\n", " to the Tukey method.\n", " \"\"\"\n", " outlier_indices = []\n", " \n", " # iterate over features(columns)\n", " for col in features:\n", " \n", " # 1st quartile (25%)\n", " Q1 = np.percentile(df[col], 25)\n", " \n", " # 3rd quartile (75%)\n", " Q3 = np.percentile(df[col],75)\n", " \n", " # Interquartile range (IQR)\n", " IQR = Q3 - Q1\n", " \n", " # outlier step\n", " outlier_step = 1.5 * IQR\n", " \n", " # Determine a list of indices of outliers for feature col\n", " outlier_list_col = df[(df[col] < Q1 - outlier_step) | \n", " (df[col] > Q3 + outlier_step )].index\n", " # append the found outlier indices for col to the list of outlier indices \n", " outlier_indices.extend(outlier_list_col)\n", " \n", " \n", " # select observations containing more than 2 outliers\n", " outlier_indices = Counter(outlier_indices) \n", "\n", " multiple_outliers = list( k for k, v in outlier_indices.items() if v > n )\n", " return multiple_outliers \n", "\n", "# detect outliers from Age, SibSp , Parch and Fare\n", "Outliers_to_drop = detect_outliers(train,2,[\"Age\",\"SibSp\",\"Parch\",\"Fare\"])" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
272801Fortune, Mr. Charles Alexandermale19.03219950263.00C23 C25 C27S
888911Fortune, Miss. Mabel Helenfemale23.03219950263.00C23 C25 C27S
15916003Sage, Master. Thomas HenrymaleNaN82CA. 234369.55NaNS
18018103Sage, Miss. Constance GladysfemaleNaN82CA. 234369.55NaNS
20120203Sage, Mr. FrederickmaleNaN82CA. 234369.55NaNS
32432503Sage, Mr. George John JrmaleNaN82CA. 234369.55NaNS
34134211Fortune, Miss. Alice Elizabethfemale24.03219950263.00C23 C25 C27S
79279303Sage, Miss. Stella AnnafemaleNaN82CA. 234369.55NaNS
84684703Sage, Mr. Douglas BullenmaleNaN82CA. 234369.55NaNS
86386403Sage, Miss. Dorothy Edith \"Dolly\"femaleNaN82CA. 234369.55NaNS
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass Name Sex \\\n", "27 28 0 1 Fortune, Mr. Charles Alexander male \n", "88 89 1 1 Fortune, Miss. Mabel Helen female \n", "159 160 0 3 Sage, Master. Thomas Henry male \n", "180 181 0 3 Sage, Miss. Constance Gladys female \n", "201 202 0 3 Sage, Mr. Frederick male \n", "324 325 0 3 Sage, Mr. George John Jr male \n", "341 342 1 1 Fortune, Miss. Alice Elizabeth female \n", "792 793 0 3 Sage, Miss. Stella Anna female \n", "846 847 0 3 Sage, Mr. Douglas Bullen male \n", "863 864 0 3 Sage, Miss. Dorothy Edith \"Dolly\" female \n", "\n", " Age SibSp Parch Ticket Fare Cabin Embarked \n", "27 19.0 3 2 19950 263.00 C23 C25 C27 S \n", "88 23.0 3 2 19950 263.00 C23 C25 C27 S \n", "159 NaN 8 2 CA. 2343 69.55 NaN S \n", "180 NaN 8 2 CA. 2343 69.55 NaN S \n", "201 NaN 8 2 CA. 2343 69.55 NaN S \n", "324 NaN 8 2 CA. 2343 69.55 NaN S \n", "341 24.0 3 2 19950 263.00 C23 C25 C27 S \n", "792 NaN 8 2 CA. 2343 69.55 NaN S \n", "846 NaN 8 2 CA. 2343 69.55 NaN S \n", "863 NaN 8 2 CA. 2343 69.55 NaN S " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Show the outliers rows\n", "train.loc[Outliers_to_drop]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Drop outliers\n", "train = train.drop(Outliers_to_drop, axis = 0).reset_index(drop=True)\n", "\n", "# after removing outlier, let's re-concat the data sets\n", "dataset = pd.concat(objs=[train, test], axis=0).reset_index(drop=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we've removed outlier, let's analysis the various features and in the same time we'll also handle the missing value during analysis.\n", "\n", "- Numerical Analysis\n", "- Categorical Analysi\n", "\n", "# Numerical Analysis \n", "
\n", "\n", "At first let's analysis the correlation of 'Survived' features with the other numerical features like 'SibSp', 'Parch', 'Age', 'Fare'." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Correlation matrix between numerical values (SibSp Parch Age and Fare values) and Survived \n", "corr_numeric = sns.heatmap(dataset[[\"Survived\",\"SibSp\",\"Parch\",\"Age\",\"Fare\"]].corr(),\n", " annot=True, fmt = \".2f\", cmap = \"summer\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Only Fare feature seems to have a significative correlation with the survival probability.\n", "\n", "But it doesn't make other features useless. Subpopulations in these features can be correlated with the survival. To estimate this, we need to explore in detail these features." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Age\n", "\n", "Let's first look the age distribution among survived and not survived passengers." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Explore the Age vs Survived features\n", "age_survived = sns.FacetGrid(dataset, col='Survived')\n", "age_survived = age_survived.map(sns.distplot, \"Age\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, It's look like age distributions are not the same in the survived and not survived subpopulations. Indeed, there is a peak corresponding to young passengers, that have survived. We also see that passengers between 60-80 have less survived. So, even if \"Age\" is not correlated with \"Survived\", we can see that there is age categories of passengers that of have more or less chance to survive.\n", "\n", "It seems that very young passengers have more chance to survive. Let's look one for time." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = sns.FacetGrid(dataset, hue = 'Survived', aspect = 4)\n", "fig.map(sns.kdeplot, 'Age' , shade = True)\n", "fig.set(xlim = (0, dataset['Age'].max()))\n", "fig.add_legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again we see that aged passengers between 65-80 have less survived.\n", "\n", "\n", "## Missing Age Value\n", "\n", "We have seen significantly missing values in **Age** coloumn. Missing Age value is a big issue, to address this problem, I've looked at the most correlated features with Age. Let's first try to find correlation between Age and Sex features." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# visualize this using box plot\n", "AS = sns.factorplot(y=\"Age\", x=\"Sex\", data = dataset, kind=\"box\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Age distribution seems to be almost same in Male and Female subpopulations, so Sex is not informative to predict Age. Let's explore `age` and `pclass` distribution." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "facet = sns.FacetGrid(dataset, hue=\"Pclass\", aspect=4)\n", "facet.map(sns.kdeplot,'Age',shade= True)\n", "facet.set(xlim=(0, train['Age'].max()))\n", "facet.add_legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, we see there're more young people from class 3. First class passenger seems more aged than second class and third class are following. But we can't get any information to predict age. But let's try an another approach to visualize with the same parameter." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# using boxplot \n", "PA = sns.factorplot(data = dataset , x = 'Pclass' , y = 'Age', kind = 'box')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, we can get some information, First class passengers are older than 2nd class passengers who are also older than 3rd class passengers. We can easily visaulize that roughly `37, 29, 24` respectively are the median values of each classes. The strategy can be used to fill Age with the median age of similar rows according to Pclass." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# a custom function for age imputation\n", "def AgeImpute(df):\n", " Age = df[0]\n", " Pclass = df[1]\n", " \n", " if pd.isnull(Age):\n", " if Pclass == 1: return 37\n", " elif Pclass == 2: return 29\n", " else: return 24\n", " else:\n", " return Age\n", "\n", "# Age Impute\n", "dataset['Age'] = dataset[['Age' , 'Pclass']].apply(AgeImpute, axis = 1)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# age featured imputed; no missing age records\n", "sns.heatmap(dataset.isnull(), yticklabels = False, cbar = False, cmap = 'summer')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`Fare` feature missing some values. However, we will handle it later.\n", "\n", "## SibSP\n", "Now, let's look `Survived` and `SibSp` features in details" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Explore SibSp feature vs Survived\n", "# We'll use factorplot to analysis\n", "Sib_Sur = sns.factorplot(x=\"SibSp\",y=\"Survived\",data=train,\n", " kind=\"bar\", size = 6 , palette = \"Blues\")\n", "\n", "Sib_Sur.despine(left=True)\n", "Sib_Sur = Sib_Sur.set_ylabels(\"survival probability\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It seems that passengers having a lot of siblings/spouses have less chance to survive.\n", "Single passengers (0 SibSP) or with two other persons (SibSP 1 or 2) have more chance to survive" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parch\n", "Let's look `Survived` and `Parch` features in details" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Explore Parch feature vs Survived\n", "# We'll use factorplot to analysis\n", "Sur_Par = sns.factorplot(x=\"Parch\",y=\"Survived\",data=train, \n", " kind=\"bar\", size = 6 , palette = \"GnBu_d\")\n", "\n", "Sur_Par.despine(left=True)\n", "Sur_Par = Sur_Par.set_ylabels(\"survival probability\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Small families have more chance to survive, more than single." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fare\n", "Let's look `Survived` and `Fare` features in details. We have seen that, Fare feature also mssing some values. Let's handle it first." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset[\"Fare\"].isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we have one missing value , I liket to fill it with the median value." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "dataset[\"Fare\"] = dataset[\"Fare\"].fillna(dataset[\"Fare\"].median())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Categorical values \n", "
\n", "\n", "We can turn categorical values into numerical values. This is simply needed because of feeding the traing data to model. We can use feature mapping or create dummy variables.\n", "\n", "## sex\n", "Let's take a quick look of values in this features." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 male\n", "1 female\n", "2 female\n", "3 female\n", "4 male\n", "Name: Sex, dtype: object\n", " \n", "1294 male\n", "1295 female\n", "1296 male\n", "1297 male\n", "1298 male\n", "Name: Sex, dtype: object\n" ] } ], "source": [ "print(dataset['Sex'].head()) # top 5\n", "print(' ')\n", "print(dataset['Sex'].tail()) # last 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Model can not take such values. We need to map the `sex` column to numeric values, so that our model can digest." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "# convert Sex into categorical value 0 for male and 1 for female\n", "sex = pd.get_dummies(dataset['Sex'], drop_first = True)\n", "dataset = pd.concat([dataset,sex], axis = 1)\n", "\n", "# After now, we really don't need to Sex features, we can drop it.\n", "dataset.drop(['Sex'] , axis = 1 , inplace = True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let see how much people `survived` based on their `gender`. We can guess though, `Female` passenger survived more than `Male`, this is just assumption though. In the movie, we heard that **Women and Children First**." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# using countplot to estimate amount\n", "sns.countplot(data = train , x = 'Survived' , hue = 'Sex', palette = 'GnBu_d')" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Survived
Sex
female0.747573
male0.190559
\n", "
" ], "text/plain": [ " Survived\n", "Sex \n", "female 0.747573\n", "male 0.190559" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# let's see the percentage\n", "train[[\"Sex\",\"Survived\"]].groupby('Sex').mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is clearly obvious that Male have less chance to survive than Female. This is heavily an important feature for our prediction task." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pclass\n", "Let's explore passenger calsses feature with age feature. From this we can know, how much children, young and aged people were in different passenger class." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "facet = sns.FacetGrid(train, hue=\"Pclass\",aspect=4)\n", "facet.map(sns.kdeplot,'Age',shade= True)\n", "facet.set(xlim=(0, train['Age'].max()))\n", "facet.add_legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, we see there're more young people from class 3. And more aged passenger were in first class, and that indicate that they're rich. So, most of the young people were in class three.\n", "\n", "However, let's explore the `Pclass` vs `Survived` using `Sex` feature. This will give more information about the survival probability of each classes according to their gender." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Survived_Pcalss = sns.factorplot(x=\"Pclass\", y=\"Survived\", \n", " hue=\"Sex\", data=train,size=6, \n", " kind=\"bar\", palette=\"BuGn_r\")\n", "Survived_Pcalss.despine(left=True)\n", "Survived_Pcalss = Survived_Pcalss.set_ylabels(\"survival probability\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The passenger survival is not the same in the all classes. First class passengers have more chance to survive than second class and third class passengers. And Female survived more than Male in every classes.\n", "\n", "## Embarked\n", "
\n", "Port of Embarkation , C = Cherbourg, Q = Queenstown, S = Southampton. Categorical feature that should be encoded. We can use feature mapping or make dummy vairables for it.\n", "\n", "However, let's explore it combining `Pclass` and `Survivied` features. So that, we can get idea about the classes of passengers and also the concern embarked." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# 'Embarked' vs 'Survived'\n", "sns.barplot(dataset['Embarked'], dataset['Survived']);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like, coming from Cherbourg people have more chance to survive. But why? That's weird. Let's compare this feature with other variables." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Embarked\n", "C 270\n", "Q 123\n", "S 904\n", "Name: PassengerId, dtype: int64\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeFareParchPassengerIdPclassSibSpSurvivedmale
Embarked
C31.24229662.3362670.370370690.6555561.8518520.4000000.5535710.581481
Q25.96341512.4090120.113821668.5934962.8943090.3414630.3896100.512195
S28.97317526.2964500.409292645.9712392.3473450.4845130.3391170.683628
\n", "
" ], "text/plain": [ " Age Fare Parch PassengerId Pclass SibSp \\\n", "Embarked \n", "C 31.242296 62.336267 0.370370 690.655556 1.851852 0.400000 \n", "Q 25.963415 12.409012 0.113821 668.593496 2.894309 0.341463 \n", "S 28.973175 26.296450 0.409292 645.971239 2.347345 0.484513 \n", "\n", " Survived male \n", "Embarked \n", "C 0.553571 0.581481 \n", "Q 0.389610 0.512195 \n", "S 0.339117 0.683628 " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Count\n", "print(dataset.groupby(['Embarked'])['PassengerId'].count())\n", "\n", "# Compare with other variables\n", "dataset.groupby(['Embarked']).mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Oh, C passenger have paid more and travelling in a better class than people embarking on Q and S. Amount of passenger from S is larger than others. But survival probability of C have more than others. \n", "\n", "As we've seen earlier that Embarked feature also has some missing values, so we can fill them with the most fequent value of Embarked which is S (almost 904)." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] } ], "source": [ "# count missing values\n", "print(dataset[\"Embarked\"].isnull().sum())\n", "\n", "# Fill Embarked nan values of dataset set with 'S' most frequent value\n", "dataset[\"Embarked\"] = dataset[\"Embarked\"].fillna(\"S\")" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# let's visualize it to confirm\n", "sns.heatmap(dataset.isnull(), yticklabels = False, \n", " cbar = False, cmap = 'summer')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And there it goes. Now, there's no missing values in Embarked feature. Let's explore this feature a little bit more. We can viz the survival probability with the amount of classes passenger embarked on different port." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Counting passenger based on Pclass and Embarked \n", "Embarked_Pc = sns.factorplot(\"Pclass\", col=\"Embarked\", data=dataset,\n", " size=5, kind=\"count\", palette=\"muted\", hue = 'Survived')\n", "\n", "Embarked_Pc.despine(left=True)\n", "Embarked_Pc = Embarked_Pc.set_ylabels(\"Count\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Indeed, the third class is the most frequent for passenger coming from Southampton (S) and Queenstown (Q), and but Cherbourg passengers are mostly in first class. From this, we can also get idea about the economic condition of these region on that time.\n", "\n", "However, We need to map the `Embarked` column to numeric values, so that our model can digest." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "# create dummy variable\n", "embarked = pd.get_dummies(dataset['Embarked'], drop_first = True)\n", "dataset = pd.concat([dataset,embarked], axis = 1)\n", "\n", "# after now, we don't need Embarked coloumn anymore, so we can drop it.\n", "dataset.drop(['Embarked'] , axis = 1 , inplace = True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Commitment for Feature Analysis\n", "So far, we've seen various subpopulation components of each features and fill the gap of missing values. We've done many visualization of each components and tried to find some insight of them. Though we can dive into more deeper but I like to end this here and try to focus on feature engineering. \n", "\n", "We saw that, we've many messy features like `Name`, `Ticket` and `Cabin`. We can do feature engineering to each of them and find out some meaningfull insight. But, I like to work on only `Name` variables. `Ticket` is, I think not too much important for prediction task and again almost 77% data missing in `Cabin` variables.\n", "\n", "However, let's have a quick look over our datasets." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeCabinFareNameParchPassengerIdPclassSibSpSurvivedTicketmaleQS
022.0NaN7.2500Braund, Mr. Owen Harris01310.0A/5 21171101
138.0C8571.2833Cumings, Mrs. John Bradley (Florence Briggs Th...02111.0PC 17599000
226.0NaN7.9250Heikkinen, Miss. Laina03301.0STON/O2. 3101282001
335.0C12353.1000Futrelle, Mrs. Jacques Heath (Lily May Peel)04111.0113803001
435.0NaN8.0500Allen, Mr. William Henry05300.0373450101
\n", "
" ], "text/plain": [ " Age Cabin Fare Name \\\n", "0 22.0 NaN 7.2500 Braund, Mr. Owen Harris \n", "1 38.0 C85 71.2833 Cumings, Mrs. John Bradley (Florence Briggs Th... \n", "2 26.0 NaN 7.9250 Heikkinen, Miss. Laina \n", "3 35.0 C123 53.1000 Futrelle, Mrs. Jacques Heath (Lily May Peel) \n", "4 35.0 NaN 8.0500 Allen, Mr. William Henry \n", "\n", " Parch PassengerId Pclass SibSp Survived Ticket male Q S \n", "0 0 1 3 1 0.0 A/5 21171 1 0 1 \n", "1 0 2 1 1 1.0 PC 17599 0 0 0 \n", "2 0 3 3 0 1.0 STON/O2. 3101282 0 0 1 \n", "3 0 4 1 1 1.0 113803 0 0 1 \n", "4 0 5 3 0 0.0 373450 1 0 1 " ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Feature Engineering \n", "\n", "[Feature engineering](https://en.wikipedia.org/wiki/Feature_engineering) is an informal topic, but it is considered essential in applied machine learning. Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work. \n", "\n", "Some resources to get more depth on it -\n", "\n", "- [Data Preprocessing and Feature Exploration](https://www.youtube.com/watch?v=V0u6bxQOUJ8&t=1384s)\n", "- [Makes a Good Feature](https://www.youtube.com/watch?v=N9fDIAflCMY)\n", "- [Feature Engineering](https://www.kdnuggets.com/tag/feature-engineering)\n", "- [Automated Feature Engineering](https://towardsdatascience.com/automated-feature-engineering-in-python-99baf11cc219)\n", "\n", "Feature engineering is the art of converting raw data into useful features. There are several feature engineering techniques that you can apply. Some techniques are -\n", "\n", "- Box-Cox transformations\n", "- Polynomials generation through non-linear expansions\n", "\n", "But we don't wanna be too serious on this rather than simply apply feature engineering approaches to get usefull information.\n", "\n", "
\n", "\n", "## Name \n", "\n", "We can assume that people's title influences how they are treated. In our case, we have several titles (like Mr, Mrs, Miss, Master etc ), but only some of them are shared by a significant number of people. Accordingly, it would be interesting if we could group some of the titles and simplify our analysis.\n", "\n", "Let's analyse the 'Name' and see if we can find a sensible way to group them. Then, we test our new groups and, if it works in an acceptable way, we keep it. For now, optimization will not be a goal. The focus is on getting something that can improve our current situation.\n" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 Braund, Mr. Owen Harris\n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th...\n", "2 Heikkinen, Miss. Laina\n", "3 Futrelle, Mrs. Jacques Heath (Lily May Peel)\n", "4 Allen, Mr. William Henry\n", "5 Moran, Mr. James\n", "6 McCarthy, Mr. Timothy J\n", "7 Palsson, Master. Gosta Leonard\n", "8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\n", "9 Nasser, Mrs. Nicholas (Adele Achem)\n", "Name: Name, dtype: object" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset['Name'].head(10)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Mr 753\n", "Miss 255\n", "Mrs 197\n", "Master 60\n", "Dr 8\n", "Rev 8\n", "Col 4\n", "Mlle 2\n", "Ms 2\n", "Major 2\n", "Lady 1\n", "Don 1\n", "the Countess 1\n", "Jonkheer 1\n", "Dona 1\n", "Capt 1\n", "Mme 1\n", "Sir 1\n", "Name: Title, dtype: int64" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get Title from Name\n", "dataset_title = [i.split(\",\")[1].split(\".\")[0].strip() for i in dataset[\"Name\"]]\n", "\n", "# add dataset_title to the main dataset named 'Title'\n", "dataset[\"Title\"] = pd.Series(dataset_title)\n", "\n", "# count\n", "dataset[\"Title\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABBoAAAE8CAYAAABuEdLTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XmYJVV9N/BvM9OzILi9atBIXNAcFTUgcQFZRgdEjHHcYlzQIFFciOgbjVs0YhISjYqmjbggigtxQ5QZFJeoKO57lBc4xjVqRBFkMw0NdL9/VLX0DNMz3UzVvb18Ps8zz9y6t6bO78y9t6rut05VjUxNTQUAAACgCzsNuwAAAABg6RA0AAAAAJ0RNAAAAACdETQAAAAAnRE0AAAAAJ1ZOewCZlNKWZ3k3kl+keTaIZcDAAAAXGdFklsn+Vqt9aqZLyzYoCFNyHD2sIsAAAAAZnVAks/PfGIhBw2/SJJTTjklu+2227BrAQAAAFoXXHBBnvCEJyTtb/eZFnLQcG2S7LbbbrntbW877FoAAACA67vepQ5cDBIAAADojKABAAAA6IygAQAAAOiMoAEAAADojKABAAAA6IygAQAAAOiMoAEAAADozMq+FlxKOSLJEe3kmiR7JVmX5F+TXJPkE7XWl/fVPgAAADB4vY1oqLWeXGtdV2tdl+QbSY5J8qYkj0+yf5L7llLu1Vf7AAAAwOD1fupEKeWPk+yZ5L1JVtdaf1BrnUry8STr+24fAAAAGJzeTp2Y4cVJXp7kxkkum/H85UnuOID2AQCAZeYL77xw2CXM2/2fdMthlwCd6HVEQynlpknuUmv9TJqQYdcZL++a5JI+2wcAAAAGq+9TJw5M8h9JUmu9LMlEKWWPUspIkkOTnN1z+wAAAMAA9X3qREnywxnTT09ySpIVae468ZWe2wcAAAAGqNegodb6qi2mv5zkfn22CQAAAAxP73edAAAAAJYPQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZQQMAAADQmZV9LryU8qIkD0uyKskJST6b5OQkU0nOSXJ0rXWyzxoAAACAweltREMpZV2S/ZLcP8lBSXZPcnySl9RaD0gykmRDX+0DAAAAg9fnqROHJvlukg8l2ZTkjCT7pBnVkCRnJjm4x/YBAACAAevz1IlbJLldkocmuUOSjUl2qrVOta9fnuQmPbYPAAAADFifQcNFSc6vtU4kqaWUK9OcPjFt1ySX9Ng+AAAAMGB9njrx+SQPLqWMlFJuk+RGST7VXrshSQ5LcnaP7QMAAAAD1tuIhlrrGaWUA5N8NU2gcXSSHyU5sZSyKsl5SU7tq30AAABg8Hq9vWWt9flbefqgPtsEAAAAhqfPUycAAIBlZmxsLOvXr8/Y2NiwSwGGRNAAAAB0Ynx8PBs3bkySbNq0KePj40OuCBgGQQMAANCJiYmJTE01d7OfnJzMxMTEkCsChkHQAAAAAHRG0AAAAAB0RtAAAAAAdEbQAAAAAHRG0AAAAAB0RtAAAAAAdEbQAAAAAHRG0AAAAAB0RtAAAAAAdEbQAAAAAHRG0AAAAAB0RtAAAAAAdEbQAAAAAHRG0AAAAAB0ZuWwCwAAAAbvPR+8sPNlXnnl5ZtNn3bGRVmzZqKz5T/uUbfsbFlAf4xoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAACWnLGxsaxfvz5jY2PDLgUAlh1BAwCwpIyPj2fjxo1Jkk2bNmV8fHzIFQHA8iJoAACWlImJiUxNTSVJJicnMzExMeSKAGB5ETQAAAAAnRE0AAAAAJ1Z2efCSynfSnJpO/mjJG9O8q9JrknyiVrry/tsHwAAABis3oKGUsqaJKm1rpvx3LeTPCrJD5N8pJRyr1rrN/uqAQAAABisPkc0/FGSnUspn2jbOTbJ6lrrD5KklPLxJOuTCBoAAABgiegzaPjfJK9O8tYkd05yZpJLZrx+eZI79tg+AAAAMGB9Bg3fS/L9WutUku+VUi5NcvMZr++azYMHAAAAYJHr864TRyZ5TZKUUm6TZOckvy2l7FFKGUlyaJKze2wfgJ6NjY1l/fr1GRsbG3YpAAAsEH0GDScluWkp5fNJ3pcmeHhKklOSfDXJt2qtX+mxfYChW8o/xMfHx7Nx48YkyaZNmzI+Pj7kigAYthUrRpOMJElGRkbaaWC56e3UiVrrRJLHb+Wl+/XVJsBCsuUP8ac+9alZu3btkKvqzsTERKamppIkk5OTmZiYWFL9A+bmkR/88rBLmJfTHmVXtE+jo2tyt7sfknPP+UTuuuchGR1dM+ySgCHo8xoNAMuaH+IwNw899ZROlzd15ZWbTT9+06kZWdPtj50zHv2ETpcHS8l+Bx6Z/Q48cthlAEPU56kTAAAAwDJjRAMAQI8eduoZwy5h3jY++qHDLgGARcyIBgAAAKAzggYAAACgM4IGAAAAoDOCBgAAAKAzggYAAACgM4IGAAAAoDOCBgAAAKAzggYAAACgM4IGAAAAoDOCBgAAAKAzggYAYGlZseK6xyMjm08DAL0TNAAAS8rI6GhW3P2uSZIVe94lI6OjQ64IAJaXlcMuAACga6sO2Dc5YN9hlwEAy5IRDQAAAEBnBA0AAABAZwQNAAAAQGcEDQAAAEBnBA0AAABAZwQNAAAAQGfc3hJgmXjyhx7c6fKuHZ/abPpZH3lMVqwd6Wz5b3/ExzpbFgAAg2NEAwAAANAZQQMAAADQGUEDAAAA0BlBAwAAANAZF4MEaL3mPYd2uryJKze/WOIJp/1ZVq3p7mKJSfLcx3280+UBAMCOMqIBAAAA6EyvIxpKKbdK8o0khyS5JsnJSaaSnJPk6FrrZJ/tAwAAAIPV24iGUspokjcnGW+fOj7JS2qtByQZSbKhr7YBAACA4ejz1IlXJ3lTkv9pp/dJ8tn28ZlJDu6xbQAAAGAIejl1opRyRJILa60fL6W8qH16pNY6fWW0y5PcpI+2gf686+RuL5Y4CE88wsUSAQBgkPq6RsORSaZKKQcn2SvJO5Pcasbruya5pKe2AQAAgCHp5dSJWuuBtdaDaq3rknw7yZOSnFlKWdfOcliSs/toGwAAABieOQcNpZSb7WBbz03y8lLKl5KsSnLqDi4PAAAAWGC2e+pEKWWvJO9NsnMpZd80F3R8TK31m3NpoB3VMO2gG1IkAAAALBW/ev1/DLuEebnVs+Z3L4e5jGgYS/KIJBfVWn+e5Blp7iYBAAAAsJm5BA0711rPm56otX4yyer+SgIAAAAWq7ncdeLiUsofJZlKklLKE5Jc3GtVdG5sbCynn356NmzYkGOOOWbY5QAAAMzql6/9zrBLmJff+7/3HHYJC8pcRjQ8I8kbkuxZSrkkyXOSPL3XqujU+Ph4Nm7cmCTZtGlTxsfHh1wRAAAAS9V2RzTUWn+QZP9Syo2SrKi1XtZ/WXRpYmIiU1NTSZLJyclMTExk7dq1Q64KAACApWgud534TNrTJtrpqSTjSc5L8k+11t/0Vx4AAACwmMzlGg3nJrk6ydva6ccnuW2S/0lyUpJH9lMaAAAAsNjMJWi4X611nxnT3ymlfK3Wengp5Ul9FQYAAAAsPnO5GORoKWXP6YlSyt2TrCilrE2yqrfKAAAAgEVnLiMajklyZinll2mCiZslOTzJsUne2V9pAAAAwGIzl7tOnFVKuWOSvZMcluTQJJ+ote7Sd3HL1QUnvKzT5V1+1dWbTf/qba/M+OrRzpa/2zNf3tmyAAAAWNzmcteJOyQ5KsmRSW6a5LgkG3quCwAAAFiEZg0aSimPSPK0JPsk+VCa0yVOrLX+/YBqA2ABG1kxc2KLaQAAlq1tjWj4YJL3J9m31vr9JCmlTA6kKgAWvJ1WjWSXe+yUK747mV3uvlN2WjUy7JIAAFgAthU03DPJk5N8vpTy4yTv2c78ACwzNz9oRW5+kKEMAABcZ9bbW9Zaz6m1PjfJbZO8IskDkvxeKeUjpZSHDKpAAAAAYPGYy10nrkny4SQfLqXcMsmTkvxzko/2XBsAAACwyMzrVIha64VJXtP+YZEYXbFTRpJMJRlpp4H+7bTFxRJ3coYBAADLgF+cy8CalSty8B1vnSQ5+I63zpqVfu3AIKwcHcnt7tZcIPF2dx3JylEXSwQAYOlzccdl4oi998gRe+8x7DJg2dlzvxXZc79hVwEAAINjRAMAAADQGSMaAAAAFpkfv+6CYZcwb7d/zm7DLoEBMaIBAAAA6IygAQAAAOiMoKE1NjaW9evXZ2xsbNilAAAAwKIlaEgyPj6ejRs3Jkk2bdqU8fHxIVcEAAAAi5OgIcnExESmpqaSJJOTk5mYmBhyRQAAALA4CRoAAACAzizK21te+MZ3d7q8y6+6crPpi97+gUysXtNpG7d8xuGdLg8AAAAWot6ChlLKiiQnJilJrk3y5CQjSU5OMpXknCRH11on+6oBAAAAGKw+T5340ySptd4/yd8lOb7985Ja6wFpQocNPbYPAAAADFhvQUOt9cNJjmonb5fkl0n2SfLZ9rkzkxzcV/vzMbpiRUbaxyMZyeiKFUOtBwAAABarXi8GWWu9ppTyjiSvT3JqkpFa61T78uVJbtJn+3O1ZuVoDtnjLkmSQ/YoWbNydMgVAQAAwOLU+8Uga61/UUp5QZKvJFk746Vdk1zSd/tzdeTe++bIvfcddhkAAACwqPU2oqGU8sRSyovayf9NMpnk66WUde1zhyU5u6/2AQAAgMHrc0TDaUneXkr5XJLRJM9Jcl6SE0spq9rHp/bYPgAAADBgvQUNtdbfJnnMVl46qK82AQAAgOHq9WKQAAAAwPIiaACAZWpsbCzr16/P2NjYsEsBAJYQQQMALEPj4+PZuHFjkmTTpk0ZHx8fckUAwFIhaACAZWhiYiJTU1NJksnJyUxMTAy5IgBgqRA0AAAAAJ0RNAAAAACdETQAAAAAnRE0AAAAAJ0RNAAAAACdETQAAAAAnVk57AIAgG37k9NO6HyZU1detdn04z7ytoysWd3Z8j/yyGd2tiwAYHExogEAAADojKABAAAA6IygAQAAAOiMoAEAAADojKABAAAA6IygAQAAAOiM21uyJIyNjeX000/Phg0bcswxxwy7HGAIHvLhlw67hHn56MP/YbgF7LTiuscjW0wDv3PMh3467BLmZewRuw+7BAAjGlj8xsfHs3HjxiTJpk2bMj4+PuSKABa+kVUrs+Ied0ySrLj7HTOyyrEHAKAb9ipY9CYmJjI1NZUkmZyczMTERNauXTvkqgAWvtED987ogXsPuwwAYIkxogEAAADojKABAAAA6IygAQAAAOiMazQwcN9548M6Xd5vr5rabPrctx+eG60e6Wz593zGxs6WBQAAsNQZ0QAAAAB0RtAAAAAAdEbQAAAAAHRG0AAAAAB0RtAAAAAAdKaXu06UUkaTvC3J7ZOsTvKPSc5NcnKSqSTnJDm61jrZR/ssLytXJCNpPlgj7TQAAADD0deIhsOTXFRrPSDJYUn+LcnxSV7SPjeSZENPbbPMrF45kvvv0WRm999jZVav7O7WlgAAAMxPLyMaknwgyakzpq9Jsk+Sz7bTZyZ5UJIP9dQ+y8yj9l6dR+29ethlAAAALHu9BA211iuSpJSya5rA4SVJXl1rnWpnuTzJTfpoGwAAABie3i4GWUrZPclnkryr1vrvSWZej2HXJJf01TYAAAAwHL0EDaWU30vyiSQvqLW+rX36W6WUde3jw5Kc3UfbAAAAwPD0dY2GFye5WZKXllJe2j737CRjpZRVSc7L5tdwAAAAAJaAvq7R8Ow0wcKWDuqjPQAAAGBh6O0aDQAAAMDyI2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOiNoAAAAADojaAAAAAA6I2gAAAAAOrOyz4WXUu6b5JW11nWllDslOTnJVJJzkhxda53ss30AAABgsHob0VBKeX6StyZZ0z51fJKX1FoPSDKSZENfbQMAAADD0eepEz9I8sgZ0/sk+Wz7+MwkB/fYNgAAADAEvQUNtdYPJrl6xlMjtdap9vHlSW7SV9sAAADAcAzyYpAzr8ewa5JLBtg2LGpjY2NZv359xsbGhl0KAADANg0yaPhWKWVd+/iwJGcPsG1YtMbHx7Nx48YkyaZNmzI+Pj7kigAAAGbX610ntvDcJCeWUlYlOS/JqQNsGxatiYmJTE01Zx1NTk5mYmIia9euHXJVAAAAW9dr0FBr/XGS+7WPv5fkoD7bAwAAAIZrkKdOAAAAAEucoAEAAADojKABAAAA6IygAQAAAOjMIO86AUvex096SOfLHL9qarPpz5zy2KxdPdLZ8g/9y492tiwAAAAjGgAAAIDOCBoAAACAzggaAAAAgM4IGgAAAIDOCBoAAACAzggaYIFbMeNbOjKy+TQAAMBC4ycLLHCrRkey952br+ped9opq0a7u7UlAABA11YOuwBg+w6592gOufewqwAAANg+IxoAAACAzggaAAAAgM4IGgAAAIDOCBoAAACAzggaAAAAgM4IGgAAAIDOCBoAAACAzggaAAAAgM4IGgAAAIDOCBoAAACAzggaAAAAgM4IGgAAAIDOCBoAAACAzggaAAAAgM4IGgAAAIDOrBxkY6WUnZKckOSPklyV5Cm11u8PsgYAAACgP4Me0fDwJGtqrfsmeWGS1wy4fQAAAKBHgw4a9k/ysSSptX45yR8PuH0AAACgRwM9dSLJjZNcOmP62lLKylrrNVuZd0WSXHDBBdd74eJLL+mnuh5d9bOfzXneCy+7osdKunfNPPqWJL+69OqeKunHz+bRv4sWWd+S+fXvkkuWdv8u/83S7t+VFy+u/s2nb0ly9cW/7amSfsynf1f/5rIeK+nH/Pq3+Lbr8+vfxT1W0o/59G/iNxf2WEn35rtuGb/4+vuiC9nPfjYy53l/syg/m1fNed5fX7K0+3fBZYvru5ckK3+2tZ99W/fry37VYyXdu3qe65aLLruop0r6MbGV/s34rb5iy9dGpqamei7pOqWU45N8udb6/nb6Z7XW284y7/5Jzh5YcQAAAMB8HVBr/fzMJwY9ouELSf40yftLKfdL8t1tzPu1JAck+UWSawdQGwAAADA3K5LcOs1v980MekTD9F0n7plkJMmTa63nD6wAAAAAoFcDDRoAAACApW3Qd50AAAAAljBBAwAAANAZQQMAAADQmUHfdWLBKKWsS/KZJI+ttb5vxvPfSfLNWusRQyrtBluKfUq2368kN661PnJI5c1Ll+9RKeWvaq3/1nmRPWj7/f4k56a5EOxoktdN3+p2sduif1NJbpzkh0meUGudGGJpvVgK7+dSXV9uy1Lp8w3pRynlwUn+oNb6lkHVuSPaPj691vrYef67C2qtu/VTVb9KKS9McnCSyTTr0RcneWKS42ut/z3M2m6IOey7PLjWulsp5aw07/WivTh6KWXPJP+SZOckuyT5aJJja63XuxBcKeXkJO+ttX5soEXOw3z6s41lHJXk7bXWqzuoZ02Sw2utby2lHJvkglrrm27Aco5Kcnia79hokr+ttZ61o/W1y75HkpvVWj/XxfK209ZZmcd3Zmvr0xu6jh2mxbjvtdxHNJyf5HHTE+2X5EbDK6cTS7FPyTb6tVhChhm6eo9e0llFg/HpWuu6WutBSR6U5AWllL2GXVSHpvv3gFrrPkmuTvKwYRfVo6Xwfi7V9eW2LJU+z6sftdaPLZaQYTkqpdwtzfrykFrrg5K8IMnbaq3PWYwhwwxL5fs2q1LKTZO8N8lzaq0PSHK/JPdI8rShFnYDddifF6e57V8XdkvylB1ZQCnlsUkOSbK+1rouTeDwrlLKLXa8vCTJo5LcraNlMbtFte+1bEc0tP4zyR+WUm5aa70kzZfulCR/UEr5SZoNxHm11ucMs8h5mlOfknwuzYb86iQ/TvKkWuvkcEqek23164L2qMAzk/xFmqT287XWvymlPDILr5/b6stfJXlkmpTy0vbx7ZOcnKYP1yR5UpIjkty8lHJCkmcneVOSO6cJD19Saz2rlHJOku8luarW+rsdnYWg1npFKeXNSR5dSnlikv3bl/691vqv7RGPq9L0/dZJjqi1fnMoxd4ApZRVaer+TSnln5McmOa9OT7NEa6zk9yt1jpVSnlDkv+otX5oaAXvoBnv57+VUkaTTCR5S631XUMubXu29V38fpIvpvlefTrJTZLcJ0mttT6xlLJ7krckWZPkyiRH1Vp/OoxOzNO2+nxykj3S9OnVM4/CLkDzXY8+Psldaq0vLKU8N8lj06xPP1drfUF7lHC/NEcv/7LWet7Ae7QdpZRHJzk6zZGsJHl0kt+k+RzumeQHSVa3txL/XpL71FovLqU8I8kutdZXDaHsufpVkj9IcmQp5WO11m+XUu4zfeQyzfu1oN+fWcz6Od1yxlLKTZKclOT/tE8dU2v97sAqveE2pPnx819JUmu9tpTypCQTpZTXZIvt+7CKnIfZ+nN1KeWtSXZP8x6dWWt9abveHGmf3yXNPtr904QD703y8A5q+tskdyul/N10jaWUP2vreGmtdVM7/ddJrk2zD/zCLZbxtCR/PT3Cotb6o1LKXrXWi0opt0/z2RtNM5romFrrf84cIVVKeW+afc3bJ3lImtEeeyR5ZZJPptkvnSilfDPJ2iTHtbX8oG37Drn+vuxEkvel2T8aTTPCYK6f+ZuWUs5IM4J0ZZp930+3I4Y+m+SebV82TP+DUsrOSU5L8q4kP09y51LKmUlulWRTrfXYNgwcS/OeXpTkyFrrpVvuy9VaP9Cuny5McrMkh9Zar51j7Z24ofvSW9tG9jX6drmPaEiaD9wjSikjaXYiv9g+v3uSxy+ykGHaXPr0uCSvrbXun+QTab6oC91s/Zr25CTPrrXum+SHpZSVWbj93Fpfdkqz0Ti41npAmhXAvdMk0N9IM6T0uDRD045LcnGt9ZlpUu5f11oPTLNCfUPbxi5J/mGhhQwz/DLNzuMd0hwx2D/J49uVfJL8pNZ6aJLXJzlqOCXOywNLKWeVUs5NMyz2Q0lWJblDrfX+SR6QZmfhmiTfSXJAKWV1knVJNg2n5E79MsktkqyptR6wCEKGabOtV26fZtTQgUmOSXJCkvsm2b894vXqJGPtEa9XJ3nFgOveEVvr865pPqOPTHJYujsS16f5rEeT/O6I8mPS/GjdL82O5kPbl8+rte63gH/E/mGSP2mPRtYkh6Z5r9bUWu+X5EVJdm7D9FPSrF+T5vSDdw6+3Lmrtf46zYiG+yf5Uinl/CQP3WK2hf7+zGZ7+y7TXpzkU+065agkbxxQfTvqNmlOFfydWusVaY62zrZ9X8hm68+tk3y53S/ZP8kzZszyg1rrA5Mcm+Rfaq0nJbkg130Hd9RxSc6ttf59O/3zWuv6JM9J8oxSys2TvDzNaIX9k/x+KeWQOfTrovbh9PbswDQHr07aTj03qbU+NM139oW11p+nCRGOT/K1JCem+fF6UJof9EdkK/uyab4Pl6ZZjx2T+e2jPy/JJ9ua/yzJSW3IeuMk75nR9mHt/Luk2dc6odZ6SvvcmjRB0AFJ/qp97sQkR7fr2Y8meX4p5bBssS/X7gckzY/6gwcdMswwr33p9v9o1m1k15b7iIYk+fc0K/MfpjnKOO3XM76Ai81c+vTXSV7UHuk4L8mHB1viDTJbv6Y9OcnzSimvTPKlNGnkQu3n1voymSbdfU8p5Yokt02zAjgpzaiMj6VZIb94i2XdI82P1vu20ytLKdNHRGpvPdhxt0vyjiRX1Oa8x6tLKV/OdUPvvtX+/dM0O58L3adrrY9t/+8/meRHad6bfdrUO2nez9ul2ZD9RZojHhtrrdcMod6u3S7Ju9McRVhMZluvXDQ9ZLuU8tta67nt40vT7JzcI8mLSykvSLOuWUzX4thany9Ps6P1ljQ7au8eTmnzMp/16LS7pPmxcHWSlFLOTjMaIFnY68ukOer/jrZfd0mzndszyVeTpNb636WU6VE1JyV5Xynlc2nO5/7lMAqeq1LKnZJcVms9sp3+4zQ7+RfMmG2hvz+z2d6+y7R7pAms/7ydvlnfhXXkJ0nuNfOJUsodkuyT5OxZtu8L2Wz92T3JvUspD0hyWZLVM2b5dPv3F5O8dgA1fqP9+4I0IwvulOSWST5aSkma4PiOW/ybn6Tpw6XTT5RSHpTmwMdd04x0TjuaaPettDky4/G3279/mmZ7ONMt04Qy729rWZvmQN9xuf6+7JlpRg2enmakwz/O1uFSyi5pRuhOX/PiRjNq/nkp5bK27WTz/cfp+g5K8t1s/r6dU2u9ql3+9H7YXZOc0NY+mmZ02Gz7csnw10vz2peutU6WUra1jezUsh/RUGv9YZoP6zHZfMdq2MPrb7A59umoNBe2OSjNyuMRg6vwhtlGv6Y9Nc2wq4OS7J3maNWC7OcsfblxkofXWv88ybPSfD9H0oxSOLtNrz+QZkWdXLfSPz9NersuTXL7gTTDaZMF+jkupeya5v26LO1Qr3bI/X5J/qudbc4XXVpI2jDv8CRvTZM0f6Z9bx6Y5iI+P0zyqTSf0SOz/SMHC96M9/PCLNDP3Gy2sV7Z3ufv/CQvaN/bpyU5tZcCezBLn2+dZJ9a6yOS/EmSf2lHhS1Y81yPTjs/yX1LKSvbI8wHptmRTBbwZ7cdVv/yNEeunpJkPE2/zk+ybzvPbZIcuq/hAAAE1ElEQVT8ftKEDkkuSTOKajGsY+6Z5I2luehd0rwnl6YZej1twb4/2zKHfZdp56cZgbkuzaibU7Yx70JyRpIHl1L2SH63LT8+zX7IbNv3hWy2/uyV5JJa6xOSvCbJzu06JGlClaQ5KPL/2seT6e531pbL2nL79KM0PyQPaT8/r0/ylS3meVuSl06v10spf5hm3TCZ5kDcAe3ze+W6gG+0lLJLaU4H3XPGsra2fZyu8ddJfpZkQ1vLcWlOGd3avuy6JL+ozXVZ/jHJP23j/+AdaUYU7pTmVIdfzKj599MEc9MHU7dW30fS/AY4rl1XzjZfTXOa9bokz2//3fnZ+r7cdL+H4obsS5dS7pltbyM7teyDhtb7kuxea/3edudcPLbXp68m+WQp5dNpjqqeMbDKdsy2+vXdJF9r+/SrNCvZhdzPLftyTZLfllK+nuaI+C/SDHX7epoV49lpzlV9fTv/uaWUdyd5c5K7lFI+myZN/0kd/nUotmb61IJPpXkfXtaer/mjUsqXknw5yal1EV2LYTbt0e+xNEN/r2jfu28kmaq1Xt6mzqcmWVVr/f4QS90R13s/M/xk/4a6IduA5yV5Wfu9e2eao0KLyZZ9viDJbqWUb6VZ/7x6kYy0met6NEnSnv/7/iRfSLN9+HEWzki3LT2olPL1ti+fTrNN+2aao+LjSW5Taz09yU9LKV9J8ro0O/nTTkyzI75gr+4/rdZ6WpKzknyllPKFJB9P8jeZcfR1kZvLOua4JI9pj5p+LMk5gyhsR9VaL0szQu/EtvYvp7k2xeuzCLfv2+jPp5I8pJTyxTQjVP4r161bDmv3M5+f5Lntc2enGWHQxY+4XyVZ1Y7Y3VrNF6YJQz7brgsOy3UB6vQ872378vl2pNPb09zJ4ldptmfPap9/Y5K/bP/Z69p/c2qaERHb8o00o+IOSnP6xUfa/6tnpvksb21f9j+TPLX9jLwqyT9vY/mvaef5XJrTNJ6XZj/kc2nW4Udtb5vVjux6Wdv32d6XZyR5Z1vnK9Js2zdlK/ty22qrRzu6L/39bGMb2bWRqalFedAQAGBOSilPTfND7++2O/MSUUp5TJK7L6c+w6CVRXC7ThiWBT0sEgBgR5RSHpLmCNvTh13LoJRS/inNaIYN25sXAPpgRAMAAADQGddoAAAAADojaAAAAAA6I2gAAAAAOuNikADADimlvCHNPeRXJblTknPbl96c5lZgbyqlvD3JsbXWn5RSfpxkXa31x0MoFwDomaABANghtdajk6SUcvskZ9Va99rKbA9I8vJB1gUADIegAQDoRSnl2PbhlUluk+SjpZQDZry+IsmrkqxLsiLJybXW1w64TACgY67RAAD0qtb6iiT/k+QhtdaLZrz01Pb1eyW5T5INM4MIAGBxMqIBABiWg5PsVUp5YDu9S5J7JDl7eCUBADtK0AAADMuKJM+vtZ6WJKWUWyS5YrglAQA7yqkTAMAgXJPrH+D4dJKnllJGSym7JPl8kvsNvDIAoFNGNAAAg3BGmotBHjrjuTcluXOSb6XZJ3l7rfWsIdQGAHRoZGpqatg1AAAAAEuEUycAAACAzggaAAAAgM4IGgAAAIDOCBoAAACAzggaAAAAgM4IGgAAAIDOCBoAAACAzggaAAAAgM78fyaLZLmFqwzoAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot bar plot (titles and Age)\n", "plt.figure(figsize=(18,5))\n", "sns.barplot(x=dataset['Title'], y = dataset['Age'])" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Title\n", "Capt 70.000000\n", "Col 54.000000\n", "Don 40.000000\n", "Dona 39.000000\n", "Dr 42.750000\n", "Jonkheer 38.000000\n", "Lady 48.000000\n", "Major 48.500000\n", "Master 7.643000\n", "Miss 22.261137\n", "Mlle 24.000000\n", "Mme 24.000000\n", "Mr 30.926295\n", "Mrs 35.898477\n", "Ms 26.000000\n", "Rev 41.250000\n", "Sir 49.000000\n", "the Countess 33.000000\n", "Name: Age, dtype: float64\n" ] } ], "source": [ "# Means per title\n", "print(dataset.groupby('Title')['Age'].mean())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There is 18 titles in the dataset and most of them are very uncommon so we like to group them in 4 categories." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "# Convert to categorical values Title \n", "dataset[\"Title\"] = dataset[\"Title\"].replace(['Lady', 'the Countess',\n", " 'Capt', 'Col','Don', 'Dr', \n", " 'Major', 'Rev', 'Sir', 'Jonkheer',\n", " 'Dona'], 'Rare')\n", "\n", "dataset[\"Title\"] = dataset[\"Title\"].map({\"Master\":0, \"Miss\":1, \"Ms\" : 1 ,\n", " \"Mme\":1, \"Mlle\":1, \"Mrs\":1, \"Mr\":2, \n", " \"Rare\":3})\n", "\n", "dataset[\"Title\"] = dataset[\"Title\"].astype(int)\n", "\n", "# Drop Name variable\n", "dataset.drop(labels = [\"Name\"], axis = 1, inplace = True)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# viz counts the title coloumn\n", "sns.countplot(dataset[\"Title\"]).set_xticklabels([\"Master\",\"Miss-Mrs\",\"Mr\",\"Rare\"]);" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Let's see, based on title what's the survival probability\n", "sns.barplot(x='Title', y='Survived', data=dataset);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Catching Aspects:\n", "\n", "- People with the title 'Mr' survived less than people with any other title.\n", "- Titles with a survival rate higher than 70% are those that correspond to female (Miss-Mrs)\n", "\n", "Our new category, 'Rare', should be more discretized. As we can see by the error bar (black line), there is a significant uncertainty around the mean value. Probably, one of the problems is that we are mixing male and female titles in the 'Rare' category. We should proceed with a more detailed analysis to sort this out. Also, the category 'Master' seems to have a similar problem. For now, we will not make any changes, but we will keep these two situations in our mind for future improvement of our data set.\n", "\n", "\n", "From now on, there's no Name features and have Title feature to represent it." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeCabinFareParchPassengerIdPclassSibSpSurvivedTicketmaleQSTitle
022.0NaN7.250001310.0A/5 211711012
138.0C8571.283302111.0PC 175990001
226.0NaN7.925003301.0STON/O2. 31012820011
335.0C12353.100004111.01138030011
435.0NaN8.050005300.03734501012
\n", "
" ], "text/plain": [ " Age Cabin Fare Parch PassengerId Pclass SibSp Survived \\\n", "0 22.0 NaN 7.2500 0 1 3 1 0.0 \n", "1 38.0 C85 71.2833 0 2 1 1 1.0 \n", "2 26.0 NaN 7.9250 0 3 3 0 1.0 \n", "3 35.0 C123 53.1000 0 4 1 1 1.0 \n", "4 35.0 NaN 8.0500 0 5 3 0 0.0 \n", "\n", " Ticket male Q S Title \n", "0 A/5 21171 1 0 1 2 \n", "1 PC 17599 0 0 0 1 \n", "2 STON/O2. 3101282 0 0 1 1 \n", "3 113803 0 0 1 1 \n", "4 373450 1 0 1 2 " ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# viz top 5\n", "dataset.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Family size\n", "\n", "I like to create a `Famize` feature which is the sum of `SibSp` , `Parch`." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [], "source": [ "# Create a family size descriptor from SibSp and Parch\n", "dataset[\"Famize\"] = dataset[\"SibSp\"] + dataset[\"Parch\"] + 1\n", "\n", "# Drop SibSp and Parch variables\n", "dataset.drop(labels = [\"SibSp\",'Parch'], axis = 1, inplace = True)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Viz the survival probabily of Famize feature\n", "\n", "facet = sns.FacetGrid(dataset, hue=\"Survived\",aspect=4)\n", "facet.map(sns.kdeplot,'Famize',shade= True)\n", "facet.set(xlim=(0, dataset['Famize'].max()))\n", "facet.add_legend()\n", "plt.xlim(0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Survival probability is worst for large families." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Cabin & Ticket\n", "Now, `Cabin` feature has a huge data missing. So, I like to drop it anyway. Moreover, we also can't get to much information by `Ticket` feature for prediction task." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "# drop some useless features\n", "dataset.drop(labels = [\"Ticket\",'Cabin','PassengerId'], axis = 1, \n", " inplace = True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Predictive Modeling \n", "
\n", "\n", "Here, we split our datasets according to the previous amounts and make test and train set. To avoid overfitting event we can create validation set but that's not effective. So, we use [**K-Fold**](http://scikit-learn.org/stable/modules/cross_validation.html#k-fold) approaches and use [**StratifiedKFold**](http://scikit-learn.org/stable/modules/cross_validation.html#stratified-k-fold) to split the train datasets into 10 (by default)." ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Mohammed Innat\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:4: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", " after removing the cwd from sys.path.\n" ] } ], "source": [ "# Separate train dataset and test dataset\n", "train = dataset[:len(train)]\n", "test = dataset[len(train):]\n", "test.drop(labels=[\"Survived\"],axis = 1,inplace = True)\n", "\n", "## Separate train features and label \n", "Y_train = train[\"Survived\"].astype(int)\n", "X_train = train.drop(labels = [\"Survived\"],axis = 1)\n", "\n", "# Cross validate model with Kfold stratified cross val\n", "K_fold = StratifiedKFold(n_splits=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Classifier \n", "
\n", "\n", "I compared 10 popular classifiers and evaluate the mean accuracy of each of them by a stratified kfold cross validation procedure.\n", "\n", "- KNN\n", "- AdaBoost\n", "- Decision Tree\n", "- Random Forest\n", "- Extra Trees\n", "- Support Vector Machine\n", "- Gradient Boosting\n", "- Logistic regression\n", "- Linear Discriminant Analysis\n", "- Multiple layer perceprton\n", "\n", "## Evaluation using Cross Validation\n", "A great alternative is to use Scikit-Learn's `cross-validation` feature. The following performs **K-fold** cross validation; it randomly splits the training set into 10 distinct subsets called folds, then it trains and evaluates the Models 10 times, picking a different fold for evaluation every time and training on the other 9 folds." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Modeling step Test differents algorithms \n", "random_state = 2\n", "\n", "models = [] # append all models or predictive models \n", "cv_results = [] # cross validation result\n", "cv_means = [] # cross validation mean value\n", "cv_std = [] # cross validation standard deviation\n", "\n", "models.append(KNeighborsClassifier())\n", "models.append(AdaBoostClassifier(DecisionTreeClassifier(random_state=random_state),random_state=random_state,learning_rate=0.1))\n", "models.append(DecisionTreeClassifier(random_state=random_state))\n", "models.append(RandomForestClassifier(random_state=random_state))\n", "models.append(ExtraTreesClassifier(random_state=random_state))\n", "models.append(SVC(random_state=random_state))\n", "models.append(GradientBoostingClassifier(random_state=random_state))\n", "models.append(LogisticRegression(random_state = random_state))\n", "models.append(LinearDiscriminantAnalysis())\n", "models.append(MLPClassifier(random_state=random_state))\n", "\n", "\n", "for model in models :\n", " cv_results.append(cross_val_score(model, X_train, Y_train, \n", " scoring = \"accuracy\", cv = K_fold, n_jobs=4))\n", "\n", "for cv_result in cv_results:\n", " cv_means.append(cv_result.mean())\n", " cv_std.append(cv_result.std())\n", "\n", "cv_frame = pd.DataFrame(\n", " {\n", " \"CrossValMeans\":cv_means,\n", " \"CrossValErrors\": cv_std,\n", " \"Algorithms\":[\n", " \"KNeighboors\",\n", " \"AdaBoost\", \n", " \"DecisionTree\", \n", " \"RandomForest\",\n", " \"ExtraTrees\",\n", " \"SVC\",\n", " \"GradientBoosting\", \n", " \"LogisticRegression\",\n", " \"LinearDiscriminantAnalysis\",\n", " \"MultipleLayerPerceptron\"]\n", " })\n", "\n", "cv_plot = sns.barplot(\"CrossValMeans\",\"Algorithms\", data = cv_frame,\n", " palette=\"husl\", orient = \"h\", **{'xerr':cv_std})\n", "\n", "cv_plot.set_xlabel(\"Mean Accuracy\")\n", "cv_plot = cv_plot.set_title(\"CV Scores\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's explore following models separately:\n", "\n", "- GBC Classifier\n", "- Linear Discriminant Analysis \n", "- Logistic Regression\n", "- Random Forest Classifer\n", "- Gaussian Naive Bayes\n", "- Support Vectore Machine" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.83146067 0.82954545 0.76136364 0.89772727 0.90909091 0.875\n", " 0.84090909 0.79545455 0.84090909 0.82954545]\n" ] }, { "data": { "text/plain": [ "84.11" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# GBC Classifier\n", "GBC_Model = GradientBoostingClassifier()\n", "\n", "scores = cross_val_score(GBC_Model, X_train, Y_train, cv = K_fold,\n", " n_jobs = 4, scoring = 'accuracy')\n", "\n", "print(scores)\n", "round(np.mean(scores)*100, 2)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.84269663 0.82954545 0.76136364 0.88636364 0.81818182 0.80681818\n", " 0.79545455 0.78409091 0.86363636 0.84090909]\n" ] }, { "data": { "text/plain": [ "82.29" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Linear Discriminant Analysis \n", "LDA_Model= LinearDiscriminantAnalysis()\n", "\n", "scores = cross_val_score(LDA_Model, X_train, Y_train, cv = K_fold,\n", " n_jobs = 4, scoring = 'accuracy')\n", "\n", "print(scores)\n", "round(np.mean(scores)*100, 2)" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.83146067 0.81818182 0.76136364 0.875 0.81818182 0.77272727\n", " 0.79545455 0.79545455 0.84090909 0.84090909]\n" ] }, { "data": { "text/plain": [ "81.5" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Logistic Regression\n", "#\n", "Log_Model = LogisticRegression(C=1)\n", "scores = cross_val_score(Log_Model, X_train, Y_train, cv=K_fold, \n", " n_jobs=4, scoring='accuracy')\n", "\n", "print(scores)\n", "round(np.mean(scores)*100, 2)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.79775281 0.88636364 0.73863636 0.80681818 0.86363636 0.79545455\n", " 0.82954545 0.76136364 0.84090909 0.82954545]\n" ] }, { "data": { "text/plain": [ "81.5" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Random Forest Classifier Model\n", "#\n", "RFC_model = RandomForestClassifier(n_estimators=10)\n", "scores = cross_val_score(RFC_model, X_train, Y_train, cv=K_fold, \n", " n_jobs=4, scoring='accuracy')\n", "\n", "print(scores)\n", "round(np.mean(scores)*100, 2)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.78651685 0.81818182 0.75 0.86363636 0.77272727 0.79545455\n", " 0.80681818 0.78409091 0.85227273 0.84090909]\n" ] }, { "data": { "text/plain": [ "80.71" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Gaussian Naive Bayes\n", "GNB_Model = GaussianNB()\n", "\n", "scores = cross_val_score(GNB_Model, X_train, Y_train, cv=K_fold, \n", " n_jobs=4, scoring='accuracy')\n", "\n", "print(scores)\n", "round(np.mean(scores)*100, 2)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.69662921 0.65909091 0.64772727 0.72727273 0.76136364 0.70454545\n", " 0.76136364 0.73863636 0.72727273 0.78409091]\n" ] }, { "data": { "text/plain": [ "72.08" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Support Vector Machine\n", "SVM_Model = SVC()\n", "\n", "scores = cross_val_score(SVM_Model, X_train, Y_train, cv=K_fold, \n", " n_jobs=4, scoring='accuracy')\n", "\n", "print(scores)\n", "round(np.mean(scores)*100, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Hyperparameter Tuning \n", "
\n", "\n", "I decided to choose this promising models of GradientBoosting, Linear Discriminant Analysis, RandomForest, Logistic Regression and SVM for the ensemble modeling. So, now we need to fine-tune them.\n", "\n", "One way to do that would be to fiddle with the hyperparameters manually until we find a great combination of hyperparamerter values. This would be very tedious work, and we may not have time to explore many combination. Instead we should get `Scikit-Learn's GridSearchCV` to search for us. All we need to do is tell it which hyperparameters we want it to experiment with, and what values to try out and it will evaluate all the possible combination of hyperparameter values, using **cross-validation**.\n", "\n", "Here we perform grid search optimization for GradientBoosting, RandomForest, Linear Discriminant Analysis, Logistic Regression and SVC classifier." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 10 folds for each of 216 candidates, totalling 2160 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=4)]: Done 42 tasks | elapsed: 2.6s\n", "[Parallel(n_jobs=4)]: Done 626 tasks | elapsed: 12.9s\n", "[Parallel(n_jobs=4)]: Done 1626 tasks | elapsed: 30.5s\n", "[Parallel(n_jobs=4)]: Done 2160 out of 2160 | elapsed: 41.0s finished\n" ] }, { "data": { "text/plain": [ "0.8365493757094211" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Gradient boosting tunning\n", "GBC = GradientBoostingClassifier()\n", "gb_param_grid = {\n", " 'loss' : [\"deviance\"],\n", " 'n_estimators' : [100,200,300],\n", " 'learning_rate': [0.1, 0.05, 0.01, 0.001],\n", " 'max_depth': [4, 8,16],\n", " 'min_samples_leaf': [100,150,250],\n", " 'max_features': [0.3, 0.1]\n", " }\n", "\n", "gsGBC = GridSearchCV(GBC, param_grid = gb_param_grid, cv=K_fold, \n", " scoring=\"accuracy\", n_jobs= 4, verbose = 1)\n", "\n", "gsGBC.fit(X_train,Y_train)\n", "GBC_best = gsGBC.best_estimator_\n", "\n", "# Best score\n", "gsGBC.best_score_" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 10 folds for each of 36 candidates, totalling 360 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=4)]: Done 42 tasks | elapsed: 5.5s\n", "[Parallel(n_jobs=4)]: Done 192 tasks | elapsed: 18.7s\n", "[Parallel(n_jobs=4)]: Done 360 out of 360 | elapsed: 32.5s finished\n" ] }, { "data": { "text/plain": [ "0.8422247446083996" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# RFC Parameters tunning \n", "RFC = RandomForestClassifier()\n", "\n", "## Search grid for optimal parameters\n", "rf_param_grid = {\"max_depth\": [None],\n", " \"min_samples_split\": [2, 6, 20],\n", " \"min_samples_leaf\": [1, 4, 16],\n", " \"n_estimators\" :[100,200,300,400],\n", " \"criterion\": [\"gini\"]}\n", "\n", "\n", "gsRFC = GridSearchCV(RFC, param_grid = rf_param_grid, cv=K_fold,\n", " scoring=\"accuracy\", n_jobs= 4, verbose = 1)\n", "\n", "gsRFC.fit(X_train,Y_train)\n", "RFC_best = gsRFC.best_estimator_\n", "\n", "# Best score\n", "gsRFC.best_score_" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 10 folds for each of 180 candidates, totalling 1800 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=4)]: Done 351 tasks | elapsed: 2.6s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[LibLinear]" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=4)]: Done 1800 out of 1800 | elapsed: 4.4s finished\n" ] }, { "data": { "text/plain": [ "0.8240635641316686" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# LogisticRegression Parameters tunning \n", "LRM = LogisticRegression()\n", "\n", "## Search grid for optimal parameters\n", "lr_param_grid = {\"penalty\" : [\"l2\"],\n", " \"tol\" : [0.0001,0.0002,0.0003],\n", " \"max_iter\": [100,200,300],\n", " \"C\" :[0.01, 0.1, 1, 10, 100],\n", " \"intercept_scaling\": [1, 2, 3, 4],\n", " \"solver\":['liblinear'],\n", " \"verbose\":[1]}\n", "\n", "\n", "gsLRM = GridSearchCV(LRM, param_grid = lr_param_grid, cv=K_fold,\n", " scoring=\"accuracy\", n_jobs= 4, verbose = 1)\n", "\n", "gsLRM.fit(X_train,Y_train)\n", "LRM_best = gsLRM.best_estimator_\n", "\n", "# Best score\n", "gsLRM.best_score_" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 10 folds for each of 3 candidates, totalling 30 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=4)]: Done 23 out of 30 | elapsed: 1.9s remaining: 0.5s\n", "[Parallel(n_jobs=4)]: Done 30 out of 30 | elapsed: 1.9s finished\n" ] }, { "data": { "text/plain": [ "0.8229284903518729" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Linear Discriminant Analysis - Parameter Tuning\n", "LDA = LinearDiscriminantAnalysis()\n", "\n", "## Search grid for optimal parameters\n", "lda_param_grid = {\"solver\" : [\"svd\"],\n", " \"tol\" : [0.0001,0.0002,0.0003]}\n", "\n", "\n", "gsLDA = GridSearchCV(LDA, param_grid = lda_param_grid, cv=K_fold,\n", " scoring=\"accuracy\", n_jobs= 4, verbose = 1)\n", "\n", "gsLDA.fit(X_train,Y_train)\n", "LDA_best = gsLDA.best_estimator_\n", "\n", "# Best score\n", "gsLDA.best_score_" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 10 folds for each of 30 candidates, totalling 300 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=-1)]: Done 50 tasks | elapsed: 3.2s\n", "[Parallel(n_jobs=-1)]: Done 300 out of 300 | elapsed: 17.3s finished\n" ] }, { "data": { "text/plain": [ "0.8161180476730987" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "### SVC classifier\n", "SVMC = SVC(probability=True)\n", "svc_param_grid = {'kernel': ['rbf'], \n", " 'gamma': [0.0001, 0.001, 0.01, 0.1, 1],\n", " 'C': [1, 10, 50, 100, 200, 300]}\n", "\n", "gsSVMC = GridSearchCV(SVMC, param_grid = svc_param_grid, cv = K_fold,\n", " scoring=\"accuracy\", n_jobs= -1, verbose = 1)\n", "\n", "gsSVMC.fit(X_train,Y_train)\n", "\n", "SVMC_best = gsSVMC.best_estimator_\n", "\n", "# Best score\n", "gsSVMC.best_score_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plot Learning Curves \n", "**Diagnose Bias and Variance to Reduce Error**\n", "
\n", "Learning curves are a good way to see the overfitting and underfitting effect on the training set and the effect of the training size on the accuracy. Learning curves plots the model's performance on the training set and the validation set as a function of training set size. To generate the plots, we simply train the model several times on different sized subsets of the training sets. In a nutshell, a learning curves shows how error changes as the training set size increases.\n", "\n", "If a models perform well on the training data but generalizes poorly according to the cross-validation metrics, the model is called overfitting. And again if it performs poorly on both, the model is called underfitting.\n", "\n", "When the model is trained on very few training instances, it is incapable of generalizing properly, which is why the validation error will be initially quite big.\n", "\n", "> **Underfitting**: If model is underfitting the training data, adding more training example will not help. We need to use more complex model or come up with better features.\n", "\n", "> **Overfitting**: One way to improve the overfitting model is to feed it more training data until the validation error reaches the training error.\n", "\n", "**Resource**\n", "- [Learning Curves for Machine Learning](https://www.dataquest.io/blog/learning-curves-machine-learning/)\n", "\n", "\n", "## Bias-Variance Trade-Off\n", "
\n", "A model's generalization error can be expressed as the sum of three very different errors.\n", "\n", "- Bias\n", "- Variance\n", "- Irreducible Error\n", "\n", "#### Bias Error in Learning Curve\n", "This part of generalization error is due to the wrong assumption, such as assuming that, the data is linear when it is actually quadratic.\n", "\n", "- **A high bias model is most likely to underfit the training data**\n", "\n", "\n", "#### Variance Error in Learning Curve\n", "This part of generalization is due to the model is excessive sensitivity to small variations in the training data.\n", "\n", "- **A high variance model is most likely to overfit the training data**\n", "\n", "#### Irreducible Error in Learning Curve\n", "This is due to the noisiness of the data itself. This is not concern now, because we already clean the data sets.\n", "\n", "
\n", "\n", "Increasing a model's complexity will typically increases its variance and reduce its bias. Conversly, reducing a model's complexity increases its bias and reduces its variance.\n", "\n", "\n", "Now, we'll define a learning curve ploting function where `x` and `y` axies will be traning set size and scores (not errors) gradually. So the higher the score, the better the performance of the model." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "# Plot learning curve\n", "def plot_learning_curve(estimator, title, X, y, ylim=None, cv=None,\n", " n_jobs=-1, train_sizes=np.linspace(.1, 1.0, 5)):\n", " \"\"\"\n", " Generate a simple plot of the test and traning learning curve.\n", "\n", " Parameters\n", " ----------\n", " estimator : object type that implements the \"fit\" and \"predict\" methods\n", " An object of that type which is cloned for each validation.\n", "\n", " title : string\n", " Title for the chart.\n", "\n", " X : array-like, shape (n_samples, n_features)\n", " Training vector, where n_samples is the number of samples and\n", " n_features is the number of features.\n", "\n", " y : array-like, shape (n_samples) or (n_samples, n_features), optional\n", " Target relative to X for classification or regression;\n", " None for unsupervised learning.\n", "\n", " ylim : tuple, shape (ymin, ymax), optional\n", " Defines minimum and maximum yvalues plotted.\n", "\n", " cv : integer, cross-validation generator, optional\n", " If an integer is passed, it is the number of folds (defaults to 3).\n", " Specific cross-validation objects can be passed, see\n", " sklearn.cross_validation module for the list of possible objects\n", "\n", " n_jobs : integer, optional\n", " Number of jobs to run in parallel (default 1).\n", " \n", " x1 = np.linspace(0, 10, 8, endpoint=True) produces\n", " 8 evenly spaced points in the range 0 to 10\n", " \"\"\"\n", " \n", " \n", " plt.figure()\n", " plt.title(title)\n", " if ylim is not None:\n", " plt.ylim(*ylim)\n", " \n", " plt.xlabel(\"Training examples\")\n", " plt.ylabel(\"Score\")\n", " train_sizes, train_scores, test_scores = learning_curve(\n", " estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes)\n", " train_scores_mean = np.mean(train_scores, axis=1)\n", " train_scores_std = np.std(train_scores, axis=1)\n", " test_scores_mean = np.mean(test_scores, axis=1)\n", " test_scores_std = np.std(test_scores, axis=1)\n", " plt.grid()\n", "\n", " plt.fill_between(train_sizes, train_scores_mean - train_scores_std,\n", " train_scores_mean + train_scores_std, alpha=0.1,\n", " color=\"r\")\n", " plt.fill_between(train_sizes, test_scores_mean - test_scores_std,\n", " test_scores_mean + test_scores_std, alpha=0.1, color=\"g\")\n", " plt.plot(train_sizes, train_scores_mean, 'o-', color=\"r\",\n", " label=\"Training score\")\n", " plt.plot(train_sizes, test_scores_mean, 'o-', color=\"g\",\n", " label=\"Cross-validation score\")\n", "\n", " plt.legend(loc=\"best\")\n", " return plt" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Gradient boosting - Learning Curve \n", "plot_learning_curve(estimator = gsGBC.best_estimator_,title = \"GBC learning curve\",\n", " X = X_train, y = Y_train, cv = K_fold);" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Random Forest - Learning Curve\n", "plot_learning_curve(estimator = gsRFC.best_estimator_ ,title = \"RF learninc curve\",\n", " X = X_train, y = Y_train, cv = K_fold);" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Logistic Regression - Learning Curve gsLRM.best_estimator_\n", "plot_learning_curve(estimator = Log_Model ,title = \"Logistic Regression - Learning Curve\",\n", " X = X_train, y = Y_train, cv = K_fold);" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Linear Discriminant Analysis - Learning Curve\n", "plot_learning_curve(estimator = gsLDA.best_estimator_ ,title = \"Linear Discriminant - Learning Curve\",\n", " X = X_train, y = Y_train, cv = K_fold);" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Support Vector Machine - Learning Curve\n", "plot_learning_curve(estimator = gsSVMC.best_estimator_,title = \"SVC learning curve\",\n", " X = X_train, y = Y_train, cv = K_fold);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "SVC seem to better generalize the prediction since the training and cross-validation curves are close together. And again Random Forest and GradientBoosting classifiers tend to overfit the training set. One way to improve the overfitting model is to feed it more training data until the validation error reaches the training error." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Ensemble modeling \n", "
\n", "\n", "The another way to fine-tune our system is to try to combine the models that perform best. The goup will often perform better than the best individual model, especially if the individual models make very different types of errors.\n", "\n", "Building a model on top of many other models are called Ensemble Learning. And it is often a great way to push ML algorithm even further.\n", "\n", "I used **voting classifier** to combine the predictions coming from the 5 classifiers. I preferred to pass the argument `soft` to the voting parameter to take into account the probability of each vote." ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.79775281 0.84090909 0.72727273 0.90909091 0.90909091 0.85227273\n", " 0.85227273 0.77272727 0.88636364 0.84090909]\n", "83.89\n" ] } ], "source": [ "#about 84%\n", "VotingPredictor = VotingClassifier(estimators =\n", " [('rfc', RFC_best), \n", " ('gbc', GBC_best)],\n", " voting='soft', n_jobs = 4)\n", "\n", "# 82.97%\n", "# VotingPredictor = VotingClassifier(estimators =\n", "# [ ('rfc', RFC_best), \n", "# ('svc', SVMC_best),\n", "# ('gbc', GBC_best),\n", "# ('lda', LDA_best),\n", "# ('lrm', LRM_best)],\n", "# voting='soft', n_jobs = 4)\n", "\n", "VotingPredictor = VotingPredictor.fit(X_train, Y_train)\n", "\n", "scores = cross_val_score(VotingPredictor, X_train, Y_train, cv = K_fold,\n", " n_jobs = 4, scoring = 'accuracy')\n", "\n", "print(scores)\n", "print(round(np.mean(scores)*100, 2))" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Voting Predictor - Learning Curve\n", "plot_learning_curve(estimator = VotingPredictor, title = \"VP learning curve\",\n", " X = X_train, y = Y_train, cv = K_fold);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Submit Predictor \n", "**Kaggle : Titanic Competition**" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [], "source": [ "Predictive_Model = pd.DataFrame({\n", " \"PassengerId\": TestPassengerID,\n", " \"Survived\": VotingPredictor.predict(test)})\n", "\n", "Predictive_Model.to_csv('titanic_model.csv', index=False)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvived
08920
18930
28940
38950
48960
\n", "
" ], "text/plain": [ " PassengerId Survived\n", "0 892 0\n", "1 893 0\n", "2 894 0\n", "3 895 0\n", "4 896 0" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's look inside\n", "submission = pd.read_csv('titanic_model.csv')\n", "submission.head()" ] } ], "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.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }