{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dimensions of train: (891, 12)\n",
      "Dimensions of test: (418, 11)\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "test = pd.read_csv(\"https://raw.githubusercontent.com/uzay00/KaVe/master/2018/Lecture3/data/test.csv\")\n",
    "train = pd.read_csv(\"https://raw.githubusercontent.com/uzay00/KaVe/master/2018/Lecture3/data/train.csv\")\n",
    "\n",
    "print(\"Dimensions of train: {}\".format(train.shape))\n",
    "print(\"Dimensions of test: {}\".format(test.shape))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "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": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f9e7cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "sex_pivot = train.pivot_table(index=\"Sex\",values=\"Survived\")\n",
    "sex_pivot.plot.bar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAEGCAYAAACevtWaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAErhJREFUeJzt3X+s3fV93/HnK9fmR2MCqn3XLLbDdYvR4oZAx41ZFKWzWEqMiC6VgrGdNZSJxgnUiaVsU822MMZClNFoFUP8gddRUAUyBqbhEK9oa0fakYT5XmrIjOPFIbS+NV1tIEQOIbbDe3/ci3d6ufiee32vL/74+ZAs3e/3fO73vo8vPP2933t+pKqQJLXlHbM9gCRp+hl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBs2ZrS+8YMGC6uvrm60vL0knpaGhoQNV1TvRulmLe19fH4ODg7P15SXppJTkL7pZ52UZSWqQcZekBhl3SWrQrF1zl9S+w4cPMzw8zGuvvTbbo5x0zjjjDBYtWsTcuXOn9PnGXdKMGR4e5qyzzqKvr48ksz3OSaOqePHFFxkeHmbJkiVTOoaXZSTNmNdee4358+cb9klKwvz584/rJx7jLmlGGfapOd6/N+MuSQ06Za659238+myPMKOe/8oVsz2CNKHp/v+w2//ub731Vu6//356enp4xzvewV133cUll1xyXF9769atPPvss2zcuPG4jgMwb948Dh48eNzH6XTKxF3Sqelb3/oWjz76KE899RSnn346Bw4c4NChQ1197pEjR5gzZ/xMDgwMMDAwMJ2jTisvy0hq2gsvvMCCBQs4/fTTAViwYAHvec976Ovr48CBAwAMDg6yYsUKAG6++WbWrVvHZZddxjXXXMMll1zCzp07jx5vxYoVDA0Ncc8997B+/XpeeeUV+vr6eP311wF49dVXWbx4MYcPH+b73/8+K1eu5OKLL+YjH/kI3/3udwH4wQ9+wIc+9CE++MEP8sUvfnFG7rdxl9S0yy67jL1793L++edzww038I1vfGPCzxkaGuKRRx7h/vvvZ82aNWzZsgUY+Ydi3759XHzxxUfXnn322Vx44YVHj/u1r32Nj33sY8ydO5d169Zxxx13MDQ0xFe/+lVuuOEGADZs2MD111/P9u3befe73z0D99q4S2rcvHnzGBoaYtOmTfT29rJ69WruueeeY37OwMAAZ555JgBXX301Dz74IABbtmxh1apVb1q/evVqHnjgAQA2b97M6tWrOXjwIN/85jdZtWoVF110EZ/5zGd44YUXAHjiiSdYu3YtAJ/61Kem667+LV5zl9S8np4eVqxYwYoVK7jgggu49957mTNnztFLKWMfT/7Od77z6McLFy5k/vz5PPPMMzzwwAPcddddbzr+wMAAN954Iy+99BJDQ0Nceuml/PjHP+acc85hx44d48400w8R9cxdUtN2797N9773vaPbO3bs4Nxzz6Wvr4+hoSEAHn744WMeY82aNdx222288sorXHDBBW+6fd68eSxfvpwNGzbw8Y9/nJ6eHt71rnexZMmSo2f9VcXTTz8NwIc//GE2b94MwH333Tct93Osrs7ck6wEbgd6gN+vqq+Ms+Zq4GaggKer6pPTOKekBszGQ3YPHjzI5z73OX74wx8yZ84czjvvPDZt2sSuXbu47rrr+PKXvzzhwyKvuuoqNmzYcMxffq5evZpVq1bx+OOPH9133333cf311/OlL32Jw4cPs2bNGi688EJuv/12PvnJT3L77bfziU98Yrru6t+Sqjr2gqQH+D/ArwHDwHZgbVU927FmKbAFuLSqXk7yd6rqb4513P7+/jqRb9bh49ylE2/Xrl28733vm+0xTlrj/f0lGaqq/ok+t5vLMsuBPVX1XFUdAjYDV45Z82ngzqp6GWCisEuSZlY3cV8I7O3YHh7d1+l84PwkTyT59uhlnDdJsi7JYJLB/fv3T21iSdKEuon7eL/SHXstZw6wFFgBrAV+P8k5b/qkqk1V1V9V/b29E76/q6QGTHTpV+M73r+3buI+DCzu2F4E7BtnzSNVdbiqfgDsZiT2kk5hZ5xxBi+++KKBn6Q3Xs/9jDPOmPIxunm0zHZgaZIlwF8Ba4Cxj4T5L4ycsd+TZAEjl2mem/JUkpqwaNEihoeH8TLs5L3xTkxTNWHcq+pIkvXAY4w8FPLuqtqZ5BZgsKq2jt52WZJngZ8B/7yqXpzyVJKaMHfu3Cm/k5COT1ePc6+qbcC2Mftu6vi4gC+M/pEkzTKfoSpJDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktSgruKeZGWS3Un2JNk4zu3XJtmfZMfon9+a/lElSd2aM9GCJD3AncCvAcPA9iRbq+rZMUsfqKr1MzCjJGmSujlzXw7sqarnquoQsBm4cmbHkiQdj27ivhDY27E9PLpvrE8keSbJQ0kWj3egJOuSDCYZ3L9//xTGlSR1o5u4Z5x9NWb7a0BfVX0A+O/AveMdqKo2VVV/VfX39vZOblJJUte6ifsw0HkmvgjY17mgql6sqp+Obv5H4OLpGU+SNBXdxH07sDTJkiSnAWuArZ0Lkvzdjs0BYNf0jShJmqwJHy1TVUeSrAceA3qAu6tqZ5JbgMGq2gp8PskAcAR4Cbh2BmeWJE1gwrgDVNU2YNuYfTd1fHwjcOP0jiZJmiqfoSpJDTLuktQg4y5JDerqmrs02/o2fn22R5gxz3/litkeQQ3yzF2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBxl2SGmTcJalBXcU9ycoku5PsSbLxGOuuSlJJ+qdvREnSZE0Y9yQ9wJ3A5cAyYG2SZeOsOwv4PPDkdA8pSZqcbs7clwN7quq5qjoEbAauHGfdvwVuA16bxvkkSVPQTdwXAns7todH9x2V5FeAxVX16LEOlGRdksEkg/v375/0sJKk7nQT94yzr47emLwD+D3gn050oKraVFX9VdXf29vb/ZSSpEnpJu7DwOKO7UXAvo7ts4D3A48neR74B8BWf6kqSbOnm7hvB5YmWZLkNGANsPWNG6vqlapaUFV9VdUHfBsYqKrBGZlYkjShCeNeVUeA9cBjwC5gS1XtTHJLkoGZHlCSNHlzullUVduAbWP23fQWa1cc/1iSpOPhM1QlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUHGXZIaZNwlqUFdxT3JyiS7k+xJsnGc2z+b5DtJdiT5n0mWTf+okqRuTRj3JD3AncDlwDJg7Tjxvr+qLqiqi4DbgH8/7ZNKkrrWzZn7cmBPVT1XVYeAzcCVnQuq6kcdm+8EavpGlCRN1pwu1iwE9nZsDwOXjF2U5LeBLwCnAZdOy3SSpCnp5sw94+x705l5Vd1ZVb8E/A7wr8Y9ULIuyWCSwf37909uUklS17qJ+zCwuGN7EbDvGOs3A78+3g1Vtamq+quqv7e3t/spJUmT0k3ctwNLkyxJchqwBtjauSDJ0o7NK4DvTd+IkqTJmvCae1UdSbIeeAzoAe6uqp1JbgEGq2orsD7JR4HDwMvAb87k0JKkY+vmF6pU1TZg25h9N3V8vGGa55IkHQefoSpJDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktQg4y5JDTLuktSgrl7yV5Kmqm/j12d7hBn1/FeumO0RxuWZuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1yLhLUoOMuyQ1qKu4J1mZZHeSPUk2jnP7F5I8m+SZJH+c5NzpH1WS1K0J456kB7gTuBxYBqxNsmzMsj8H+qvqA8BDwG3TPagkqXvdnLkvB/ZU1XNVdQjYDFzZuaCq/kdVvTq6+W1g0fSOKUmajG7ivhDY27E9PLrvrVwH/NfjGUqSdHy6eVXIjLOvxl2Y/AbQD/zDt7h9HbAO4L3vfW+XI0qSJqubM/dhYHHH9iJg39hFST4K/EtgoKp+Ot6BqmpTVfVXVX9vb+9U5pUkdaGbuG8HliZZkuQ0YA2wtXNBkl8B7mIk7H8z/WNKkiZjwrhX1RFgPfAYsAvYUlU7k9ySZGB02e8C84AHk+xIsvUtDidJOgG6eiemqtoGbBuz76aOjz86zXNJko6Dz1CVpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqkHGXpAYZd0lqUFdxT7Iyye4ke5JsHOf2X03yVJIjSa6a/jElSZMxYdyT9AB3ApcDy4C1SZaNWfaXwLXA/dM9oCRp8uZ0sWY5sKeqngNIshm4Enj2jQVV9fzoba/PwIySpEnq5rLMQmBvx/bw6D5J0ttUN3HPOPtqKl8sybokg0kG9+/fP5VDSJK60E3ch4HFHduLgH1T+WJVtamq+quqv7e3dyqHkCR1oZu4bweWJlmS5DRgDbB1ZseSJB2PCeNeVUeA9cBjwC5gS1XtTHJLkgGAJB9MMgysAu5KsnMmh5YkHVs3j5ahqrYB28bsu6nj4+2MXK6RJL0N+AxVSWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBnUV9yQrk+xOsifJxnFuPz3JA6O3P5mkb7oHlSR1b8K4J+kB7gQuB5YBa5MsG7PsOuDlqjoP+D3g3033oJKk7nVz5r4c2FNVz1XVIWAzcOWYNVcC945+/BDwj5Jk+saUJE3GnC7WLAT2dmwPA5e81ZqqOpLkFWA+cKBzUZJ1wLrRzYNJdk9l6JPEAsbc/5kUf1aaTn7vTm6tf//O7WZRN3Ef7wy8prCGqtoEbOria570kgxWVf9sz6HJ83t3cvP7N6KbyzLDwOKO7UXAvrdak2QOcDbw0nQMKEmavG7ivh1YmmRJktOANcDWMWu2Ar85+vFVwJ9U1ZvO3CVJJ8aEl2VGr6GvBx4DeoC7q2pnkluAwaraCvwn4A+T7GHkjH3NTA59kjglLj81yu/dyc3vHxBPsCWpPT5DVZIaZNwlqUHGXZIa1M3j3CXpbSvJcqCqavvoS6OsBL5bVdtmebRZ5S9UdcpL8vcYeZb1k1V1sGP/yqr6o9mbTBNJ8q8Zed2rOcB/Y+TZ848DHwUeq6pbZ2+62WXcZ1iSf1JVfzDbc2h8ST4P/DawC7gI2FBVj4ze9lRV/f3ZnE/HluQ7jHzfTgf+GlhUVT9KciYj/1h/YFYHnEVelpl5/wYw7m9fnwYurqqDoy9V/VCSvqq6nfFfVkNvL0eq6mfAq0m+X1U/AqiqnyR5fZZnm1XGfRokeeatbgJ+4UTOoknreeNSTFU9n2QFI4E/F+N+MjiU5Oeq6lXg4jd2JjkbMO46br8AfAx4ecz+AN888eNoEv46yUVVtQNg9Az+48DdwAWzO5q68KtV9VOAquqM+Vz+/0uinJKM+/R4FJj3RiA6JXn8xI+jSbgGONK5o6qOANckuWt2RlK33gj7OPsPcAJf9vftyF+oSlKDfBKTJDXIuEtSg4y7mpXkZ0l2JPnfSR5M8nPHWHtzkn92IueTZpJxV8t+UlUXVdX7gUPAZ2d7IOlEMe46VfwZcB5AkmuSPJPk6SR/OHZhkk8n2T56+8NvnPEnWTX6U8DTSf50dN8vJ/lfoz8hPJNk6Qm9V9Jb8NEyalaSg1U1b/R9fR8G/gj4U+A/Ax+uqgNJfr6qXkpyM3Cwqr6aZH5VvTh6jC8B/7eq7hh9qvvKqvqrJOdU1Q+T3AF8u6ruG30byp6q+sms3GGpg2fuatmZSXYAg8BfMvJ2kJcCD40+DpqqGu+N3N+f5M9GY/6PgV8e3f8EcE+STzPylpMA3wL+RZLfAc417Hq78ElMatlPquqizh1JAkz04+o9wK9X1dNJrgVWAFTVZ5NcAlwB7Bh9Zuv9SZ4c3fdYkt+qqj+Z5vshTZpn7jrV/DFwdZL5AEl+fpw1ZwEvJJnLyJk7o2t/qaqerKqbGHn24+Ikvwg8V1X/AdgKnLKvQqi3F8/cdUqpqp1JbgW+keRnwJ8D145Z9kXgSeAvgO8wEnuA3x39hWkY+UfiaWAj8BtJDjPykrO3zPidkLrgL1QlqUFelpGkBhl3SWqQcZekBhl3SWqQcZekBhl3SWqQcZekBv0/v/YcvGMuhigAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112db6748>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "class_pivot = train.pivot_table(index=\"Pclass\",values=\"Survived\")\n",
    "class_pivot.plot.bar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    714.000000\n",
       "mean      29.699118\n",
       "std       14.526497\n",
       "min        0.420000\n",
       "25%       20.125000\n",
       "50%       28.000000\n",
       "75%       38.000000\n",
       "max       80.000000\n",
       "Name: Age, dtype: float64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train[\"Age\"].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112d700f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survived = train[train[\"Survived\"] == 1]\n",
    "died = train[train[\"Survived\"] == 0]\n",
    "survived[\"Age\"].plot.hist(alpha=0.5,color='red',bins=50)\n",
    "died[\"Age\"].plot.hist(alpha=0.5,color='blue',bins=50)\n",
    "plt.legend(['Survived','Died'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10df819b0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def process_age(df,cut_points,label_names):\n",
    "    df[\"Age\"] = df[\"Age\"].fillna(-0.5)\n",
    "    df[\"Age_categories\"] = pd.cut(df[\"Age\"],cut_points,labels=label_names)\n",
    "    return df\n",
    "\n",
    "cut_points = [-1,0,5,12,18,35,60,100]\n",
    "label_names = [\"Missing\",\"Infant\",\"Child\",\"Teenager\",\"Young Adult\",\"Adult\",\"Senior\"]\n",
    "\n",
    "train = process_age(train,cut_points,label_names)\n",
    "test = process_age(test,cut_points,label_names)\n",
    "\n",
    "pivot = train.pivot_table(index=\"Age_categories\",values='Survived')\n",
    "pivot.plot.bar()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_dummies(df,column_name):\n",
    "    dummies = pd.get_dummies(df[column_name],prefix=column_name)\n",
    "    df = pd.concat([df,dummies],axis=1)\n",
    "    return df\n",
    "\n",
    "for column in [\"Pclass\",\"Sex\",\"Age_categories\"]:\n",
    "    train = create_dummies(train,column)\n",
    "    test = create_dummies(test,column)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "          intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n",
       "          penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n",
       "          verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "\n",
    "columns = ['Pclass_1', 'Pclass_2', 'Pclass_3', 'Sex_female', 'Sex_male',\n",
    "       'Age_categories_Missing','Age_categories_Infant',\n",
    "       'Age_categories_Child', 'Age_categories_Teenager',\n",
    "       'Age_categories_Young Adult', 'Age_categories_Adult',\n",
    "       'Age_categories_Senior']\n",
    "\n",
    "lr = LogisticRegression()\n",
    "lr.fit(train[columns], train[\"Survived\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "holdout = test # from now on we will refer to this\n",
    "               # dataframe as the holdout data\n",
    "\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "all_X = train[columns]\n",
    "all_y = train['Survived']\n",
    "\n",
    "train_X, test_X, train_y, test_y = train_test_split(\n",
    "    all_X, all_y, test_size=0.20,random_state=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = LogisticRegression()\n",
    "lr.fit(train_X, train_y)\n",
    "predictions = lr.predict(test_X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import accuracy_score\n",
    "accuracy = accuracy_score(test_y, predictions)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8100558659217877"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.76404494 0.76404494 0.7752809  0.78651685 0.8        0.80681818\n",
      " 0.80898876 0.81111111 0.83146067 0.87640449]\n",
      "0.8024670865963002\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import cross_val_score\n",
    "\n",
    "lr = LogisticRegression()\n",
    "scores = cross_val_score(lr, all_X, all_y, cv=10)\n",
    "scores.sort()\n",
    "accuracy = scores.mean()\n",
    "\n",
    "print(scores)\n",
    "print(accuracy)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}