diff --git a/_notebook/exercice_titanic.ipynb b/_notebook/exercice_titanic.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..a9fd54f4d1d236fe3062701703fa2ee0b8f55eb5 --- /dev/null +++ b/_notebook/exercice_titanic.ipynb @@ -0,0 +1,465 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Titanic notebook\n", + "\n", + "The purpose of this notebook is to study the titanic dataset and select relevant features in order to predict whether someone survived the shipwreck.\n", + "\n", + "This notebook will use functions from the _titanic module to preprocess the data." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Module and data import" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Adding relative path for imports\n", + "import os\n", + "import sys\n", + "module_path = os.path.abspath(os.path.join('..'))\n", + "if module_path not in sys.path:\n", + " sys.path.append(module_path)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import _titanic" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + " ### First look at the data" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "train = pd.read_csv('../_data/titanic_train.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>PassengerId</th>\n", + " <th>Survived</th>\n", + " <th>Pclass</th>\n", + " <th>Name</th>\n", + " <th>Sex</th>\n", + " <th>Age</th>\n", + " <th>SibSp</th>\n", + " <th>Parch</th>\n", + " <th>Ticket</th>\n", + " <th>Fare</th>\n", + " <th>Cabin</th>\n", + " <th>Embarked</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>1</td>\n", + " <td>0</td>\n", + " <td>3</td>\n", + " <td>Braund, Mr. Owen Harris</td>\n", + " <td>male</td>\n", + " <td>22.0</td>\n", + " <td>1</td>\n", + " <td>0</td>\n", + " <td>A/5 21171</td>\n", + " <td>7.2500</td>\n", + " <td>NaN</td>\n", + " <td>S</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>2</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n", + " <td>female</td>\n", + " <td>38.0</td>\n", + " <td>1</td>\n", + " <td>0</td>\n", + " <td>PC 17599</td>\n", + " <td>71.2833</td>\n", + " <td>C85</td>\n", + " <td>C</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>3</td>\n", + " <td>1</td>\n", + " <td>3</td>\n", + " <td>Heikkinen, Miss. Laina</td>\n", + " <td>female</td>\n", + " <td>26.0</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>STON/O2. 3101282</td>\n", + " <td>7.9250</td>\n", + " <td>NaN</td>\n", + " <td>S</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>4</td>\n", + " <td>1</td>\n", + " <td>1</td>\n", + " <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n", + " <td>female</td>\n", + " <td>35.0</td>\n", + " <td>1</td>\n", + " <td>0</td>\n", + " <td>113803</td>\n", + " <td>53.1000</td>\n", + " <td>C123</td>\n", + " <td>S</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>5</td>\n", + " <td>0</td>\n", + " <td>3</td>\n", + " <td>Allen, Mr. William Henry</td>\n", + " <td>male</td>\n", + " <td>35.0</td>\n", + " <td>0</td>\n", + " <td>0</td>\n", + " <td>373450</td>\n", + " <td>8.0500</td>\n", + " <td>NaN</td>\n", + " <td>S</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\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": [ + "train.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As you can see above, the dataset has 11 features and the target feature \"Survived\". The 11 features are as following :\n", + " - `PassengerId` : an ID ranging from one to the number of passengers\n", + " - `Pclass` : the ticket class\n", + " - `Name` : the name of the passenger\n", + " - `Sex` : the sex of the passenger\n", + " - `Age` : the age in years\n", + " - `SibSp` : the number of siblings/spouses aboard the Titanic\n", + " - `Parch` : the number of parents/children aboard the Titanic\n", + " - `Ticket` : the ticket number\n", + " - `Fare` : the price of the ticker\n", + " - `Cabin` : the cabin number\n", + " - `Embarked` : the port of embarkation" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Creating Models" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can have a first prediction using three of the features : `SibSp`, `Parch`, `Fare`. Indeed, for the first two features, we can assume that the more family relations a passenger had in the ship, the more likely they were to survive. For the last feature, we can assume that the more expensive the ticket, the wealthier the passenger and the higher the probability of them to survive." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "model1_cols = ['SibSp', 'Parch', 'Fare']\n", + "X, y = _titanic.parse_model(train.copy(), name_Y='Survived', use_columns=model1_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.65 0.94 0.77 157\n", + " 1 0.76 0.28 0.41 111\n", + "\n", + " micro avg 0.66 0.66 0.66 268\n", + " macro avg 0.70 0.61 0.59 268\n", + "weighted avg 0.69 0.66 0.62 268\n", + "\n", + "score : 0.664179104477612\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/lib/python3/dist-packages/sklearn/linear_model/logistic.py:433: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", + " FutureWarning)\n" + ] + } + ], + "source": [ + "_titanic.logmodel_prediction(X, y, 0.3, 42)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This prediction is far from accurate, but it is a first model upon which we can add features." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to choose other features, one method is to use a correlation matrix to see which feature is correlated to survival." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "<matplotlib.axes._subplots.AxesSubplot at 0x7f2f24454588>" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sn\n", + "sn.heatmap(train.corr(), annot=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Among the feature not yet selected, the two features with the highest absolute correlation value are `Pclass` and `Age`.\n", + "\n", + "Let us study these two features and the impact they have on our current model." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "dead = train[train['Survived']==0]\n", + "survived = train[train['Survived']==1]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEGCAYAAABRvCMcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3X2cFNWd7/HPlwdBRQZR4iJicJPJ3YgkqKCIj4hZBbNBjRrcTXSjSTaJ5mqur1xJbmJMjNFNfEXjXfPg8xPGaAjKVTTrGoU1rgImIBCMg8oqioIggyiK4O/+UWcmxTg908xM13TD9/169WuqzjlV9avqmv51nTrdrYjAzMys0np0dwBmZrZ9cMIxM7NCOOGYmVkhnHDMzKwQTjhmZlYIJxwzMyuEE441k/SIpOu6YD1HSQpJe3VFXB3Yfkj6bKn5Lt7WFsesq45hG9tbJunblVr/1pL0NUnLJb0n6aIKbaNbzyfrOk44NU7STemfMSRtTv/8t0gaUtD2N0n65xbFjwGDgZeLiKEMg4HflNNQ0mclbc2H004C/leHomo7juskPdJK1Wjgiq7eXkdI2hO4ErgUGAJcXqLdI7lzdKOkZyVdKmmnIuO17ueEs234T7IX1b2BfwT2B+7qrmAiYmNEvBIR73VXDHkplre7cp2SdkjrXhMR67py3W2JiFUR8WZR22vH35K9hsyIiBURsb6NtreTnaMfBi4CzgN+XPEIrao44Wwbml7gX4qI2cA1wCGS+ucbpe6PpyW9LalB0v+R1KvUSiV9Ir07XSOpUdIsSQfl6pcBPYEbm97BpvLmLhBJPSS9IOlbLdbdR9Lrkr7c0fjSMuMkPZWWeUrSuFbatOxi+4KkJWmZ1ZJmp1iPAm7NLROSbkrzj0i6XtLFklYAL+XKW3ah9ZB0maTXJK1LVys75rb/vmUkfTsdT1LX1FnAkbk4/rnpmOe71CTtIumXklal/Zkn6e9z9cPS8qdK+n+S3pL0nKTPtXVc07ITJT0p6R1JKyX9TNLOuRj/MzV9IW1jWBur25DO0Rci4lbgNrKrw6ZtfUjSXelceys9l58sEZckXZuulDak/fmhpD65NntJmpaeg6Y238jVT5L0p7SttZLmSNq/vWNindPmP7PVHmXdHCcDm9Ojqfwi4PNk7yznAx8FfgH0Bb5TYnX9gKuBBUBv4OvAA5LqI2I1WffOCuB84NetrSAi3pM0FTgd+GGu6h+AHZuW60h8aV/vBe4EJpN16/y0xL40LXNgWu+ZwCygP3Bwqn4MOAf4N7J34wAbcoufCkwFxpMl2lJOTvt1ONk7+uuBt4D/2VZsOZcD9cA+/PVFubFE2xvInofPAi8AXwbulfSxiHg61+4yYArZc/gFsjcJj0dEQ2srlfQxYAbwf9O6hwG/BHYBPpdifAqYBhxAdh6sKnP/IDuuvdO2/obs2C8EPpXWtR9Q6gpZwKtkV/OvAh9Lsb0LfDe1+RmwE3AMsJbsWP5Nbnt3Ad9Of/uS9Qps2or4rSMiwo8afgA3kf2jrCd7UYv0uDzXZqdUd1yLZU8H1ubmHwGua2NbPYDXgX/KlW0C/rlFu6NSDHul+b9L8wfn2swA7tqa+FqJ5wfAfwO9cmWfTNv6bK6seR44kezFu3+JdX42+7d4X/kjwDNAj1bKr2sxvwzomSv7EvAOsHOp40z24rcsN38d8EgrcSwDvp2mP5z2bWKLNn8EbkjTw1Kb/5Wr75XOl39p49jeCsxpUTaJLAl8sLXnuY11Ne8vWbI4BFgD3JHKLgZeaTo+rSzf7nbIEmlDbn4BcFGJtvun9Q3r6v9HP9p++Apn2/AEcAbZO7VTgU+w5VXBcLKriWna8oZ4T6CvpEER8b53p5L2Ab5P9gLxAbKEsxPwwa0JLiKeljSXLIE8IWl34Dj++u69Q/EB+5K9KObfmT7aTjgPAs8Bz0t6EPg98NuIeK2MXXkyyrsvNSciNufm/wDsAHyI7Kqgq+yb/s5uUT6b7DnLm980ERGbJL0K7NHGuoeTHZu8WWQJY1+yRL81zpA0meyqpicwnexqEuBA4LHYintTkr5IdqU2DNiZLInmbxFcCfxS0gSyhHdfZN3NkD0HvwMWpXPgEbJz4MWt3CfbSr6Hs23YEBFLI2JRRFxI9mJwda6+6Xk+BRiZe4wg67pZU2K995INRDgbGJOWWUn24rm1bgY+o+xm+2lkV0oPdDI+kb1TzWtzhFlkN7ZHkV3pPEPWBbU0dbW1p6M369Vi/r1Wynp3cN2lttfyOGxsMR+0//9f6lh25Cvmp5M9p/VA34g4pUWSL3udkk4hO79/DUwku2L5PrljGBE3kr0x+gVZ9+j9km5LdZuBCcDRwFzg08Azpe4ZWddxwtk2XUT2jnJUml8MvA38bUpMLR+bW65A0m5k72Qvi4jfRcSf0zo+0KLpRtq+n9HkV2T9/8eT3QO4PXdlstXx5ZY7WFJ++4e1F0hEbI6I2Sk5H0h2z+Afc/tDi3VurdEtlj8krffZNL8S2LPFMge0mC/nuC5Of49oUX54rq6jFgNHtig7kiwx/LkD61uXnssXWlyRAjwJHNo0IKEMRwB/ioifRMSTkd2HGtayUWQj526MiNPJBmH8k9JAmsjMiYgfRsQRZFdvn+/AftlWcMLZBkV2s/hess9HNL2r/yHwQ0nnSPofkoZLmizpX0us5nWym8BflPQRSYeQJY0NLdo9D4yTtGfqKisV0xrgPuBCspvct+TqOhIfwM+BQcA1kj4qaTxwSRvtm0YnfV3SgZL2Bk4AhvLXF9Hn099PSRokqV9b6ythN+DqFNPxZPcors11Gf0HcEwaOfZhSVPIkkTe88DfpeOwe34EVpOIeJbspvfPJB0r6e8k/ZTshntnhxz/GDhA0k/Seo8jG0AwNSJe6OS6W/oZ2WvRPZIOlbSPpE+m7rDW/AUYkZ7LD0k6l9yINwBJ/5ZG2X1I0vBU/yLwhqSxkr4j6WBJe6fz5mN0LJHa1ujum0h+dO5BNmjgP1opP5Ts3ej4XNlZZH35b5MllCeAr+TqH2HLG+BHkt18fZvsn/zTwFJyN2PJ7sUsIbspHqnsKFq5yUt20zmAhSX2pc34Siwznmx00zvAIrJukrYGDRxBdm9iVdpOA9noLeXaX0k2+uk94KbWjk0bx+wRspFjPwZWA2+k+Z1ybXqnbawkG0F1NVmX0LJcm4HATLIBDkEamEFu0ECa7082QmtVOgbzgL/P1Q9Lyx/WIu4tnscSx3Yi2dXHO2n9Pyd3Y7/U89zeMSrR5iNk3W6NZANIFpAGQ7TcTjp+vyTral1H9hmfc5rOv9TmarIu0w3pebgPGJ7qhqdj+0rat/9Oz9cO3f3/vK0/lJ4AMzOzinKXmpmZFcIJx8zMCuGEY2ZmhXDCMTOzQnTLNw00NjZ6pIKZ2Taurq5uiw84+wrHzMwK4YRjZmaFqMmE09DQ6jeqVyXHWhm1FCvUVryOtTIca40mHDMzqz1OOGZmVoiq+j2ciGD9+vW8917bPznSt29fGhtL/QBidSkq1h49etCvXz+klt96b2ZWHaoq4axfv54+ffqwww5t/9xKnz596Nu3b0FRdU5RsW7cuJH169ezyy67VHxbZmYdUVVdau+99167ycZat8MOO7R7ZWhm1p2qKuGYmdm2q6q61KrBwIED2Xfffdm0aRM9e/bktNNO46tf/So9enQ+N1966aX069ePr33ta10QqZlZbanqhFM3YEDr5R1cX+Pate222XHHHXn00UcBWLVqFV/4whdYt24d3/rWtzq4VTOz4pV6/YTyXgsrwV1qbRg0aBA//elPufbaa4kINm/ezHe+8x3GjRvH2LFjufHGG4FssMOnPvUpjjjiCMaOHct9993XvI4rr7ySUaNGMWnSJJYuXdpdu2Jm1u2q+gqnGgwbNoz33nuPVatWMXPmTPr378/DDz/MO++8w7HHHsu4cePYa6+9uO222+jfvz+rV6/mmGOOYeLEiSxYsIC7776b2bNns2nTJo488khGjhzZ3btkZtYtnHDK0PQz3L///e9ZvHgx99xzDwDr1q3jueeeY8iQIVx88cX84Q9/oEePHqxYsYKVK1fy2GOPMWHCBHbaaScAJkyY0G37YGbW3Zxw2rFs2TJ69uzJoEGDiAh+9KMfMX78+C3aTJ06lddee41Zs2bRu3dvRowYwdtvvw3gD2KamSW+h9OG1157ja9//et88YtfRBLjx4/n+uuv59133wVg6dKlvPnmm6xbt47dd9+d3r17M3v2bF588UUAxo4dy/3338+GDRt44403eOCBB7pzd8zMupWvcFrYsGEDhx12WPOw6MmTJ3P22WcDcPrpp/PCCy9w5JFHEhHstttuTJ06lVNPPZXJkydz1FFHMWLECD7ykY8AMHLkSCZNmsThhx/O0KFDOeSQQ7pz18zMulVVJ5xSQ/fefvvtin1dzJo1a0rW9ejRgwsvvJALL7zwfXUPPvhgq8ucd955TJkypcviMzOrVe5SMzOzQrSbcCT1lTRH0gJJiyV9L5XfJOl5SfPTY2Qql6SrJC2V9JSkAyq9E2ZmVv3K6VJ7Bzg6ItZL6g08Kun+VPeNiPhNi/YTgPr0OBj4efprZmbbsXavcCKzPs32To9oY5FJwC1puceBAZIGdz5UMzOrZWr6UGObjaSewJPAh4GrI+ICSTcBh5BdAT0ETImIdyTdC1wWEY+mZR8CLoiIeU3ra2xsbN5o/rez+/bty6BBg7piv7ZLq1atav78j5lt30aNHl2ybt7cuRXbbn19ffN0XV3dFh9ELGuUWkRsBkZKGgBMl7Qf8E3gFWAH4BrgAuD7QGufdCyZ1fLBNTY2ljX6rJKj1LpakbH279+foUOHdnj5hoaGLZ6PalZLsUJtxetYK6OaYm0vjkrFulWj1CJiLfAIcFxErEjdZu8ANwIHpWbLgfyr3l7Ay10QayEuv/xyxowZw9ixYznssMOYN29e+wu1Y+bMmVxxxRVdEB0MGTKkS9ZjZla0dq9wJA0C3o2ItZJ2BI4B/lXS4IhYoey7W04AFqVFZgDnSLqDbLBAY0Ss6EhwAwaU+iGCjv1Awdq1jW3Wz5kzh9/97nfMmjWLPn36sHr1ajZu3FjWujdt2kSvXq0fzokTJzJx4sStjtfMbFtSzhXOYOBhSU8Bc4EHI+JeYKqkhcBCYHfgB6n9TOA5YClwLfDVLo+6Ql555RUGDhxInz59ANhtt90YPHgwI0aMYPXq1QD86U9/4vjjjweyH1Q799xzOfHEE/nyl7/M+PHjWbJkSfP6jj/+eBYsWMDUqVP5xje+QWNjIyNGjGj+Kei33nqL4cOH8+677/L888/z6U9/miOPPJIJEybwzDPPANl3uX3iE59g3Lhx/OAHP8DMrFaVM0rtqYjYPyI+FhH7RcT3U/nRETEilX22aSRb6mY7OyI+lOo73ydVkKOPPpqXXnqJAw88kPPPP7/5h9jaMn/+fG6//Xauu+46TjrpJKZPnw5kyeuVV17h4x//eHPburo69ttvv+b1PvDAAxx99NH07t2bc889lx/96EfMmjWLiy++mPPPPx+AKVOmcOaZZ/Lwww+zxx57VGCvzcyK4W8ayOnXrx+zZs3iyiuvZLfdduPMM89k6tSpbS4zYcIEdtxxRwBOPPHE5p8umD59OieccML72ueT0rRp0zjppJNYv349c+bM4YwzzuCwww7jvPPO49VXXwXgiSee4OSTTwbgM5/5TJftq5lZ0ar6u9S6Q8+ePTn88MM5/PDDGT58OLfffju9evVq7gZrOex45513bp7ec889GThwIIsWLWL69OmtDhSYMGEC3/ve93j99ddZsGABRxxxBG+++SZ1dXUlr6j8Ewdmti3wFU5OQ0MDzz77bPP8woUL2Xvvvdl7772ZP38+ADNmzGhzHSeddBJXXXUV69atY/jw4e+r79evHwceeCAXXHABxx57LD179qR///588IMf5O677wayH3xbuHAhAAcffDDTpk0D4K677uqS/TQz6w5OODlvvvkmX/nKVzj44IMZO3YsTz/9NFOmTOGCCy5gypQpTJgwgZ49e7a5jkmTJjFt2rRWu9OanHTSSdx5552ceOKJzWXXXHMNt956K4ceeihjxoxh5syZAFx22WVcd911jBs3jnXr1nXNjpqZdYOyvmmgq+W/aaBFOXV17Q959gc/W1fu8Sulmj6Y1p5aihVqK17HWhlFx1o3YEDJulI//dKkq2Jt+U0DvsIxM7NCOOGYmVkhnHDMzKwQTjhmZlaIqko4PXr0KPu7y2xLGzdupEePqno6zcy2UFUf/OzXrx/r169nw4YNbbZbt24d/fv3Lyiqzikq1h49etCvX7+Kb8fMrKOqKuFIYpdddmm33cqVKzv1uy9FqqVYzcwqyX0wZmZWCCccMzMrhBOOmZkVwgnHzMwK4YRjZmaFcMIxM7NCOOGYmVkh2k04kvpKmiNpgaTFkr6XyveR9ISkBkm/lrRDKu+T5pem+mGV3QUzM6sF5VzhvAMcHREfB0YCx0kaA/wrcEVE1AOvA2el9mcBr0fEh4ErUjszM9vOtZtwIrM+zfZOjwCOBn6Tym8Gmn7iclKaJ9WPl7TFj/CYmdn2p6xf/JTUE3gS+DBwNfBj4PF0FYOkocD9EbGfpEXAcRGxPNU9CxwcEa81rS//i58NDQ1duDtmZgYwavToknXz5s6t2HbzvxTa8hc/y/outYjYDIyUNACYDny0tWbpb2tXMyWzWkd+xtQ/K1sZjrVyailex1oZ1RRre3FUKtatGqUWEWuBR4AxwABJTQlrL+DlNL0cGAqQ6uuANV0RrJmZ1a5yRqkNSlc2SNoROAZYAjwMnJyanQHck6ZnpHlS/e+jnH47MzPbppXTpTYYuDndx+kB3BkR90r6M3CHpB8AfwKuT+2vB26VtJTsymZyBeI2M7Ma027CiYingP1bKX8OOKiV8reBU7okOjMz22b4mwbMzKwQTjhmZlYIJxwzMyuEE46ZmRXCCcfMzArhhGNmZoVwwjEzs0I44ZiZWSGccMzMrBBOOGZmVggnHDMzK4QTjpmZFcIJx8zMCuGEY2ZmhXDCMTOzQjjhmJlZIZxwzMysEE44ZmZWiHYTjqShkh6WtETSYknnpvKLJL0kaX56TMwt801JSyX9RdKxldwBMzOrDb3KaLMJOD8i/ihpF+BJSQ+muisi4vJ8Y0n7ApOB4cCewH9I+khEbO7KwM3MrLa0e4UTESsi4o9p+g1gCTCkjUUmAXdExDsR8TywFDioK4I1M7PatVX3cCQNA/YHnkhF50h6StINknZNZUOAF3OLLaftBGVmZtsBRUR5DaV+wCzgkoj4raQ9gNeAAC4GBkfEmZKuBv4rIm5Ly10PzIyIaU3ramxsbN5oQ0NDl+2MmZllRo0eXbJu3ty5FdtufX1983RdXZ3ydeXcw0FSb2AaMDUifgsQEa/m6q8F7k2zy4GhucX3Al4uJ7hyNTQ0dGi57uBYK6OWYoXaitexVkY1xdpeHJWKtZxRagKuB5ZExE9y5YNzzU4EFqXpGcBkSX0k7QPUA3O6LmQzM6tF5VzhHAp8DlgoaX4q+xZwmqSRZF1qy4B/AYiIxZLuBP5MNsLtbI9QMzOzdhNORDwKqJWqmW0scwlwSSfiMjOzbYy/acDMzArhhGNmZoVwwjEzs0I44ZiZWSGccMzMrBBOOGZmVggnHDMzK4QTjpmZFcIJx8zMCuGEY2ZmhXDCMTOzQjjhmJlZIZxwzMysEE44ZmZWCCccMzMrhBOOmZkVwgnHzMwK4YRjZmaFcMIxM7NCtJtwJA2V9LCkJZIWSzo3lQ+U9KCkhvR311QuSVdJWirpKUkHVHonzMys+pVzhbMJOD8iPgqMAc6WtC8wBXgoIuqBh9I8wASgPj2+BPy8y6M2M7Oa027CiYgVEfHHNP0GsAQYAkwCbk7NbgZOSNOTgFsi8zgwQNLgLo/czMxqylbdw5E0DNgfeALYIyJWQJaUgA+kZkOAF3OLLU9lZma2HVNElNdQ6gfMAi6JiN9KWhsRA3L1r0fErpLuAy6NiEdT+UPA/46IJ5vaNjY2Nm+0oaGhi3bFzMyajBo9umTdvLlzK7bd+vr65um6ujrl63qVswJJvYFpwNSI+G0qflXS4IhYkbrMVqby5cDQ3OJ7AS+XE1y5GhoaOrRcd3CslVFLsUJtxetYK6OaYm0vjkrFWs4oNQHXA0si4ie5qhnAGWn6DOCeXPnpabTaGKCxqevNzMy2X+Vc4RwKfA5YKGl+KvsWcBlwp6SzgBeAU1LdTGAisBR4C/h8l0ZsZmY1qd2Ek+7FqET1+FbaB3B2J+MyM7NtjL9pwMzMCuGEY2ZmhXDCMTOzQjjhmJlZIZxwzMysEE44ZmZWCCccMzMrhBOOmZkVwgnHzMwK4YRjZmaFcMIxM7NCOOGYmVkhnHDMzKwQTjhmZlYIJxwzMyuEE46ZmRXCCcfMzArhhGNmZoVwwjEzs0K0m3Ak3SBppaRFubKLJL0kaX56TMzVfVPSUkl/kXRspQI3M7PaUs4Vzk3Aca2UXxERI9NjJoCkfYHJwPC0zM8k9eyqYM3MrHa1m3AiYjawpsz1TQLuiIh3IuJ5YClwUCfiMzOzbURn7uGcI+mp1OW2ayobAryYa7M8lZmZ2XZOEdF+I2kYcG9E7Jfm9wBeAwK4GBgcEWdKuhr4r4i4LbW7HpgZEdPy62tsbGzeaENDQ9fsiZmZNRs1enTJunlz51Zsu/X19c3TdXV1ytf16sgKI+LVpmlJ1wL3ptnlwNBc072Al8sNrlwNDQ0dWq47ONbKqKVYobbidayVUU2xthdHpWLtUJeapMG52ROBphFsM4DJkvpI2geoB+Z0LkQzM9sWtHuFI+lXwFHA7pKWA98FjpI0kqxLbRnwLwARsVjSncCfgU3A2RGxuTKhm5lZLWk34UTEaa0UX99G+0uASzoTlJmZbXv8TQNmZlYIJxwzMyuEE46ZmRWiQ8Oia8GAAXUl69aubSwwEjMzA1/hmJlZQZxwzMysEE44ZmZWCCccMzMrhBOOmZkVwgnHzMwK4YRjZmaFcMIxM7NCbLMf/DQzs9aV+mB8pT8U7yscMzMrhBOOmZkVwgnHzMwK4YRjZmaFcMIxM7NCOOGYmVkh2k04km6QtFLSolzZQEkPSmpIf3dN5ZJ0laSlkp6SdEAlgzczs9pRzhXOTcBxLcqmAA9FRD3wUJoHmADUp8eXgJ93TZhmZlbr2k04ETEbWNOieBJwc5q+GTghV35LZB4HBkga3FXBmplZ7eroPZw9ImIFQPr7gVQ+BHgx1255KjMzs+1cV3+1jVopi7YWaGho6NCG2l9uVJdvs6OK3l5nONbKqaV4HWtlFBlr6VfA0vLxdTTW+vr6knUdTTivShocEStSl9nKVL4cGJprtxfwckeDK6WhoaFDy3Vmmx3V2ViL5Fgrp6GhgVGjR5esb1y7tsBo2lZLx9axdq2m+CoVa0e71GYAZ6TpM4B7cuWnp9FqY4DGpq43MzPbvrV7hSPpV8BRwO6SlgPfBS4D7pR0FvACcEpqPhOYCCwF3gI+X4GYzcysBrWbcCLitBJV41tpG8DZnQ3KzMy2Pf6mATMzK4QTjpmZFcK/+GlWBUr9AiNU/lcYzYriKxwzMyuEE46ZmRXCCcfMzApR0/dw6gYMaKO2zW/UMTOzgvkKx8zMCuGEY2ZmhXDCMTOzQjjhmJlZIZxwzMysEE44ZmZWCCccMzMrhBOOmZkVwgnHzMwK4YRjZmaFcMIxM7NCOOGYmVkhOvXlnZKWAW8Am4FNETFK0kDg18AwYBlwakS83rkwzcys1nXFFc64iBgZEaPS/BTgoYioBx5K82Zmtp2rRJfaJODmNH0zcEIFtmFmZjVGER3/3RhJzwOvk/34zC8j4hpJayNiQK7N6xGxa365xsbG5o02NDR0ePujRo8uHVsbv4czd+68Dm/TrKN8vlqROnK+dcW5Vl9f3zxdV1enfF1nf4Dt0Ih4WdIHgAclPd2Z4MrV0NDQoeU6s82O6mysRXKsldOZN1ZF72ctHVvH2rWa4qtUrJ3qUouIl9PflcB04CDgVUmDAdLflZ0N0szMal+HE46knSXt0jQN/D2wCJgBnJGanQHc09kgzcys9nWmS20PYLqkpvXcHhEPSJoL3CnpLOAF4JTOh2lmZrWuwwknIp4DPt5K+WpgfGeCMjOzbY+/acDMzArhhGNmZoVwwjEzs0I44ZiZWSGccMzMrBBOOGZmVggnHDMzK4QTjpmZFcIJx8zMCuGEY2ZmhXDCMTOzQjjhmJlZIZxwzMysEE44ZmZWCCccMzMrhBOOmZkVwgnHzMwK4YRjZmaFcMIxM7NCVCzhSDpO0l8kLZU0pVLbMTOz2lCRhCOpJ3A1MAHYFzhN0r6V2JaZmdUGRUTXr1Q6BLgoIo5N898EiIhLARobG7t+o2ZmVlXq6uqUn69Ul9oQ4MXc/PJUZmZm26lKJRy1UuarGjOz7VivCq13OTA0N78X8HLTTMvLLDMz2/ZV6gpnLlAvaR9JOwCTgRkV2paZmdWAiiSciNgEnAP8DlgC3BkRi9tbTtINklZKWlSiXpKuSkOtn5J0QK7uDEkN6XFGV+1LJ2L9pxTjU5Iek/TxXN0ySQslzZc0rwpiPUpSY4pnvqQLc3WFDm8vI9Zv5OJcJGmzpIGprujjOlTSw5KWSFos6dxW2lTFOVtmrNV0zpYTb1Wct2XGWhXnraS+kuZIWpBi/V4rbfpI+nU6dk9IGpar+2Yq/4ukY7c6gIiomgdwBHAAsKhE/UTgfrJ7RGOAJ1L5QOC59HfXNL1rN8c6tikGsuHhT+TqlgG7V9FxPQq4t5XynsCzwN8COwALgH27M9YWbf8B+H03HtfBwAFpehfgmZbHp1rO2TJjraZztpx4q+K8LSfWajlv03nYL033Bp4AxrRo81XgF2l6MvDrNL1vOpZ9gH3SMe65Nduvqm8aiIjZwJo2mkwCbonM48AASYOBY4EHI2JNRLwOPAgc152xRsRjKRaAx8nuY3WLMo5rKQcBSyPiuYjYCNxB9hxUzFbGehrwqwqG06aIWBERf0xlzVF/AAADJElEQVTTb5BdzbccjVkV52w5sVbZOVvOsS2l0PO2A7F223mbzsP1abZ3erQc0DUJuDlN/wYYL0mp/I6IeCcingeWkh3rslVVwilDqeHW1T4M+yyyd7lNAvh3SU9K+lI3xdTSIeky+35Jw1NZ1R5XSTuRvUBPyxV323FN3Q77k71jzKu6c7aNWPOq5pxtJ96qOm/bO7bVcN5K6ilpPrCS7E1PyXM2stsjjcBudMFxrdQotUopNdy6aodhSxpH9s97WK740Ih4WdIHgAclPZ3e2XeXPwIfjIj1kiYCdwP1VPFxJeuW+ENE5K+GuuW4SupH9gJyXkSsa1ndyiLdds62E2tTm6o5Z9uJt6rO23KOLVVw3kbEZmCkpAHAdEn7RUT+nmnFztlau8IpNdy6zWHY3UXSx4DrgEkRsbqpPCJeTn9XAtPZysvSrhYR65ousyNiJtBb0u5U6XFNJtOiW6I7jquk3mQvMlMj4retNKmac7aMWKvqnG0v3mo6b8s5tklVnLdpe2uBR3h/V27z8ZPUC6gj6+bu/HGt5A2qjjyAYZS+uX08W96AnZPKBwLPk9183TVND+zmWPcm6+Mc26J8Z2CX3PRjwHHdHOvf8NevOToIeCEd415kN7P34a83X4d3Z6ypvukfYOfuPK7pGN0CXNlGm6o4Z8uMtWrO2TLjrYrztpxYq+W8BQYBA9L0jsB/Ap9s0eZsthw0cGeaHs6WgwaeYysHDVRVl5qkX5GNPNld0nLgu2Q3tYiIXwAzyUb9LAXeAj6f6tZIupjs8z8A348tL1m7I9YLyfo9f5bdb2NTRIwC9iC7jIXsH+P2iHigm2M9GfiKpE3ABmByZGfYJklNw9t7AjdEGcPbKxwrwInAv0fEm7lFCz+uwKHA54CFqU8c4FtkL9zVds6WE2vVnLNlxlst5205sUJ1nLeDgZuVfcFyD7Jkcq+k7wPzImIGcD1wq6SlZAlyctqPxZLuBP4MbALOjqx7rmwV+fJOMzOzlmrtHo6ZmdUoJxwzMyuEE46ZmRXCCcfMzArhhGNmZoVwwjEzs0I44ZiZWSGccMzMrBD/HyFUuj6twL/pAAAAAElFTkSuQmCC\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "_titanic.plot_hist('Pclass', 'Dead', 'Survived', dead, survived)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As seen with the previous plot, the `Pclass` feature has a great impact on whether someone will survive. Indeed, people in the first Pclass are more likely to survive than people in the third Pclass.\n", + "\n", + "Thus, we add `Pclass` in our model." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "model2 = train[model1_cols+['Survived', 'Pclass']]\n", + "model2_cols = model1_cols + ['Pclass']\n", + "X2, y2 = _titanic.parse_model(model2, name_Y='Survived', use_columns=model2_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.66 0.85 0.75 154\n", + " 1 0.68 0.42 0.52 114\n", + "\n", + " micro avg 0.67 0.67 0.67 268\n", + " macro avg 0.67 0.64 0.63 268\n", + "weighted avg 0.67 0.67 0.65 268\n", + "\n", + "score : 0.667910447761194\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/lib/python3/dist-packages/sklearn/linear_model/logistic.py:433: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n", + " FutureWarning)\n" + ] + } + ], + "source": [ + "_titanic.logmodel_prediction(X2, y2, 0.3, 101)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Adding the `Pclass` feature only slightly increase the score." + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}