Skip to content

Instantly share code, notes, and snippets.

@fedeisas
Created April 10, 2017 19:21
Show Gist options
  • Save fedeisas/a109b00a56b6dc57b5e4b2ad76d02739 to your computer and use it in GitHub Desktop.
Save fedeisas/a109b00a56b6dc57b5e4b2ad76d02739 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# Imports\n",
"\n",
"# pandas\n",
"import pandas as pd\n",
"from pandas import Series,DataFrame\n",
"\n",
"# numpy, matplotlib, seaborn\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"sns.set_style('whitegrid')\n",
"%matplotlib inline\n",
"\n",
"# machine learning\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.svm import SVC, LinearSVC\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.naive_bayes import GaussianNB"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"train = pd.read_csv('train.csv')\n",
"test = pd.read_csv('test.csv')\n",
"\n",
"train = train.drop(['PassengerId'], axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 891 entries, 0 to 890\n",
"Data columns (total 11 columns):\n",
"Survived 891 non-null int64\n",
"Pclass 891 non-null int64\n",
"Name 891 non-null object\n",
"Sex 891 non-null object\n",
"Age 714 non-null float64\n",
"SibSp 891 non-null int64\n",
"Parch 891 non-null int64\n",
"Ticket 891 non-null object\n",
"Fare 891 non-null float64\n",
"Cabin 204 non-null object\n",
"Embarked 889 non-null object\n",
"dtypes: float64(2), int64(4), object(5)\n",
"memory usage: 76.6+ KB\n"
]
}
],
"source": [
"train.info()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"891 passengers \n",
"\n",
"Sex value counts\n",
"male 577\n",
"female 314\n",
"Name: Sex, dtype: int64 \n",
"\n",
"Number of Parents/Children Aboard\n",
"0 678\n",
"1 118\n",
"2 80\n",
"5 5\n",
"3 5\n",
"4 4\n",
"6 1\n",
"Name: Parch, dtype: int64 \n",
"\n",
"[TRAIN] Columns with missing values: Age, Cabin, Embarked \n",
"\n",
"[TEST] Columns with missing values: Age, Fare, Cabin \n",
"\n"
]
}
],
"source": [
"print \"{0} passengers\".format(len(train)), \"\\n\"\n",
"\n",
"print \"Sex value counts\"\n",
"print train['Sex'].value_counts(dropna=False), \"\\n\"\n",
"\n",
"print \"Number of Parents/Children Aboard\"\n",
"print train['Parch'].value_counts(dropna=False), \"\\n\"\n",
"\n",
"print \"[TRAIN] Columns with missing values: \" + \", \".join(train.columns[train.isnull().any()]), \"\\n\"\n",
"print \"[TEST] Columns with missing values: \" + \", \".join(test.columns[test.isnull().any()]), \"\\n\""
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Embarked"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Most frequent Embarked value: S \n",
"\n",
"[TRAIN] Number of missings on Embarked 0\n",
"[TEST] Number of missings on Embarked 0\n"
]
}
],
"source": [
"# Fill Embarked missing values with the most frequent one\n",
"print \"Most frequent Embarked value: \", train['Embarked'].value_counts().keys()[0], \"\\n\"\n",
"train['Embarked'] = train['Embarked'].fillna(\n",
" train['Embarked'].value_counts().keys()[0]\n",
")\n",
"print \"[TRAIN] Number of missings on Embarked \", len(train[train['Embarked'].isnull()])\n",
"print \"[TEST] Number of missings on Embarked \", len(test[test['Embarked'].isnull()])"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10e4f82d0>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAEYCAYAAABBWFftAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4lfl95/33Ue80ISShghDiJ3oRSNShSpSZ8cx4xlPA\nsT3JJLY3bZPN5kmuJ+vYTnaTTeLkcbLPrHti78A0MwXPDCDRuwSiF/2EQBUkQBRJqJezf0iADqKI\nmXM4Kp/Xdfka3ed73zpf+RJH53Pu+/7+HE6nExEREREREfnifLzdgIiIiIiIyEChgCUiIiIiIuIm\nClgiIiIiIiJuooAlIiIiIiLiJgpYIiIiIiIibuLn7Qa+qPz8fGdaWpq32xARERERkcHFcb8HdQZL\nRERERETETRSwRERERERE3EQBS0RERERExE0UsERERERERNxEAUtERERERMRNFLBERERERETcRAFL\nRERERETETRSwRERERERE3EQBS0RERERExE0UsEREZFD60QcnePa/fMyPPjjh7VZERGQAUcASEZFB\np7G5jc/2FwOwaX8xjc1tXu5IREQGCgUsEREZdFrbOnA6O7/ucHZui4iIuIMCloiIiIiIiJsoYImI\niIiIiLiJApaIiIiIiIibKGCJiIiIiIi4iQKWiIiIiIiImyhgiYiIiIiIuIkCloiIiIiIiJsoYImI\niIiIiLiJApaIiIiIiIibKGCJiIiIiIi4iQKWiIiIiIiIm/h56hsbY3yAN4FpQDPwhrW2qFt9FfDX\ngAPIB34fCALeAqKAOuDr1tqrnupRRERERETEnTx5But5IMhaOxf4C+AHtwvGmHDgH4FnrLUZQAkQ\nCXwbOGmtXQj8CvgrD/YnIiIiIiLiVp4MWAuAzQDW2oPArG61ecBJ4AfGmD3A5a4zVXeOATYByz3Y\nn4iIiIiIiFt57BJBIAKo6bbdbozxs9a20Xm2agkwHbgF7DHGHLjnmDpgSG+eKD8/321Ni4jIwNfQ\n3O6yffz4MUICfb3UjYiI9EdpaWn3fdyTAasWCO+27dMVrgCuAYestVUAxpjddIat7seEAzd780QP\n+uFERETup7a+BTZU3tmeNm06EaEBXuxIREQGCk9eIrgPWA1gjJlD5yWBtx0BJhtjIo0xfsAc4Ez3\nY4BVwB4P9iciIiIiIuJWnjyD9SGQaYzZT+ekwNeNMX8KFFlrNxpj/hLY0rXve9baU8aYC8AvjTF7\ngRZgjQf7ExERERERcSuPBSxrbQfwrXseLuhWfwd4555jGoCveKonERERERERT9JCwyIiIiIiIm6i\ngCUiIiIiIuImClgiIiIiIiJuooAlIiIiIiLiJgpYIiIiIiIibqKAJSIiIiIi4iYKWCIiIiIiIm6i\ngCUiIiIiIuImClgiIiIiIiJuooAlIiIiIiLiJgpYIiIiIiIibqKAJSIiIiIi4iYKWCIiIiIiIm6i\ngCUiIiIiIuImClgiIiIiIiJuooAlIiIiIiLiJgpYIiIiIiIibqKAJSIiIiIi4iYKWCIiIiIiIm7i\n5+0GREREnhSn08mpC9fYfKDE5fH29g6v9CMiIgOPApaIiAwKTS1t/NNb+eSerupR+28/3s/3vzmP\n4RFBXuhMREQGEl0iKCIig8L///7x+4YrgNKqOr7/84O0dzifcFciIjLQKGCJiMiAV1ldz84jFQ/d\n53xFDflnLz+hjkREZKBSwBIRkQFv/4lLvdpv7/GLHu5EREQGOo/dg2WM8QHeBKYBzcAb1tqibvUf\nAguAuq6HngN8gULgVNdjH1prf+ipHkVEZHCorW/u1X4XLtbQ0NRKSJC/hzsSEZGBypNDLp4Hgqy1\nc40xc4Af0BmibksDVlhrq28/YIxZDrxtrf1DD/YlIiKDhNPpJL/gCnuO9e4MVmlVHV//3hYWTBtN\nVkYiqWOG4XA4PNyliIgMJJ4MWAuAzQDW2oPGmFm3C11nt1KAnxhjRgE/t9b+gs7QlWaM2QVcAf7I\nWlvpwR5FRGQAcjqdHCu8yrotBdjSG491bFNLO1sPlbH1UBlxUWFkZSSyJC2eoeGBHupWREQGEk8G\nrAigptt2uzHGz1rbBoQC/wb8M52XBe4wxhwGCoB8a+1WY8zarn1eetQT5efnu715ERHpn4ovN7Hj\nRC1lV1se67hhYb7UN3XQ0nZ3kmDFlVv84jen+Y9PTmPigpmZHEJydBA+PjqrJSIy2KWlpd33cU8G\nrFogvNu2T1e4AmgAfmitbQAwxmyn816tj7pqAB8C3+/NEz3ohxMRkcHj9IVrrN9SwImi6h61qeMi\nWbPCcKb4Ou/kFNLS2u5SX5IWxx++PJ22dif7jl8kO7eMsyXX79Q7nHC2vJGz5Y1EDgliWXoCy2cn\nED0i1OM/l4iI9C+eDFj7gGeB97ruwTrZrTYeeNcYM4POSYYLgF8CPwM2AO8BywCdmhIRkYcqKLnO\n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\nd9k+fvwYIYG+XupG+pq0tLT7Pu7JgFULhHfb9rkdrm6z1v4vY8xPgE3GmCX3HBMO3OzNEz3ohxMR\nERER+bxq61tgQ+Wd7WnTphMRGuDFjqQ/8OQlgvuA1QDGmDnAydsF0+mDrvuuWukcgtHR/RhgFbDH\ng/2JiIiIiIi4lSfPYH0IZBpj9gMO4HVjzJ8CRdbajcaY48ABOqcIbrLW7jLGHAJ+aYzZC7QAazzY\nn4iIiIiIiFt5LGBZazuAb93zcEG3+vfovP+q+zENwFc81ZOIiIiIiIgnaY61iIiIiIiImyhgiYiI\niIiIuIkCloiIiIiIiJsoYImIiIiIiLiJApaIiIiIyH34+/ngcHR+7ePo3BZ5FP2WiIiIiIjcR3Cg\nH6vnJQGwal4SwYGeXOFIBgqH0+n0dg9fSH5+vjMtLc3bbYiIiIiIyODiuN+DOoMlIiIiIiLiJgpY\nIiIiIiIibqKAJSIiIiIi4iYKWCIiIiIiIm6igCUiIiIiIuImClgiIiIiIiJuooAlIiIiIiLiJgpY\nIiIiIiIibjIglqPOz8/3dgsiIiIiIjK4ONPS0nosNuxwOp3eaEZERERERGTA0SWCIiIiIiIibqKA\nJSIiIiIi4iYKWCIiIiIiIm6igCUiIiIiIuImClgiIiIiIiJuooAlIiIiIiLiJgNiHSwRAGPMXwDL\nAX+gA/gza60WSRORHowxk4B/AEKAMOAz4LvWWq1dIiIAGGPSgL+j83XCB9gBfM9a2+LVxqTP0xks\nGRCMMROBLwGZ1tpFwJ8Av/BuVyLSFxljhgLvAP/ZWrsEmANMAb7p1cZEpM8wxsQBbwF/YK1dAMwH\nmoF/8Wpj0i8oYMlAUQMkAL9tjBltrT0GpHu5JxHpm54DtltrzwFYa9uBr6EPZUTkrq8BP7PWFgJ0\nnd3+G2C1MSbYq51Jn6eAJQOCtfYinWew5gMHjDH/t727CZWqjOM4/r1WBqZhIb34UmnJT8jEooUJ\nSmJBiza2KCoriWpRJBUWUi2MoDfLVVZggmAkVISQEEjELSRalEqL6F8g3E2pgYgoRWq3xTnG5AuY\njMzc6/cDA3Oeec6c/8ziDL95nvOcn4A7e1uVpD41GdjV2VBVB532I6nD1Zx4nhgG9gBX9KQijRgG\nLI0KSa4DDlTVw1V1FbAUeC/JpT0uTVL/GQKmdTYkmZ5kYY/qkdR/hoAZnQ1JxtDMltnbk4o0Yhiw\nNFrMAd5OMrbd/hnYDxztXUmS+tQW4I4k1wIkuQBYA8zuaVWS+slG4JEkM5NMTLIVeB/YUlWHelyb\n+tzA8LALJml0SPICcDdwkObPg9eranNvq5LUj9rVwVbTnCsmAJ/RrA7mj6Ik4N/zxCs0K42OA3bT\nTBF8pqr29bI29TcDliRJknQakswBdlXVwV7Xov5lwJIkSZKkLvEaLEmSJEnqEgOWJEmSJHWJAUuS\nJEmSusSAJUmSJEldcn6vC5Ak6WSSXENzT7sfj3tpXVWtPY39B4FVVTV4hsffAAxW1YYz2HcZcGtV\nLTuTY0uSRi4DliSpn/1aVXN7XYQkSafLgCVJGnGS7Ka5OfAC4DfgHWA5MBVYVlVftV0fS7IGGACe\nrqrBJFOA9cBE4EpgU1WtbEedHgImte997FjjgK1tv7VJHgSeoplm/z3wRFX9meQB4EXgADBEc9Nz\nSdI5xmuwJEn9bHKSncc9bgAuB7ZU1ay235KqWgCsogk/xxysqptogtPGJBcC99KEpXnAHODxJJPa\n/lOBG6vq+XZ7LPAp8Ekbrq4HHgXmtyNre4EVSSYDbwALgVuACWfjy5Ak9T9HsCRJ/eykUwSTAHze\nbg4B2zqeX9LRdT1AVf2Q5HdgVlW9mWRRkhXAbJoQdVHbf3tVHenY/2Xgb+CudnsRMBP4tq1hLLAd\nmA98U1V72vo+ABaf6YeWJI1cBixJ0ohUVX91bB45RbfO9gHgcJK3gBnAh8Bm4Lb2NYA/jtt/EzAe\neAl4FjgP+KiqlgMkGU/zW7qY/84KOVU9kqRRzimCkqTR7H6AJDcDFwO/ALcDq6vqY2AaMIUmOJ3M\nTuA5YGmSucAgsCTJZUkGgHdppiRuA+YlmZJkDHDP2ftIkqR+5giWJKmfTU6y87i2r//H/uOT7ACO\nAvdV1eEkr9Jcj7Uf2AN8B0w/1RtU1b4kK4F1wDya0awvaf6k3AG81i5y8STwBXCIE5eWlySdIwaG\nh4d7XYMkSZIkjQpOEZQkSZKkLjFgSZIkSVKXGLAkSZIkqUsMWJIkSZLUJQYsSZIkSeoSA5YkSZIk\ndYkBS5IkSZK65B9OXpKU0c7BCQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10e447350>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA3kAAAE8CAYAAAB9+ngjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmYXGWZ//93dxYzkLBEkBEJmzK3jIyIDSYsDgFhGEEH\nREVBWcIXGTAwRJRNUYLLj50ZjOwgEBAIgiAiCL8Rwr5oCwN8ITcEZXEQBBxIWCJZ+vvHqTBFSDrd\nSVWfrlPv13XlSp2lTn260teTc5/znOfp6OnpQZIkSZJUDZ1lB5AkSZIkNY5FniRJkiRViEWeJEmS\nJFWIRZ4kSZIkVYhFniRJkiRViEWeJEmSJFXI0LIDLIvu7m7nfZAqqKurq6PsDMvDtkmqplZvm8D2\nSaqqJbVPLVnkAXR1dZUdQVIDdXd3lx2hIWybpGqpStsEtk9S1fTWPtldU5IkSZIqxCJPkiRJkirE\nIk+SJEmSKsQiT5IkSZIqxCJPkiRJkirEIk+SJEmSKsQiT5IkSZIqxCJPkiQ11L333stWW23Fnnvu\n+dafSy65ZKnv+c53vtPvzzryyCN54IEH+vWeKVOm8Mtf/rLfnyVJraJlJ0OXJEmD17bbbst3v/vd\nsmNIUluyyJMkSU33xz/+kcMOO4xVVlmFP/3pT+y+++7ccsstPPPMM/zoRz8CYMaMGey999688cYb\nHHXUUWyyySace+653HnnncyaNYttt92Wgw46iD333JPRo0ezwgorvHX8G2+8kWuuuYbTTjuNe++9\nl9NPPx0ois3999+fGTNmcPTRRzNy5Ejmz5/P+uuvX8r3IEkDwSJPkiQ13M0338wf/vCHt5YPOeQQ\nnn/+eS666CJuu+02pk6dytSpU7nooou49dZb2XDDDens7OTHP/4xzz77LN/4xje49NJLAbjwwgt5\n88032WmnnTjooIMA2H333Rk3bhxHHnkk06dPZ8aMGfzwhz9k6NChnHDCCVx++eWsuOKKHHjggTzx\nxBNMmTKF733ve2y44YZvHUOSqqqSRd4eh/+k7AiDwqUnfqnsCJKkmrL/bxro/xMW7a75xz/+kfXW\nW4/hw4czatQo1l13XQBGjRrFiy++CMDGG2/MkCFDGDNmDLNnz6azs5M33niDr3/964wcOZK5c+e+\ndbz11lvvrde/+c1v6OnpYejQofzP//wPzz//PAceeCAAs2bN4umnn+bJJ5/kgx/8IAAf/vCHm/3j\nq03tc8EhZUcYFC6ccFrZEdqeA69IkqRB4dFHH6Wnp4enn36a0aNHM2PGDB555BFOOeUU9ttvP15/\n/fW39u3s/N9TmMMOO4xNNtmEqVOnsuqqqzJmzBjOP/98Lr74Yr7whS/wgQ98gDFjxvDQQw+99TmS\nVGWVvJMnSZLKtWh3zdGjRy/1PT09Peyzzz7MmTOH73znO6yzzjrMnj2bz3/+86y44oqsttpqvPrq\nq4t970EHHcRuu+3GJz7xCQ4++GD23ntv5s6dywYbbMBuu+3GYYcdxje/+U1GjBjBsGHDGvZzStJg\nZJEnSZIaauzYsdxxxx29bh87diwAu+6669vWL+onP3lnN9eLL774rdfHH3/8W69/8YtfADBmzBi2\n2Wabt73n/e9/P9OmTevjTyBJrc3umpIkSZJUIRZ5kiRJklQhFnmSJEmSVCEWeZIkSZJUIRZ5kiRJ\nklQhFnmSJEmSVCFOoSBJkppmj8PfOQXC8rj0xC/1ab9zzjmHu+66i3nz5tHR0cERRxzBRhtt1NAs\nkjRYWeRJkqRKmTlzJjfffDOXXXYZHR0dPProoxxxxBFce+21ZUeTpAFhd01JklQpo0aN4tlnn+XK\nK6/k+eefZ8MNN+TKK68sO5YkDRjv5ElqSxHxHqAb2B6YB1wI9AAPAxMzc0FEHAPsVNs+KTPvKymu\npH5YY401OPPMM7nkkks4/fTTGTFiBF/72tfYYYcdyo4mSQPCIk9S24mIYcDZwBu1VacCR2fm9Ig4\nC9g5Ip4CtgbGAmOAq4DNysgrqX+eeuopRo4cyXHHHQfAQw89xFe+8hXGjh3LKqusUnI6SWq+phZ5\nEXEU8C/AcOAM4Fa8Wi6pfCcDZwFH1Za7KNongBuAfwISuCkze4CnI2JoRKyemS8MeFpJ/ZKZTJs2\njTPPPJPhw4ez3nrrsdJKKzFkyJCyo0nSgGhakRcR44EtgC2BFYBv4NVySSWLiH2AFzLzxtqFKICO\nWjEHMBtYGVgJeKnurQvX91rkdXd3Nzaw1CBV+d3sy8/x7ne/mzXXXJOddtqJESNGsGDBAnbddVce\ne+yxAUgoSeVr5p28HYCHgKspTpYOA76CV8sllWtfoCcitgM+AkwF3lO3fRTwMjCr9nrR9b3q6upq\nXFJVy7QZpX58Wb+bl5b0uY36eatSHEtqL80s8lYD1gE+BawHXAt0erV84PgdSe+Umf+48HVETAcO\nAE6KiPGZOR34JHALMBM4MSJOBtaiaL9eHPjEkiRJ/dPMIu8lYEZmvglkRMyh6I65UPOulpd8tXSw\n8I6CWknJFyW+DpwbEcOBR4ErM3N+RNwO3E0x3czEMgNKkiT1VTOLvDuAQyLiVOC9wIrAr71aLmmw\nyMzxdYtbL2b7ZGDyAMWRJElqiKYVeZl5XUT8I3Af/3sV/A94tVySJEmSmqapUyhk5uGLWe3VckmS\npCWIiE6Kqac2Bv4K7JeZM+u2nwZsRTGOAcDOmfnKgAeVNGg5GbokSdLgsgswIjM3j4hxwCnAznXb\nu4AdfLxF0pJY5EmSpKbZ54JDGnq8Cyec1qf9Hn/8cU466STeeOMNXn/9dbbeemsOPvhgOjo6Gpqn\nSbYCfgWQmfdExKYLN9Tu8m0AnBMRawDnZ+aPy4kpabCyyJMkSZUya9YsDj30UKZMmcK6667L/Pnz\nOeSQQ7j88svZfffdy47XFysB9d0v50fE0MycRzGQ3RTgVGAIcEtE/DYzH1zaQZ1aSQPF37XyWeRJ\nkqRK+fWvf83YsWNZd911ARgyZAgnnHACw4YNKzdY3y06vVRnrcADeB04LTNfB4iImyme3VtqkefU\nSgPgwallJxgU/F0bGL0V050DmEOSJKnp/vznPzNmzJi3rVtxxRUZPnx4SYn67U5gR4DaM3kP1W37\nO+DOiBgSEcMounb+buAjShrMvJMnSZIqZc011+SRRx5527pnnnmG5557js0226ykVP1yNbB9RNwF\ndAATIuJQYGZmXhsRFwP3AHOBqZn5f0vMKmkQssiTJEmVss0223D22Wez++67s/baazN37lyOP/54\ntthii5Yo8jJzAXDAIqtn1G0/CThpQENJaikWeZIkqVJGjhzJ8ccfz9FHH01PTw+vvfYa22yzDXvs\nsUfZ0SRpQFjkSZKkpunrlAeNttFGGzF1qoNgSGpPDrwiSZIkSRVikSdJkiRJFWKRJ0mSJEkVYpEn\nSZIkSRVikSdJkiRJFWKRJ0mSJEkV4hQKkiSpaa7fa0JDj7fj1AsaejxJqiKLPEmSVCkPP/wwp556\nKm+88QY9PT2MHTuWiRMnMnz48LKjSdKAsLumJEmqjOeee47DDjuMb3/721x22WVcdtllDBs2jOOO\nO67saJI0YCzyJElSZVxzzTV8/vOfZ7311gOgo6ODiRMncuuttzJnzpyS00nSwLDIkyRJlfHss88y\nZsyYt63r6OhgtdVW44UXXigplSQNLJ/Jk9RWImIIcC4QQA9wADAMuA54vLbbmZk5LSKOAXYC5gGT\nMvO+EiJL6oc111yTZ5555m3rFixYwLPPPsu73/3uklJJ0sCyyJPUbj4NkJlbRsR44AfAL4BTM/OU\nhTtFxEeBrYGxwBjgKmCzAU8rqV923nln9t13X7bddltGjx7NpEmTWGONNdhmm21YYYUVyo4nSQPC\nIk9SW8nMayLiutriOsDLQBcQEbEzxd28ScBWwE2Z2QM8HRFDI2L1zLS/l9QPAz3lwXvf+15OOukk\nvve97/Haa68xZ84cOjs7WW211Xj55ZdZZZVVBjSPJJXBIk9S28nMeRFxEfAZ4HPA+4DzMrM7Ir4F\nHENR/L1U97bZwMqARZ40yG200Uacf/75b1s3Y8YMhg0bVlIiSRpYFnmS2lJm7h0RRwD3Altk5n/X\nNl0NTAF+Doyqe8soisKvV93d3Y2OKjWEv5tFoSdJ7cAiT1JbiYg9gbUy8zjgdWAB8LOIOLg2sMon\ngG7gTuDEiDgZWAvozMwXl3b8rq6u5oVXa5tWboHh7+aysTiW1Ios8iS1m58BF0TEbRSjak4CngGm\nRMRc4Dlg/8ycFRG3A3dTTDczsazAkiRJ/WGRJ6mtZOZrwG6L2bTlYvadDExuciRJkqSGcjJ0SZIk\nSaoQizxJkiRJqhCLPEmSJEmqEIs8SZIkSaqQpg68EhG/A2bVFv8AnA2cBswDbsrMYyOiEzgD2Bj4\nK7BfZs5sZi5JkiRJqqqmFXkRMQLoyMzxdeseAD4L/B74ZURsAqwHjMjMzSNiHHAKsHOzckmSJElS\nlTXzTt7GwAoRcVPtcyYD78rMJwAi4kZgO+C9wK8AMvOeiNi0iZkkSZIkqdKaWeS9DpwMnAdsANwA\nvFy3fTawPrAS8Erd+vkRMTQz5/V28O7u7samrSC/I0mSJKn9NLPIewyYmZk9wGMR8Qowum77KIqi\nb4Xa64U6l1bgAXR1dS1547QZy5K3cnr9jqRBxosSkiRJjdHM0TX3pXi+johYk6KYey0i3h8RHcAO\nwO3AncCOtf3GAQ81MZMkSZIkVVoz7+SdD1wYEXcAPRRF3wLgJ8AQitE1742I3wDbR8RdQAcwoYmZ\nJEmSJKnSmlbkZeabwB6L2TRukf0WAAc0K4ckSZIktRMnQ5ckSZKkCrHIkyRJkqQKsciTJEmSpAqx\nyJMkSZKkCrHIkyRJkqQKaeYUCpIkSeqniOgEzgA2Bv4K7JeZMxezzy+Bn2fmWQOfUtJg5p08SZKk\nwWUXYERmbg4cCZyymH2+D6w6oKkktQyLPEmSpMFlK+BXAJl5D7Bp/caI+BywYOE+krQoizxJkqTB\nZSXglbrl+RExFCAiNgL2AL5TRjBJrcFn8iRJkgaXWcCouuXOzJxXe70X8D7gZmBd4M2IeDIzl3pX\nr7u7u9E5pcXyd618FnmSJEmDy53Ap4ErImIc8NDCDZl5+MLXETEZeK4vBR5AV1dXg2PqHR6cWnaC\nQcHftYHRWzFtkSeprUTEEOBcIIAe4ABgDnBhbflhYGJmLoiIY4CdgHnApMy8r5TQktrN1cD2EXEX\n0AFMiIhDgZmZeW250SS1Aos8Se3m0wCZuWVEjAd+QHESdXRmTo+Is4CdI+IpYGtgLDAGuArYrJzI\nktpJZi6guABVb8Zi9ps8IIEktRwHXpHUVjLzGmD/2uI6wMtAF3Brbd0NwHYUo9vdlJk9mfk0MDQi\nVh/ovJIkSf3lnTxJbScz50XERcBngM8B22dmT23zbGBlitHtXqp728L1L/R2bB8212Dl76akVnH9\nXhPKjjAo7Dj1gmV+r0WepLaUmXtHxBHAvcDf1G0aRXF3b9HR7Rau75UPm2uJpr2jt92A8ndz2Vgc\nS2pFdteU1FYiYs+IOKq2+DrFhMK/rT2fB/BJ4HaK0e12iIjOiFibYgjzFwc8sCRJUj95J09Su/kZ\ncEFE3AYMAyYBjwLnRsTw2usrM3N+RNwO3E1xQWxiWYElSZL6wyJPUlvJzNeA3RazaevF7DsZmNzk\nSJIkSQ1ld01JkiRJqhCLPEmSJEmqEIs8SZIkSaoQizxJkiRJqhAHXpEkSWqiiBgJbANsQDFty0zg\nPzNzTqnBJFWWRZ4kSVITRMQKwDHArsCDwFPAXGAL4N8j4mfA9zLz1fJSSqoiizxJkqTmuAQ4Bzgq\nMxfUb4iITuBTtX12KSGbpAqzyJMkSWqOz2Zmz+I21Iq+ayPiFwOcSVIbsMiTJElqjm9HxBI3ZuZ3\nl1QEStLycHRNSZKk5uio/RkLfJZi0JU3gZ2AD5WYS1LFeSdPkiSpCTLzWICIuBPYPDNfry3/B3BL\nmdkkVZt38iRJkpprdaC+W+YwYHRJWSS1Ae/kSZIkNde5wG8j4nqKC+yfAv6j3EiSqqypRV5EvAfo\nBrYH5gEXUlzJehiYmJkLIuIYir7p84BJmXlfMzNJkiQNpMw8KSJuBsZTnAftlpn/VW4qSVXWtO6a\nETEMOBt4o7bqVODozPw4xUPIO0fER4GtKR5I/iJwerPySJIklSgoumieDWxcchZJFdfMZ/JOBs4C\nnq0tdwG31l7fAGwHbAXclJk9mfk0MDQiVm9iJkmSpAEVEccDOwK7AkOACRFxSrmpJFVZU4q8iNgH\neCEzb6xb3VE3F8xsYGVgJeCVun0WrpckSaqKHYA9gTmZOYviMZZPlhtJUpU165m8fYGeiNgO+Agw\nFXhP3fZRwMvArNrrRdcvVXd3d2OSVpjfkSRJg8KC2t8LL3a/q26dJDVcU4q8zPzHha8jYjpwAHBS\nRIzPzOkUV69uAWYCJ0bEycBaQGdmvtiXz+jq6lryxmkzljV6pfT6HUmDjBclJFXYFcA0YHRETKK4\nq3dpuZHebo/Df1J2hEHh0hO/VHYEqSEGcgqFrwPnRsRw4FHgysycHxG3A3dTdB2dOIB5JEmSmi4z\nT4iIHYCngLWBYzLzupJjSaqwphd5mTm+bnHrxWyfDExudg5JkqQyRMQ1wCXAtzLzzbLzSKq+Zo6u\nKUmSpGIy9F2AJyLivIgYX3IeSRU3kN01Jal0tTk8fwysSzH4wfeBZ4DrgMdru52ZmdMi4hhgJ2Ae\nMCkz7xv4xJJaXWb+EvhlRPwNRZtySkSslpnrlBxNUkVZ5ElqN18GXsrMPSNiNPAA8F3g1Mx8a96q\niPgoRRfzscAY4CpgsxLySqqAiPh74IvA5ykuLP1HuYkkVZlFnqR281PgytrrDoq7dF1ARMTOFHfz\nJgFbATfV5vd8OiKGRsTqmflCGaElta6IeIiirbkE2DYz/1RyJEkVZ5Enqa1k5qsAETGKotg7mqLb\n5nmZ2R0R3wKOoZiz86W6t84GVgZ6LfKcCkKDlb+bpdojMx8qO4Sk9mGRJ6ntRMQY4GrgjMy8NCJW\nycyXa5uvBqYAPwdG1b1tFEXh1yvnp9QSlTyHq7+by2Z5iuOIOCcz9wd+GBE9i27PzG2XJ5skLYlF\nnqS2EhFrADcBB2Xmr2urb4yIg2sDq3wC6AbuBE6MiJOBtYDOzHyxlNCSWtXZtb8nlxlCUvuxyJPU\nbr4JrAp8OyK+XVt3KPDvETEXeA7YPzNnRcTtwN0U081MLCWtpJaVmQtvAx4KXAxc6zx5kgaCRZ6k\ntpKZhwCHLGbTlovZdzJegZe0/M4Bdqe4mHQjcElmTi83kqQq69Nk6BExZTHrLmp8HEnqO9smSa0g\nM3+ZmV8G/g74FcU8eU+VHEtShfV6Jy8izgPWBzaNiA/VbRpGMcqcJA042yZJrcZ58iQNpKV11/w+\nsC5wGnBs3fp5wKNNyiRJS2PbJKll1M2TdzHOkydpAPRa5GXmk8CTwMYRsRLFFfKO2uaRwF+aGU6S\nFse2SVKLOScz39G9fEkiohM4A9gY+CuwX2bOrNs+EdgH6AFOzswrGhtXUqvr6zN5RwF/BG4Dbq39\nmd68WJK0dLZNklrEv/Zz/12AEZm5OXAkcMrCDRGxGnAgsAXFlC+nRETHYo8iqW31dXTN/YD3Z+YL\nzQwjSf1k2ySpFTwTETcD9wJvLFyZmd9dwv5bUQzQQmbeExGb1r3nxYj4SGbOi4h1gTmZ+Y6J1iW1\ntz7dyQOexu5PkgYf2yZJreAeip4Gcyi6li/8syQrAa/ULc+PiLcuzNcKvINqx72k8XEltbq+3sl7\nHLgjIm6haKCAXq9ASdJAsG2SNOhl5rFL3+ttZgGj6pY7M3PeIsf8UUScA9wQEdtk5i1LO2h3d/fS\ndml7fkeN4ffYGMvzPfa1yPvv2h/o/cqTJA0k2yZJg15ELKAYJKXes5k5ZglvuRP4NHBFRIwDHqo7\nVgDHAZ8F5lIMzLKgLzm6urqWvHHajL4covJ6/Y764sGpjQnS4pb3e7y+QTla3dK+x96KwD4Vectw\nBUqSms62SVIryMy3Ho+JiGEUA6ts3stbrga2j4i7KC5gTYiIQ4GZmXltRPwXcDdF4XhDZt7avPSS\nWlGfirxluAIlSU1n2ySp1WTmXOCnEfGtXvZZABywyOoZdduP5e1zhErS2/T1Tl5/r0BJUtPZNklq\nBRGxV91iB/Ah4M2S4khqA319Ju8tfbkCJUkDzbZJ0iC2Td3rHuBF4AslZZHUBvraXdMrUJIGHdsm\nSa0gMyeUnUFSe+nrnTyvQEkajFq+bdrj8J+U+vmXnvilUj9fqrKIWAH4LnBFZt4XEacCXwHuB3bP\nzP/u9QCStIz6+kzehNrzLlF7z8OLztciSQPNtknSIPcfwDzgyYjYEfgSsAmwEfAj4DMlZpNUYZ1L\n3wUiooti0uGLgAuApyNibDODSdLS2DZJGuQ2z8yvZuafgZ0p7ujNzMxrKC5OSVJT9KnIA34IfCEz\nuzJzE2BXYErzYklSn9g2SRrM5te9Hg/8Z93y8IGNIqmd9LXIG5mZ9y5cyMx7gBHNiSRJfWbbJGkw\neykiPhYR2wDvo1bkRcR44I9lBpNUbX0t8v4SETsvXIiIXYCXmhNJkvrMtknSYPY14ELgSuCrmfla\nRBwNXAEcVmYwSdXW19E19weui4jzKYYp7wG2aFoqSeob2yZJg1ZmPgj8/SKrLwemZOYrJUSS1Cb6\neifvk8DrwDoUQ5a/QNG3XJLKZNskadCKiOMiYuX6dbWBV16pbR8dESeUk05SlfXnTt7HMvN14MHa\niHb3Auc0LZkkLV2/26balAs/BtYF3gV8H3iEoktVD/AwMDEzF0TEMcBOFEOgT8rM+5r3o0iqoCuA\nn0fEs8BtFM/hzaO4MLUtsCYwqbx4kqqqr0XeMODNuuU3KU6GligihgDnUgwR3AMcAMzBEylJjdPv\ntgn4MvBSZu4ZEaOBB2p/js7M6RFxFrBzRDwFbA2MBcYAVwGbNfoHkFRdmXk/ML428Mq/AJ8CFgBP\nAGdn5s1l5pNUXX0t8q4Bbo6IK2rLuwI/X8p7Pg2QmVvWRpH6AcUzM55ISWqUZWmbfkoxCAIUbdI8\noAu4tbbuBuCfgARuysweivn3hkbE6pn5QiN/AEnVl5m3ALeUnUNS++hTkZeZR0TE5yiKsbnAD2sT\nefb2nmsi4rra4jrAy8B2eCIlqUGWsW16FSAiRlEUe0cDJ9faIIDZwMrASrx9pM6F622bJPVLROxA\n0TV8NMXFJQAyc/3SQkmqtL7eySMzr+R/r3739T3zIuIi4DPA54DtPZGS1EjL0jZFxBjgauCMzLw0\nIk6s2zyK4qLUrNrrRdf3qru7uz9RStdqebXs/Lcu1RTgUIpHVZbWpVySllufi7xllZl7R8QRFIMh\n/E3dprY6kSqD35H0ThGxBnATcFBm/rq2+v6IGJ+Z0ylG7LwFmAmcGBEnA2sBnZn54tKO39XV1b9A\n02b0b/8G63deLTv/rVtSg/4vfTEzr1v6bpLUGE0r8iJiT2CtzDyOYojzBcBvB+REquT/SAcL/0NX\nKxnAixLfBFYFvh0R366tOwT4YUQMBx4FrszM+RFxO3A3xXQzEwcqoKTKuT0iTgV+RTEIHQCZeVt5\nkSRVWTPv5P0MuCAibqMYAW8SxcnTuZ5ISSpLZh5CUdQtauvF7DsZmNzkSJKq72O1vzepW9dDMY2C\nJDVc04q8zHwN2G0xmzyRkiRJbSMztyk7g6T20vRn8iRJktpZRGwFHAaMpBhdcwiwTmauW2YuSdXV\nWXYASZKkijuPYl7PocDpwOMUI/xKUlNY5EmSJDXXG5l5ATAd+B/gKyzm8RVJahSLPEmSpOaaExGj\ngQTG1eYMXrHkTJIqzCJPkiSpuU4FpgG/APaKiP8L/LbcSJKqzCJPkiSpiTLzp8A/ZeZsoAv4MrBn\nuakkVZlFniRJUhNFxKrAORFxMzACOBhYudxUkqrMIk+SJKm5zgV+A7wbmA38Cbik1ESSKs0iT5Ik\nqbnWy8xzgAWZ+WZmfgtYq+xQkqrLIk+SJKm55kXEykAPQERsACwoN5KkKhtadgBJkqSKO4Zijrwx\nEXENsDmwb6mJJFWad/IkSZKaqxu4GvgDsDbwM4pRNiWpKbyTJ0mS1FzXAw8C19Wt6ygpi6Q2YJEn\nSZLUZJn5f8rOIKl9WORJkiQ11zURsR9wMzBv4crMfLq8SJKqzCJPkiSpuVYGjgRerFvXA6xfThxJ\nVWeRJ0mS1FyfBd6TmW+UHURSe3B0TUmSpOb6PbBq2SEktQ/v5EmSJDVXD/BIRDwMvLlwZWZuW14k\nSVVmkSdJktRcP+jPzhHRCZwBbAz8FdgvM2fWbf8a8MXa4vWZeWyjgkqqBos8SZKkJsrMW/v5ll2A\nEZm5eUSMA04BdgaIiPWBLwFjgQXAHRFxdWY+2MjMklqbz+RJkiQNLlsBvwLIzHuATeu2PQP8c2bO\nz8weYBgwZ+AjShrMvJMnqS1FxFjghMwcHxGbANcBj9c2n5mZ0yLiGGAninmtJmXmfSXFldReVgJe\nqVueHxFDM3NeZs4FXoyIDuAk4P7MfKwvB+3u7m5C1GrxO2oMv8fGWJ7v0SJPUtuJiMOBPYHXaqu6\ngFMz85S6fT4KbE3RJWoMcBWw2QBHldSeZgGj6pY7M/OtSdQjYgTwY2A28NW+HrSrq2vJG6fN6HfI\nKur1O+qLB6c2JkiLW97v8foG5Wh1S/seeysC7a4pqR09Aexat9wF7BQRt0XE+RExiqK71E2Z2ZOZ\nTwNDI2L1MsJKajt3AjsC1J7Je2jhhtodvJ8D/5WZ/5qZ88uJKGkw806epLaTmVdFxLp1q+4DzsvM\n7oj4FnAM8DLwUt0+s4GVgRd6O3ardVFptbxadv5bt5Srge0j4i6gA5gQEYcCM4EhFL0M3hURn6zt\nf1Rm3l1OVEmDkUWeJMHVmfnywtfAFIor5fXdpUZRFH696ncXlZK7SC131yT1nf/WLamM4jgzFwAH\nLLK6/he5Y3RAAAAQoklEQVRoxADGkdSC7K4pSXBjRHys9voTQDdFd6kdIqIzItameCbmxdISSpIk\n9ZF38iQJDgSmRMRc4Dlg/8ycFRG3A3dTXBCbWGZASZKkvrLIk9SWMvNJYFzt9e+ALRezz2Rg8kDm\nkiRJWl5215QkSZKkCrHIkyRJkqQKaUp3zYgYRjFJ57rAu4DvA48AFwI9wMPAxMxcEBHHADsB84BJ\nmXlfMzJJkiRJUjto1p28LwMvZebHgX8GfgScChxdW9cB7BwRH6WY62Us8EXg9CblkSRJkqS20Kwi\n76fAt2uvOyju0nUBt9bW3QBsB2wF3JSZPZn5NDA0IlZvUiZJkiRJqrymFHmZ+Wpmzo6IUcCVwNFA\nR2b21HaZDawMrAS8UvfWheslSZIkScugaVMoRMQY4GrgjMy8NCJOrNs8CngZmFV7vej6peru7m5U\n1MryO5IkSZLaT7MGXlkDuAk4KDN/XVt9f0SMz8zpwCeBW4CZwIkRcTKwFtCZmS/25TO6urqWvHHa\njGUPXyG9fkfSIONFCUmSpMZo1p28bwKrAt+OiIXP5h0C/DAihgOPAldm5vyIuB24m6Lr6MQm5ZEk\nSZKkttCUIi8zD6Eo6ha19WL2nQxMbkYOSZIkSWo3ToYuSZIkSRVikSdJkiRJFWKRJ0mSJEkVYpEn\nSZIkSRVikSdJkiRJFWKRJ0mSJEkVYpEnSZIkSRVikSdJkiRJFdKUydBVDftcsLj57NvPhRNOKzuC\nJEmS1GfeyZMkSZKkCrHIkyRJkqQKsciTJEmSpArxmTxJbSkixgInZOb4iPgAcCHQAzwMTMzMBRFx\nDLATMA+YlJn3lRZYkiSpj7yTJ6ntRMThwHnAiNqqU4GjM/PjQAewc0R8FNgaGAt8ETi9jKySJEn9\nZZEnqR09Aexat9wF3Fp7fQOwHbAVcFNm9mTm08DQiFh9YGNKkiT1n901JbWdzLwqItatW9WRmT21\n17OBlYGVgJfq9lm4/oXejt3d3d3ApM3Xanm17Py3lqT2YZEnSbCg7vUo4GVgVu31out71dXV1b9P\nnjajf/s3WL/zatn5b92SLI4ltSK7a0oS3B8R42uvPwncDtwJ7BARnRGxNtCZmS+WFVCSJKmvvJMn\nSfB14NyIGA48ClyZmfMj4nbgbooLYhPLDChJktRXFnmS2lJmPgmMq71+jGIkzUX3mQxMHshcA22f\nCw4pOwIXTjit7AiSJFWK3TUlSZIkqUIs8iRJkiSpQizyJEmSJKlCLPIkSZIkqUIs8iRJkiSpQizy\nJEmSJKlCnEJBkiRpEImITuAMYGPgr8B+mTlzkX1WB+4EPpyZcwY+paTBzDt5kiRJg8suwIjM3Bw4\nEjilfmNE7ADcBPxtCdkktQCLPEmSpMFlK+BXAJl5D7DpItsXANsBfxngXJJahN01JUmSBpeVgFfq\nludHxNDMnAeQmf8/QET066Dd3d0NC1hVfkeN4ffYGMvzPVrkSZLUBva54JCyI3DhhNPKjtAqZgGj\n6pY7FxZ4y6Orq2vJG6fNWN7DV0Kv31FfPDi1MUFa3PJ+j9c3KEerW9r32FsRaHdNSZKkweVOYEeA\niBgHPFRuHEmtpql38iJiLHBCZo6PiA8AFwI9wMPAxMxcEBHHADsB84BJmXlfMzNJkiQNclcD20fE\nXUAHMCEiDgVmZua15UaT1AqaVuRFxOHAnsBrtVWnAkdn5vSIOAvYOSKeArYGxgJjgKuAzZqVSZIk\nabDLzAXAAYusfkd/ysxcd0ACSWo5zeyu+QSwa91yF3Br7fUNFKNCbQXclJk9mfk0MLQ274skSZIk\naRk0rcjLzKuAuXWrOjKzp/Z6NrAy7xw9auF6SZIkSdIyGMjRNRfUvR4FvMw7R49auH6pHJp16fyO\nGsPvUZIkSa1kIIu8+yNifGZOBz4J3ALMBE6MiJOBtSiGCH6xLwdzGOClcxjgxlju71F9YjEtSZLU\nGANZ5H0dODcihgOPAldm5vyIuB24m6Lr6MQBzCNJkiRJldPUIi8znwTG1V4/RjGS5qL7TAYmNzOH\nJEmSJLULJ0OXJEmSpAqxyJMkSZKkChnIZ/IkaVCLiN9RjPoL8AfgbOA0YB7FnJ7HlpVNkiSpryzy\nJAmIiBEU83mOr1v3APBZ4PfALyNik8y8v6SIkiRJfWKRJ0mFjYEVIuImirZxMvCuzHwCICJuBLYD\nLPIkSdKgZpEnNdn1e00oO8KgsOPUC8qOsDSvAycD5wEbADcAL9dtnw2sv7SDON9f//mdtQ//rSVp\nYFjkSVLhMWBmZvYAj0XEK8Douu2jeHvRt1hdXV39+9RpM/q3fwX1+ztrVf5bt+S/tYWppFZkkSdJ\nhX2BfwC+GhFrAisAr0XE+ymeydsBcOAVaTkMhp4NLdCrQJKWm0WeJBXOBy6MiDuAHoqibwHwE2AI\nxeia95aYT5IkqU8s8iQJyMw3gT0Ws2ncQGeRJElaHk6GLkmSJEkVYpEnSZIkSRVikSdJkiRJFWKR\nJ0mSJEkVYpEnSZIkSRVikSdJkiRJFWKRJ0mSJEkVYpEnSZIkSRXiZOiSpFJdv9eEsiOw49QLyo4g\nSVLDeCdPkiRJkirEIk+SJEmSKsQiT5IkSZIqxCJPkiRJkirEIk+SJEmSKsQiT5IkSZIqxCJPkiRJ\nkirEIk+SJEmSKsQiT5IkSZIqxCJPkiRJkirEIk+SJEmSKsQiT5IkSZIqxCJPkiRJkipkaNkBACKi\nEzgD2Bj4K7BfZs4sN5WkdmfbJKkMS2t7IuIrwL8C84DvZ+Z1pQSVNGgNljt5uwAjMnNz4EjglJLz\nSBLYNkkqxxLbnoj4W+DfgC2BHYDjIuJdpaSUNGgNliJvK+BXAJl5D7BpuXEkCbBtklSO3tqejwF3\nZuZfM/MVYCbw4YGPKGkwGyxF3krAK3XL8yNiUHQlldTWbJsklaG3tmfRbbOBlQcqmKTW0NHT01N2\nBiLiVOCezLyitvzHzFxrSft3d3eXH1pSw3V1dXWUnaGebZMkGPi2qbe2JyL+BfjnzPxqbflq4AeZ\n+dvejmn7JFXTktqnwXJF+k7g08AVETEOeKi3nQfbiaCkyrJtklSG3tqe+4AfRMQI4F3AhsDDSzug\n7ZPUXgZLkXc1sH1E3AV0ABNKziNJYNskqRzvaHsi4lBgZmZeGxE/BG6neOzmW5k5p8SskgahQdFd\nU5IkSZLUGINl4BVJkiRJUgNY5EmSJElShVjkSZIkSVKFDJaBVyojIo4EtgOGAQuAb2Rmd7mpWk9E\nfAg4EVgBGAlcD0zOTB8i7YeI6AKOo/geO4FbgGMz881Sg6kyImIscEJmji87i5ojIjqBM4CNgb8C\n+2XmzHJTqUo8d2oMz52WX5XOm7yT10AR8ffAvwDbZ+bWwNeAH5ebqvVExCrA5cCkzNwGGAf8A/Cv\npQZrMRGxFnAJcFBmbgVsSXGC9u+lBlNlRMThwHnAiLKzqKl2AUZk5ubAkcApJedRhXju1BieOy2/\nqp03WeQ11ivA2sC+EfG+zHwA+FjJmVrRzsDNmfk4QGbOB/bCRr+/9gLOy8zHAGpX8r4H7BgRf1Nq\nMlXFE8CuZYdQ020F/AogM+8BNi03jirGc6fG8Nxp+VXqvMkir4Ey878prkZtCdwdETOAT5WbqiWt\nCfy+fkVmvtqKt8pLtg7v/B57gOeBvy0lkSolM68C5padQ023EsWJ+ELzI8LHPdQQnjs1jOdOy69S\n500WeQ0UER8AZmXmvpm5NvBl4KyIGF1ytFbzFDCmfkVErBcR/1hSnlb1FLB+/YraszVrA38uJZGk\nVjQLGFW33JmZ88oKo2rx3KlhPHdafpU6b7LIa6wPAz+KiOG15ceAl4H55UVqSdcB/xwR7weIiGHA\nqcBGpaZqPRcD+0XEBhGxSkTcRPH81HWZ+VrJ2SS1jjuBHQEiYhzwULlxVDGeOzWG507Lr1LnTR09\nPQ6400gR8S1gN+BViiL6hMy8ptxUrac2utFJFN/hKOAXFKMb+QvbD7Xv8f+jGGVrBeA5im4Hh2bm\nX8rMpmqIiHWByzNzXNlZ1Bx1o2t+GOgAJmTmjHJTqUo8d2oMz52WX5XOmyzypDYTER8Gfp+Zr5ad\nRZIkaTBr1fMmizxJkiRJqhCfyZMkSZKkCrHIkyRJkqQKsciTJEmSpAqxyJMkSZKkChladgC1ttrw\n6Y8Bjyyy6dzMPL0P758OTM7M6cv4+RcC0zPzwmV47z7A+MzcZ1k+W1LriIjPAUdR/L/XCUzNzJOW\n85gHAGTmWct5nOksRzsoqXV43qSBYpGnRng2Mz9SdghJWpyIeB9wCvDRzHwpIkYCt0ZEZua1y3rc\n5S3uJLUtz5vUdBZ5apqIeI5iIs6PA3+imEz334C1gH0y89barvtHxKkUk+x+LTOn107KzgdWAd4L\nXJaZR9auIu0NrFY79sLPWgG4qbbf6RGxFzCJ4op9NzAxM+dExJ7A0cAs4CmKiVclVdtqwDCKiW1f\nysxXI2JvYE5EPElxZfrJiBhPcYV8fO1q+V+ADwE/Ad6TmQcBRMTJwLPASrXj/wX4u8VsPwc4HdgI\nGEIxwfNlEfEu4DxgU+DJWj5Jbc7zJjWSz+SpEdaMiAcW+fMPwBrAdZn5wdp+n8nMjwOTKRqShV7N\nzI9SNEIX106AdqdoeMYBHwa+GhELT4TWAjbJzG/WlocDPwOurDVUHwK+AmxRu1L2Z+AbEbEmcCLw\nj8DmwKhmfBmSBpfM/C/g58DvI+K+iDgBGJKZM5fy1gczM4CzgF0iYkhEdACfAy6r2+/yJWw/GujO\nzC6KdudbEbE+cHAt14YUJ3Dvb9gPK6kVeN6kpvNOnhphsd0OIgLghtriU8Adda9Xrdv1fIDMfDAi\nXgA+mJknR8Q2EfENiqvgw4EVa/v/LjPn1b3/e8ACYNfa8jbABsA9tQzDgd8BWwB3ZebztXyXAJ9Y\n1h9aUuvIzAMj4vvAPwE7ULQPX1rK2+6tvffPEfEARdvyJvBYZv6p1r70tn07YIWI2Ld2vBUp7gyO\nB86uvffxiLirgT+qpMHP8yY1nUWemioz36xbnLeE3erXdwBzI+IUYH3gUuAaYLvaNoA3Fnn/ZcBI\n4FjgMIpuUVdk5r8B1J6/GUrRMNXfvV5SHkkVEhE7ASMzcxpwAXBBRHwF+D9AD//btgxb5K31bc0l\nwBcoirhLFvMxi9s+BPhyZv6ulmMNiq6d+2NbJGkxPG9So9hdU4PBlwAiYlOKZ1weB7YHTsrMnwJj\ngPdRNEKL8wBwOPDliPgIMB34TES8p9Z16kyKbg53AOMi4n0R0UlxQiap+l4HjquNaketXfh74H7g\nRYq7awA793KMn1N0WdqBoptTX7bfDBxY+8z3Ag8CawP/CewREZ0RsQ7F1XJJ6ivPm7RU3slTI6xZ\n66pU77Z+vH9kRNwPzAf2yMy5EXEcRT/zl4Hngd8C6y3pAJn5l4g4EjgXGEdxdepmigsZ9wPH1x4g\nPpjiBOs13jl8saQKysxbIuJY4LqIWHi37kbgu8BdwJSIOKa2bknHeCMi7gRGZOY7Bh5YwvZjgTMi\n4mGKk63DM/OJiDiDojvVoxTdsB5uzE8qqUV43qSm6+jp6Sk7gyRJkiSpQeyuKUmSJEkVYpEnSZIk\nSRVikSdJkiRJFWKRJ0mSJEkVYpEnSZIkSRVikSdJkiRJFWKRJ0mSJEkVYpEnSZIkSRXy/wCkgxaw\nG6Iv7wAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10e2754d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot\n",
"sns.factorplot('Embarked','Survived', data=train, size=4, aspect=3)\n",
"fig, (axis1,axis2,axis3) = plt.subplots(1,3,figsize=(15,5))\n",
"sns.countplot(x='Embarked', data=train, ax=axis1)\n",
"sns.countplot(x='Survived', hue=\"Embarked\", data=train, order=[1,0], ax=axis2)\n",
"# group by embarked, and get the mean for survived passengers for each value in Embarked\n",
"embark_perc = train[[\"Embarked\", \"Survived\"]].groupby(['Embarked'],as_index=False).mean()\n",
"sns.barplot(x='Embarked', y='Survived', data=embark_perc,order=['S','C','Q'],ax=axis3)\n",
"#"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# Drop Embarked on both datasets\n",
"train.drop(['Embarked'], axis=1,inplace=True)\n",
"test.drop(['Embarked'], axis=1,inplace=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Fare"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10e275490>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nDwuPATfCfwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10e8ec4d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"train['Fare'].plot(kind='hist', figsize=(15,3), bins=100, xlim=(0,50))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x10ec1e550>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ec31150>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.boxplot(y=train['Fare'], x=train['Survived'])"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# Fill NA with mean\n",
"train['Fare'].fillna(train['Fare'].mean(), inplace=True)\n",
"test['Fare'].fillna(test['Fare'].mean(), inplace=True)\n",
"\n",
"# Convert Fare to int\n",
"train['Fare'] = train['Fare'].astype(int)\n",
"test['Fare'] = test['Fare'].astype(int)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Age"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.FacetGrid at 0x10ec69310>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ebf7d50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"facet = sns.FacetGrid(train, hue=\"Survived\",aspect=4)\n",
"facet.map(sns.kdeplot,'Age',shade= True)\n",
"facet.set(xlim=(0, train['Age'].max()))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"train.ix[np.isnan(train['Age']), 'Age'] = np.random.randint(\n",
" train['Age'].mean() - train['Age'].std(), # min = mean - std\n",
" train['Age'].mean() + train['Age'].std(), # max = mean + std\n",
" size=train['Age'].isnull().sum()\n",
")\n",
"\n",
"test.ix[np.isnan(test['Age']), 'Age'] = np.random.randint(\n",
" test['Age'].mean() - test['Age'].std(), # min = mean - std\n",
" test['Age'].mean() + test['Age'].std(), # max = mean + std\n",
" size=test['Age'].isnull().sum()\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# convert from float to int\n",
"train['Age'] = train['Age'].astype(int)\n",
"test['Age'] = test['Age'].astype(int)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Cabin"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# Cabin\n",
"# It has a lot of NaN values, so it won't cause a remarkable impact on prediction\n",
"train.drop(\"Cabin\", axis=1, inplace=True)\n",
"test.drop(\"Cabin\", axis=1, inplace=True)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Family"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# Family\n",
"\n",
"# Instead of having two columns Parch & SibSp, \n",
"# we can have only one column represent if the passenger had any family member aboard or not,\n",
"# Meaning, if having any family member(whether parent, brother, ...etc) will increase chances of Survival or not.\n",
"\n",
"train['Family'] = train[\"Parch\"] + train[\"SibSp\"]\n",
"train.ix[train['Family'] > 0, 'Family'] = 1\n",
"\n",
"test['Family'] = test[\"Parch\"] + test[\"SibSp\"]\n",
"test.ix[train['Family'] > 0, 'Family'] = 1\n",
"\n",
"# drop Parch & SibSp\n",
"train = train.drop(['SibSp','Parch'], axis=1)\n",
"test = test.drop(['SibSp','Parch'], axis=1)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Sex"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# As we see, children(age < ~16) on aboard seem to have a high chances for Survival.\n",
"# So, we can classify passengers as males, females, and child\n",
"\n",
"train['Person'] = train[['Age', 'Sex']].apply(lambda person: 'child' if person[0] < 16 else person[1], axis=1)\n",
"test['Person'] = test[['Age', 'Sex']].apply(lambda person: 'child' if person[0] < 16 else person[1], axis=1)\n",
"\n",
"person_dummies_train = pd.get_dummies(train['Person'])\n",
"person_dummies_train.columns = ['Child', 'Female', 'Male']\n",
"person_dummies_train.drop(['Male'], axis=1, inplace=True)\n",
"\n",
"person_dummies_test = pd.get_dummies(test['Person'])\n",
"person_dummies_test.columns = ['Child', 'Female', 'Male']\n",
"person_dummies_test.drop(['Male'], axis=1, inplace=True)\n",
"\n",
"train = train.join(person_dummies_train)\n",
"test = test.join(person_dummies_test)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# PClass"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"pclass_dummies_train = pd.get_dummies(train['Pclass'])\n",
"pclass_dummies_train.columns = ['Class_1', 'Class_2', 'Class_3']\n",
"pclass_dummies_train.drop(['Class_3'], axis=1, inplace=True)\n",
"\n",
"pclass_dummies_test = pd.get_dummies(test['Pclass'])\n",
"pclass_dummies_test.columns = ['Class_1', 'Class_2', 'Class_3']\n",
"pclass_dummies_test.drop(['Class_3'], axis=1, inplace=True)\n",
"\n",
"train.drop(['Pclass'], axis=1, inplace=True)\n",
"test.drop(['Pclass'], axis=1, inplace=True)\n",
"\n",
"train = train.join(pclass_dummies_train)\n",
"test = test.join(pclass_dummies_test)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{40: 0.95398428731762064, 60: 0.95622895622895621, 20: 0.95286195286195285, 80: 0.95622895622895621, 100: 0.95622895622895621}\n"
]
}
],
"source": [
"X_train = train.drop(['Name', 'Survived', 'Ticket', 'Sex', 'Person'], axis=1)\n",
"Y_train = train[\"Survived\"]\n",
"\n",
"# Support Vector Machines\n",
"\n",
"scores = {}\n",
"for n_estimators in range(20, 120, 20):\n",
" random_forest = RandomForestClassifier(n_estimators=n_estimators, n_jobs=-1)\n",
" random_forest.fit(X_train, Y_train)\n",
" scores[n_estimators] = random_forest.score(X_train, Y_train)\n",
" \n",
"print scores"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[('Age', 0.34223647477522834),\n",
" ('Fare', 0.2617901587704054),\n",
" ('Family', 0.026970050211907858),\n",
" ('Child', 0.026248402106460199),\n",
" ('Female', 0.24321443147905),\n",
" ('Class_1', 0.057277114107460732),\n",
" ('Class_2', 0.042263368549487347)]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Feature importances\n",
"zip(list(X_train.columns), list(random_forest.feature_importances_))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python2.7/site-packages/sklearn/cross_validation.py:44: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
" \"This module will be removed in 0.20.\", DeprecationWarning)\n",
"/usr/local/lib/python2.7/site-packages/sklearn/grid_search.py:43: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. This module will be removed in 0.20.\n",
" DeprecationWarning)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Score: 0.903479236813\n",
"Runs: 1\n",
"criterion: 'gini'\n",
"max_depth: 20\n",
"min_impurity_split: 0.06\n",
"min_samples_leaf: 2\n",
"min_samples_split: 2\n",
"n_estimators: 100\n"
]
}
],
"source": [
"from sklearn.grid_search import GridSearchCV\n",
"\n",
"clf = RandomForestClassifier()\n",
"\n",
"parameters = {\n",
" \"n_estimators\": [100],\n",
" \"criterion\": [\n",
" \"gini\",\n",
"# \"entropy\"\n",
" ],\n",
" \"max_depth\": [\n",
"# 5,\n",
"# 10,\n",
" 20,\n",
"# 40,\n",
"# 80,\n",
" ],\n",
" \"min_samples_split\": [\n",
" 2,\n",
"# 3,\n",
"# 6,\n",
"# 12,\n",
"# 24,\n",
"# 48,\n",
" ],\n",
" \"min_samples_leaf\": [\n",
" 2,\n",
"# 3,\n",
"# 6,\n",
"# 12,\n",
"# 24,\n",
"# 48,\n",
" ],\n",
" \"min_impurity_split\": [\n",
"# 0.0,\n",
"# 0.02,\n",
"# 0.04,\n",
" 0.06,\n",
"# 0.08,\n",
"# 0.1\n",
" ],\n",
"}\n",
"\n",
"gs_clf = GridSearchCV(clf, parameters, n_jobs=-1)\n",
"gs_clf.fit(X_train, Y_train)\n",
"\n",
"print \"Score:\", gs_clf.best_estimator_.score(X_train, Y_train)\n",
"print \"Runs: %s\" % len(gs_clf.grid_scores_)\n",
"for param_name in sorted(parameters.keys()):\n",
" print(\"%s: %r\" % (param_name, gs_clf.best_params_[param_name]))"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"X_test = test.drop([\"PassengerId\", \"Ticket\", \"Name\", \"Sex\", \"Person\"], axis=1).copy()\n",
"Y_pred = gs_clf.best_estimator_.predict(X_test)\n",
"submission = pd.DataFrame({\n",
" \"PassengerId\": test[\"PassengerId\"],\n",
" \"Survived\": Y_pred\n",
"})\n",
"submission.to_csv('submission.csv', index=False)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[22, 7, 1, 0, 0, 0],\n",
" [38, 71, 1, 1, 1, 0],\n",
" [26, 7, 0, 1, 0, 0],\n",
" ..., \n",
" [23, 23, 1, 1, 0, 0],\n",
" [26, 30, 0, 0, 1, 0],\n",
" [32, 7, 0, 0, 0, 0]])"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.feature_selection import VarianceThreshold\n",
"#X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]\n",
"sel = VarianceThreshold(threshold=(.8 * (1 - .8)))\n",
"sel.fit_transform(X_train)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Age</th>\n",
" <th>Fare</th>\n",
" <th>Family</th>\n",
" <th>Child</th>\n",
" <th>Female</th>\n",
" <th>Class_1</th>\n",
" <th>Class_2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Age</th>\n",
" <td>1.000000</td>\n",
" <td>0.101548</td>\n",
" <td>-0.174403</td>\n",
" <td>-0.555812</td>\n",
" <td>0.106947</td>\n",
" <td>0.319414</td>\n",
" <td>0.003980</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fare</th>\n",
" <td>0.101548</td>\n",
" <td>1.000000</td>\n",
" <td>0.272355</td>\n",
" <td>-0.006276</td>\n",
" <td>0.191725</td>\n",
" <td>0.591693</td>\n",
" <td>-0.116346</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Family</th>\n",
" <td>-0.174403</td>\n",
" <td>0.272355</td>\n",
" <td>1.000000</td>\n",
" <td>0.336737</td>\n",
" <td>0.208248</td>\n",
" <td>0.113364</td>\n",
" <td>0.039070</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Child</th>\n",
" <td>-0.555812</td>\n",
" <td>-0.006276</td>\n",
" <td>0.336737</td>\n",
" <td>1.000000</td>\n",
" <td>-0.221025</td>\n",
" <td>-0.137473</td>\n",
" <td>0.003810</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Female</th>\n",
" <td>0.106947</td>\n",
" <td>0.191725</td>\n",
" <td>0.208248</td>\n",
" <td>-0.221025</td>\n",
" <td>1.000000</td>\n",
" <td>0.145574</td>\n",
" <td>0.061792</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Class_1</th>\n",
" <td>0.319414</td>\n",
" <td>0.591693</td>\n",
" <td>0.113364</td>\n",
" <td>-0.137473</td>\n",
" <td>0.145574</td>\n",
" <td>1.000000</td>\n",
" <td>-0.288585</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Class_2</th>\n",
" <td>0.003980</td>\n",
" <td>-0.116346</td>\n",
" <td>0.039070</td>\n",
" <td>0.003810</td>\n",
" <td>0.061792</td>\n",
" <td>-0.288585</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Age Fare Family Child Female Class_1 Class_2\n",
"Age 1.000000 0.101548 -0.174403 -0.555812 0.106947 0.319414 0.003980\n",
"Fare 0.101548 1.000000 0.272355 -0.006276 0.191725 0.591693 -0.116346\n",
"Family -0.174403 0.272355 1.000000 0.336737 0.208248 0.113364 0.039070\n",
"Child -0.555812 -0.006276 0.336737 1.000000 -0.221025 -0.137473 0.003810\n",
"Female 0.106947 0.191725 0.208248 -0.221025 1.000000 0.145574 0.061792\n",
"Class_1 0.319414 0.591693 0.113364 -0.137473 0.145574 1.000000 -0.288585\n",
"Class_2 0.003980 -0.116346 0.039070 0.003810 0.061792 -0.288585 1.000000"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train.corr()"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 7, 0, 0],\n",
" [71, 1, 1],\n",
" [ 7, 1, 0],\n",
" ..., \n",
" [23, 1, 0],\n",
" [30, 0, 1],\n",
" [ 7, 0, 0]])"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.datasets import load_iris\n",
"from sklearn.feature_selection import SelectKBest\n",
"from sklearn.feature_selection import chi2\n",
"\n",
"s = SelectKBest(chi2, k=3)\n",
"\n",
"s.fit_transform(X_train, Y_train)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Index([u'Fare', u'Female'], dtype='object')\n"
]
}
],
"source": [
"print X_train.columns[s.get_support()]"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[('Age', 18.486496937438609), ('Fare', 4585.9624210323427), ('Family', 22.209338120238083), ('Child', 11.220880069025029), ('Female', 157.74150129421918), ('Class_1', 55.175150992234691), ('Class_2', 6.1607668717410107)]"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#from IPython.display import display\n",
"zip(list(X_train.columns), list(s.scores_))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.13"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment