diff --git a/Titanic logistic regression Tensorflow.ipynb b/Titanic logistic regression Tensorflow.ipynb deleted file mode 100644 index 803d699..0000000 --- a/Titanic logistic regression Tensorflow.ipynb +++ /dev/null @@ -1,1751 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.013006, - "end_time": "2020-08-16T00:03:03.128147", - "exception": false, - "start_time": "2020-08-16T00:03:03.115141", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# **Introduction**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.011151, - "end_time": "2020-08-16T00:03:03.152442", - "exception": false, - "start_time": "2020-08-16T00:03:03.141291", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "***Howdy, Welcome to the Titanic***" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.010739, - "end_time": "2020-08-16T00:03:03.174414", - "exception": false, - "start_time": "2020-08-16T00:03:03.163675", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**To whom does this notebook appeal to?**

\n", - "If you are just starting with WNNC's HELLO FOSS and want to do beginner task in ML, you can try this project!\n", - "\n", - "Data reading, visualization and pre-processing has been done for you. We need you to use logistic regression using sklearn library to predict whether or not they survived the sinking of the Titanic. We have also included `gender_submission.csv`, a set of predictions that assume all and only female passengers survive, as an example of what a submission file should look like.\n", - "\n", - "Head over to [this cell](#main) to implement logistic regression and then add code for writing the output to file `predictions-ann.csv` [here](#main2). " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.010834, - "end_time": "2020-08-16T00:03:03.196238", - "exception": false, - "start_time": "2020-08-16T00:03:03.185404", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "![](https://faithmag.com/sites/default/files/styles/article_full/public/2018-09/titanic2.jpg?h=6521bd5e&itok=H8td6QVv)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.010991, - "end_time": "2020-08-16T00:03:03.218357", - "exception": false, - "start_time": "2020-08-16T00:03:03.207366", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Basic Imports**" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", - "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", - "execution": { - "iopub.execute_input": "2020-08-16T00:03:03.250148Z", - "iopub.status.busy": "2020-08-16T00:03:03.249436Z", - "iopub.status.idle": "2020-08-16T00:03:04.161970Z", - "shell.execute_reply": "2020-08-16T00:03:04.162628Z" - }, - "papermill": { - "duration": 0.933339, - "end_time": "2020-08-16T00:03:04.162859", - "exception": false, - "start_time": "2020-08-16T00:03:03.229520", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "gender_submission.csv\n", - "test.csv\n", - "train.csv\n" - ] - } - ], - "source": [ - "\n", - "import numpy as np # linear algebra\n", - "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", - "import seaborn as sns\n", - "import matplotlib.pyplot as plt\n", - "%matplotlib inline\n", - "sns.set()\n", - "\n", - "import os\n", - "files = [f for f in os.listdir('./titanic/')]\n", - "for f in files:\n", - " print(f)\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.01215, - "end_time": "2020-08-16T00:03:04.187774", - "exception": false, - "start_time": "2020-08-16T00:03:04.175624", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# Reading In the Data" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.011264, - "end_time": "2020-08-16T00:03:04.210794", - "exception": false, - "start_time": "2020-08-16T00:03:04.199530", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "We will be first importing the data, and creating copies. I recommend this because it give you access to a clean untouched base file.\n", - "Next, we will be dropping some things that we don't need such as passenger Id and Ticket price" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", - "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", - "execution": { - "iopub.execute_input": "2020-08-16T00:03:04.244520Z", - "iopub.status.busy": "2020-08-16T00:03:04.243877Z", - "iopub.status.idle": "2020-08-16T00:03:04.272874Z", - "shell.execute_reply": "2020-08-16T00:03:04.272333Z" - }, - "papermill": { - "duration": 0.050645, - "end_time": "2020-08-16T00:03:04.272984", - "exception": false, - "start_time": "2020-08-16T00:03:04.222339", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "train_data = pd.read_csv('./titanic/train.csv')\n", - "test_data = pd.read_csv('./titanic/test.csv')\n", - "#make a copy so your original data is not touched\n", - "train = train_data.copy()\n", - "test = test_data.copy()\n", - "train.shape\n", - "y_train = train['Survived']\n", - "\n", - "#We won't need passenger ID or ticket price for the model! They do not provide much insight on the training.\n", - "Id = pd.DataFrame(test['PassengerId'])\n", - "train.drop(['PassengerId'], axis = 1, inplace=True)\n", - "test.drop(['PassengerId'], axis = 1, inplace=True)\n", - "train.drop(['Survived'], axis = 1, inplace=True)\n", - "train.drop(['Ticket'], axis = 1, inplace=True)\n", - "test.drop(['Ticket'], axis = 1, inplace=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.011318, - "end_time": "2020-08-16T00:03:04.295950", - "exception": false, - "start_time": "2020-08-16T00:03:04.284632", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Let's take a look at our data!**" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:04.331882Z", - "iopub.status.busy": "2020-08-16T00:03:04.331062Z", - "iopub.status.idle": "2020-08-16T00:03:04.342848Z", - "shell.execute_reply": "2020-08-16T00:03:04.342359Z" - }, - "papermill": { - "duration": 0.035458, - "end_time": "2020-08-16T00:03:04.342950", - "exception": false, - "start_time": "2020-08-16T00:03:04.307492", - "status": "completed" - }, - "tags": [] - }, - "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", - "
PclassNameSexAgeSibSpParchFareCabinEmbarked
03Braund, Mr. Owen Harrismale22.0107.2500NaNS
11Cumings, Mrs. John Bradley (Florence Briggs Th...female38.01071.2833C85C
23Heikkinen, Miss. Lainafemale26.0007.9250NaNS
31Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01053.1000C123S
43Allen, Mr. William Henrymale35.0008.0500NaNS
\n", - "
" - ], - "text/plain": [ - " Pclass Name Sex Age \\\n", - "0 3 Braund, Mr. Owen Harris male 22.0 \n", - "1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", - "2 3 Heikkinen, Miss. Laina female 26.0 \n", - "3 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 \n", - "4 3 Allen, Mr. William Henry male 35.0 \n", - "\n", - " SibSp Parch Fare Cabin Embarked \n", - "0 1 0 7.2500 NaN S \n", - "1 1 0 71.2833 C85 C \n", - "2 0 0 7.9250 NaN S \n", - "3 1 0 53.1000 C123 S \n", - "4 0 0 8.0500 NaN S " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "train.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.013019, - "end_time": "2020-08-16T00:03:04.368044", - "exception": false, - "start_time": "2020-08-16T00:03:04.355025", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Lets see how many null values there are! We need to fill out these values later.**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.011338, - "end_time": "2020-08-16T00:03:04.392074", - "exception": false, - "start_time": "2020-08-16T00:03:04.380736", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**We see that we have some midding values from age, and a ton missing from cabin**" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:04.421999Z", - "iopub.status.busy": "2020-08-16T00:03:04.421198Z", - "iopub.status.idle": "2020-08-16T00:03:04.759985Z", - "shell.execute_reply": "2020-08-16T00:03:04.759385Z" - }, - "papermill": { - "duration": 0.356365, - "end_time": "2020-08-16T00:03:04.760097", - "exception": false, - "start_time": "2020-08-16T00:03:04.403732", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "sns.heatmap(train.isnull(),yticklabels=False,cbar='BuPu')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:04.797107Z", - "iopub.status.busy": "2020-08-16T00:03:04.795587Z", - "iopub.status.idle": "2020-08-16T00:03:04.799528Z", - "shell.execute_reply": "2020-08-16T00:03:04.799041Z" - }, - "papermill": { - "duration": 0.027205, - "end_time": "2020-08-16T00:03:04.799633", - "exception": false, - "start_time": "2020-08-16T00:03:04.772428", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "Cabin 687\n", - "Age 177\n", - "Embarked 2\n", - "Fare 0\n", - "Parch 0\n", - "SibSp 0\n", - "Sex 0\n", - "Name 0\n", - "Pclass 0\n", - "dtype: int64" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "train.isnull().sum().sort_values(ascending=False)[0:20]\n", - "# we can see that cabin is midding a lot of values, and age is tooi!" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.011933, - "end_time": "2020-08-16T00:03:04.823720", - "exception": false, - "start_time": "2020-08-16T00:03:04.811787", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# **Data Cleaning**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.011829, - "end_time": "2020-08-16T00:03:04.847591", - "exception": false, - "start_time": "2020-08-16T00:03:04.835762", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**This is an awesome function I created that preprocesses the data. It does thes following**\n", - "\n", - "* Fills in null values based on mean or mode\n", - "* Drops columns that are missing 50 percent of the data\n", - "\n", - "*You guys are free to copy this for loop for your own projects!*[](http://)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:04.892575Z", - "iopub.status.busy": "2020-08-16T00:03:04.891608Z", - "iopub.status.idle": "2020-08-16T00:03:04.907126Z", - "shell.execute_reply": "2020-08-16T00:03:04.906618Z" - }, - "papermill": { - "duration": 0.047502, - "end_time": "2020-08-16T00:03:04.907233", - "exception": false, - "start_time": "2020-08-16T00:03:04.859731", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "\n", - "\n", - "#clean the train data\n", - "for i in list(train.columns):\n", - " dtype = train[i].dtype\n", - " values = 0\n", - " if(dtype == float or dtype == int):\n", - " method = 'mean'\n", - " else:\n", - " method = 'mode'\n", - " if(train[i].notnull().sum() / 891 <= .5):\n", - " train.drop(i, axis = 1, inplace=True)\n", - " elif method == 'mean':\n", - " train[i]=train[i].fillna(train[i].mean())\n", - "\n", - " else:\n", - " train[i]=train[i].fillna(train[i].mode()[0])\n", - "\n", - "# WE CAN DO THIS FOR THE TEST SET TOO!\n", - "\n", - "#clean the test data\n", - "for i in list(test.columns):\n", - " dtype = test[i].dtype\n", - " values = 0\n", - " if(dtype == float or dtype == int):\n", - " method = 'mean'\n", - " else:\n", - " method = 'mode'\n", - " if(test[i].notnull().sum() / 418 <= .5):\n", - " test.drop(i, axis = 1, inplace=True)\n", - " elif method == 'mean':\n", - " test[i]=test[i].fillna(test[i].mean())\n", - "\n", - " else:\n", - " test[i]=test[i].fillna(test[i].mode()[0])\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.011993, - "end_time": "2020-08-16T00:03:04.931751", - "exception": false, - "start_time": "2020-08-16T00:03:04.919758", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**As we can see, all of the missing values are gone!**" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "_kg_hide-input": true, - "execution": { - "iopub.execute_input": "2020-08-16T00:03:04.963771Z", - "iopub.status.busy": "2020-08-16T00:03:04.962852Z", - "iopub.status.idle": "2020-08-16T00:03:05.218436Z", - "shell.execute_reply": "2020-08-16T00:03:05.218946Z" - }, - "papermill": { - "duration": 0.275108, - "end_time": "2020-08-16T00:03:05.219105", - "exception": false, - "start_time": "2020-08-16T00:03:04.943997", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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4ICRI0di5MiRqKiogFarxcqVK60ehO+77z5UVVXB1dUVwM39y3LsjliwYAFefvll7NmzBxMnTkR2drZVd6zUn/Okp6fLEoTrp2IAwNvbG3q9XqpnELauexqErX1HWmO+++47ZGdnIzExEePGjcNrr72G1157zWr9u7m5wc3NTSpbO+jdTufOnTF58mSr/sOv+8FsMpkQFBSE5557Dvb29sjJycGDDz5otXHUcXJywrhx41BcXAylUokVK1ZY9QaF+r8NttIvoXdUNxlatWoVYmJiZBkD/e6eBuGQkBAAwLVr15CWloaIiAiUlpbi448/xtSpU+9lV3fUpUsXKBQK9OzZE9999x2Cg4OtcocYmav7wXzrD2hrvEHidmxh0biO3DdGHDx4EK+99prs42jrWmWVaM6cOejTpw+Am7+Gm0wmvPHGG1i7dm1rdHdbDz30EN566y288MILmDNnDnQ6nazvNWurhg4dCpVKJet73Op76aWXZF00PnfuHEaMGAHg5iJd3Z+tuXunjqurK3x9fdGvXz84OztL9Xy9kXW1ysLc2LFjsXfvXrO6oKAgpKWl3euuLNT9Y6+trUVpaSm6deuGAwcO4NixY4iJiZGeoUDWMW3aNGzcuBHPPffcbWdc1go6paWlWLFiBc6dO4eBAwdizpw5cHBwwI8//oi+ffta7fkRxcXFjZ7v3r27VcYBQFogvFXdb7RkHa0ShIOCgrBixQppNnzhwgW88cYb2LVr173uykL9f+x1X02hUECn08FoNKKwsLDVx0DmDh48iF69euH+++/HZ599hp07d+LRRx/FjBkzrPZAo5dffhkPP/wwBg0ahH379gHgjA+4uW+6uroaQghpB9GQIUPkHlab0ipB+NixY5gzZ460MFVZWYl33nkHGo3mXnd1R1VVVVi+fDmOHDmCt956S9qzS9axadMmfPrpp1i+fDmMRiMmTJiAuLg4FBYWwsHBwWqPThwzZoy0Hc5gMCA4OBiffvqpVfq2VWvXrsVHH30Eo9GIv/zlLygtLUX//v3xv//7v3IPrU25pznh+r/yDRs2DBMmTICTk5Msb7UAbv4wWLhwIZ5++mns3btXtodnt2VarRY7duxA+/btkZSUhOeeew7jx4+HEAL+/v5WG0fd/uS6P9cvt1V79uzB4cOHkZiYiBkzZuDixYvYtm2b3MNqc+5pImzBggVQq9WYPXs2hBDYvn07+vbta/UAfP36dcTHxyMuLg5Lly7F0qVLGYBlcust3M8884xULye5+7cFarUaLi4ueOihh3D27FkMHz4cP//8s9zDanPu+Uz4ww8/BHDzFd5ybPquP/tNT0+3eNEmWZct3MINmO9KAH7fmSDHrgRb4eLiAq1Wi379+mHLli1Qq9VWf34F3eMgbAu/8r300ktwcHDAkSNH8OWXX0r1bfkfm5ymTp2K4OBgGI1GhIWFQa1Wm93CbS11i3H0u8TERHz66acIDg7GwYMHER8fb9Ubmuime7owV/+++NuVrcGWtgDRTaWlpWa3cB8+fBjt2rWz+i3cZMlgMODixYtwcHDAAw88AHt7e7mH1Obc0yDcv39/s1t1654YxVkoke05ceIEYmNj0aVLF5hMJly/fh0rV66Ep6en3ENrU+5pEOYslOiPIzQ0FMuWLZP28xcUFGDJkiXYuXOnzCNrW+5pTphBluiPQwghBWAA8PT0lPWZ022V9Zanicgm5ObmAgAefPBBxMfHIywsDA4ODkhPT2cqQgat9lB3IrJNEydObPCcHK96ausYhImIZMR0BFEblZeXh5SUFFy5csWsnjNh62IQJmqj5s2bh6ioKHTr1k3uobRpDMJEbZSbmxvfJ2cDmBMmaqOysrKwf/9+DB482Ow5HgzM1sWZMFEbtWvXLvz222/Iz883q2cQti4GYaI2qry83OrPdiFL1nmxFhHZnAEDBuDgwYO8S05mzAkTtVFDhw5FeXm52TsZFQoF38NoZUxHELUx27ZtQ3h4OI4cOYLvv/8eDz/8sHQuISFBxpG1TUxHELUx9V/kOXfuXLNzty7SUetjECZqY+pnIG/NRjI7aX0MwkRt2K0vPOULUK2PQZiojWGgtS3cHUHUxtR/DVndK8iAm6mIsrIyFBQUyDm8NodBmKiN4WvIbAuDMBGRjJgTJiKSEYMwEZGMGISJiGTEIExEJKP/A1Wqny6VgqzbAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "sns.heatmap(train.isnull(),yticklabels=False,cbar='BuPu')\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.013345, - "end_time": "2020-08-16T00:03:05.246558", - "exception": false, - "start_time": "2020-08-16T00:03:05.233213", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# **Feature Engineering**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.014138, - "end_time": "2020-08-16T00:03:05.274477", - "exception": false, - "start_time": "2020-08-16T00:03:05.260339", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Title**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.012818, - "end_time": "2020-08-16T00:03:05.300776", - "exception": false, - "start_time": "2020-08-16T00:03:05.287958", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Lets take out the Mr, Miss, etc from the name section, and create a new column names title!" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:05.346398Z", - "iopub.status.busy": "2020-08-16T00:03:05.345561Z", - "iopub.status.idle": "2020-08-16T00:03:05.349914Z", - "shell.execute_reply": "2020-08-16T00:03:05.349327Z" - }, - "papermill": { - "duration": 0.035659, - "end_time": "2020-08-16T00:03:05.350024", - "exception": false, - "start_time": "2020-08-16T00:03:05.314365", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "#TITLE\n", - "\n", - "train_test_data = [train, test] # combining train and test dataset\n", - "\n", - "for dataset in train_test_data:\n", - " dataset['Title'] = dataset['Name'].str.extract(' ([A-Za-z]+)\\.', expand=False)\n", - "\n", - "\n", - "title_mapping = {\"Mr\": 0, \"Miss\": 1, \"Mrs\": 1, \n", - " \"Master\": 0, \"Dr\": 1, \"Rev\": 0, \"Col\": 0, \"Major\": 0, \"Mlle\": 1,\"Countess\": 1,\n", - " \"Ms\": 1, \"Lady\": 1, \"Jonkheer\": 1, \"Don\": 0, \"Dona\" : 1, \"Mme\": 0,\"Capt\": 0,\"Sir\": 0 }\n", - "for dataset in train_test_data:\n", - " dataset['Title'] = dataset['Title'].map(title_mapping)\n", - " \n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.013586, - "end_time": "2020-08-16T00:03:05.377981", - "exception": false, - "start_time": "2020-08-16T00:03:05.364395", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Sex**\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.013191, - "end_time": "2020-08-16T00:03:05.405476", - "exception": false, - "start_time": "2020-08-16T00:03:05.392285", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "We can make male and female into catagorical variables such as 0 and 1" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:05.442498Z", - "iopub.status.busy": "2020-08-16T00:03:05.441620Z", - "iopub.status.idle": "2020-08-16T00:03:05.444837Z", - "shell.execute_reply": "2020-08-16T00:03:05.444291Z" - }, - "papermill": { - "duration": 0.025484, - "end_time": "2020-08-16T00:03:05.444947", - "exception": false, - "start_time": "2020-08-16T00:03:05.419463", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - " \n", - "sex_mapping = {\"male\": 0, \"female\":1}\n", - "for dataset in train_test_data:\n", - " dataset['Sex'] = dataset['Sex'].map(sex_mapping)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.013681, - "end_time": "2020-08-16T00:03:05.472676", - "exception": false, - "start_time": "2020-08-16T00:03:05.458995", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Embarked**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.014216, - "end_time": "2020-08-16T00:03:05.500391", - "exception": false, - "start_time": "2020-08-16T00:03:05.486175", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Lets test to see if there is any correlation with Pclass and Embarked " - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:05.537924Z", - "iopub.status.busy": "2020-08-16T00:03:05.537005Z", - "iopub.status.idle": "2020-08-16T00:03:05.764053Z", - "shell.execute_reply": "2020-08-16T00:03:05.763057Z" - }, - "papermill": { - "duration": 0.249537, - "end_time": "2020-08-16T00:03:05.764169", - "exception": false, - "start_time": "2020-08-16T00:03:05.514632", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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bdq0ScuWLbM6FmDUo48+Kq/Xq40bN6q8vFyPPvqo5s6da3UswKjPPvtMc+fO1dtvv61x48bpD3/4g7766iurY+EYClYISkhI0HvvvacRI0aoW7duampqsjoSYFRjY6NGjx6tkpISZWRkaNiwYfJ4PFbHAoxqaWnx/yKRmJio+vp61dfXWx0Lx1CwQsw555yjOXPmaNeuXbr22ms1b948nX/++VbHAowKDw/X+vXr9d577+m6667Thg0bFBbGP3foXEaPHq1f/OIXio2N1cCBAzV27FjdeuutVsfCMdwqJ8TU1tZqw4YNGjx4sOLj47V8+XKNGjVKUVFRVkcDjNmzZ49eeeUVXXfddUpJSVFOTo4mT56shIQEq6MBRnm9Xv8vD0eOHNHZZ59tcSIcx690Iaa5uVkul0vx8fF6/vnntXXrVn3zzTdWxwKM6tevn3JycpSSkqLt27dr2LBhuvDCC62OBRhVUlKihQsX+i9aSk1N5aKlAELBCjHTpk1TWVmZSktLVVxcrBEjRig3N9fqWIBRXF2FUMBFS4GNghVivv32W919993auHGjxowZo9GjR6uurs7qWIBRXF2FUMFFS4GLghVivF6vdu3apQ0bNuj6669XWVmZWlparI4FGMXVVQgFXLQU2OxWB0DHmj59uubPn6+77rpLcXFxGj9+vB599FGrYwFGHb+6asiQIRo4cKBGjhyp8ePHWx0LMGrhwoXasGGDsrKydNZZZykuLk7Z2dlWx8IxXEUY4rxeryoqKhQXF2d1FMCof7266ptvvlHPnj0tTgSY5fF4tHnzZv80j5aWFn399dd66KGHLE4GiSNYIef111/X/PnzTzhdEhsbqw0bNliYCjDrk08+0fPPP6+jR4/K5/PJ6/XqwIED2rRpk9XRAGN++9vf6ttvv9X+/fs1bNgwbd26VUOGDLE6Fo5hDlaIeeGFF1RYWKiRI0fq3XffVV5engYOHGh1LMComTNn6sYbb1RLS4tuv/12nXvuubrxxhutjgUYtWfPHr366qu66aabdM899+i1115TRUWF1bFwDAUrxMTExCguLk79+vXT3r17dfvtt2vPnj1WxwKMcjgcGjt2rK644gr97Gc/0/z58/X+++9bHQswKiYmRjabTRdddJH27NmjuLg4riIMIBSsENO1a1d98MEH6tevn0pKSuR2u9XQ0GB1LMCo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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "Pclass1 = train_data[train_data['Pclass'] == 1]['Embarked'].value_counts()\n", - "Pclass2 = train_data[train_data['Pclass'] == 2]['Embarked'].value_counts()\n", - "Pclass3 = train_data[train_data['Pclass'] == 3]['Embarked'].value_counts()\n", - "\n", - "df = pd.DataFrame([Pclass1, Pclass2, Pclass3])\n", - "df.index = ['1st class','2nd class', '3rd class']\n", - "df.plot(kind='bar',stacked=True, figsize=(10,5))" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.014366, - "end_time": "2020-08-16T00:03:05.793175", - "exception": false, - "start_time": "2020-08-16T00:03:05.778809", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "We can assign each embarked value to a numberical value for training later!" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:05.830003Z", - "iopub.status.busy": "2020-08-16T00:03:05.829030Z", - "iopub.status.idle": "2020-08-16T00:03:05.835622Z", - "shell.execute_reply": "2020-08-16T00:03:05.835037Z" - }, - "papermill": { - "duration": 0.027899, - "end_time": "2020-08-16T00:03:05.835744", - "exception": false, - "start_time": "2020-08-16T00:03:05.807845", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "for data in train_test_data:\n", - " data['Embarked'] = data['Embarked'].fillna(\"S\")\n", - " \n", - "embarked_mapping = {\"S\": 0, \"C\": 1, \"Q\": 2}\n", - "for dataset in train_test_data:\n", - " dataset['Embarked'] = dataset['Embarked'].map(embarked_mapping)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.013917, - "end_time": "2020-08-16T00:03:05.863782", - "exception": false, - "start_time": "2020-08-16T00:03:05.849865", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Family Size**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.014221, - "end_time": "2020-08-16T00:03:05.892815", - "exception": false, - "start_time": "2020-08-16T00:03:05.878594", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Parch ( Parent & child ) and Sibsp( Sibling & Spouse ) are both contributing factors to family size, so lets make a new column called family size, and drop the other ones." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:05.931503Z", - "iopub.status.busy": "2020-08-16T00:03:05.930571Z", - "iopub.status.idle": "2020-08-16T00:03:05.933769Z", - "shell.execute_reply": "2020-08-16T00:03:05.933193Z" - }, - "papermill": { - "duration": 0.025993, - "end_time": "2020-08-16T00:03:05.933872", - "exception": false, - "start_time": "2020-08-16T00:03:05.907879", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "train[\"FamilySize\"] = train['SibSp'] + train['Parch'] + 1\n", - "test[\"FamilySize\"] = test['SibSp'] + test['Parch'] + 1" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.014325, - "end_time": "2020-08-16T00:03:05.962742", - "exception": false, - "start_time": "2020-08-16T00:03:05.948417", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# **Correlations**" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:05.997135Z", - "iopub.status.busy": "2020-08-16T00:03:05.996451Z", - "iopub.status.idle": "2020-08-16T00:03:06.312682Z", - "shell.execute_reply": "2020-08-16T00:03:06.312109Z" - }, - "papermill": { - "duration": 0.334816, - "end_time": "2020-08-16T00:03:06.312796", - "exception": false, - "start_time": "2020-08-16T00:03:05.977980", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "sns.heatmap(train.corr(),cbar='plasma')\n" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:06.354102Z", - "iopub.status.busy": "2020-08-16T00:03:06.352041Z", - "iopub.status.idle": "2020-08-16T00:03:06.354808Z", - "shell.execute_reply": "2020-08-16T00:03:06.355312Z" - }, - "papermill": { - "duration": 0.027178, - "end_time": "2020-08-16T00:03:06.355462", - "exception": false, - "start_time": "2020-08-16T00:03:06.328284", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "train.drop(['Name'], axis = 1, inplace=True)\n", - "test.drop(['Name'], axis = 1, inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:06.398320Z", - "iopub.status.busy": "2020-08-16T00:03:06.397342Z", - "iopub.status.idle": "2020-08-16T00:03:06.401654Z", - "shell.execute_reply": "2020-08-16T00:03:06.401144Z" - }, - "papermill": { - "duration": 0.031322, - "end_time": "2020-08-16T00:03:06.401771", - "exception": false, - "start_time": "2020-08-16T00:03:06.370449", - "status": "completed" - }, - "tags": [] - }, - "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", - "
PclassSexAgeSibSpParchFareEmbarkedTitleFamilySize
03022.0107.2500002
11138.01071.2833112
23126.0007.9250011
31135.01053.1000012
43035.0008.0500001
\n", - "
" - ], - "text/plain": [ - " Pclass Sex Age SibSp Parch Fare Embarked Title FamilySize\n", - "0 3 0 22.0 1 0 7.2500 0 0 2\n", - "1 1 1 38.0 1 0 71.2833 1 1 2\n", - "2 3 1 26.0 0 0 7.9250 0 1 1\n", - "3 1 1 35.0 1 0 53.1000 0 1 2\n", - "4 3 0 35.0 0 0 8.0500 0 0 1" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "train.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:06.444039Z", - "iopub.status.busy": "2020-08-16T00:03:06.443083Z", - "iopub.status.idle": "2020-08-16T00:03:06.447367Z", - "shell.execute_reply": "2020-08-16T00:03:06.446894Z" - }, - "papermill": { - "duration": 0.030995, - "end_time": "2020-08-16T00:03:06.447465", - "exception": false, - "start_time": "2020-08-16T00:03:06.416470", - "status": "completed" - }, - "tags": [] - }, - "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", - "
PclassSexAgeSibSpParchFareEmbarkedTitleFamilySize
03034.5007.8292201
13147.0107.0000012
22062.0009.6875201
33027.0008.6625001
43122.01112.2875013
\n", - "
" - ], - "text/plain": [ - " Pclass Sex Age SibSp Parch Fare Embarked Title FamilySize\n", - "0 3 0 34.5 0 0 7.8292 2 0 1\n", - "1 3 1 47.0 1 0 7.0000 0 1 2\n", - "2 2 0 62.0 0 0 9.6875 2 0 1\n", - "3 3 0 27.0 0 0 8.6625 0 0 1\n", - "4 3 1 22.0 1 1 12.2875 0 1 3" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "test.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.01354, - "end_time": "2020-08-16T00:03:06.476026", - "exception": false, - "start_time": "2020-08-16T00:03:06.462486", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# **PreProcessing**" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.014099, - "end_time": "2020-08-16T00:03:06.504426", - "exception": false, - "start_time": "2020-08-16T00:03:06.490327", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Now that our data looks good, lets get ready to build our models!**" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:06.538376Z", - "iopub.status.busy": "2020-08-16T00:03:06.537612Z", - "iopub.status.idle": "2020-08-16T00:03:12.103848Z", - "shell.execute_reply": "2020-08-16T00:03:12.102607Z" - }, - "papermill": { - "duration": 5.585812, - "end_time": "2020-08-16T00:03:12.103987", - "exception": false, - "start_time": "2020-08-16T00:03:06.518175", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "#imports\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.model_selection import train_test_split\n", - "from sklearn.model_selection import GridSearchCV" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.01503, - "end_time": "2020-08-16T00:03:12.134200", - "exception": false, - "start_time": "2020-08-16T00:03:12.119170", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "We should scale the values in the data, so that the neural network can train better!" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:12.174580Z", - "iopub.status.busy": "2020-08-16T00:03:12.173590Z", - "iopub.status.idle": "2020-08-16T00:03:12.188156Z", - "shell.execute_reply": "2020-08-16T00:03:12.187674Z" - }, - "papermill": { - "duration": 0.038245, - "end_time": "2020-08-16T00:03:12.188266", - "exception": false, - "start_time": "2020-08-16T00:03:12.150021", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "continuous = ['Age', 'Fare', 'Parch', 'Pclass', 'SibSp', 'FamilySize']\n", - "\n", - "scaler = StandardScaler()\n", - "\n", - "for var in continuous:\n", - " train[var] = train[var].astype('float64')\n", - " train[var] = scaler.fit_transform(train[var].values.reshape(-1, 1))\n", - "for var in continuous:\n", - " test[var] = test[var].astype('float64')\n", - " test[var] = scaler.fit_transform(test[var].values.reshape(-1, 1))" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:12.223938Z", - "iopub.status.busy": "2020-08-16T00:03:12.223053Z", - "iopub.status.idle": "2020-08-16T00:03:12.259925Z", - "shell.execute_reply": "2020-08-16T00:03:12.260500Z" - }, - "papermill": { - "duration": 0.057722, - "end_time": "2020-08-16T00:03:12.260637", - "exception": false, - "start_time": "2020-08-16T00:03:12.202915", - "status": "completed" - }, - "tags": [] - }, - "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", - "
countmeanstdmin25%50%75%max
Pclass891.0-8.772133e-171.000562-1.566107-0.3693650.8273770.8273770.827377
Sex891.03.524130e-010.4779900.0000000.0000000.0000001.0000001.000000
Age891.02.232906e-161.000562-2.253155-0.5924810.0000000.4079263.870872
SibSp891.04.386066e-171.000562-0.474545-0.474545-0.4745450.4327936.784163
Parch891.05.382900e-171.000562-0.473674-0.473674-0.473674-0.4736746.974147
Fare891.03.987333e-181.000562-0.648422-0.489148-0.357391-0.0242469.667167
Embarked891.03.613917e-010.6356730.0000000.0000000.0000001.0000002.000000
Title891.03.591470e-010.4800200.0000000.0000000.0000001.0000001.000000
FamilySize891.0-2.392400e-171.000562-0.560975-0.560975-0.5609750.0591605.640372
\n", - "
" - ], - "text/plain": [ - " count mean std min 25% 50% \\\n", - "Pclass 891.0 -8.772133e-17 1.000562 -1.566107 -0.369365 0.827377 \n", - "Sex 891.0 3.524130e-01 0.477990 0.000000 0.000000 0.000000 \n", - "Age 891.0 2.232906e-16 1.000562 -2.253155 -0.592481 0.000000 \n", - "SibSp 891.0 4.386066e-17 1.000562 -0.474545 -0.474545 -0.474545 \n", - "Parch 891.0 5.382900e-17 1.000562 -0.473674 -0.473674 -0.473674 \n", - "Fare 891.0 3.987333e-18 1.000562 -0.648422 -0.489148 -0.357391 \n", - "Embarked 891.0 3.613917e-01 0.635673 0.000000 0.000000 0.000000 \n", - "Title 891.0 3.591470e-01 0.480020 0.000000 0.000000 0.000000 \n", - "FamilySize 891.0 -2.392400e-17 1.000562 -0.560975 -0.560975 -0.560975 \n", - "\n", - " 75% max \n", - "Pclass 0.827377 0.827377 \n", - "Sex 1.000000 1.000000 \n", - "Age 0.407926 3.870872 \n", - "SibSp 0.432793 6.784163 \n", - "Parch -0.473674 6.974147 \n", - "Fare -0.024246 9.667167 \n", - "Embarked 1.000000 2.000000 \n", - "Title 1.000000 1.000000 \n", - "FamilySize 0.059160 5.640372 " - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "train.describe(include='all').T\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.014497, - "end_time": "2020-08-16T00:03:12.290830", - "exception": false, - "start_time": "2020-08-16T00:03:12.276333", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# **Logistic Regression**\n", - "\n", - "* `train` - stores training set data\n", - "* `y_train` - stores training set results\n", - "* `test` - stores test set data on which predictions have to be made\n", - "\n", - "First, fit the model using `train` and `y_train` and then make prediction on `test`\n", - "" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:12.359244Z", - "iopub.status.busy": "2020-08-16T00:03:12.358425Z", - "iopub.status.idle": "2020-08-16T00:03:15.147061Z", - "shell.execute_reply": "2020-08-16T00:03:15.146465Z" - }, - "papermill": { - "duration": 2.812936, - "end_time": "2020-08-16T00:03:15.147176", - "exception": false, - "start_time": "2020-08-16T00:03:12.334240", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "from sklearn.linear_model import LogisticRegression\n", - "#Write code for logistic regression here" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "papermill": { - "duration": 0.026701, - "end_time": "2020-08-16T00:03:18.692199", - "exception": false, - "start_time": "2020-08-16T00:03:18.665498", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "**Create Predictions**\n", - "" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "execution": { - "iopub.execute_input": "2020-08-16T00:03:18.751021Z", - "iopub.status.busy": "2020-08-16T00:03:18.750047Z", - "iopub.status.idle": "2020-08-16T00:03:19.062102Z", - "shell.execute_reply": "2020-08-16T00:03:19.061231Z" - }, - "papermill": { - "duration": 0.350469, - "end_time": "2020-08-16T00:03:19.062253", - "exception": false, - "start_time": "2020-08-16T00:03:18.711784", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "#Write code to generate predictions file" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.8" - }, - "papermill": { - "duration": 22.836091, - "end_time": "2020-08-16T00:03:21.705944", - "environment_variables": {}, - "exception": null, - "input_path": "__notebook__.ipynb", - "output_path": "__notebook__.ipynb", - "parameters": {}, - "start_time": "2020-08-16T00:02:58.869853", - "version": "2.1.0" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/Titanic logistic regression Tensorflow_Omkar.ipynb b/Titanic logistic regression Tensorflow_Omkar.ipynb new file mode 100644 index 0000000..1cf7e6d --- /dev/null +++ b/Titanic logistic regression Tensorflow_Omkar.ipynb @@ -0,0 +1,1765 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.013006, + "end_time": "2020-08-16T00:03:03.128147", + "exception": false, + "start_time": "2020-08-16T00:03:03.115141", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# **Introduction**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.011151, + "end_time": "2020-08-16T00:03:03.152442", + "exception": false, + "start_time": "2020-08-16T00:03:03.141291", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "***Howdy, Welcome to the Titanic***" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.010739, + "end_time": "2020-08-16T00:03:03.174414", + "exception": false, + "start_time": "2020-08-16T00:03:03.163675", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**To whom does this notebook appeal to?**

\n", + "If you are just starting with WNNC's HELLO FOSS and want to do beginner task in ML, you can try this project!\n", + "\n", + "Data reading, visualization and pre-processing has been done for you. We need you to use logistic regression using sklearn library to predict whether or not they survived the sinking of the Titanic. We have also included `gender_submission.csv`, a set of predictions that assume all and only female passengers survive, as an example of what a submission file should look like.\n", + "\n", + "Head over to [this cell](#main) to implement logistic regression and then add code for writing the output to file `predictions-ann.csv` [here](#main2). " + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.010834, + "end_time": "2020-08-16T00:03:03.196238", + "exception": false, + "start_time": "2020-08-16T00:03:03.185404", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "![](https://faithmag.com/sites/default/files/styles/article_full/public/2018-09/titanic2.jpg?h=6521bd5e&itok=H8td6QVv)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.010991, + "end_time": "2020-08-16T00:03:03.218357", + "exception": false, + "start_time": "2020-08-16T00:03:03.207366", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Basic Imports**" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19", + "_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5", + "execution": { + "iopub.execute_input": "2020-08-16T00:03:03.250148Z", + "iopub.status.busy": "2020-08-16T00:03:03.249436Z", + "iopub.status.idle": "2020-08-16T00:03:04.161970Z", + "shell.execute_reply": "2020-08-16T00:03:04.162628Z" + }, + "papermill": { + "duration": 0.933339, + "end_time": "2020-08-16T00:03:04.162859", + "exception": false, + "start_time": "2020-08-16T00:03:03.229520", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "gender_submission.csv\n", + "ouput.csv\n", + "test.csv\n", + "train.csv\n" + ] + } + ], + "source": [ + "\n", + "import numpy as np # linear algebra\n", + "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "sns.set()\n", + "\n", + "import os\n", + "files = [f for f in os.listdir('./titanic/')]\n", + "for f in files:\n", + " print(f)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.01215, + "end_time": "2020-08-16T00:03:04.187774", + "exception": false, + "start_time": "2020-08-16T00:03:04.175624", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Reading In the Data" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.011264, + "end_time": "2020-08-16T00:03:04.210794", + "exception": false, + "start_time": "2020-08-16T00:03:04.199530", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "We will be first importing the data, and creating copies. I recommend this because it give you access to a clean untouched base file.\n", + "Next, we will be dropping some things that we don't need such as passenger Id and Ticket price" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0", + "_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a", + "execution": { + "iopub.execute_input": "2020-08-16T00:03:04.244520Z", + "iopub.status.busy": "2020-08-16T00:03:04.243877Z", + "iopub.status.idle": "2020-08-16T00:03:04.272874Z", + "shell.execute_reply": "2020-08-16T00:03:04.272333Z" + }, + "papermill": { + "duration": 0.050645, + "end_time": "2020-08-16T00:03:04.272984", + "exception": false, + "start_time": "2020-08-16T00:03:04.222339", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "train_data = pd.read_csv('./titanic/train.csv')\n", + "test_data = pd.read_csv('./titanic/test.csv')\n", + "#make a copy so your original data is not touched\n", + "train = train_data.copy()\n", + "test = test_data.copy()\n", + "train.shape\n", + "y_train = train['Survived']\n", + "\n", + "#We won't need passenger ID or ticket price for the model! They do not provide much insight on the training.\n", + "Id = pd.DataFrame(test['PassengerId'])\n", + "train.drop(['PassengerId'], axis = 1, inplace=True)\n", + "test.drop(['PassengerId'], axis = 1, inplace=True)\n", + "train.drop(['Survived'], axis = 1, inplace=True)\n", + "train.drop(['Ticket'], axis = 1, inplace=True)\n", + "test.drop(['Ticket'], axis = 1, inplace=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.011318, + "end_time": "2020-08-16T00:03:04.295950", + "exception": false, + "start_time": "2020-08-16T00:03:04.284632", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Let's take a look at our data!**" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:04.331882Z", + "iopub.status.busy": "2020-08-16T00:03:04.331062Z", + "iopub.status.idle": "2020-08-16T00:03:04.342848Z", + "shell.execute_reply": "2020-08-16T00:03:04.342359Z" + }, + "papermill": { + "duration": 0.035458, + "end_time": "2020-08-16T00:03:04.342950", + "exception": false, + "start_time": "2020-08-16T00:03:04.307492", + "status": "completed" + }, + "tags": [] + }, + "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", + "
PclassNameSexAgeSibSpParchFareCabinEmbarked
03Braund, Mr. Owen Harrismale22.0107.2500NaNS
11Cumings, Mrs. John Bradley (Florence Briggs Th...female38.01071.2833C85C
23Heikkinen, Miss. Lainafemale26.0007.9250NaNS
31Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01053.1000C123S
43Allen, Mr. William Henrymale35.0008.0500NaNS
\n", + "
" + ], + "text/plain": [ + " Pclass Name Sex Age \\\n", + "0 3 Braund, Mr. Owen Harris male 22.0 \n", + "1 1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", + "2 3 Heikkinen, Miss. Laina female 26.0 \n", + "3 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 \n", + "4 3 Allen, Mr. William Henry male 35.0 \n", + "\n", + " SibSp Parch Fare Cabin Embarked \n", + "0 1 0 7.2500 NaN S \n", + "1 1 0 71.2833 C85 C \n", + "2 0 0 7.9250 NaN S \n", + "3 1 0 53.1000 C123 S \n", + "4 0 0 8.0500 NaN S " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.013019, + "end_time": "2020-08-16T00:03:04.368044", + "exception": false, + "start_time": "2020-08-16T00:03:04.355025", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Lets see how many null values there are! We need to fill out these values later.**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.011338, + "end_time": "2020-08-16T00:03:04.392074", + "exception": false, + "start_time": "2020-08-16T00:03:04.380736", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**We see that we have some midding values from age, and a ton missing from cabin**" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:04.421999Z", + "iopub.status.busy": "2020-08-16T00:03:04.421198Z", + "iopub.status.idle": "2020-08-16T00:03:04.759985Z", + "shell.execute_reply": "2020-08-16T00:03:04.759385Z" + }, + "papermill": { + "duration": 0.356365, + "end_time": "2020-08-16T00:03:04.760097", + "exception": false, + "start_time": "2020-08-16T00:03:04.403732", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.heatmap(train.isnull(),yticklabels=False,cbar='BuPu')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:04.797107Z", + "iopub.status.busy": "2020-08-16T00:03:04.795587Z", + "iopub.status.idle": "2020-08-16T00:03:04.799528Z", + "shell.execute_reply": "2020-08-16T00:03:04.799041Z" + }, + "papermill": { + "duration": 0.027205, + "end_time": "2020-08-16T00:03:04.799633", + "exception": false, + "start_time": "2020-08-16T00:03:04.772428", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Cabin 687\n", + "Age 177\n", + "Embarked 2\n", + "Fare 0\n", + "Parch 0\n", + "SibSp 0\n", + "Sex 0\n", + "Name 0\n", + "Pclass 0\n", + "dtype: int64" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.isnull().sum().sort_values(ascending=False)[0:20]\n", + "# we can see that cabin is midding a lot of values, and age is tooi!" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.011933, + "end_time": "2020-08-16T00:03:04.823720", + "exception": false, + "start_time": "2020-08-16T00:03:04.811787", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# **Data Cleaning**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.011829, + "end_time": "2020-08-16T00:03:04.847591", + "exception": false, + "start_time": "2020-08-16T00:03:04.835762", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**This is an awesome function I created that preprocesses the data. It does thes following**\n", + "\n", + "* Fills in null values based on mean or mode\n", + "* Drops columns that are missing 50 percent of the data\n", + "\n", + "*You guys are free to copy this for loop for your own projects!*[](http://)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:04.892575Z", + "iopub.status.busy": "2020-08-16T00:03:04.891608Z", + "iopub.status.idle": "2020-08-16T00:03:04.907126Z", + "shell.execute_reply": "2020-08-16T00:03:04.906618Z" + }, + "papermill": { + "duration": 0.047502, + "end_time": "2020-08-16T00:03:04.907233", + "exception": false, + "start_time": "2020-08-16T00:03:04.859731", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "\n", + "\n", + "#clean the train data\n", + "for i in list(train.columns):\n", + " dtype = train[i].dtype\n", + " values = 0\n", + " if(dtype == float or dtype == int):\n", + " method = 'mean'\n", + " else:\n", + " method = 'mode'\n", + " if(train[i].notnull().sum() / 891 <= .5):\n", + " train.drop(i, axis = 1, inplace=True)\n", + " elif method == 'mean':\n", + " train[i]=train[i].fillna(train[i].mean())\n", + "\n", + " else:\n", + " train[i]=train[i].fillna(train[i].mode()[0])\n", + "\n", + "# WE CAN DO THIS FOR THE TEST SET TOO!\n", + "\n", + "#clean the test data\n", + "for i in list(test.columns):\n", + " dtype = test[i].dtype\n", + " values = 0\n", + " if(dtype == float or dtype == int):\n", + " method = 'mean'\n", + " else:\n", + " method = 'mode'\n", + " if(test[i].notnull().sum() / 418 <= .5):\n", + " test.drop(i, axis = 1, inplace=True)\n", + " elif method == 'mean':\n", + " test[i]=test[i].fillna(test[i].mean())\n", + "\n", + " else:\n", + " test[i]=test[i].fillna(test[i].mode()[0])\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.011993, + "end_time": "2020-08-16T00:03:04.931751", + "exception": false, + "start_time": "2020-08-16T00:03:04.919758", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**As we can see, all of the missing values are gone!**" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "_kg_hide-input": true, + "execution": { + "iopub.execute_input": "2020-08-16T00:03:04.963771Z", + "iopub.status.busy": "2020-08-16T00:03:04.962852Z", + "iopub.status.idle": "2020-08-16T00:03:05.218436Z", + "shell.execute_reply": "2020-08-16T00:03:05.218946Z" + }, + "papermill": { + "duration": 0.275108, + "end_time": "2020-08-16T00:03:05.219105", + "exception": false, + "start_time": "2020-08-16T00:03:04.943997", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.heatmap(train.isnull(),yticklabels=False,cbar='BuPu')\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.013345, + "end_time": "2020-08-16T00:03:05.246558", + "exception": false, + "start_time": "2020-08-16T00:03:05.233213", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# **Feature Engineering**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.014138, + "end_time": "2020-08-16T00:03:05.274477", + "exception": false, + "start_time": "2020-08-16T00:03:05.260339", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Title**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.012818, + "end_time": "2020-08-16T00:03:05.300776", + "exception": false, + "start_time": "2020-08-16T00:03:05.287958", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Lets take out the Mr, Miss, etc from the name section, and create a new column names title!" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:05.346398Z", + "iopub.status.busy": "2020-08-16T00:03:05.345561Z", + "iopub.status.idle": "2020-08-16T00:03:05.349914Z", + "shell.execute_reply": "2020-08-16T00:03:05.349327Z" + }, + "papermill": { + "duration": 0.035659, + "end_time": "2020-08-16T00:03:05.350024", + "exception": false, + "start_time": "2020-08-16T00:03:05.314365", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "#TITLE\n", + "\n", + "train_test_data = [train, test] # combining train and test dataset\n", + "\n", + "for dataset in train_test_data:\n", + " dataset['Title'] = dataset['Name'].str.extract(' ([A-Za-z]+)\\.', expand=False)\n", + "\n", + "\n", + "title_mapping = {\"Mr\": 0, \"Miss\": 1, \"Mrs\": 1, \n", + " \"Master\": 0, \"Dr\": 1, \"Rev\": 0, \"Col\": 0, \"Major\": 0, \"Mlle\": 1,\"Countess\": 1,\n", + " \"Ms\": 1, \"Lady\": 1, \"Jonkheer\": 1, \"Don\": 0, \"Dona\" : 1, \"Mme\": 0,\"Capt\": 0,\"Sir\": 0 }\n", + "for dataset in train_test_data:\n", + " dataset['Title'] = dataset['Title'].map(title_mapping)\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.013586, + "end_time": "2020-08-16T00:03:05.377981", + "exception": false, + "start_time": "2020-08-16T00:03:05.364395", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Sex**\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.013191, + "end_time": "2020-08-16T00:03:05.405476", + "exception": false, + "start_time": "2020-08-16T00:03:05.392285", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "We can make male and female into catagorical variables such as 0 and 1" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:05.442498Z", + "iopub.status.busy": "2020-08-16T00:03:05.441620Z", + "iopub.status.idle": "2020-08-16T00:03:05.444837Z", + "shell.execute_reply": "2020-08-16T00:03:05.444291Z" + }, + "papermill": { + "duration": 0.025484, + "end_time": "2020-08-16T00:03:05.444947", + "exception": false, + "start_time": "2020-08-16T00:03:05.419463", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + " \n", + "sex_mapping = {\"male\": 0, \"female\":1}\n", + "for dataset in train_test_data:\n", + " dataset['Sex'] = dataset['Sex'].map(sex_mapping)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.013681, + "end_time": "2020-08-16T00:03:05.472676", + "exception": false, + "start_time": "2020-08-16T00:03:05.458995", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Embarked**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.014216, + "end_time": "2020-08-16T00:03:05.500391", + "exception": false, + "start_time": "2020-08-16T00:03:05.486175", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Lets test to see if there is any correlation with Pclass and Embarked " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:05.537924Z", + "iopub.status.busy": "2020-08-16T00:03:05.537005Z", + "iopub.status.idle": "2020-08-16T00:03:05.764053Z", + "shell.execute_reply": "2020-08-16T00:03:05.763057Z" + }, + "papermill": { + "duration": 0.249537, + "end_time": "2020-08-16T00:03:05.764169", + "exception": false, + "start_time": "2020-08-16T00:03:05.514632", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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O3bUzp071b9/f7Vu3VpVVVVWRwKMqqioUFxcnHbs2KGEhAT17t1b1dXVVscCjKqpqZHb7da2bdsUFRWlsrIylZWVWR0LF1Gw/MzNN9+s2bNn69ChQ3rooYc0d+5c3XrrrVbHAoxq0aKFNm/erJ07d+rhhx/W1q1bFRDAX3doXoYMGaJf/vKXCg8PV/fu3TVs2DCNHDnS6li4iEfl+JmSkhJt3bpVPXv2VGRkpFasWKHBgwcrODjY6miAMUePHtVHH32khx9+WDExMUpOTta4cePUpUsXq6MBRtXU1KhFixaSpMLCQrVr187iRLiEf9L5merqarlcLkVGRuq9997Tnj179N///d9WxwKM6ty5s5KTkxUTE6N9+/apd+/e+sUvfmF1LMCoHTt26K233qq9aSk2NpablrwIBcvPTJkyRcePH1dWVpYyMzPVv39/zZo1y+pYgFHcXQV/wE1L3o2C5Wd+/PFHPfXUU9q2bZuGDh2qIUOGMCkSzc7V7q7KycmxOhZgHDcteS8Klp9xu906dOiQtm7dqkceeUSHDx9WTU2N1bEAo652d1V5ebnVsQCjuGnJu9mtDoCmNXXqVM2bN0/PPPOMIiIiNGLECE2bNs3qWIBRl+6u6tWrl7p37664uDjurkKzs2DBAm3dulVJSUm66aabFBERoYkTJ1odCxdxF6Gfc7vdysnJUUREhNVRAKP++e6qH374Qe3bt7c4EWBWZWWldu3apdLSUkkXxvz333+vF1980eJkkDiD5XeWL1+ut95667J5V+Hh4dq6dauFqQCz9u3bpw8++EDnz5+Xx+OR2+3W6dOntX37dqujAcZMmDBBZWVlOnXqlHr37q29e/eqR48eVsfCRczB8jNLly7V+vXrNWjQIH3++ed688031b17d6tjAUalpqbqscceU01NjZ588klFRkbqscceszoWYNSJEyf08ccfa8CAAXr22Wf16aef1j78GdajYPmZ0NBQRUREqHPnzjp27JiGDRumEydOWB0LMKply5ZKTExUnz599LOf/UxvvPGG9u7da3UswKjQ0FDZbDbdcccdOnr0qMLCwlRZWWl1LFxEwfIzrVq10pdffqnOnTtrx44dys/P17lz56yOBRgVFBSkoqIi3XHHHTpw4IBsNpvOnz9vdSzAqE6dOmn27Nm6//779dFHH+n9999nmQYvQsHyM6mp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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "Pclass1 = train_data[train_data['Pclass'] == 1]['Embarked'].value_counts()\n", + "Pclass2 = train_data[train_data['Pclass'] == 2]['Embarked'].value_counts()\n", + "Pclass3 = train_data[train_data['Pclass'] == 3]['Embarked'].value_counts()\n", + "\n", + "df = pd.DataFrame([Pclass1, Pclass2, Pclass3])\n", + "df.index = ['1st class','2nd class', '3rd class']\n", + "df.plot(kind='bar',stacked=True, figsize=(10,5))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.014366, + "end_time": "2020-08-16T00:03:05.793175", + "exception": false, + "start_time": "2020-08-16T00:03:05.778809", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "We can assign each embarked value to a numberical value for training later!" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:05.830003Z", + "iopub.status.busy": "2020-08-16T00:03:05.829030Z", + "iopub.status.idle": "2020-08-16T00:03:05.835622Z", + "shell.execute_reply": "2020-08-16T00:03:05.835037Z" + }, + "papermill": { + "duration": 0.027899, + "end_time": "2020-08-16T00:03:05.835744", + "exception": false, + "start_time": "2020-08-16T00:03:05.807845", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "for data in train_test_data:\n", + " data['Embarked'] = data['Embarked'].fillna(\"S\")\n", + " \n", + "embarked_mapping = {\"S\": 0, \"C\": 1, \"Q\": 2}\n", + "for dataset in train_test_data:\n", + " dataset['Embarked'] = dataset['Embarked'].map(embarked_mapping)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.013917, + "end_time": "2020-08-16T00:03:05.863782", + "exception": false, + "start_time": "2020-08-16T00:03:05.849865", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Family Size**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.014221, + "end_time": "2020-08-16T00:03:05.892815", + "exception": false, + "start_time": "2020-08-16T00:03:05.878594", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Parch ( Parent & child ) and Sibsp( Sibling & Spouse ) are both contributing factors to family size, so lets make a new column called family size, and drop the other ones." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:05.931503Z", + "iopub.status.busy": "2020-08-16T00:03:05.930571Z", + "iopub.status.idle": "2020-08-16T00:03:05.933769Z", + "shell.execute_reply": "2020-08-16T00:03:05.933193Z" + }, + "papermill": { + "duration": 0.025993, + "end_time": "2020-08-16T00:03:05.933872", + "exception": false, + "start_time": "2020-08-16T00:03:05.907879", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "train[\"FamilySize\"] = train['SibSp'] + train['Parch'] + 1\n", + "test[\"FamilySize\"] = test['SibSp'] + test['Parch'] + 1" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.014325, + "end_time": "2020-08-16T00:03:05.962742", + "exception": false, + "start_time": "2020-08-16T00:03:05.948417", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# **Correlations**" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:05.997135Z", + "iopub.status.busy": "2020-08-16T00:03:05.996451Z", + "iopub.status.idle": "2020-08-16T00:03:06.312682Z", + "shell.execute_reply": "2020-08-16T00:03:06.312109Z" + }, + "papermill": { + "duration": 0.334816, + "end_time": "2020-08-16T00:03:06.312796", + "exception": false, + "start_time": "2020-08-16T00:03:05.977980", + "status": "completed" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.heatmap(train.corr(),cbar='plasma')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:06.354102Z", + "iopub.status.busy": "2020-08-16T00:03:06.352041Z", + "iopub.status.idle": "2020-08-16T00:03:06.354808Z", + "shell.execute_reply": "2020-08-16T00:03:06.355312Z" + }, + "papermill": { + "duration": 0.027178, + "end_time": "2020-08-16T00:03:06.355462", + "exception": false, + "start_time": "2020-08-16T00:03:06.328284", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "train.drop(['Name'], axis = 1, inplace=True)\n", + "test.drop(['Name'], axis = 1, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:06.398320Z", + "iopub.status.busy": "2020-08-16T00:03:06.397342Z", + "iopub.status.idle": "2020-08-16T00:03:06.401654Z", + "shell.execute_reply": "2020-08-16T00:03:06.401144Z" + }, + "papermill": { + "duration": 0.031322, + "end_time": "2020-08-16T00:03:06.401771", + "exception": false, + "start_time": "2020-08-16T00:03:06.370449", + "status": "completed" + }, + "tags": [] + }, + "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", + "
PclassSexAgeSibSpParchFareEmbarkedTitleFamilySize
03022.0107.2500002
11138.01071.2833112
23126.0007.9250011
31135.01053.1000012
43035.0008.0500001
\n", + "
" + ], + "text/plain": [ + " Pclass Sex Age SibSp Parch Fare Embarked Title FamilySize\n", + "0 3 0 22.0 1 0 7.2500 0 0 2\n", + "1 1 1 38.0 1 0 71.2833 1 1 2\n", + "2 3 1 26.0 0 0 7.9250 0 1 1\n", + "3 1 1 35.0 1 0 53.1000 0 1 2\n", + "4 3 0 35.0 0 0 8.0500 0 0 1" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:06.444039Z", + "iopub.status.busy": "2020-08-16T00:03:06.443083Z", + "iopub.status.idle": "2020-08-16T00:03:06.447367Z", + "shell.execute_reply": "2020-08-16T00:03:06.446894Z" + }, + "papermill": { + "duration": 0.030995, + "end_time": "2020-08-16T00:03:06.447465", + "exception": false, + "start_time": "2020-08-16T00:03:06.416470", + "status": "completed" + }, + "tags": [] + }, + "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", + "
PclassSexAgeSibSpParchFareEmbarkedTitleFamilySize
03034.5007.8292201
13147.0107.0000012
22062.0009.6875201
33027.0008.6625001
43122.01112.2875013
\n", + "
" + ], + "text/plain": [ + " Pclass Sex Age SibSp Parch Fare Embarked Title FamilySize\n", + "0 3 0 34.5 0 0 7.8292 2 0 1\n", + "1 3 1 47.0 1 0 7.0000 0 1 2\n", + "2 2 0 62.0 0 0 9.6875 2 0 1\n", + "3 3 0 27.0 0 0 8.6625 0 0 1\n", + "4 3 1 22.0 1 1 12.2875 0 1 3" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.01354, + "end_time": "2020-08-16T00:03:06.476026", + "exception": false, + "start_time": "2020-08-16T00:03:06.462486", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# **PreProcessing**" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.014099, + "end_time": "2020-08-16T00:03:06.504426", + "exception": false, + "start_time": "2020-08-16T00:03:06.490327", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Now that our data looks good, lets get ready to build our models!**" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:06.538376Z", + "iopub.status.busy": "2020-08-16T00:03:06.537612Z", + "iopub.status.idle": "2020-08-16T00:03:12.103848Z", + "shell.execute_reply": "2020-08-16T00:03:12.102607Z" + }, + "papermill": { + "duration": 5.585812, + "end_time": "2020-08-16T00:03:12.103987", + "exception": false, + "start_time": "2020-08-16T00:03:06.518175", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "#imports\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.model_selection import GridSearchCV" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.01503, + "end_time": "2020-08-16T00:03:12.134200", + "exception": false, + "start_time": "2020-08-16T00:03:12.119170", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "We should scale the values in the data, so that the neural network can train better!" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:12.174580Z", + "iopub.status.busy": "2020-08-16T00:03:12.173590Z", + "iopub.status.idle": "2020-08-16T00:03:12.188156Z", + "shell.execute_reply": "2020-08-16T00:03:12.187674Z" + }, + "papermill": { + "duration": 0.038245, + "end_time": "2020-08-16T00:03:12.188266", + "exception": false, + "start_time": "2020-08-16T00:03:12.150021", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "continuous = ['Age', 'Fare', 'Parch', 'Pclass', 'SibSp', 'FamilySize']\n", + "\n", + "scaler = StandardScaler()\n", + "\n", + "for var in continuous:\n", + " train[var] = train[var].astype('float64')\n", + " train[var] = scaler.fit_transform(train[var].values.reshape(-1, 1))\n", + "for var in continuous:\n", + " test[var] = test[var].astype('float64')\n", + " test[var] = scaler.fit_transform(test[var].values.reshape(-1, 1))" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:12.223938Z", + "iopub.status.busy": "2020-08-16T00:03:12.223053Z", + "iopub.status.idle": "2020-08-16T00:03:12.259925Z", + "shell.execute_reply": "2020-08-16T00:03:12.260500Z" + }, + "papermill": { + "duration": 0.057722, + "end_time": "2020-08-16T00:03:12.260637", + "exception": false, + "start_time": "2020-08-16T00:03:12.202915", + "status": "completed" + }, + "tags": [] + }, + "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", + "
countmeanstdmin25%50%75%max
Pclass891.0-8.772133e-171.000562-1.566107-0.3693650.8273770.8273770.827377
Sex891.03.524130e-010.4779900.0000000.0000000.0000001.0000001.000000
Age891.02.232906e-161.000562-2.253155-0.5924810.0000000.4079263.870872
SibSp891.04.386066e-171.000562-0.474545-0.474545-0.4745450.4327936.784163
Parch891.05.382900e-171.000562-0.473674-0.473674-0.473674-0.4736746.974147
Fare891.03.987333e-181.000562-0.648422-0.489148-0.357391-0.0242469.667167
Embarked891.03.613917e-010.6356730.0000000.0000000.0000001.0000002.000000
Title891.03.591470e-010.4800200.0000000.0000000.0000001.0000001.000000
FamilySize891.0-2.392400e-171.000562-0.560975-0.560975-0.5609750.0591605.640372
\n", + "
" + ], + "text/plain": [ + " count mean std min 25% 50% \\\n", + "Pclass 891.0 -8.772133e-17 1.000562 -1.566107 -0.369365 0.827377 \n", + "Sex 891.0 3.524130e-01 0.477990 0.000000 0.000000 0.000000 \n", + "Age 891.0 2.232906e-16 1.000562 -2.253155 -0.592481 0.000000 \n", + "SibSp 891.0 4.386066e-17 1.000562 -0.474545 -0.474545 -0.474545 \n", + "Parch 891.0 5.382900e-17 1.000562 -0.473674 -0.473674 -0.473674 \n", + "Fare 891.0 3.987333e-18 1.000562 -0.648422 -0.489148 -0.357391 \n", + "Embarked 891.0 3.613917e-01 0.635673 0.000000 0.000000 0.000000 \n", + "Title 891.0 3.591470e-01 0.480020 0.000000 0.000000 0.000000 \n", + "FamilySize 891.0 -2.392400e-17 1.000562 -0.560975 -0.560975 -0.560975 \n", + "\n", + " 75% max \n", + "Pclass 0.827377 0.827377 \n", + "Sex 1.000000 1.000000 \n", + "Age 0.407926 3.870872 \n", + "SibSp 0.432793 6.784163 \n", + "Parch -0.473674 6.974147 \n", + "Fare -0.024246 9.667167 \n", + "Embarked 1.000000 2.000000 \n", + "Title 1.000000 1.000000 \n", + "FamilySize 0.059160 5.640372 " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train.describe(include='all').T\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.014497, + "end_time": "2020-08-16T00:03:12.290830", + "exception": false, + "start_time": "2020-08-16T00:03:12.276333", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# **Logistic Regression**\n", + "\n", + "* `train` - stores training set data\n", + "* `y_train` - stores training set results\n", + "* `test` - stores test set data on which predictions have to be made\n", + "\n", + "First, fit the model using `train` and `y_train` and then make prediction on `test`\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:12.359244Z", + "iopub.status.busy": "2020-08-16T00:03:12.358425Z", + "iopub.status.idle": "2020-08-16T00:03:15.147061Z", + "shell.execute_reply": "2020-08-16T00:03:15.146465Z" + }, + "papermill": { + "duration": 2.812936, + "end_time": "2020-08-16T00:03:15.147176", + "exception": false, + "start_time": "2020-08-16T00:03:12.334240", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from sklearn.linear_model import LogisticRegression\n", + "#Write code for logistic regression here\n", + "clf = LogisticRegression(random_state=0)\n", + "model = clf.fit(train,y_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "papermill": { + "duration": 0.026701, + "end_time": "2020-08-16T00:03:18.692199", + "exception": false, + "start_time": "2020-08-16T00:03:18.665498", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "**Create Predictions**\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "execution": { + "iopub.execute_input": "2020-08-16T00:03:18.751021Z", + "iopub.status.busy": "2020-08-16T00:03:18.750047Z", + "iopub.status.idle": "2020-08-16T00:03:19.062102Z", + "shell.execute_reply": "2020-08-16T00:03:19.061231Z" + }, + "papermill": { + "duration": 0.350469, + "end_time": "2020-08-16T00:03:19.062253", + "exception": false, + "start_time": "2020-08-16T00:03:18.711784", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "#Write code to generate predictions file\n", + "y_final = model.predict(test)\n", + "output = pd.DataFrame({'PassengerId': test_data['PassengerId'], 'Survived': y_final})" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "output.to_csv('prediction-ann-logistic-regression.csv', index=False)" + ] + } + ], + "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.8.6" + }, + "papermill": { + "duration": 22.836091, + "end_time": "2020-08-16T00:03:21.705944", + "environment_variables": {}, + "exception": null, + "input_path": "__notebook__.ipynb", + "output_path": "__notebook__.ipynb", + "parameters": {}, + "start_time": "2020-08-16T00:02:58.869853", + "version": "2.1.0" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/prediction-ann-logistic-regression.csv b/prediction-ann-logistic-regression.csv new file mode 100644 index 0000000..154257a --- /dev/null +++ b/prediction-ann-logistic-regression.csv @@ -0,0 +1,419 @@ +PassengerId,Survived +892,0 +893,0 +894,0 +895,0 +896,1 +897,0 +898,1 +899,0 +900,1 +901,0 +902,0 +903,0 +904,1 +905,0 +906,1 +907,1 +908,0 +909,0 +910,1 +911,0 +912,0 +913,0 +914,1 +915,1 +916,1 +917,0 +918,1 +919,0 +920,0 +921,0 +922,0 +923,0 +924,0 +925,0 +926,0 +927,0 +928,1 +929,1 +930,0 +931,0 +932,0 +933,0 +934,0 +935,1 +936,1 +937,0 +938,0 +939,0 +940,1 +941,0 +942,0 +943,0 +944,1 +945,1 +946,0 +947,0 +948,0 +949,0 +950,0 +951,1 +952,0 +953,0 +954,0 +955,1 +956,1 +957,1 +958,1 +959,0 +960,1 +961,1 +962,1 +963,0 +964,1 +965,1 +966,1 +967,1 +968,0 +969,1 +970,0 +971,1 +972,0 +973,0 +974,0 +975,0 +976,0 +977,0 +978,1 +979,1 +980,1 +981,0 +982,1 +983,0 +984,1 +985,0 +986,1 +987,0 +988,1 +989,0 +990,1 +991,0 +992,1 +993,0 +994,0 +995,0 +996,1 +997,0 +998,0 +999,0 +1000,0 +1001,0 +1002,0 +1003,1 +1004,1 +1005,1 +1006,1 +1007,0 +1008,0 +1009,1 +1010,1 +1011,1 +1012,1 +1013,0 +1014,1 +1015,0 +1016,0 +1017,1 +1018,0 +1019,1 +1020,0 +1021,0 +1022,0 +1023,0 +1024,1 +1025,0 +1026,0 +1027,0 +1028,0 +1029,0 +1030,1 +1031,0 +1032,0 +1033,1 +1034,0 +1035,0 +1036,0 +1037,0 +1038,0 +1039,0 +1040,0 +1041,0 +1042,1 +1043,0 +1044,0 +1045,0 +1046,0 +1047,0 +1048,1 +1049,1 +1050,0 +1051,1 +1052,1 +1053,0 +1054,1 +1055,0 +1056,0 +1057,1 +1058,0 +1059,0 +1060,1 +1061,1 +1062,0 +1063,0 +1064,0 +1065,0 +1066,0 +1067,1 +1068,1 +1069,0 +1070,1 +1071,1 +1072,0 +1073,0 +1074,1 +1075,0 +1076,1 +1077,0 +1078,1 +1079,0 +1080,0 +1081,0 +1082,0 +1083,0 +1084,0 +1085,0 +1086,0 +1087,0 +1088,1 +1089,1 +1090,0 +1091,1 +1092,1 +1093,0 +1094,0 +1095,1 +1096,0 +1097,1 +1098,1 +1099,0 +1100,1 +1101,0 +1102,0 +1103,0 +1104,0 +1105,0 +1106,0 +1107,0 +1108,1 +1109,0 +1110,1 +1111,0 +1112,1 +1113,0 +1114,1 +1115,0 +1116,1 +1117,1 +1118,0 +1119,1 +1120,0 +1121,0 +1122,0 +1123,1 +1124,0 +1125,0 +1126,0 +1127,0 +1128,0 +1129,0 +1130,1 +1131,1 +1132,1 +1133,1 +1134,0 +1135,0 +1136,0 +1137,0 +1138,1 +1139,0 +1140,1 +1141,1 +1142,1 +1143,0 +1144,1 +1145,0 +1146,0 +1147,0 +1148,0 +1149,0 +1150,1 +1151,0 +1152,0 +1153,0 +1154,1 +1155,1 +1156,0 +1157,0 +1158,0 +1159,0 +1160,1 +1161,0 +1162,0 +1163,0 +1164,1 +1165,1 +1166,0 +1167,1 +1168,0 +1169,0 +1170,0 +1171,0 +1172,1 +1173,0 +1174,1 +1175,1 +1176,1 +1177,0 +1178,0 +1179,0 +1180,0 +1181,0 +1182,0 +1183,1 +1184,0 +1185,0 +1186,0 +1187,0 +1188,1 +1189,0 +1190,0 +1191,0 +1192,0 +1193,0 +1194,0 +1195,0 +1196,1 +1197,1 +1198,0 +1199,0 +1200,0 +1201,0 +1202,0 +1203,0 +1204,0 +1205,1 +1206,1 +1207,1 +1208,0 +1209,0 +1210,0 +1211,0 +1212,0 +1213,0 +1214,0 +1215,0 +1216,1 +1217,0 +1218,1 +1219,0 +1220,0 +1221,0 +1222,1 +1223,0 +1224,0 +1225,1 +1226,0 +1227,0 +1228,0 +1229,0 +1230,0 +1231,0 +1232,0 +1233,0 +1234,0 +1235,1 +1236,0 +1237,1 +1238,0 +1239,1 +1240,0 +1241,1 +1242,1 +1243,0 +1244,0 +1245,0 +1246,1 +1247,0 +1248,1 +1249,0 +1250,0 +1251,0 +1252,0 +1253,1 +1254,1 +1255,0 +1256,1 +1257,0 +1258,0 +1259,1 +1260,1 +1261,0 +1262,0 +1263,1 +1264,0 +1265,0 +1266,1 +1267,1 +1268,0 +1269,0 +1270,0 +1271,0 +1272,0 +1273,0 +1274,1 +1275,1 +1276,0 +1277,1 +1278,0 +1279,0 +1280,0 +1281,0 +1282,1 +1283,1 +1284,0 +1285,0 +1286,0 +1287,1 +1288,0 +1289,1 +1290,0 +1291,0 +1292,1 +1293,0 +1294,1 +1295,1 +1296,0 +1297,0 +1298,0 +1299,0 +1300,1 +1301,1 +1302,1 +1303,1 +1304,1 +1305,0 +1306,1 +1307,0 +1308,0 +1309,0