Skip to content

Instantly share code, notes, and snippets.

@baranovxyz
Forked from ermakovpetr/titanik.ipynb
Created October 20, 2017 10:58
Show Gist options
  • Save baranovxyz/df76e18dbe55f3e33f6a6b2625266495 to your computer and use it in GitHub Desktop.
Save baranovxyz/df76e18dbe55f3e33f6a6b2625266495 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{"nbformat_minor": 0, "cells": [{"source": "\u0412 \u0437\u0430\u0434\u0430\u0447\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c, \u0443\u0442\u043e\u043d\u0435\u0442 \u043b\u0438 \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u0435\u043b\u044c \u0422\u0438\u0442\u0430\u043d\u0438\u043a\u0430 \u0438\u043b\u0438 \u043d\u0435\u0442 \u043f\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u044e (\u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u043e\u0440\u043e\u0448\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445) \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432.\n\ntrain.csv \u2014 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u044c (\u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0430\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0430)<br>\ntest.csv \u2014 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043c\u043e\u0434\u0435\u043b\u0438\n\n\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438\n\nPassengerId \u2014 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430<br>\nSurvival \u2014 \u043f\u043e\u043b\u0435 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0441\u043f\u0430\u0441\u0441\u044f \u0447\u0435\u043b\u043e\u0432\u0435\u043a (1) \u0438\u043b\u0438 \u043d\u0435\u0442 (0)<br>\nPclass \u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u043e-\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 (\u0432\u044b\u0441\u043e\u043a\u0438\u0439, \u0441\u0440\u0435\u0434\u043d\u0438\u0439, \u043d\u0438\u0437\u043a\u0438\u0439)<br>\nName \u2014 \u0438\u043c\u044f \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430<br>\nSex \u2014 \u043f\u043e\u043b \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430<br>\nAge \u2014 \u0432\u043e\u0437\u0440\u0430\u0441\u0442<br>\nSibSp \u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 2-\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 (\u043c\u0443\u0436, \u0436\u0435\u043d\u0430, \u0431\u0440\u0430\u0442\u044c\u044f, \u0441\u0435\u0442\u0440\u044b)<br>\nParch \u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u0431\u043e\u0440\u0442\u0443 1-\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 (\u043c\u0430\u0442\u044c, \u043e\u0442\u0435\u0446, \u0434\u0435\u0442\u0438)<br>\nTicket \u2014 \u043d\u043e\u043c\u0435\u0440 \u0431\u0438\u043b\u0435\u0442\u0430<br>\nFare \u2014 \u0446\u0435\u043d\u0430 \u0431\u0438\u043b\u0435\u0442\u0430<br>\nCabin \u2014 \u043a\u0430\u044e\u0442\u0430<br>\nEmbarked \u2014 \u043f\u043e\u0440\u0442 \u043f\u043e\u0441\u0430\u0434\u043a\u0438 (C \u2014 Cherbourg, Q \u2014 Queenstown, S \u2014 Southampton)<br>\n\n\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Pandas \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435", "cell_type": "markdown", "metadata": {}}, {"execution_count": 193, "cell_type": "code", "source": "import pandas as pd\n\ntrain = pd.read_csv('train.csv')\ntest = pd.read_csv('test.csv')", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 194, "cell_type": "code", "source": "train.head(10)", "outputs": [{"execution_count": 194, "output_type": "execute_result", "data": {"text/plain": " PassengerId Survived Pclass \\\n0 1 0 3 \n1 2 1 1 \n2 3 1 3 \n3 4 1 1 \n4 5 0 3 \n5 6 0 3 \n6 7 0 1 \n7 8 0 3 \n8 9 1 3 \n9 10 1 2 \n\n Name Sex Age SibSp \\\n0 Braund, Mr. Owen Harris male 22 1 \n1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n2 Heikkinen, Miss. Laina female 26 0 \n3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 \n4 Allen, Mr. William Henry male 35 0 \n5 Moran, Mr. James male NaN 0 \n6 McCarthy, Mr. Timothy J male 54 0 \n7 Palsson, Master. Gosta Leonard male 2 3 \n8 Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg) female 27 0 \n9 Nasser, Mrs. Nicholas (Adele Achem) female 14 1 \n\n Parch Ticket Fare Cabin Embarked \n0 0 A/5 21171 7.2500 NaN S \n1 0 PC 17599 71.2833 C85 C \n2 0 STON/O2. 3101282 7.9250 NaN S \n3 0 113803 53.1000 C123 S \n4 0 373450 8.0500 NaN S \n5 0 330877 8.4583 NaN Q \n6 0 17463 51.8625 E46 S \n7 1 349909 21.0750 NaN S \n8 2 347742 11.1333 NaN S \n9 0 237736 30.0708 NaN C ", "text/html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\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</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</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</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</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</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 <tr>\n <th>5</th>\n <td> 6</td>\n <td> 0</td>\n <td> 3</td>\n <td> Moran, Mr. James</td>\n <td> male</td>\n <td>NaN</td>\n <td> 0</td>\n <td> 0</td>\n <td> 330877</td>\n <td> 8.4583</td>\n <td> NaN</td>\n <td> Q</td>\n </tr>\n <tr>\n <th>6</th>\n <td> 7</td>\n <td> 0</td>\n <td> 1</td>\n <td> McCarthy, Mr. Timothy J</td>\n <td> male</td>\n <td> 54</td>\n <td> 0</td>\n <td> 0</td>\n <td> 17463</td>\n <td> 51.8625</td>\n <td> E46</td>\n <td> S</td>\n </tr>\n <tr>\n <th>7</th>\n <td> 8</td>\n <td> 0</td>\n <td> 3</td>\n <td> Palsson, Master. Gosta Leonard</td>\n <td> male</td>\n <td> 2</td>\n <td> 3</td>\n <td> 1</td>\n <td> 349909</td>\n <td> 21.0750</td>\n <td> NaN</td>\n <td> S</td>\n </tr>\n <tr>\n <th>8</th>\n <td> 9</td>\n <td> 1</td>\n <td> 3</td>\n <td> Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)</td>\n <td> female</td>\n <td> 27</td>\n <td> 0</td>\n <td> 2</td>\n <td> 347742</td>\n <td> 11.1333</td>\n <td> NaN</td>\n <td> S</td>\n </tr>\n <tr>\n <th>9</th>\n <td> 10</td>\n <td> 1</td>\n <td> 2</td>\n <td> Nasser, Mrs. Nicholas (Adele Achem)</td>\n <td> female</td>\n <td> 14</td>\n <td> 1</td>\n <td> 0</td>\n <td> 237736</td>\n <td> 30.0708</td>\n <td> NaN</td>\n <td> C</td>\n </tr>\n </tbody>\n</table>\n</div>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 195, "cell_type": "code", "source": "train.info()", "outputs": [{"output_type": "stream", "name": "stdout", "text": "<class 'pandas.core.frame.DataFrame'>\nInt64Index: 891 entries, 0 to 890\nData columns (total 12 columns):\nPassengerId 891 non-null int64\nSurvived 891 non-null int64\nPclass 891 non-null int64\nName 891 non-null object\nSex 891 non-null object\nAge 714 non-null float64\nSibSp 891 non-null int64\nParch 891 non-null int64\nTicket 891 non-null object\nFare 891 non-null float64\nCabin 204 non-null object\nEmbarked 889 non-null object\ndtypes: float64(2), int64(5), object(5)\nmemory usage: 90.5+ KB\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 196, "cell_type": "code", "source": "train.describe()", "outputs": [{"execution_count": 196, "output_type": "execute_result", "data": {"text/plain": " PassengerId Survived Pclass Age SibSp \\\ncount 891.000000 891.000000 891.000000 714.000000 891.000000 \nmean 446.000000 0.383838 2.308642 29.699118 0.523008 \nstd 257.353842 0.486592 0.836071 14.526497 1.102743 \nmin 1.000000 0.000000 1.000000 0.420000 0.000000 \n25% 223.500000 0.000000 2.000000 20.125000 0.000000 \n50% 446.000000 0.000000 3.000000 28.000000 0.000000 \n75% 668.500000 1.000000 3.000000 38.000000 1.000000 \nmax 891.000000 1.000000 3.000000 80.000000 8.000000 \n\n Parch Fare \ncount 891.000000 891.000000 \nmean 0.381594 32.204208 \nstd 0.806057 49.693429 \nmin 0.000000 0.000000 \n25% 0.000000 7.910400 \n50% 0.000000 14.454200 \n75% 0.000000 31.000000 \nmax 6.000000 512.329200 ", "text/html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\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>Age</th>\n <th>SibSp</th>\n <th>Parch</th>\n <th>Fare</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td> 891.000000</td>\n <td> 891.000000</td>\n <td> 891.000000</td>\n <td> 714.000000</td>\n <td> 891.000000</td>\n <td> 891.000000</td>\n <td> 891.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td> 446.000000</td>\n <td> 0.383838</td>\n <td> 2.308642</td>\n <td> 29.699118</td>\n <td> 0.523008</td>\n <td> 0.381594</td>\n <td> 32.204208</td>\n </tr>\n <tr>\n <th>std</th>\n <td> 257.353842</td>\n <td> 0.486592</td>\n <td> 0.836071</td>\n <td> 14.526497</td>\n <td> 1.102743</td>\n <td> 0.806057</td>\n <td> 49.693429</td>\n </tr>\n <tr>\n <th>min</th>\n <td> 1.000000</td>\n <td> 0.000000</td>\n <td> 1.000000</td>\n <td> 0.420000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td> 223.500000</td>\n <td> 0.000000</td>\n <td> 2.000000</td>\n <td> 20.125000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n <td> 7.910400</td>\n </tr>\n <tr>\n <th>50%</th>\n <td> 446.000000</td>\n <td> 0.000000</td>\n <td> 3.000000</td>\n <td> 28.000000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n <td> 14.454200</td>\n </tr>\n <tr>\n <th>75%</th>\n <td> 668.500000</td>\n <td> 1.000000</td>\n <td> 3.000000</td>\n <td> 38.000000</td>\n <td> 1.000000</td>\n <td> 0.000000</td>\n <td> 31.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td> 891.000000</td>\n <td> 1.000000</td>\n <td> 3.000000</td>\n <td> 80.000000</td>\n <td> 8.000000</td>\n <td> 6.000000</td>\n <td> 512.329200</td>\n </tr>\n </tbody>\n</table>\n</div>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u0447\u0435\u043c \u0432\u044b\u0448\u0435 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u0430\u0442\u0443\u0441, \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u043f\u0430\u0441\u0435\u043d\u0438\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u044d\u0442\u043e \u0442\u0430\u043a. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u0432\u043e\u0434\u043d\u0443\u044e. ", "cell_type": "markdown", "metadata": {}}, {"execution_count": 197, "cell_type": "code", "source": "%matplotlib inline\nimport matplotlib.pyplot as plt\n\ntrain.pivot_table('PassengerId', 'Pclass', 'Survived', 'count').plot(kind='bar', stacked=True)", "outputs": [{"execution_count": 197, "output_type": "execute_result", "data": {"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x10c651a10>"}, "metadata": {}}, {"output_type": "display_data", "data": {"image/png": "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\nTkSuQmCC\n", "text/plain": "<matplotlib.figure.Figure at 0x10c651990>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0432\u043b\u0438\u044f\u0435\u0442 \u043a\u043e\u043b-\u0432\u043e \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0442\u0430\u043a\u0436\u0435 \u0441\u0432\u043e\u0434\u043d\u044b\u0435:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 198, "cell_type": "code", "source": "fig, axes = plt.subplots(ncols=2)\ntrain.pivot_table('PassengerId', ['SibSp'], 'Survived', 'count').plot(ax=axes[0], title='SibSp')\ntrain.pivot_table('PassengerId', ['Parch'], 'Survived', 'count').plot(ax=axes[1], title='Parch')", "outputs": [{"execution_count": 198, "output_type": "execute_result", "data": {"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x10c8369d0>"}, "metadata": {}}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": "<matplotlib.figure.Figure at 0x10c659150>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c, \u0432\u0441\u0435 \u043b\u0438 \u0445\u043e\u0440\u043e\u0448\u043e \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0435\u0441\u0442\u044c \u043b\u0438 \u0432 \u043d\u0438\u0445 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438. \u041e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c info() \u0438 describe()", "cell_type": "markdown", "metadata": {}}, {"execution_count": 199, "cell_type": "code", "source": "train.info()", "outputs": [{"output_type": "stream", "name": "stdout", "text": "<class 'pandas.core.frame.DataFrame'>\nInt64Index: 891 entries, 0 to 890\nData columns (total 12 columns):\nPassengerId 891 non-null int64\nSurvived 891 non-null int64\nPclass 891 non-null int64\nName 891 non-null object\nSex 891 non-null object\nAge 714 non-null float64\nSibSp 891 non-null int64\nParch 891 non-null int64\nTicket 891 non-null object\nFare 891 non-null float64\nCabin 204 non-null object\nEmbarked 889 non-null object\ndtypes: float64(2), int64(5), object(5)\nmemory usage: 90.5+ KB\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 200, "cell_type": "code", "source": "train.describe()", "outputs": [{"execution_count": 200, "output_type": "execute_result", "data": {"text/plain": " PassengerId Survived Pclass Age SibSp \\\ncount 891.000000 891.000000 891.000000 714.000000 891.000000 \nmean 446.000000 0.383838 2.308642 29.699118 0.523008 \nstd 257.353842 0.486592 0.836071 14.526497 1.102743 \nmin 1.000000 0.000000 1.000000 0.420000 0.000000 \n25% 223.500000 0.000000 2.000000 20.125000 0.000000 \n50% 446.000000 0.000000 3.000000 28.000000 0.000000 \n75% 668.500000 1.000000 3.000000 38.000000 1.000000 \nmax 891.000000 1.000000 3.000000 80.000000 8.000000 \n\n Parch Fare \ncount 891.000000 891.000000 \nmean 0.381594 32.204208 \nstd 0.806057 49.693429 \nmin 0.000000 0.000000 \n25% 0.000000 7.910400 \n50% 0.000000 14.454200 \n75% 0.000000 31.000000 \nmax 6.000000 512.329200 ", "text/html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\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>Age</th>\n <th>SibSp</th>\n <th>Parch</th>\n <th>Fare</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td> 891.000000</td>\n <td> 891.000000</td>\n <td> 891.000000</td>\n <td> 714.000000</td>\n <td> 891.000000</td>\n <td> 891.000000</td>\n <td> 891.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td> 446.000000</td>\n <td> 0.383838</td>\n <td> 2.308642</td>\n <td> 29.699118</td>\n <td> 0.523008</td>\n <td> 0.381594</td>\n <td> 32.204208</td>\n </tr>\n <tr>\n <th>std</th>\n <td> 257.353842</td>\n <td> 0.486592</td>\n <td> 0.836071</td>\n <td> 14.526497</td>\n <td> 1.102743</td>\n <td> 0.806057</td>\n <td> 49.693429</td>\n </tr>\n <tr>\n <th>min</th>\n <td> 1.000000</td>\n <td> 0.000000</td>\n <td> 1.000000</td>\n <td> 0.420000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td> 223.500000</td>\n <td> 0.000000</td>\n <td> 2.000000</td>\n <td> 20.125000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n <td> 7.910400</td>\n </tr>\n <tr>\n <th>50%</th>\n <td> 446.000000</td>\n <td> 0.000000</td>\n <td> 3.000000</td>\n <td> 28.000000</td>\n <td> 0.000000</td>\n <td> 0.000000</td>\n <td> 14.454200</td>\n </tr>\n <tr>\n <th>75%</th>\n <td> 668.500000</td>\n <td> 1.000000</td>\n <td> 3.000000</td>\n <td> 38.000000</td>\n <td> 1.000000</td>\n <td> 0.000000</td>\n <td> 31.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td> 891.000000</td>\n <td> 1.000000</td>\n <td> 3.000000</td>\n <td> 80.000000</td>\n <td> 8.000000</td>\n <td> 6.000000</td>\n <td> 512.329200</td>\n </tr>\n </tbody>\n</table>\n</div>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 201, "cell_type": "code", "source": "train.groupby('Sex').median().Age.female, train.groupby('Sex').median().Age.male", "outputs": [{"execution_count": 201, "output_type": "execute_result", "data": {"text/plain": "(27.0, 29.0)"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0412\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043d\u043e\u043c\u0435\u0440\u0430 \u043a\u0430\u044e\u0442 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043e\u0447\u0435\u043d\u044c \u043f\u043b\u043e\u0445\u043e, \u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a-\u0442\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c: \u0435\u0441\u0442\u044c 2 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 - \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043c\u0435\u0434\u0438\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u043b\u0438 \u0436\u0435 \u043d\u0430\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u043e \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430\u043c. \u041f\u043e\u0441\u0442\u0443\u043f\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0443\u0442\u0435\u043c - \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u043c\u0435\u0434\u0438\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c", "cell_type": "markdown", "metadata": {}}, {"execution_count": 202, "cell_type": "code", "source": "#train[train.Sex=='female'].Age[train.Age.isnull()]\ntrain.Age[train.Age.isnull()] = train.median().Age", "outputs": [{"output_type": "stream", "name": "stderr", "text": "/Library/Python/2.7/site-packages/IPython/kernel/__main__.py:2: SettingWithCopyWarning: \nA value is trying to be set on a copy of a slice from a DataFrame\n\nSee the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n from IPython.kernel.zmq import kernelapp as app\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u041e\u0441\u0442\u0430\u043b\u0441\u044f \u0435\u0449\u0435 \u043f\u043e\u0440\u0442 \u043f\u043e\u0441\u0430\u0434\u043a\u0438 - \u0442\u0430\u043c \u0432\u0441\u0435\u0433\u043e 2 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043d\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u044b. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043c \u044d\u0442\u0438 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430\u043c \u043f\u043e\u0440\u0442 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u0435\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043b\u044e\u0434\u0435\u0439:", "cell_type": "markdown", "metadata": {}}, {"execution_count": 203, "cell_type": "code", "source": "MaxPassEmbarked = train.groupby('Embarked').count()['PassengerId']\ntrain.Embarked[train.Embarked.isnull()] = MaxPassEmbarked[MaxPassEmbarked == MaxPassEmbarked.max()].index[0]", "outputs": [{"output_type": "stream", "name": "stderr", "text": "/Library/Python/2.7/site-packages/IPython/kernel/__main__.py:2: SettingWithCopyWarning: \nA value is trying to be set on a copy of a slice from a DataFrame\n\nSee the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n from IPython.kernel.zmq import kernelapp as app\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0435\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435. \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c - \u0442.\u043a. \u043e\u043d\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u0448\u0443\u043c. <br>\n\u0423 \u043d\u0430\u0441 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c: \u0418\u043c\u044f (\u0438\u0437 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0442\u0430\u0449\u0438\u0442\u044c \u043f\u043e\u043b - \u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u043e\u043c), \u041d\u043e\u043c\u0435\u0440 \u0431\u0438\u043b\u0435\u0442\u0430 (\u0442\u0443\u0442 \u0440\u0430\u0434\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440), \u041d\u043e\u043c\u0435\u0440 \u043a\u0430\u044e\u0442\u044b (\u0442\u043e\u0436\u0435 \u0432 \u043d\u0443\u043c\u0435\u0440\u043e\u043b\u043e\u0433\u0438\u044e \u043d\u0435 \u0432\u0435\u0440\u0438\u043c) ", "cell_type": "markdown", "metadata": {}}, {"execution_count": 204, "cell_type": "code", "source": "train = train.drop(['PassengerId','Name','Ticket','Cabin'], axis=1)", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c", "cell_type": "markdown", "metadata": {}}, {"execution_count": 205, "cell_type": "code", "source": "train.head()", "outputs": [{"execution_count": 205, "output_type": "execute_result", "data": {"text/plain": " Survived Pclass Sex Age SibSp Parch Fare Embarked\n0 0 3 male 22 1 0 7.2500 S\n1 1 1 female 38 1 0 71.2833 C\n2 1 3 female 26 0 0 7.9250 S\n3 1 1 female 35 1 0 53.1000 S\n4 0 3 male 35 0 0 8.0500 S", "text/html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Survived</th>\n <th>Pclass</th>\n <th>Sex</th>\n <th>Age</th>\n <th>SibSp</th>\n <th>Parch</th>\n <th>Fare</th>\n <th>Embarked</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 0</td>\n <td> 3</td>\n <td> male</td>\n <td> 22</td>\n <td> 1</td>\n <td> 0</td>\n <td> 7.2500</td>\n <td> S</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 1</td>\n <td> 1</td>\n <td> female</td>\n <td> 38</td>\n <td> 1</td>\n <td> 0</td>\n <td> 71.2833</td>\n <td> C</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 1</td>\n <td> 3</td>\n <td> female</td>\n <td> 26</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.9250</td>\n <td> S</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 1</td>\n <td> 1</td>\n <td> female</td>\n <td> 35</td>\n <td> 1</td>\n <td> 0</td>\n <td> 53.1000</td>\n <td> S</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 0</td>\n <td> 3</td>\n <td> male</td>\n <td> 35</td>\n <td> 0</td>\n <td> 0</td>\n <td> 8.0500</td>\n <td> S</td>\n </tr>\n </tbody>\n</table>\n</div>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c? \u0418\u0445 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c - \u0432 sklearn \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443\u0436\u0435 \u0435\u0441\u0442\u044c LabelEncoder", "cell_type": "markdown", "metadata": {}}, {"execution_count": 206, "cell_type": "code", "source": "#from sklearn.preprocessing import LabelEncoder\n#label = LabelEncoder()\n#dicts = {}\n\n## \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043b \n#label.fit(train.Sex.drop_duplicates()) #\u0437\u0430\u0434\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\n#dicts['Sex'] = list(label.classes_)\n#train.Sex = label.transform(train.Sex) #\u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043a\u043e\u0434\u0430\u043c\u0438 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \n\n## \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u0440\u0442 \u043f\u043e\u0441\u0430\u0434\u043a\u0438\n#label.fit(train.Embarked.drop_duplicates())\n#dicts['Embarked'] = list(label.classes_)\n#train.Embarked = label.transform(train.Embarked)\n\ntrain = pd.get_dummies(train, ['Sex', 'Embarked'])", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 207, "cell_type": "code", "source": "train", "outputs": [{"execution_count": 207, "output_type": "execute_result", "data": {"text/plain": " Survived Pclass Age SibSp Parch Fare Sex_female Sex_male \\\n0 0 3 22 1 0 7.2500 0 1 \n1 1 1 38 1 0 71.2833 1 0 \n2 1 3 26 0 0 7.9250 1 0 \n3 1 1 35 1 0 53.1000 1 0 \n4 0 3 35 0 0 8.0500 0 1 \n5 0 3 28 0 0 8.4583 0 1 \n6 0 1 54 0 0 51.8625 0 1 \n7 0 3 2 3 1 21.0750 0 1 \n8 1 3 27 0 2 11.1333 1 0 \n9 1 2 14 1 0 30.0708 1 0 \n10 1 3 4 1 1 16.7000 1 0 \n11 1 1 58 0 0 26.5500 1 0 \n12 0 3 20 0 0 8.0500 0 1 \n13 0 3 39 1 5 31.2750 0 1 \n14 0 3 14 0 0 7.8542 1 0 \n15 1 2 55 0 0 16.0000 1 0 \n16 0 3 2 4 1 29.1250 0 1 \n17 1 2 28 0 0 13.0000 0 1 \n18 0 3 31 1 0 18.0000 1 0 \n19 1 3 28 0 0 7.2250 1 0 \n20 0 2 35 0 0 26.0000 0 1 \n21 1 2 34 0 0 13.0000 0 1 \n22 1 3 15 0 0 8.0292 1 0 \n23 1 1 28 0 0 35.5000 0 1 \n24 0 3 8 3 1 21.0750 1 0 \n25 1 3 38 1 5 31.3875 1 0 \n26 0 3 28 0 0 7.2250 0 1 \n27 0 1 19 3 2 263.0000 0 1 \n28 1 3 28 0 0 7.8792 1 0 \n29 0 3 28 0 0 7.8958 0 1 \n.. ... ... ... ... ... ... ... ... \n861 0 2 21 1 0 11.5000 0 1 \n862 1 1 48 0 0 25.9292 1 0 \n863 0 3 28 8 2 69.5500 1 0 \n864 0 2 24 0 0 13.0000 0 1 \n865 1 2 42 0 0 13.0000 1 0 \n866 1 2 27 1 0 13.8583 1 0 \n867 0 1 31 0 0 50.4958 0 1 \n868 0 3 28 0 0 9.5000 0 1 \n869 1 3 4 1 1 11.1333 0 1 \n870 0 3 26 0 0 7.8958 0 1 \n871 1 1 47 1 1 52.5542 1 0 \n872 0 1 33 0 0 5.0000 0 1 \n873 0 3 47 0 0 9.0000 0 1 \n874 1 2 28 1 0 24.0000 1 0 \n875 1 3 15 0 0 7.2250 1 0 \n876 0 3 20 0 0 9.8458 0 1 \n877 0 3 19 0 0 7.8958 0 1 \n878 0 3 28 0 0 7.8958 0 1 \n879 1 1 56 0 1 83.1583 1 0 \n880 1 2 25 0 1 26.0000 1 0 \n881 0 3 33 0 0 7.8958 0 1 \n882 0 3 22 0 0 10.5167 1 0 \n883 0 2 28 0 0 10.5000 0 1 \n884 0 3 25 0 0 7.0500 0 1 \n885 0 3 39 0 5 29.1250 1 0 \n886 0 2 27 0 0 13.0000 0 1 \n887 1 1 19 0 0 30.0000 1 0 \n888 0 3 28 1 2 23.4500 1 0 \n889 1 1 26 0 0 30.0000 0 1 \n890 0 3 32 0 0 7.7500 0 1 \n\n Embarked_C Embarked_Q Embarked_S \n0 0 0 1 \n1 1 0 0 \n2 0 0 1 \n3 0 0 1 \n4 0 0 1 \n5 0 1 0 \n6 0 0 1 \n7 0 0 1 \n8 0 0 1 \n9 1 0 0 \n10 0 0 1 \n11 0 0 1 \n12 0 0 1 \n13 0 0 1 \n14 0 0 1 \n15 0 0 1 \n16 0 1 0 \n17 0 0 1 \n18 0 0 1 \n19 1 0 0 \n20 0 0 1 \n21 0 0 1 \n22 0 1 0 \n23 0 0 1 \n24 0 0 1 \n25 0 0 1 \n26 1 0 0 \n27 0 0 1 \n28 0 1 0 \n29 0 0 1 \n.. ... ... ... \n861 0 0 1 \n862 0 0 1 \n863 0 0 1 \n864 0 0 1 \n865 0 0 1 \n866 1 0 0 \n867 0 0 1 \n868 0 0 1 \n869 0 0 1 \n870 0 0 1 \n871 0 0 1 \n872 0 0 1 \n873 0 0 1 \n874 1 0 0 \n875 1 0 0 \n876 0 0 1 \n877 0 0 1 \n878 0 0 1 \n879 1 0 0 \n880 0 0 1 \n881 0 0 1 \n882 0 0 1 \n883 0 0 1 \n884 0 0 1 \n885 0 1 0 \n886 0 0 1 \n887 0 0 1 \n888 0 0 1 \n889 1 0 0 \n890 0 1 0 \n\n[891 rows x 11 columns]", "text/html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Survived</th>\n <th>Pclass</th>\n <th>Age</th>\n <th>SibSp</th>\n <th>Parch</th>\n <th>Fare</th>\n <th>Sex_female</th>\n <th>Sex_male</th>\n <th>Embarked_C</th>\n <th>Embarked_Q</th>\n <th>Embarked_S</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 22</td>\n <td> 1</td>\n <td> 0</td>\n <td> 7.2500</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>1 </th>\n <td> 1</td>\n <td> 1</td>\n <td> 38</td>\n <td> 1</td>\n <td> 0</td>\n <td> 71.2833</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>2 </th>\n <td> 1</td>\n <td> 3</td>\n <td> 26</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.9250</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>3 </th>\n <td> 1</td>\n <td> 1</td>\n <td> 35</td>\n <td> 1</td>\n <td> 0</td>\n <td> 53.1000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>4 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 35</td>\n <td> 0</td>\n <td> 0</td>\n <td> 8.0500</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>5 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 8.4583</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>6 </th>\n <td> 0</td>\n <td> 1</td>\n <td> 54</td>\n <td> 0</td>\n <td> 0</td>\n <td> 51.8625</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>7 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 2</td>\n <td> 3</td>\n <td> 1</td>\n <td> 21.0750</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>8 </th>\n <td> 1</td>\n <td> 3</td>\n <td> 27</td>\n <td> 0</td>\n <td> 2</td>\n <td> 11.1333</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>9 </th>\n <td> 1</td>\n <td> 2</td>\n <td> 14</td>\n <td> 1</td>\n <td> 0</td>\n <td> 30.0708</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>10 </th>\n <td> 1</td>\n <td> 3</td>\n <td> 4</td>\n <td> 1</td>\n <td> 1</td>\n <td> 16.7000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>11 </th>\n <td> 1</td>\n <td> 1</td>\n <td> 58</td>\n <td> 0</td>\n <td> 0</td>\n <td> 26.5500</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>12 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 20</td>\n <td> 0</td>\n <td> 0</td>\n <td> 8.0500</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>13 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 39</td>\n <td> 1</td>\n <td> 5</td>\n <td> 31.2750</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>14 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 14</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8542</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>15 </th>\n <td> 1</td>\n <td> 2</td>\n <td> 55</td>\n <td> 0</td>\n <td> 0</td>\n <td> 16.0000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>16 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 2</td>\n <td> 4</td>\n <td> 1</td>\n <td> 29.1250</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>17 </th>\n <td> 1</td>\n <td> 2</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 13.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>18 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 31</td>\n <td> 1</td>\n <td> 0</td>\n <td> 18.0000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>19 </th>\n <td> 1</td>\n <td> 3</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.2250</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>20 </th>\n <td> 0</td>\n <td> 2</td>\n <td> 35</td>\n <td> 0</td>\n <td> 0</td>\n <td> 26.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>21 </th>\n <td> 1</td>\n <td> 2</td>\n <td> 34</td>\n <td> 0</td>\n <td> 0</td>\n <td> 13.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>22 </th>\n <td> 1</td>\n <td> 3</td>\n <td> 15</td>\n <td> 0</td>\n <td> 0</td>\n <td> 8.0292</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>23 </th>\n <td> 1</td>\n <td> 1</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 35.5000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>24 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 8</td>\n <td> 3</td>\n <td> 1</td>\n <td> 21.0750</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>25 </th>\n <td> 1</td>\n <td> 3</td>\n <td> 38</td>\n <td> 1</td>\n <td> 5</td>\n <td> 31.3875</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>26 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.2250</td>\n <td> 0</td>\n <td> 1</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>27 </th>\n <td> 0</td>\n <td> 1</td>\n <td> 19</td>\n <td> 3</td>\n <td> 2</td>\n <td> 263.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>28 </th>\n <td> 1</td>\n <td> 3</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8792</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>29 </th>\n <td> 0</td>\n <td> 3</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8958</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>861</th>\n <td> 0</td>\n <td> 2</td>\n <td> 21</td>\n <td> 1</td>\n <td> 0</td>\n <td> 11.5000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>862</th>\n <td> 1</td>\n <td> 1</td>\n <td> 48</td>\n <td> 0</td>\n <td> 0</td>\n <td> 25.9292</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>863</th>\n <td> 0</td>\n <td> 3</td>\n <td> 28</td>\n <td> 8</td>\n <td> 2</td>\n <td> 69.5500</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>864</th>\n <td> 0</td>\n <td> 2</td>\n <td> 24</td>\n <td> 0</td>\n <td> 0</td>\n <td> 13.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>865</th>\n <td> 1</td>\n <td> 2</td>\n <td> 42</td>\n <td> 0</td>\n <td> 0</td>\n <td> 13.0000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>866</th>\n <td> 1</td>\n <td> 2</td>\n <td> 27</td>\n <td> 1</td>\n <td> 0</td>\n <td> 13.8583</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>867</th>\n <td> 0</td>\n <td> 1</td>\n <td> 31</td>\n <td> 0</td>\n <td> 0</td>\n <td> 50.4958</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>868</th>\n <td> 0</td>\n <td> 3</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 9.5000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>869</th>\n <td> 1</td>\n <td> 3</td>\n <td> 4</td>\n <td> 1</td>\n <td> 1</td>\n <td> 11.1333</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>870</th>\n <td> 0</td>\n <td> 3</td>\n <td> 26</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8958</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>871</th>\n <td> 1</td>\n <td> 1</td>\n <td> 47</td>\n <td> 1</td>\n <td> 1</td>\n <td> 52.5542</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>872</th>\n <td> 0</td>\n <td> 1</td>\n <td> 33</td>\n <td> 0</td>\n <td> 0</td>\n <td> 5.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>873</th>\n <td> 0</td>\n <td> 3</td>\n <td> 47</td>\n <td> 0</td>\n <td> 0</td>\n <td> 9.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>874</th>\n <td> 1</td>\n <td> 2</td>\n <td> 28</td>\n <td> 1</td>\n <td> 0</td>\n <td> 24.0000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>875</th>\n <td> 1</td>\n <td> 3</td>\n <td> 15</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.2250</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>876</th>\n <td> 0</td>\n <td> 3</td>\n <td> 20</td>\n <td> 0</td>\n <td> 0</td>\n <td> 9.8458</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>877</th>\n <td> 0</td>\n <td> 3</td>\n <td> 19</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8958</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>878</th>\n <td> 0</td>\n <td> 3</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8958</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>879</th>\n <td> 1</td>\n <td> 1</td>\n <td> 56</td>\n <td> 0</td>\n <td> 1</td>\n <td> 83.1583</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>880</th>\n <td> 1</td>\n <td> 2</td>\n <td> 25</td>\n <td> 0</td>\n <td> 1</td>\n <td> 26.0000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>881</th>\n <td> 0</td>\n <td> 3</td>\n <td> 33</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8958</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>882</th>\n <td> 0</td>\n <td> 3</td>\n <td> 22</td>\n <td> 0</td>\n <td> 0</td>\n <td> 10.5167</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>883</th>\n <td> 0</td>\n <td> 2</td>\n <td> 28</td>\n <td> 0</td>\n <td> 0</td>\n <td> 10.5000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>884</th>\n <td> 0</td>\n <td> 3</td>\n <td> 25</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.0500</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>885</th>\n <td> 0</td>\n <td> 3</td>\n <td> 39</td>\n <td> 0</td>\n <td> 5</td>\n <td> 29.1250</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>886</th>\n <td> 0</td>\n <td> 2</td>\n <td> 27</td>\n <td> 0</td>\n <td> 0</td>\n <td> 13.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>887</th>\n <td> 1</td>\n <td> 1</td>\n <td> 19</td>\n <td> 0</td>\n <td> 0</td>\n <td> 30.0000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>888</th>\n <td> 0</td>\n <td> 3</td>\n <td> 28</td>\n <td> 1</td>\n <td> 2</td>\n <td> 23.4500</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>889</th>\n <td> 1</td>\n <td> 1</td>\n <td> 26</td>\n <td> 0</td>\n <td> 0</td>\n <td> 30.0000</td>\n <td> 0</td>\n <td> 1</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>890</th>\n <td> 0</td>\n <td> 3</td>\n <td> 32</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.7500</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n </tbody>\n</table>\n<p>891 rows \u00d7 11 columns</p>\n</div>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0422\u0435\u043f\u0435\u0440\u044c, \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 test.csv - \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0442\u0435 \u0436\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0435 \u0436\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043b\u0443\u0447\u0448\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e", "cell_type": "markdown", "metadata": {}}, {"execution_count": 208, "cell_type": "code", "source": "test.Age[test.Age.isnull()] = test.Age.mean()\ntest.Fare[test.Fare.isnull()] = test.Fare.median() #\u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0443\u0441\u0442\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0446\u0435\u043d\u043e\u0439 \u0431\u0438\u043b\u0435\u0442\u0430\n\nMaxPassEmbarked = test.groupby('Embarked').count()['PassengerId']\ntest.Embarked[test.Embarked.isnull()] = MaxPassEmbarked[MaxPassEmbarked == MaxPassEmbarked.max()].index[0]\n\nresult = pd.DataFrame(test.PassengerId)\n\ntest = test.drop(['Name','Ticket','Cabin','PassengerId'],axis=1)\n\ntest = pd.get_dummies(test, ['Sex', 'Embarked'])", "outputs": [{"output_type": "stream", "name": "stderr", "text": "/Library/Python/2.7/site-packages/IPython/kernel/__main__.py:1: SettingWithCopyWarning: \nA value is trying to be set on a copy of a slice from a DataFrame\n\nSee the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n if __name__ == '__main__':\n/Library/Python/2.7/site-packages/IPython/kernel/__main__.py:2: SettingWithCopyWarning: \nA value is trying to be set on a copy of a slice from a DataFrame\n\nSee the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n from IPython.kernel.zmq import kernelapp as app\n/Library/Python/2.7/site-packages/IPython/kernel/__main__.py:5: SettingWithCopyWarning: \nA value is trying to be set on a copy of a slice from a DataFrame\n\nSee the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n"}], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 209, "cell_type": "code", "source": "test.head()", "outputs": [{"execution_count": 209, "output_type": "execute_result", "data": {"text/plain": " Pclass Age SibSp Parch Fare Sex_female Sex_male Embarked_C \\\n0 3 34.5 0 0 7.8292 0 1 0 \n1 3 47.0 1 0 7.0000 1 0 0 \n2 2 62.0 0 0 9.6875 0 1 0 \n3 3 27.0 0 0 8.6625 0 1 0 \n4 3 22.0 1 1 12.2875 1 0 0 \n\n Embarked_Q Embarked_S \n0 1 0 \n1 0 1 \n2 1 0 \n3 0 1 \n4 0 1 ", "text/html": "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>Pclass</th>\n <th>Age</th>\n <th>SibSp</th>\n <th>Parch</th>\n <th>Fare</th>\n <th>Sex_female</th>\n <th>Sex_male</th>\n <th>Embarked_C</th>\n <th>Embarked_Q</th>\n <th>Embarked_S</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td> 3</td>\n <td> 34.5</td>\n <td> 0</td>\n <td> 0</td>\n <td> 7.8292</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>1</th>\n <td> 3</td>\n <td> 47.0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 7.0000</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>2</th>\n <td> 2</td>\n <td> 62.0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 9.6875</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n </tr>\n <tr>\n <th>3</th>\n <td> 3</td>\n <td> 27.0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 8.6625</td>\n <td> 0</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n <tr>\n <th>4</th>\n <td> 3</td>\n <td> 22.0</td>\n <td> 1</td>\n <td> 1</td>\n <td> 12.2875</td>\n <td> 1</td>\n <td> 0</td>\n <td> 0</td>\n <td> 0</td>\n <td> 1</td>\n </tr>\n </tbody>\n</table>\n</div>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0412\u0441\u0435, 80% \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438: \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u043e\u0431\u044c\u0435\u043a\u0442-\u043f\u0440\u0438\u0437\u043d\u0430\u043a, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \"\u0441\u043a\u0430\u0440\u043c\u043b\u0438\u0432\u0430\u0442\u044c\" \u043d\u0430 \u0432\u0445\u043e\u0434 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<br>\n\u0411\u0443\u0434\u0435\u043c \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c SVM, KNeighbors, RandomForest, log-regression", "cell_type": "markdown", "metadata": {}}, {"execution_count": 210, "cell_type": "code", "source": "from sklearn import cross_validation, svm\nfrom sklearn.neighbors import KNeighborsClassifier\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.metrics import roc_curve, auc\nimport pylab as pl", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 (\u0442\u0443\u0442 \u043a\u043e\u043c\u0443 \u043a\u0430\u043a \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0432\u0441\u0435 \u0434\u0435\u0440\u0436\u0438\u0442\u0435 - \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c) \u0432\u044b\u0434\u0435\u043b\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e.", "cell_type": "markdown", "metadata": {}}, {"execution_count": 211, "cell_type": "code", "source": "train_target = train.Survived\ntrain_features = train.drop(['Survived'], axis=1) #\u0438\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0431\u0438\u0440\u0430\u0435\u043c Id \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0438 \u0444\u043b\u0430\u0433 \u0441\u043f\u0430\u0441\u0441\u044f \u043e\u043d \u0438\u043b\u0438 \u043d\u0435\u0442\nkfold = 5 #\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0434\u0432\u044b\u0431\u043e\u0440\u043e\u043a \u0434\u043b\u044f \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438\nitog_val = {} #\u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043a\u0440\u043e\u0441\u0441 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 212, "cell_type": "code", "source": "model_rfc = RandomForestClassifier(n_estimators = 70) #\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043a\u043e\u043b-\u0432\u043e \u0434\u0435\u0440\u0435\u0432\u044c\u0435\u0432\nmodel_knc = KNeighborsClassifier(n_neighbors = 18) #\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043a\u043e\u043b-\u0432\u043e \u0441\u043e\u0441\u0435\u0434\u0435\u0439\nmodel_lr = LogisticRegression(penalty='l1', tol=0.01) \nmodel_svc = svm.SVC() #\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e kernek='rbf'", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0414\u0435\u043b\u0430\u0435\u043c \u0441\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c", "cell_type": "markdown", "metadata": {}}, {"execution_count": 213, "cell_type": "code", "source": "scores = cross_validation.cross_val_score(model_rfc, train_features, train_target, cv = kfold)\nitog_val['RandomForestClassifier'] = scores.mean()\nscores = cross_validation.cross_val_score(model_knc, train_features, train_target, cv = kfold)\nitog_val['KNeighborsClassifier'] = scores.mean()\nscores = cross_validation.cross_val_score(model_lr, train_features, train_target, cv = kfold)\nitog_val['LogisticRegression'] = scores.mean()\nscores = cross_validation.cross_val_score(model_svc, train_features, train_target, cv = kfold)\nitog_val['SVC'] = scores.mean()", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 214, "cell_type": "code", "source": "pd.DataFrame.from_dict(data = itog_val, orient='index').plot(kind='bar', legend=False)", "outputs": [{"execution_count": 214, "output_type": "execute_result", "data": {"text/plain": "<matplotlib.axes._subplots.AxesSubplot at 0x10bdb0310>"}, "metadata": {}}, {"output_type": "display_data", "data": {"image/png": "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\n", "text/plain": "<matplotlib.figure.Figure at 0x10c1b9e10>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0414\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f ROC-\u043a\u0440\u0438\u0432\u044b\u0445 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0440\u0443\u043a\u0430\u043c\u0438 (\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 train_test_split \u043c\u043e\u0434\u0443\u043b\u044f cross_validation) \u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0443\u044e \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0438<br>\n\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043c:<br>\n\u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u0443\u0447\u0430\u044e\u0449\u0438\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432<br>\n\u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432<br>\n\u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439<br>\n\u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439", "cell_type": "markdown", "metadata": {}}, {"execution_count": 215, "cell_type": "code", "source": "ROCtrainTRN, ROCtestTRN, ROCtrainTRG, ROCtestTRG = cross_validation.train_test_split(train_features, train_target, test_size=0.25) ", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"execution_count": 217, "cell_type": "code", "source": "pl.clf()\nplt.figure(figsize=(8,6))\n#SVC\nmodel_svc.probability = True\nprobas = model_svc.fit(ROCtrainTRN, ROCtrainTRG).predict_proba(ROCtestTRN)\nfpr, tpr, thresholds = roc_curve(ROCtestTRG, probas[:, 1])\nroc_auc = auc(fpr, tpr)\npl.plot(fpr, tpr, label='%s ROC (area = %0.2f)' % ('SVC', roc_auc))\n#RandomForestClassifier\nprobas = model_rfc.fit(ROCtrainTRN, ROCtrainTRG).predict_proba(ROCtestTRN)\nfpr, tpr, thresholds = roc_curve(ROCtestTRG, probas[:, 1])\nroc_auc = auc(fpr, tpr)\npl.plot(fpr, tpr, label='%s ROC (area = %0.2f)' % ('RandonForest',roc_auc))\n#KNeighborsClassifier\nprobas = model_knc.fit(ROCtrainTRN, ROCtrainTRG).predict_proba(ROCtestTRN)\nfpr, tpr, thresholds = roc_curve(ROCtestTRG, probas[:, 1])\nroc_auc = auc(fpr, tpr)\npl.plot(fpr, tpr, label='%s ROC (area = %0.2f)' % ('KNeighborsClassifier',roc_auc))\n#LogisticRegression\nprobas = model_lr.fit(ROCtrainTRN, ROCtrainTRG).predict_proba(ROCtestTRN)\nfpr, tpr, thresholds = roc_curve(ROCtestTRG, probas[:, 1])\nroc_auc = auc(fpr, tpr)\npl.plot(fpr, tpr, label='%s ROC (area = %0.2f)' % ('LogisticRegression',roc_auc))\npl.plot([0, 1], [0, 1], 'k--')\npl.xlim([0.0, 1.0])\npl.ylim([0.0, 1.0])\npl.xlabel('False Positive Rate')\npl.ylabel('True Positive Rate')\npl.legend(loc=0, fontsize='small')\npl.show()", "outputs": [{"output_type": "display_data", "data": {"text/plain": "<matplotlib.figure.Figure at 0x10c46ea10>"}, "metadata": {}}, {"output_type": "display_data", "data": {"image/png": "iVBORw0KGgoAAAANSUhEUgAAAfUAAAF/CAYAAABQY1CvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmYXFW19/Hv6swzgSQMgQAJCTMICSEQwGKQKRhmEbyQ\nACogg2iuogh0yqvce18RUUFBZR4FkVEQuEAxRgYZhQSBEMgAIYQ587DeP/ZpUqn0UF19Tp0afp/n\n6ae7qk6ds7ohvXrvs/da5u6IiIhI9WtIOwARERGJh5K6iIhIjVBSFxERqRFK6iIiIjVCSV1ERKRG\nKKmLiIjUiESTupldYWZzzezlVo75jZm9bmYvmtkOScYjIiJSy5IeqV8J7N/Si2Z2ILCZuw8Hvg38\nPuF4REREalaiSd3dHwM+auWQ8cDV0bFPAWuZ2bpJxiQiIlKr0r6nPhiYmfd4FrBhSrGIiIhUtbST\nOoAVPFbdWhERkRJ0Tvn6s4GN8h5vGD23GjNTohcRkbri7oWD3jalndTvBE4DbjKzMcDH7j63uQNL\n+eakeGY22d0npx1HrdPPOXn6GSevEn/GZtwE3O7OTWW9btaM3e9/nPcfvJLX/nceMKTwo/8iBu40\nm492e4cFY2ZhW79P74EL6fd5V2Yt6sxLXVYypctCntoYvvIpnAAcB9xfSjyJJnUzuxH4MjDAzGYC\njUAXAHe/zN3vMbMDzewNYAFwfJLxiIiItIdlrTthRjk/Ua/++LNpXZj38CBzpm79Ph+Ofw32fIuG\nreexdMBCVnZeyRKD14Hno48XgFf6L/Il/YFogfj1hJw80t3nmJU2jk00qbv70UUcc1qSMYiISG0w\n49vA5GZf/Ob0QRwxa1/Lrbyw6BO6Aysb8JWdwseKTtD09crw9Zi/NGANK7CGFRB9toYV0GlF55VO\nlxW+ZGmXLt3uuWblh/s+yy7ASlYl71sICfwN3Fe2EsmJwBQg6+7Li46/GWlPv0vlyKUdQJ3IpR1A\nHcilHUAdyKV03U2Aa4DfrPHKobN/R5eV9wO3f/HcB4/34sOnN2DJ3MEs+3wwKxcPZuXSwfiKDfAV\ng/EV60PDp1jDbBo6z8a6zKah6xw695xNl7Vn02fEbNY78IOdX5/Z9bTbbtt82Jw52/T7/PNteixd\nuk2X5cu3XNnQMG9Jly7/WtKly0vbzJjxOCGBv4t7u9aBufv5Hfmh5LN2XjsVZua6py4iUt/MOB/4\n3J3zLWudgQ1omg7f8bKzmPfIXGbesJRVU+NdCdum32nmYyYwyxt9UcFF+gPbAzvkfQxj9enz54EX\ncf8kue+1tLynpC4iIokzYziwRXEHL4d1X+7FkMcGMnDqQPrNHEivuQNZ0nc0/aevpP+MBmA94H2a\nkvQOF2/PJ6/8g+m/v51ViftDb2whyZl1Ioz8twK+xKoEPgB4idUT+Cu4Lyn1e1/9stbL3RcUcZyS\nuoiIVCYzbicUHHuPzgsbWOff3Vn7jR70n9GDfm/3oO+sHvSZ04Pe7/Wg1/s98E7OgkGL+Hy9RXy2\nwSI+2XARn2y8iD5zrmHsBbcDs73Rl31x/lwurH7PZG4quHBXYDgheW+Z9zECmAdMJUybNyXwN3Ff\nEf/3b52AnxAqqe7kbSTfUvOe7qmLiEhsLGsGDKRwa9eEzGjWffkzes7fEFgbmEMYTb/JmlPkM72x\ntantX6zxTNdlyzrv+fzzQ9lzz2NZlbi3AjYG3gZeJSTwe4ALgNdw/zyGb7lNBavbx7eV0DtCSV1E\nRIpmWevFqi1dhVu9mp77jMJE/erhc3hr7z+z17k3AO95Y4mjYbN1WH3EvRWw5cGNjYP3feaZnYAn\nCcn7BkIifyOuqfPSwrU9geuAK4hhdXub19P0u4hI7bGsdWZJ7yHcfekfWOvtgfSf3pN+7/Sky4JO\n7T/ZSqPnB93o9X4POi/uzMKBq6bFP90gTIt/vMkiPtxsEfNHLGZJv+YS9mjgRHfubvt6ZoRFcKsl\n7uijB6tG3VObvm548MHzvaHhtjWm31NkZkOBx4CJ7v5AO9+r6XcRkXoRTXMPAIYCmzbzeTBdF7zH\nyD9sRK/3H2ThwLl8uuFcFg9rc5HWGrwBPt7kI2aNmcfMXT7BS0odlwIPrf5NfLFYrTBxbwksYfXk\nfWv0eU5zW8Y8l6u4Eaq7TzezEcUsjIuLkrqISIWyrPUkJL38hJ3/9VJgevTxFvAsoeDJdOAdsisb\ngI/d+UrZg8+3arHaQdhqo+/hrFqsNpUwdX45MBX3+SlFG6tyJnRQUhcRSZxlrT9h2rg53QiLuZob\nbfcHZhASdlPifiz6/JY3+scAZvQFehecdwDQPc7vA8ByuabtZKvpvmQJRz/44Fp7Pf/8kI3nzh3e\n7/PPh/dYsmRE1+XLN+u8zjobLu/UadbSzp3fWNSt2+uf9O795Nvrrnv1jXvv/cY9Y8YsbOYy3cjl\nNmhnaC39fOuK7qmLiCTAsjYQOAI4hlDMpKWV1ssJq7ObEvf0vK/f9cZWy4uGaxnTgV5Ac/ey33Vn\nZLu/gXDiroSV7OsCg4BBp3zve+OvOOCA8b0WL17esHJlQ4N7Q8PKlZ0a3BscfEVDw4rlnTotX96p\n07LlnTsvXxa+Xk6JtczbwYGjPZN5NOkLFYpWt18FnOPu/4zpnLqnLiKSJstaH+AQ4GhgV8L2qf8F\n7vdGX5rgpXsAX3Ln3dYDNAP6EhL0F4k67+vC53oDHwBzCYVe3u+0YsXau7388jMPTpr0p/zngfdx\nXxz/t1bZ8la3Xw68mHI4SuoiIh1hWesGHEAYke8HPAJcCxzpjWW4n2rWZTAzG37Hd7bC7tqW1hP1\nIGAZIQnnJ+S5wDTg0YLnPyxsRHJJLncGsBnuVyb+vVWwqJjM2cApwIT2rm5PiqbfRUSKZFnrSrj/\n3XTPezRhZP4icCNwqzfGvMDLrBsw6h4OOKULy4avxce91uLj3n35tFdvPu/VncXd57MOa/Hxa11Z\nNpvVE/WaX7svBLBcrgfwfaJ22O2wM/C6ZzJnxPQdVqWotfj6wDHuPieB82v6XUSkI6JtYuux5qK1\npq/XBWax6p73C8C53uiz4wvC1iZM3e8Wfewwh/U/nMMGfRybMpd1Z85m8IJ3GLJgOkMXvMmwhcvo\nuhC4wL3Ze+ot2RQ4E7iknRE+BdzbzvfUoizwRtLFZNpLI3URqSvRfe/mVpoPJWwf+5zVF6vlL2Cb\n5Y0x/hIP97g3JSTvsdHnjQiJ8wng8Y2ZseU7bPx9YA93ZsZ26VxuK+AvnslsFdc5JT4aqYuIAJa1\nLoTE2FLi7km0JYyQqN8EHmDVNrHk6oGbdSashG8ahY+NXnk8+rgMeIlo9GfGfwBnAZk4E7rULiV1\nEalKUT/t4cC2eR/bEBL6e6w+yr4r7/HcFttxxh6k9QHGsGoUvjNh+9rjwJ3P86VzR/LPu5yGpiQf\nve+LrxqAvdx5oyzxyhqi1e1bu/vFacdSDCV1Ealo0X3uDVk9cW9LaJ05G3gZ+BehC9a/gDcT3j7W\nSrA2mFUJfCywOfAcYSr9V8AU3D9sOnxHY23CPvCWpsA/caesFckkyGuVegowIeVwiqakLiIVI6q8\nlp+4m75eREjYLxPqh/8amFqWLWMtMWsgJOOmJL4b0IfoXjhwGvBcER3CVroT++ppKV1Bq9SRSaxu\nT4qSuoiUjWVtS2CzvKcKk3g/ViXvfwE3A//yRp9X5lCbZ7Y1MJ6QyHcF5hMS+CPAzwk9umOf2rdc\nrhNhGn/tGE87JMZz1QwzGw3cRplapcZNSV1EyukSQvWzD6LHnxGS9++iz28XUxa17MICtx8DpxNG\ncFcAJ+I+N7FL5nIGjCQUtTmK8DN7J+bL3Brz+WrBHOB4d78/7UBKoaQuIuVkwNne6A+nHUjRzIYR\nyoB+DuyAx7gnvbnL5XJbEMrMHhM9dSOwj2cyU5O8rgTuPotQi6AqKamLiDQn7CE/Efhv4GfAbwtL\npsZ2qVxuI+DrhGS+HnATIak/65lM5RcTkYqhpC4isbGsbQWcTNgT3pztgFSm1834eXT9Ng3h7a7X\nsdv26/Fejwlc/dwUdt0H2IdSSmD1W9qZH762NX2WdV3jtV9bA11X9iFUpvsrMAl41DOZ9lSGkxJE\nq9uPAa73hP5YS4OSuoh0SLRf/GDCau8tgD8Qirk05/fAlDKFVuhwwqr5VqdWL+bUnU7gitNeZtuH\nxvLE9fMYVPpCqfUWdeN3z2X5tMs0XljrH80e03XlXLb47E+eybS1Sl5iUrC6/U7gk3Qjio/KxIpI\nSSxr6wHfAk4iFHW5GLgttT3ibTBjGnCIO9NaOKAXcCGwLzAB9w715bZcrjshYcwBTvBMpmZGg9Ws\noFXqTyt1dbvKxIpI4qJCMLsCpxLajd4MjPNGT7SPtBnrAN06eJqWu5GZ7Uz4Rf8k8CXcOzRys1yu\nC/Bn4GPgm0ro6SsoJnNcpbRKjZuSuoi0ybLWk3D/8VSgF2EL2ne80T9O7JrG+oStXEcTpvU7Wmhm\nKSHJ5l+kC6t+0Z+K+186eI2mPeXXAJ2A//BMpiJHgnXICHUQqqqYTHtp+l1EWmRZ24xVZTKfJOwz\nfyCpveRm9Cfc+z4a2BG4nbCl6yF34k2OZsMJo/OPgeOJ4Re95XINwB8J3d7GeSazuKPnlPqk6XcR\niYVlrROwP2FUPgq4EtjJG/2tRK5n9AS+SpgJyBAW2V0C3ONO/EkxbFX7NmGbWha4JI4qcFGxmF8R\nZhX2U0KXNCipi9QIy9rJhD3OHdEDOJJQ/vRi4HBv9EXtisPYDdinyMOHA+OAfxBG5Me5J7gSOax6\n/hMwGNgD9zUKulguN5LwR0Z7bQZsCezlmUxy7VulTdHq9pXuFVJeuIwa0g5ARGJzAbDmXuj2WQB8\n3Rt9J2/0q9ub0CPHE6bOi/EYMMKd/d25OuGEPp6wH/wlYExzCT1yFKv6nLfHVMIIvWa2R1WjaHX7\nc8B+aceSBo3URWrL+d7olTBKvMOdy9MOAgCz3oRp8b2BI3B/ooh3PeCZzP9LNjCJU97q9pOBCbW6\nur0tSuoiUrvMdgGuBR4lbFX7NOWIJAEFxWRG1fLq9rYoqYvUAMvaCMIWKm2fAjDrcvvYsRd/55Zb\nvvlRnz6fLO7WbX9gGrlcMe/uB/wo0fgkbicSKhVWXavUuCmpi1Q5y9omhBXjp3qja8W12ebAtQu7\ndePDvn2fXtK16+ElnCWxlqoSP3c/P+0YKoWSukgVs6xtADwI/NIb/Yq040lV2Kp2MvBToPHYn/zk\nzZUNDd/3TKZup2Kl/iipi7TBstYAfIWOryyPWwOhLeifvNF/U8oJzOhC2H4W5++CIYRCNWteL5fb\nkrD1K1bbvvnmWt/bf//vdlu2rO/lBx547kM77jgbGBP3dSR9ZtbL3TtaXbBmKamLtG04cCvwcNqB\nNONyb/RfduD9OxD2hz8WUzwAi4GWasFfQtgL/0FcFxsyd+56G8yfv+1FRxzxzr823fTfKxsaxuW9\nfE9c15F05a1uH29mO3k1lENNgZK6SNsagJne6KUUJKl0DcA095KKrZTCgLM9k+n4H0hmfQitVLcE\n9sQ9rZaukrCC1e3jldBbpuIzIlJ9zMYSCsmsIGxVU0KvUXnFZKYA+9TzdrViaKQuIh1iuVxnQley\nPkUcvh1QejMYs6HA94AjgJNxv6Pkc0nFs/Df+zpgYr0Wk2kvJXUR6ajuwGGEmvFt+T1hxFW8sKp9\nN0Iy34NQu/1LuGvbWY1z9+lmNkIL44qnpC4icVjumcxdsZ7RrCvhD4XvAX2Bi4Bj0S/4uqKE3j5K\n6lJXLGt9gd7tfNugJGKJmxn9gF7tfNvAkq6Vy3UC1o0etveabZzc1iG0Rj0VeA2YDNyDJ9PDXaSW\nKKlL3bCsjQXuBkrpPPZUzOEk4Q3CwrH2Jr//K+FaZxJ6kTfVUn+lhHOsLlSCOxP4OnA7MA73lrbG\nSQ2JVrdfBZzj7v9MOZyqpqQudcGyNhK4jdBW9L6040lID2A9d8rRpa078GvPZH7SobOE++V7E6bY\nRwGXAlvi/l6HI5SqEK1uvw64nJbrG0iRlNSl5lnWtgH+Bny7hhN6dTHrDhxDGJk3EFqjHo6rdn29\niIrJnA2cQh23So2bkrpUDMva2sBEwqKo2E4LfBP4njf67TGet0PM2AkY1+aB7ZNoGVvL5U4ENooe\n7kF7V7EDhGnWUwg12p8DJgH/h4qJ1KPrgPWp81apcVPxGUmdZa23Ze0nhEVR28V8egdO8ka/Mebz\ndtTRwC4xn/PHQJIrhf+HVYviHgVuKfqdZttidgUwDViPUAHuQNwfUEKvW1lUTCZ2GqlLaixr3YGT\nCMnoQWAXb/Q30o2qrO5z58K0g2in/+eZzLyijjRrAA4g3C/fklD3fTPc5ycXnlQLd5+Wdgy1SEld\nys6y1hmYADQSSn3u643+UrpRSWzMegHHAd8lzBz8CrgZ96WpxiVSB6waZr7MzN3d0o6jHkXT4qfG\nfNoehGR+tjdWfs1uy+UOIFRCa/ue9aed12a5dWnzODej5/JP6bFyYccjLJtBwDqeyXzS7Ktmg4HT\nCGsYHick88c0vV7fotXtW7v7xWnHUk1KzXsaqUuLLGs/BI4F9gQ+i/HUK4D3vbHyf9lbLpch1DU/\nGni1zTd8a9QTbPHpmYz4/J02jx0/531YWfE/gzxLmk3oZqMIU+wHANcCY3B/s8yxSYXJa5V6CmFm\nTspAI3VplmXtO8B/Ant4o89KO540WC43BrgL+FqxrULNeAPY353aXhsQfmEfTEjmQ4DfAJfj/nGq\ncUlFKGiVeowWw7WfRuoSG8vaBMLitS/HkdAtl+sK7AN06ui5yqgPodb4BPbMPGKwH8VtGYu3ZGql\nMesLnACcAbxHmGK/DfflqcYlFcPMRhMKPV0BZF3/b5SVkrqsxrJ2JGHr0l7e6NNjOu0owp7UJ2I6\nX7l80zOZeww2B24FihmtPwm8n2xYKTDbhJDIJwAPAEfjXg2lc6X85gDHu/v9aQdSjxJN6ma2P2G0\n0wn4k7v/b8HrAwi/7NeLYrnA3a9KMiZpmWVtHHAxYTX61BhP3QC86pnMV2M8Zzk1ADPdqdb4SxNK\nuO5KmGLPEEZeO+De9noBqVvuPguoy1t2lSCx4jPRIomLgf2BrYCjzWzLgsNOA5539y8Rfmn80sw0\ne5ACy9pewJXAeG9UE426ZtYFs6MJTWyuAnLAJrj/UAldpLIlmUBHA2+4+wwAM7uJsLAmfwT4Lqsq\niPUF5uv+S+ksawZcDfQv4e07A0d6o6ZU65ZZf0LL09MIHd9+BvwN9xWpxiUVKRq4HQNc72qLWzGS\nTOqDgZl5j2cREke+PwIPmdkcwsKkryUYT704Fhhfwvt+GPOUu1QLsxGEQjFHE1b7j8f9+XSDkkpW\nsLr9TqD52gVSdkkm9WL2yp0NvODuGTMbBjxgZtu7e5x7ouuON/pdaccgFS7cL9+TcL98Z+AyYGvc\n3001Lql4Ba1Sf6rZ1cqSZFKfzaqOTkRfFy6e2BX4OYC7v2lmbxFWGj9beDIzm5z3MOfuuTiDrTSW\ntZ7AWu19W+xx5HINhIWMHTEgjliKZUYvoF+MpxwU47nSZdaNMCI/E+hCWMj6NdwXpRqXVLyCYjLH\nqVVqvMwsQ1hb1iFJJvVngeEWtsLMAY4i/DLJN42wf/mJaDpnc6DZbVTuPjmpQCvULcAYYEk73/ev\nmOM4llAitaNFRf4eQyzFuh3Ykfb/7FpT3WsNzAYSfhmfArwInAXcrxKu0g5G+GN5pIrJxC8aqOaa\nHptZYynnSSypu/tyMzsNuI+wpe1yd59qZidFr18GnA9caWYvElbi/9DdP0wqpirTg7Bw7aGU4+gO\nXOuZzEkpx9Ee3YFD3Hks7UBSZ7YNYVR+OOEPxb1xb7vcrUiBaJp9UtpxSOsS3T7m7vcC9xY8d1ne\n1x9Ane39FUlaaHm6H+F++TbA74ARuBfXMlVEqpb2hKfIsrYPsFsLL29azlikBpj1JNwuORNYTCjh\n+mfc47wNIXUguh260vWHYNVJrPiMtM6y9lXCCtKW/htcQWhPKtI6sw0w+zkwAziQcN98R9yvUUKX\n9opWtz9HmO2RKqORegqiEfrlwDhv9GfSjkeqlNmOhCn2cYQ9w2Nxfz3doKRa5a1uPxmYoNXt1UlJ\nvcwsa7sBNwKHKaFLu4VfvF8lJPNNgd8CZ+D+UapxSVUrKCYzSqvbq5eSehlZ1kYBfwWO8UbXyuyY\nmLEJ8Cir/n8eANTevmuzrxCS+MeE++V/xX1ZukFJjTgRmIJapVY9JfUysaxtA9wNfNMbNa0Vs7WB\nT4F9o8cr3JmbYjzxMtuAkMR3IozK7045Iqkx7n5+2jFIPLRQrgwsayMI+/XP9Ea/M+14atRSd+ZE\nH7WR0M06Y3Ym8BLwOrCNErqItEYj9RhY1noTyvs1V6a1C2GUdZ43+k3ljKtYlst1B/am+T/yti9z\nOC0yYy+gVzMvDSt3LIkzG0Oo5PchYQHcaylHJDXCzHq5+4K045BkKKnHYxwhcf+zhdd/6o1+eRnj\naa/dCC1bp7Tw+g1ljKVZZvQD7qegmFGe28sYTnLM1gH+GzgI+E/gRpVylTjkrW4fb2Y7uf6/qklK\n6vEw4FFv9K+nHUiJDHjeM5lKru5nwOfuNVqBMFSBm0BI6LcAW+KudpYSi4LV7eOV0GuXkrpI2sy2\nJZRy7QaMw72lGR+RdstrlXoFWt1e85TU49GT4vrHp8ZyuT7AVUDXZl4eCFTEqNCMi4GNm3mpC7Cy\nzOEky6w30EgYoZ8H/BH3FekGJbXEzIYSEvpEFZOpD0rqHWRZ6wH8iHD/s5INAsYC32rh9UqpRHYM\ncBrwWTOvTS5vKAkxM+BQQi/zHLAt7rWxYl8qirtPN7MRWhhXP5TUO+4c4MUq2aq2wDOZu9IOogh/\nd6c2W/CGkdNvCdXgjsX9kZQjkhqnhF5flNQ7wLK2HWHkm9q2L8vlGoD1ijh03aRjkVaYdQN+CHwX\n+AVwKO5L0w1KRGqNknqJLGudgD8CP/FGfzfFUL4N/JLi7ok/l3As0hyzfYBLgKnASNzfTjkiqTHR\n6vargHNcCy3rmpJ66b5D6Fmd9v7z7sAfPZM5M+U4pJDZ+sCFwC7A6bhXw60PqTJ5q9svB15MORxJ\nmcrElsCythFh1fJJ3ui1tSJbOi6Udz2dUN71LWArJXSJm5l1MrNzCfvPJ7r7edquJhqpt5NlzQh7\nin/tjT4t7XikwpiNBi4l3A7ZA/epKUcktes6YH3UKlXyKKm335GElcuHpx2IVBCz/oRqcAcDPwCu\nV3lXSVgWeEOjc8mn6fd2sKz1J+wt/pY3auWyEPacm00gLIJbQSjvep0SuiTN3acpoUshjdTb5/8B\nt3mjt9T4ROqJ2daETmo9gYNwfzbliESkzimpF8myNhwYDwxPO5ZqZ8YNhFa1zekDLCtfNCUw60Uo\n63oCYcHkZSrvKkmJVrdv7e4Xpx2LVD4l9eL1B972Rv807UBqwOaEhPhSM68tdm+2RGz6QnnXg4Ff\nA48Syru+l25QUqvyWqWeQugPINImJXVJyzx3qmfFrtmmwG+AzYCJuD+cckRSwwpapY7U6nYplpJ6\nKyxrQ4Gto4cj0owln+VyI4ENoofbAJ+nGE5tC+VdJwHfJ1TuO1zlXSVJFrZF3oZapUoJlNRb91NC\nUp8VPb4jxVjy3UIoarIwenxPirHULrO9CDUJXgd2wv2tlCOS+jAHON7d7087EKk+SuqtM+ACb/Tr\n0w6kQANwomcyM9IOpCaZrQdcAOwOnIF7pfwxJ3XA3WexaiAh0i7apy7SxKwTZqcCLxN+qW6lhC4i\n1UQj9RZE5WAHAInVdrdc7hvA10t467okGFddClPt/w9YAGRwfyXliKTGRavbjwGud1cPCYmHknrL\nJhOS570JXmNPYAbQ3ntnvwVmxh5NPTLbGfg5sDFh7/lNqgYnSStY3X4nxbVOFmmTknozLGs/BL4G\nfNkb/eOEL/eiZzLq4FVuZtsAPwNGEhZEXoV7ZRe9kZpQ0Cr1p1rdLnFSUi9gWTsVOAnYwxv9/djP\nn8utTeiBDtAr7vNLG8yGEWZh9gX+B/g67otTjUnqQkExmePc/YGUQ5IapKSex7LWj3BfdRtv9Nmx\nnz+X6w68B3yQ9/TVcV9HmmE2GDiH0GXvN8CpuKoDSlkZ0A8Vk5EEKamvrguwyBsT24/cCVjmmcwG\nbR4p8TBbB/gRoSzt5cDmuM9PNyipR9E0+6S045Dapi1tUpvM+mB2HvAa0JtQp/2HSugiUss0Uk+A\n5XInAEOaealruWNJixl7E4q3NCe5mQqzHoR7lmcRdhXsjPubiV1PpBnR6vaV7j4v7Vikvmiknoz/\nJowOCy2lfqbfTmZV3fxClxBG0PEx64LZt4B/A3sA++B+rBK6lFu0uv05YL+0Y5H6o5F6cn7hmczc\ntINI2c3u3JLoFcwagKMI29LeBo7A/alErynSjLzV7ScDE7S6XdKgpC7VKfQ2H0coHLMYOBn3B9MN\nSupVQTGZUVrdLmlRUi+R5XJXA19p4eV1CFPtNc2MU4BzW3h5beCahC6cAc4H+hJGRneqCpyk7ERg\nCmqVKilTUi/dCMI027PNvLbEM5mPyhxPGjYBriTcIy/khD358THbiTAyH8aqkq4rYr2GSAnc/fy0\nYxABJfWOmueZTL1Ps33qTrI/A7OtCCVddwb+C7hcJV1FRNakpC7tYsauhNsLAJsBTyd4sU0JJV0P\nIFT6+wbuixK7nkgRzKyXuy9IOw6R5iipS3v9H5ADmqa940/qZusTSrp+ndCRbjju6mIlqcpb3T7e\nzHZyreOQCqSkLu3VABzmTvxNUMzWJhSN+RbhXv0WqHiHVICC1e3jldClUqn4jKTPrDdm5xAKx6wF\nbIf7JCV0qQR5xWSmAPtou5pUMo3UZQ1m/AzYvoWXuxBWtsdxoe6ENrc/Bh4CdsH99VjOLRIDMxtK\n6H0+UcVkpBooqUtzDiNsU3unmdcucGdJh85u1hmYADQCLwD74f5ih84pkgB3n25mI7QwTqqFkrq0\n5GF3Xo3FwGpkAAAgAElEQVT1jKGk65GEkq5zgKNwnxLrNURipoQu1URJvR0slxvEqp9Z3XRc67BQ\n0vUAQuGY5cBpwP+pCpyISLyU1Itkudx2wD+BpsVby4EP0ouoSphtB1wErEfYDnS7krlUmmh1+1XA\nOe7+z5TDESmZknrxugPPeyYzOu1AqoLZIEL1t0OALPAHVBNbKlC0uv064HJAazukqhW9pc3MeiYZ\niNQIs26Y/SfwKrCQsNf8d0roUmnMrJOZnUvYfz7R3c9TMxapdm2O1M1sV+BPQB9gIzP7EvBtd/9O\n0sGlzXK5DJCJHg5OL5IqEO6bjwd+CUwDxuL+WrpBibTqOmB91CpVakgx0+8XAfsDdwC4+wtm9uVE\no6oc3wJ6AC8Bs4G/pxtOhQr3zX9FuG9+Ku73pRyRSDGywBsanUstKeqeuru/EwZiX6infwS3eiZz\nfdpBVKRw3/ynwKHR58s0zS7Vwt2npR2DSNyKuaf+jpmNBTCzrhbul05NNiypaGZdMZsEvAIsItw3\nv0QJXUQkXcUk9VOAUwn3lGcDO0SP22Rm+5vZNDN73czOauGYjJk9b2b/MrNckXFLGswMs4MJyXxP\nYHfcv4f7RylHJtIiM9vTzE5LOw6Rcihm+n2Eux+T/0Q0cn+itTdFbQovBvYh/DHwjJnd6e5T845Z\ni1COdD93n2VmA9r7DUiZmG1LuG++AXCa7ptLpctrlXoKoSyxSM0rZqR+cZHPFRpNWIQyw92XATcB\nBxcccwxwq7vPAnB3FXOpNGYDMfs9oY/6bYQOakroUtGiYjL3AXsBI939/pRDEimLFkfqZrYLsCsw\n0My+DzStlOtDcX8MDAZm5j2eBexccMxwoIuZPRyd99fufm2RsUsHmDEC2LyFl/tswltdsKGTgB8R\n9vFuoWl2qQZmNprwB+gVQFar26WetDb93pWQaDtFn5t8ChxRxLmLKQXaBdgR2BvoCUwxs3+42m+W\nwy+BdYG5+U8aKzmRy2deysl/Jew33x2tEpbqMgc4XqNzqUctJnV3fwR4xMyucvcZJZx7NrBR3uON\nCKP1fDOBD9x9EbDIzB4l9PFeI6mb2eS8hzl3z5UQk6xiwE/duXvVM7YtcCGwFmG/ufblS9WJbucV\n/q4RqWhmlmFVsbOSFbNQbqGZXQBsRSjEAuDuvlcb73sWGG5mm9DUZhOOLjjmDuDiaEFLN8L0/IXN\nnczdJxcRq5TCbCBhn/nhrNpvvizdoERE6kc0UM01PTazxlLOU8y98esJ07BDgcnADELCblV0H+s0\nwmKVV4E/u/tUMzvJzE6KjplGqNL2EvAU8Ed3j7eHd/sMAFameP2yWocPOhPWS7wKLCXcN79YCV2q\nQVS7/VgzK7qHhUitK2akvo67/8nMzsibkm8zqQO4+73AvQXPXVbw+ALggmIDToplbT3gTuD8tGNJ\nnJlN5IpBv+GMS4AXgD3I22ooUumi1e3XE36H3Ql8km5EIpWhmL9wl0af3zOzg8xsR6B/gjGVnWVt\nHeAB4Fpv9IvSjidRZtsA909m8pZXcMJluI9TQpdqErVKfQ54EtjH3ZXQRSLFjNR/HhWJmQT8FugL\nfC/RqMrIstaXcAvgb8DPUg6n3cxoIDRSadUkLuh/Nuf/oB8NB81ko19tzmsNS+n23HfLEKNIHAqK\nyRzn7g+kHJJIxWkzqbv7XdGXHxOtzIv2gVY9y1ovQjJ/CvixN3ox2/AqzbcJ29OaHa10ZQnf41e9\nfsAvet/M1xadw88+m8+AUwlrB94rZ6AiHWRAP0IxGbVKFWlGa8VnGgjdt4YB/3L3e8xsFOGe8yDg\nS+UJMRmWte6EAhVvAGdUaUIH6A780Z0zV3s2tNUbR0j4LwCTTvZLp55c/vhEYhEtvp2Udhwilay1\nkfofgE2Bp4FzzOxEYAvC9NcdZYgtMZa1LsCfgY+Ab3qj19aKd7OtCXXaNwLOJCxYFBGRGtdaUh8D\nbOfuK82sO2Gqdpi7zy9PaMmwrHUCriEsEjzWG31FyiHFJ4zOf0Woqf9fwKXanibVKFrdvtLd56Ud\ni0g1aW31+zL3MIJ198XAWzWQ0BsIMxCDgCO90Ze28ZZqMxY4ANgS998qoUs1ylvdvl/asYhUm9ZG\n6luY2ct5j4flPXZ33y7BuGJnWTPgIsIthP280RenHFISTgD+RJX/8SX1KW91+8nABK1uF2m/1pL6\nlmWLojx+ThjJ7uWN/nnawcTOrDdhYePZaYci0l4FxWRGaXW7SGlaa+gyo4xxdJhlbWvCfvNOzbzc\nAHwAZLzRP7FcbgqwcRGn7Q/cGl+U8TDjXkLjG4DewCXAkcCjuGubmlSjE4EpqFWqSIcUU3ymWgwk\ndGY6vIXX53ujL4m+3hrYCfisjXM6lbmXe0vCqLypX/084CHC9jWRquPutV+eWaQMaimpAyzxxqKn\n7d71TObTRKNJ1lx3wvdqNgIYQSikIyIidaqo7kZm1tPMNk86GCnZROBarXaXamBmvdKOQaRWtZnU\nzWw88DyhhSpmtoOZ3Zl0YCVYl1DKtr6EFcMTgCvTDkWkNVGr1PMInR4t7XhEalExI/XJwM6E6mu4\n+/OE3uqVZnfgibSDSMG+wCzcX0k7EJGWRKvb7wP2Asa7V21ZZpGKVkxSX+buhSPgSiyrujvwWNpB\npOAE4Iq0gxBpSV4xmSmEVqnariaSkGIWyr1iZt8AOpvZcOAMQh/jimFZW4swe/Bc2rGUldkA4CvA\nN9MORaQ5ZjYUuA6YqGIyIskrZqR+OmEL2BLgRuBTKOgIlr6xwDM1WPa1LccAd+PebNtVkbS5+3Rg\nhBK6SHkUM1Lf3N3PprIrldXd1Hs3FkMo2PG9lEMRaZW7L0g7BpF6UcxI/UIzm2Zm/2Vm2yQeUWl2\nBx5NO4hyupoJWwN9gVzKoYiISIVoM6m7ewbYk1Bm9TIze9nMzk06sGJZ1noAXwL+kXYs5bQnDx8J\nXIXXWC94qUpmtq6Z3WtmI9OORaSeFVV8xt3fdfdfE7onvQicl2hU7TMa+Jc31s8UXw8W2jrMHw9c\nlXYsInmr258h/H4QkZS0eU/dzLYCvgYcAcwH/gx8P+G42qPu7qcfyS09FtHj1d7++dtpxyL1K2qV\nejZwCmqVKlIRilkodwVwE7Cfu89OOJ5S7A78rrUDLJfbGDg+76luiUYUMzPWJcySGMD9XNf/DTa7\n+UvphiVyHbA+apUqUjGKuac+xt0vqsSEblnrDIwBHm/j0L2AQ/Ie/4S2O7RVkjGE7WuM5Nm+Y3li\n6VS2VFlYSVsWFZMRqSgtjtTN7BZ3P9LMXm7mZXf37RKMq1jbA7O80ecXcezznslMTjieJE1zZzK2\n0znANUf7jdX0R4nUIHeflnYMIrK61qbfvxt9Poho2jdPpdRtrq/76WYNhNsIX087FBERqTwtTr/n\nTal9x91n5H8A3ylLdK2ItrIdQ43u0zbjUjPmmDGHsMp9MeGPmIXAs2nGJvXFzPY0s9PSjkNE2lbM\nlrZ9m3nuwLgDaQ/LWjfgr8C/gVvSjCVBIwjleEcRyvROJDRvuRJ1uJIyyGuVegPh35qIVLjW7qmf\nQhiRDyu4r96HFFucRovjbgAWARO90VekFUsZfOBOmDEx6wscDPwg1YikLkStUq8n/I4YqcVwItWh\ntXvqNwD3Av8DnMWq++qfuRe1MC12ljUjbLHrCRzijb68xWNzue2BIdHD1HZ/mTEA2KWEtw4oePw1\n4CHc3+94VCItM7PRwG2Ef2tZ95b/nYlIZWktqbu7zzCzUylYGGdma7v7h8mG1qwNgXHARt7oS9o4\n9irCtrWmDmY3JxhXa74ZfUxt5/umA2/mPT4BOD+uoERaMQc43t3vTzsQEWmf1pL6jYQE+k+aX+2+\naSIRtc6ABd7oC4s4tgE43TOZtMtWNgA3u3egy53ZFoSf99/jCkqkJe4+C5iVdhwi0n4tJnV3Hxd9\n3qRs0UhLjgeuQdOgIiLSijZXv5vZWDPrHX19rJldaGYbJx+aAGDWGTgOUAU5iVW0uv1YC/UPRKQG\nFPOP+VJgoZltT2jkMh24JtGoJN/+wFuoepfEKFrdfh9wImFHi4jUgGKS+nIPPbsPAS5x94vRL4Fy\nOoGwClkkFnmtUp8k1G7/pI23iEiVKKZL22dmdjbwH8DuUbvFLsmGVd3M6Av0jh72BVaWeKJBhGY0\nE2MJTOpa9G/3J4RWqcepVapI7SkmqR9FKMd6gru/Z2ZDgF8kG1bVewnoATQVxplc4nm+AdyB+6dx\nBCV1z4B+qJiMSM1qM6m7+7tmdj2wk5kdBDzt7rqn3roewHbuzC35DGZGuN95alxBSX2LishMSjsO\nEUlOMavfvwY8BRxJqGr2tJkdmXRgwiigO/Bo2oGIiEh1KGb6/RxgJ4/Kk5rZQOBBareRSqU4HrhK\nzVukFNHq9pXuPi/tWESkfIpZ/W5A/i+G+azZX13iN5ZQe1+kXfJWt++XdiwiUl7FjNT/DtxnZjcQ\nkvlRKNkkK9xPHwa8kXYoUj3yVrefDEzQ6naR+lPMQrkfmNlhwG7RU5e5+23JhlX3BgGL0f5hKVJB\nq9RRWt0uUp9a66c+grB1bTPCFq0fRI0eKpLlclsTZhU6RU8NBBaX5drGHoQGOE23JdYBlnbglENZ\nvUObSFtOBKagVqkida21kfoVwNXAY8BXgd8Ah5UjqBINJHSWOjx6vMwzmXItEtoAeJZQ1ANgiTsf\ndeB8w1BSl3Zwd7XlFZFWk3pvd/9j9PU0M3u+HAF10BLPZNKadlzkTlzXVlIXEZF2ay2pdzezHaOv\nDegRPTbA3f25xKOrYGZsw6qe8iNjPv0w4OGYzyk1wsx6ufuCtOMQkcrTWlJ/D/hlK4/3TCSi6vEH\nwIEPo8e3x3juYcCfYjyf1IC81e3jzWwnVw0DESnQYlJ390wZ46hGBkxyZ0oC59b0u6ymYHX7eCV0\nEWlOMcVnpJzMehM6u72bdihSGfKKyUwhtErVdjURaVYxxWekvIYCbxF62EudM7OhwHXARBWTEZG2\nKKlXHk29yxfcfbqZjdDCOBEpRjFd2hrM7FgzOy96PMTMRicfWt1S4RlZjRK6iBSrmHvqvwN2AY6J\nHn8ePSfJ0EhdRERKUkxS39ndvwMsAnD3D4EuiUZV35TU65CZrWtm95pZ3DUPRKSOFJPUl0b7Y4Ev\n+qlrEVdyhgHT0w5CyidvdfszwIsphyMiVayYpP5b4DZgkJmdDzwB/HcxJzez/c1smpm9bmZntXLc\nTma2POoGV7/MOgMbATNSjkTKwMw6mdm5hP3nE939PDVjEZGOKKb16nVm9k9g7+ipg919alvvi0b3\nFwP7ALOBZ8zszsL3Rsf9L6HDmq1xoqbjcrnJjLm5H3Mf6Ge53ORmDtmkrZg6wow+wHdZ9TPbKIHL\nDAHew31JAueWynMdsD5qlSoiMSlm9fsQYAFwV/SxIHquLaOBN9x9hrsvA24CDm7muNOBvwAd7ag2\nA7iwg+dozZas6sIGcCnwSszX0P30+pJFxWREJEbF7FO/h1DjHKA7oYnJa8DWbbxvMDAz7/EsYOf8\nA8xsMCHR7wXslHedNXgmM9myNgQ43I/7w+Qi4k7CbHeSvLaSeh1x92lpxyAitaWY6fdt8h9HndpO\nLeLcxdSmvgj4kbu7mRmtTL/XCSV1EREpWbsryrn7c2a2c9tHMpvV7ztvRBit5xsJ3BTyOQOAA8xs\nmbvfWXgyM5vMWqzN1vSxyZZx91x7Y68Cw4Cn0w5C4hWtbt/a3S9OOxYRqUxmlgEyHT1Pm0ndzCbl\nPWwAdiQk7LY8Cww3s02AOcBRwNH5B7j70LzrXAnc1VxCj46dbFk7GtjIH6/JhA6qJldT8lqlngJM\nSDkcEalg0UA11/TYzBpLOU8xI/XeeV8vB+4Gbm3rTe6+3MxOA+4DOgGXu/tUMzspev2yEuLdHXis\nhPdVvjBdoT3qNaKgVepILYYTkXJoNalHI42+7j6pteNa4u73AvcWPNdsMnf344s45e7AlaXEUgUG\nAktx/zjtQKRjot4ItwFXAFntPReRcmkxqZtZ52i0PdbMzN2LWfiWGMvaOsDGwPNpxpGgUcDLaQch\nsZgDHO/u96cdiIjUl9ZG6k8T7p+/ANxhZrcAC6PX3N3/mnRwBcYCT3ljzY56xlEwqyHVyd1nseai\nUBGRxLWW1Ju2l3UH5hP2kucrd1Kv9fvp44CD0g5FRESqV2tJfaCZfZ/KmRLeHfhx2kEkZKvoc9wV\n6iRB0ZqTY4Dr3V1NjkQkda0l9U5An3IFUoRtgafSDiIh44C/kfK6BSlewer2O4FP0o1IRKT1pP6e\nu2fLFknbXvRGX9j2YVVpHKGpjVSBqJjMdcDlwE+1ul1EKkW7K8qlqFbvp/cHdgAeTjsUaV1BMZnj\n3P2BlEMSEVlNa0l9n7JFUZzaTOqwL/Ao7ovSDkTaZEA/VExGRCpUi0nd3eeXM5AiPJF2AAkJ99Ol\n4kXT7CUVYhIRKYc2+6lXCm/0j9KOIXZhOvcAlNRFRCQGVZPUa9Ro4F3c30k7EFmdma1rZgPTjkNE\npD2U1NOlqfcKFK1ufw7YL+1YRETaQ0k9XUrqFcTMOpnZeYT95xPd/bq0YxIRaY9q2tJWW8wGA0OA\nf6QdiqxRTGaUVreLSDVSUs9jRk/gJaBnMy93Jd4yrgcC96HCJZXiRGAKapUqIlVMSX11PYF1gK1b\neD3OUqDjgFtiPJ90gLufn3YMIiIdZdVQbjxq525tH9nR6zAAmObOgIQv1B2YCwyl8uoBiIhIykrN\ne1ool44vAy8roafDzHqlHYOISBKU1NOhVe8pyFvd/oiFHvYiIjVF99TLLSSTccChaYdSTwpWt4/3\narjvJCLSThqpl9/mhJX0L6cdSL3IKyYzBdhH29VEpFZppF5+YepdI8WyMLOhhN7nE9UqVURqnZJ6\n+Y0DfpV2EPXC3aeb2Qh3X5B2LCIiSdP0ezmZ9QNGAQ+lHUo9UUIXkXqhpF5eXwEeR0lGREQSoKRe\nXgehrWyJiFql3mtmI9OORUQkLUrq5WLWAByAknrs8la3PwO8mHI4IiKp0UK58hkFfID7jLQDqRVm\n1gk4GzgFmKDV7SJS7+o+qZuxPasKwTTXnS0uqiIXv+uA9VGrVBERQNPvAEcQarEDLAR+lNB1lNTj\nl0XFZEREvlD3I/XIQ+78V2JnN1sfGAo8mdg16pC7T0s7BhGRSqKRenkcANyP+7K0AxERkdqlpF4e\nmnrvADPb08xOSzsOEZFKp6SeNLNuwN7A39MOpdrktUq9Afh32vGIiFQ63VNP3u7AVNznpR1INSlo\nlTpSi+FERNqmkXryNPXeTmY2GrVKFRFpt7pO6mYMAY4FXkrwMkrq7TcHON7dz3X35WkHIyJSLep2\n+t2M9YEHgYvcuSOhiwwHegEvJHL+GuXus4BZacchIlJt6nKkbsY6wAPA1e5clOClwijd3RO8hoiI\nCFCHSd2MfsB9wN3AzxO+nKbeWxGtbj/WQrMbERHpIKuGQaSZubtbx89DL0JCfwE43Z3kvnmzPsBs\nYAPcP0/sOlWqYHX7we7+ScohiYhUjFLzXt2MkMzoDtwBvA6ckWhCD74CTFFCX1Neq9QnCavbldBF\nRGJQFwvlzOgC3AJ8AHzTnZVluKym3gtErVJ/QmiVepxapYqIxKsukjqhE9s6wGHurEj8auEe8YHA\n+Ylfq7oY0A8VkxERSUS9JPXuwGvulKuhyg7AJ7i/WabrVYVoz/mktOMQEalVdXNPvcw09S4iImWn\npJ6McYQtc3XLzNY1s4FpxyEiUk+U1ONmtgEwHHg87VDSkre6fb+0YxERqSf1ck+9nA4hVJEr1/37\nipG3uv1kYIJWt4uIlJeSevwOBX6XdhDlVlBMZpRWt4uIlF/NTr+bcbMZc8yYA/wKWFSGi64NjCZU\nras3J6JWqSIiqarlkfrmwATglejx/DJc8yDgQdwXluFaFcXdtSdfRCRltZzUAd53p5yjxkOBv5bx\neiIiIl+o2en3sjPrBexFHWxls/C9iohIhVFSj89+wFO4f5R2IEmJWqWeBzxiZh3umiciIvGq9en3\ncjoUuC3tIJJSsLp9vFdDz14RkTqjkXoczLoSqsjdkXYoScgrJqPV7SIiFaxmRupmDAF+A3SKntoU\nytJiFSADTKMGk52ZDQWuAyaqmIyISGVLfKRuZvub2TQze93Mzmrm9W+Y2Ytm9pKZPWFm25V4qaHA\nZsAfoo+vAa+WHnm7HEaNTr27+3RghBK6iEjlS3SkHpUNvRjYB5gNPGNmd7r71LzDpgN7uPsnZrY/\nISGPKfGSH7hzV4eCbq/wPR4M7F7W65aRuy9IOwYREWlb0iP10cAb7j7DQy30mwgJ8AvuPsXdP4ke\nPgVsmHBMcRsDzMP9jbQDERGR+pZ0Uh8MzMx7PCt6riUnAvckGlH8amLVe9Qq9V4zG5l2LCIiUpqk\nk3rR256iFdYnAGvcd69YYa921VeRy1vd/gzwYsrhiIhIiZJe/T4b2Cjv8UaE0fpqosVxfwT29xaK\nt5jZ5LyHOXfPxRdmybYDDHgp7UBKEa15OBs4BbVKFRFJjZllCDupOiTppP4sMNzMNgHmAEcBR+cf\nYGZDCCPd//BW7ku7++TEoixdGKVXbyGW64D1UatUEZFURQPVXNNjM2ss5TyJJnV3X25mpxFakXYC\nLnf3qWZ2UvT6ZcB5QH/g91Hl0WXuPjrJuGJ0GGGUW62yhIWMy9MOREREOs6qYZBpZu7urdYaNyMD\nTHbv+PRFkUENA54ANsC9XEVuRESkDhST95qjMrGlOxS4XQldREQqhZJ66aqmipyZ7RndBhERkRqm\npF4Ks/WBLYCH0w6lNXmtUm8A/p12PCIikqyaaehSZocA9+C+NO1AWlLQKnWkVrdLpTGzyl/QI1JG\npdxDL6SkXppDgcvSDqIlZjaacGvgCiCr1e1SqeL4JSZSC+L6I1dJvb3M+gM7ExJ7pZoDHO/u96cd\niIiIlI+SevsdBDxMBXcuc/dZNFO5T0REapsWyrVfTTRwEakXZtbHzO4ys4fN7Ekz29/MfmZmR+Yd\ns7GZPRB9vWt0bM7MHixscmRmV5nZ02b2iJn91cy6RM/3N7Obovc9amZfzntPq+eMjrkxKt2cmmhx\n7RVR/L9q5vVDou/jYTN728xOj56fZGaPm9nfzWy96LkfmNmocn8P9U5JvT3MegJ7Q5l7trcg+gd4\nrJnpv6NIy44D7nX3Pd19V2AKcAtwRN4xRwA3m9nawO+Ar7t7hvBHfGEtCgcmuvuXgfnA/tHzFwN/\nid53OHBxlOjbPKeZ7QG85O4r2vpmLCq9mZCDgFnuvgfQy8zG5L/o7rdHP8c9gTeB26MkfqC77wac\nG30AXA6ckWCs0gwlg/bZD3gG9w/TDiRa3X4foV1tn5TDEalkC4ExZjYIwN0/cfcXCX0pukXHHEzo\nQTEOuM3d50bHfuruzzdzzqbE2g9YEI2wR7v7X6L3zSPM6I0DDizinAcDTTMF+0Qj+qfN7KzouYnR\nLMCdwP7R40fN7ImoyyJm9p/RCPqfZrZPiT+rXYCmtTh/B8Y2d1CUyLu5+0xgY+CV6KXngd2j7/ND\nYAMNOspLP+z2qYip97xWqU8C+7j7JymHJFLJrgVeA+6Lpt9HRM/fCxxoZhsCS9x9PqHB0btFnPNK\nM3sd6OLuDwEDgHkFx8wCNog+2jrnFsD06OsnohH9GOBwM+sePb/E3ccDTwNHRaPpfQn9MwAuiUbQ\nBwDnFF7AzK7Lmzpv+ti34LD+wGfR158Aa7cQ72HAX6Kv3wRGmVlXYJ+C98wDhrTxvUuMqm6hnBkD\ngK7NvDQg4Qt3IUxN/TjR67QagnUCfkJoInOcWqVKrTGj3dt63Gl1Ojra0vlz4OfRCDZL6BZ5C/AD\nQkvoW6LD5wDDi7jsREISfjjqQjkTGFhwzEaEPyYo8pxN38eoqGhUF8IoeBBhyv/Z6PVhwNZm1lT8\nqul333Fmdgxhan/9wpO7+38UEcPHQN/o67WAlmYlDyf8DHD3D8zs94QR/gvA1MJLF3FdiUlVJXUz\n1iX0aH+/hUPuTvDyGeDfuM9O8BptMcJ0n4rJSE1qK0GXImrv/J6HYlHziJKnu79gZlsBmwLjo8P/\nRkjUv3f398ysLzCsmelyc/fFZvZL4HR3nxRNlx/p7rdEU/2HEk1FF3HO14ChhHv0PwBOAmYA/2RV\nsm+6D/8m4f77QdH31/R7/DRgO8IfAY8183O4njBrkO9/3P2+vMdPEkbbjxFmAa5o5jzrsmrqHQB3\nvxa41kJP8PwZi0GEP3ikTKoqqQPdgDnuqUznHEa455aaaMQxKc0YRKrQtsCfzWwxIUF+J++1ewn3\nwj8AcPePzOwU4MZoQdoK4D+bOWfT6PN2oDGaIj+d0EL6NMKtzdPc/SOAIs55O/AV4Bng1ujxy8Cn\nhdd09/nR/fVHonO9DHwXeJzQOfIfrJpCX/Vm92+0+lMK7gYOMbNHgefc/ako/kvd/eTomENZNfVO\n9PqNhAQ+Azg1em4dYI6r6VVZVVXrVTOGAI+XPamHhR6zgC/j/npZry1So6zE1pK1ysxuAr5RzAr4\namBmPwAedvdn2zxY1vj3UOq/j2obqadlZ+DDcib0aIprZbSKVkRqnLt/Pe0Y4uTuv0g7hnqk1e/F\nKevUe97q9v3KdU0REal+Gqm3JdwDOxQ4sq1DY7hU0+r2k4EJWt0uIiLtoaTetm0JP6cXkryIrd4q\ndZRWt4uISHtp+r1thwJ/JfkVhScSylfuo4QuIiKlUFJvW1mqyLn7+e5+rnqfi8TLzDYxs3lRBbVn\nzGxcB8/3TAnv+SyvitvRHbl+wXm3N7Odmnl+opn9O7reY2Y2NHq+wUIzm0ej50/Pe89gCw1qclFz\nlmObOe9/m9lmccVfKjP7bhTjHWa2RplsM2uMqgdOMbOx0XM7R889YWbnR8+NNrPmtixWLSX11oR/\nCFpKsHQAAByHSURBVOsTCjKISPXKRSVUDwF+msL1pzU1QnH3G9s6ONrPXowdgNHNPO/ARdH3fCnR\n3nHCjOBaUYnZDLCfme0dvXYdcGFUonZ34O2CmHoBI9z9jRjjbzczGwB8NWog82dWfW9Nr68F7Bs1\n7zmSVWV0f0RYqzQWGG1m67n708CXk4y33JTUW3cocAcx7xuN/nGISPn1BxYAmNlXrPnGKbea2Z3R\n801tRH8UjfIuI/q9aWbbRqPdx83sR9Fzk83sGjP7W3Tu7s0FYWYbmtn/WWjf+tu8a7fVtOXK6LmH\nzGxjwqLa75rZ35u7TOH3DBwF/AIg2g9/IXC0hfr35u6PR6+5uz9acL69CYVtMLN1oxgeNbNbohmA\nTaLHNwFnmdmovGMmtfQzL8FOwCPR1801nVkCuIVKe2uzqsLdB0D/6PlOhEY/AK9G56wJWijXErMd\ngLOAr8Z3yi9Wt///9s48zK6qSt/vRwgQoAHtdCMShgYBQWkEJKJMIQIyyChpZWoRERABH2gFBEVm\nZJ5sg0wGmdLYP1QQjEAgEGYkEKCbKc0gyCyDgozh+/2x9k2durlVdatS4631Ps996t5z9tlnnV1V\nd509nO/bRtI6HgrKP0nSGmwkaTqwBjC+bLvV9jiFuNSdks4s21+zvaekfYAJkq4ANrf9BUmfBK4t\n5Y4H9rT9qKQ/KFTVDDxm+1hJPyFU4q4GVlGbVvu+RO/yJNvXSTpf0gbl2Pdsf02hxnaJ7Q1LJ+B3\nJf6VS0+z1hueCCxi+2d11ysi2X8D+EdCPhZCJra6ZufPtJnOdLWWZxXaTGdeBTa1PVvSGaVNZ5V6\nxtv+QOFPv73tN8pN0sUN2vwM2+/OCTqGwuunR35v+6TK5yVoU9r7K3WmM7bflvR74DFgIcIlD+B0\nQp/+HWCy7VodTwCrEUY5Q55M6o0IPehrgX0oMonzXmW71e3bZEJPkrnRUeq+ocuPm1Ldutn2BElf\nA/YkzFE6Mk6pPenyDLA2sDzwAIDtRyS9WfYvabtm2DKDMFqBsB+tHf+R8v7RMhQOgKQVCUlYys+V\nCMnX2ra5TFtKovzPkhz/QnQQgIZ6+bXh958pzFa2AiYTbnFLE3KuAGOIxP5c2d4sowlJ3CWIRH4v\n8Dgws7Iu6F8Jv3WIRDyG8Givtfny1GnD2z4FOKWLc78O1Ob1F6fOdEZhsLMB0YZLEy59GwNnlO1P\nAVdKWtV2vfnMkCeTej3xz3Yd8H3sXhGcKUNnlxDmCEflYrgkaUyTCbrn9duTFb7jo+nYOKV2Y6Hy\neop4tBVJqwCLlv0vlp77o8BaxNx1zcCFSh2NmEUoVU4hhn4nEUmoQ9OW0ru9wvZlkn5AiGK9Twwl\nN6J27qMILfnJ5fU9YL8yDH0gcLrtZyXNlrS+7VvLKMD6tqvGMI8SvXUIl7urbV8g6SzapnKrOu8z\ngR1t/1XSfLY/LFMLjdqccp3fp61nXWOK7RMrn+8BDirvv0Ro3ldZFPhb0RZ/A1iksv31sv11oLbA\nbgVCb78lGDJJXeJqYGHa/9H09kmWAW4Ajsa+pHeq1ApEQt89xWSSZEAw7e0/LwC+RRfGKbXjbL8o\n6TpJdxCJqNYzPBw4n0hMv7P9dOmVukFd9ZwIXCTpMODBkkhXpHPTliOA30oy8T24CzAK+KWksQ2s\nVWt1vSDpaUnrlms/tgzli7hJmFrK7wr8VNKxRG6YWFffVIrdanl/saStgbc7uM5DiR7xfMC7kran\n4zanxHoyZc6/I4rV6zWSbiV+F7sAlDn6/7L9kKSXyv6RwLHl0KOBKZLeAx4ui+QAPlVibQmGjKEL\nuGaN+LxN7xsExIKYW4CJ2Kf3btVaxPZbXZdMkuGD0tBlyCHpBOCCZlbADwUkjQU2sH3qIIilVwxd\nhkxS79N//liUMg24AvuYPjtPkiRzyKSeJG30VlLPR9qkxYE/EAvjju2idJIkSZIMWoZ3Ui+PihDP\nXh46L1Kw5bnN30tau9fiS5IkSZJuMHyTeohC/JpYhXrAPCb0mlXqPcSKzyRJkiTpd4bM6vdeRRpJ\nyAu+BuyJ3aMV9UVM5jDg26RVapIkSTLADL+eeiTiXxLXvts8SsBeQkgnfjYTepIMTop86a/K+5UU\npi7LSJok6dpKuQ6NWsr02pGd7N9d0ncabO+2+UsH9UvSDxWytDdLukjSSIXk6sLzUO/Xy6NuSDpX\nYQCzfmfX2kld4yQ9U+q4UxWjGUkHlNhvkXRMeQ4eSYuXa7lZIbf7/Qb17itpfP32/kbSBIVk7w2S\nlq7bt5DaDHvukjSjbN+jXPPtkn5cti0j6bS+inN49dTjeclzgX8Cvoz93jzWeBQwK8VkkmTwU76I\nLwV2sf1MyStLS1rd9oOdHWv7ReDIzor0YpxqoDj5DWCM7Q1KmbGE6Mw8ndf2RZWPn7FdM4epF3Rp\nJlYDl9s+WOGMdijwFUmbEp2fDYvwyznAHsQz82cTMrCXl/o2rq+fMG+pl8HtKpZeRW1CPRsSBjo/\nInT3AbD9DqFah6SvA8uWXRfbvrBsv0nSOeVv72OSFrf9Rm/HOnx66vHHcQahiLQt8UuYJ2w/kgk9\nSQY9JvTP/xvY2/Zjle2nAgdXC5de1yWSpqpYe9b19jeTNEPSFaWHuVw5dGPVGcEAi0q6rIwO7FSO\n78gIZpKka4DPlB74jZJqts87AyfMuSD7ble+w0qd00qPsGYQs27pMd8o6QiFKt3VJbncKGnBct6t\nJJ0IfLJsX6lyrY1MWY5UGMtcQ5um/JxQys+qiczXCPe3WsI9iTCRmQ9Y1xXXOts30Z7VKXrzCtOY\n68t1XqdiuSrpfyVdCJwmaQVJU8o1ntZR2/SAlQjBmg9s397guqtMAK4o1/N+iWF+om3eLmWmE2p4\nvc7wSepwHOHmsxUpBJMkwwkRFqUv2b6vbt+9wGhJy1a27QlMtf1F4DJgL9r3iI8iDEx2BZapnON1\n29sQctATyvYxhIHLesDBJZHVjGDWJ24Eliv1P217KyIh3mV7PCEFC10brjxue5zDbnQZhef5loQs\n9XjgGELf/i2H/ev4YqRSU807hNCnH09Iz9b4CWHKsiFhilPTx/+T7a1sVxcGC/iqpNuBi2jTpl+K\nxiYyownntM6YYyLjWPu0jcMa9lrCcQ5C3/1A2weWeL9ddPYXUjyN1Kht2oKWdq0Mnd9UvSGoUDWR\ngQ6keRVa+B+reAJQbtweA+5pYCLT6wyPpB5SjNsAX6IHwx2SNpa0X+8HliRJOyR3+9U1JuSfn5R0\nVIP9pxJ66LW6VgO+rTBT2Z/o5VcZYft1x/TdQ5VzVI1gakYuT1bKPkMkso6MYGpKmTcDb0m6hDaN\n8+eIG4SOWEHStZKmETr0SwH/CWxZ6tnc9v8Bt0u6WNKx5QajK2qmLDcRNzC1m5hGqp4m3M++QEi9\n7lK210xkatRMZF4h2qMpJC0KnF+ucY9yjRBToLXv9VWAC0u865TzNmqbtqDtS9zmdV97HUR7XgcW\nq3zuaC3WtoQMbrX+nxAGNCtL+lSz19tTWj+pS98l5qM2xe7qrrDuUI1QOApdRtxpJUnSl9jq9qtr\namUOBNaQtHu7M9o3ED35WvJ+GDirfLmvT2iuV88zW9ISkhYgdMPn1FU5X6388qXsgkRCfIViBFPm\ni9cizFugzddipO2ji5b7ZgpPiksJK+g4gTRWbV7tIuZ3Ty292PuI7/Y3bO9PJMATS7xn296NWFe0\nXuX4jrgf2Lb0fNe2fW9drPXU6joD2FXxpNFk4MDKTcTBRPL/ELhD0s6V69qorr5HCcMViOHqJ8o1\nTqKxicyjxJNIG9teB7iGxm3TFrC0W4Oeer1U+CxgVcXixC/Q8aPLO1KG3kvdC8CcUYa3gAXLrhUJ\nH/dep7UXykl7UlvcYD/fvUPbWaWubbsrr+EkSQYntSFmlwRyg6Rn68qcDdTmds8FzlV4kUP05P+H\ntqR9BGFo8iTwAm3D1e2MYMr7Z4CzgFWBkx1OZV0Zwawj6TgiWT1TFlZNAj6uMCn5kBi+3bNyvquB\nMyU9Qlti3VvSDsR32C+I4fcLJM0G3iRGCcbXxU3d+0amLPVlq9RMZN4pc+472r5cYWd9i2Jk5ZYS\nD8RIyNmS9iaGtH9NjFRQ6nlAYXQDcAfwA0lrAi8CTzc4/yHAOeWGZzZxQ1PfNu1it30xYc/aIbbf\nV/jGTyPmxb8OcxbFPWr7ToU66ZKVNRuUeMcBCxBe8jPK9vWJR6F7ndbVfo9/3pOBcdiPd/N8Y4k/\nrrRKTZI+okf/14MASfM7vM0XBO4mVo0P/i/SIYqkfYFHbN840LH0BpLGAAfVD/HX/z/09P+jNZO6\ntB3hbbwJ9kNdFW9wvjHAarav6+6xSZI0xxBO6jsC3yHmWM+2PWlgI0pagUzqHRf+EjGUsgVt8z9J\nkgwyhmpST5K+oLeSemstlJM2JBL69pnQkyRJkuFG6yR16dOEuMRO2Lc1d4hGlJWPrdMOSZIkybCl\nNZJZ6LlfAPwIe2pzh2hJwkf9m8A/9GF0SZIkSdIvtEZSD8Wmd4HzmimsNqvU24FN+kJ/N0mSJEn6\nm6Gf1EOY4cfAXl1ZqNaJyexu+4h8XC1JWhtVdNt7cOwakvbpYN9GklZqotzykl4uoib3SNqqJ7HM\nK5JOrwjWdPfYDq9B4V52q0JffWJ51A+FtvwZCt34W9TAmUzSlpL26PlV9Q4KZ7rbFJr8n26w/8sK\nHf07Vdz4JG1Rrnu6pJ+XbYsUTYEBY2gn9VBs+BlwFvYjzRwBLE6IyaRVapIknWJ7pu1zOti9MbBy\nE+UAphVVtu2Ao3saT1Gh6xG2D/S8GVnNdQ2SPklI2W5SFNueBn5Yyh9O6O1vWLTjr25Q516EhXWn\n9MO6p2MJrfydgRMb7D8c2AT4PBEzwA2213c45y0gaV2Hr8irklbp43g7ZGgn9TBNWIEQ8e8Sh8PO\nf6Q6XJIMbxR+DneU125l25qlF/pbhdvaRgqP8JM1t8PZQsDuwAkKP/CNJJ1c6tmy1HuTpF1or2A2\nx71MjR3Qli09xmskXa7wO1+ulJkMHNLBcfsofLynStpO0ooKV7IbJU0sZaZJWljSYuX6ppVzjCzX\nOUXSlZLuV+ca5VUHtgnAOZWbhdMJqVTKz5NrB7nOgU1hfjKi6OIj6dIS03TFCCwKN7wzgF9K+kdJ\nvynXeInCtW3JSlv8qifJX9IoYLbtN2w/A3y0QbHXiQ7hKIrTmtsc2AQsUsoAXE9owA8IQ1cmVvoI\noS+8Yy/4oidJMgjQtGndFs7wuHE96b0eD2xFOG/doRiePwbYyfYsSdNpn4yXJRzOtp4Tq/QLwnnr\nWhXN8vIFfzywvu03y+flCIez6cAahDQrtDmgvVGS7MWELvqPbd8g6dJKDB8Hxhclu+sbHDcB+GLl\nnN8gvLwnVnr3JkYr9yLkac+V9EPCGvVPwPy2d5C0OSGv+h91bdboGpYC7qoVsP2uit45sGAt8XXA\nysBTlc972n5bIR62N9HjX4LQ4X9C0inAmbZvknQwsD1wFbCp7dkl+Y8nzHtqv6NNaHOLq/G87Z0r\nnz9Cewe2D1RUAyvbTgbuAT4g/k5q9e9O/M4ectto8RO0Ocj1O0M3qYcn768Jb9u5UKxu/9D2y/0b\nVpIkPaWHCbonjLD9KoCkWUTS/Gfbs8r++6gYnZSkcntJoE8T+u9UyxT+idBrf7Mc55JTb7Y9QdLX\nCM32P9LmgAaRvJYhjD5qGhv3VuqfWUky9ceNITTazyoJ/ATCVOQIhUPbH2ivbb4ioW8PkajWI5J6\nzWXuWdpc5qo0uobnS9tR2nIhoNbJek/SAu640zXnpknxBNPJklYnesMPll2v2X6ivF8VGKtYF7VQ\nuabRwMTS6/84bW0XJwiznhvonHoHtvqEDnEDthrwd2CqpF853PcmAZMk/VTSVravoXODnD5naA6/\nx13x5sAPGu+es7q9T0zokyQZ8nxYhnNHAisR1qYvSvpESYyfqRZWY4ez92nz1a59kb8MjJG0SDmu\n3Re87cnAZyWNprED2izCuQ3COa6W+KqLgGfWHTcDeND2HsQTQIcAH9g+2OH0dkhdHLOAz5X3Y2lz\noKyOTHSYmOqu4VeEccyosvtAQi8E4sbie3MqnNuB7TFg+fL+M8Ditjci5rQbObA9AhzmcGD7PHFj\nshNwdZnPn8LcDmybaG4HtsurZWz/HZhf0uJl2P/VBpe9EDFS8x7RW1+wMiIB0dOvObCtQDj9DQhD\nr6ced4LnAvvTZjhfdmkEMdSyD2G/l4vhkiQB2KAMW0P03A4jbDlNJOt3JP2IcGp7gZgzfh8YWcrU\nO5zdW/afKGk8YQDl0jM/nOjN/Z3Qz7i1LpYLgG/R2AHtJODyMlf+Nm0OcFUaHTdR0vJEYjkM2EbS\nfqX8lMqIgYnEf2npcb9A9OzXo7HLHB1suwD4lu0TyrD3DZI+IBLvAaXMccBJkm4pn++mvQPbG5I+\nVKyWfxhYTtJ1pY5G0zDHAedJOqp8Pphwy7tY0talveod2JrpqUMM9V9L3ETsC6CQHB9l+zfAacCt\n5fd/ne0XJe1d2nA+Ysj9t6WuTYCfN3HOPmHoab9LxwCrYX+lrkzVKnXnXAyXJIMbDTLtd7W5r80H\n3Ah81faL/RzDCNuzy/tLgTNs39OfMfQnkrYEPmb7woGOpTcoIzQ/s/31Hhw7DA1dpI8Sd0SrUZe0\nJR1GzMWkVWqSDAEGYVJfj1jkNgr4je3jByCGFYBJROfkftv79ncMycAwXJP6ssCt2MsOdExJkswb\ngy2pJ8lA0ltJfWgulEuSJEmSZC76NKlL2lzSI5Iel3RIB2XOKvtnSlqzyXoX6d1IkyRJkmTo02er\n38tK9J8SKwH/DNwj6SrbD1fKbAl8wvZKkj4HTATW7ajOF2C+s+J5wpslreOhMHcwRJA0zva0gY6j\n1cl2bo+k/B9Okl6kLx9pGwvMsv0UgELicFvaP7+3DXARgO27JC0haclGK04lLbkwXLxGPC+4TSb0\nXmccMG2AYxgOjCPbGYC+mk+XdKTtI/ui7iTINh689OXw+9LAM5XPz5ZtXZUZ00F9MxaHGTeHQUA+\nrpYkSZIkdfRlUm+2J11/t97wuMvgT8/Bp0e2VxhKkiRJkqTQZ4+0SVoXONL25uXzDwgt9hMrZc4h\n7Pwml8+PABvVD7/nvFuSJEky3OjJFFVfzqn/EVipSBc+R7jW7FRX5ipgP2ByuQl4vdF8ej7LmiRJ\nkiRd02dJvcgt7kc4BI0ALrD9sKS9y/6fOywLt1S4JL1F2AUmSZIkSdIDhoSiXJIkSZIkXTOoFOX6\nSqwmaaOrNpa0S2nbByTdJulfByLOoUwzf8el3DqSPpC0Q3/G1wo0+V0xTtJ9kh6SNK2fQ2wJmvi+\nGC1piqT7SzvvPgBhDlkkXSjpRUkPdlKmeznP9qB4EUP0swh/3ZGE1/CqdWW2BK4t7z8H3DnQcQ+l\nV5Nt/HnC1xjCsz7buJfbuFLuRuB3wFcGOu6h9Gry73gJ4H+AMeXz6IGOe6i9mmznI4ETam0M/AWY\nf6BjHyovYANgTeDBDvZ3O+cNpp76HLEa2+8DNbGaKu3EaoAliuVq0hxdtrHtO2y/UT7eRce6AUlj\nmvk7Btgf+G/g5f4MrkVopo13Bv6f7WcBbL/SzzG2As208/OEyifl51+cLplNY3s68FonRbqd8wZT\nUu9tsZpkbppp4yrfBK7t04hajy7bWNLSxJfjxLIpF7Z0j2b+jlcCPirpJkl/lLRbv0XXOjTTzucB\nn5L0HDAT+G4/xTZc6HbO68tH2rpLr4rVJA1puq0kbQzsAazXd+G0JM208RnAobYtScz9N510TjNt\nPBJYC/gisDBwh6Q7bT/ep5G1Fs2082GE7/s4SSsC10taw/bf+ji24US3ct5gSup/BpapfF6GuCvp\nrMyYsi1pjmbamLI47jxgc9udDQ0lc9NMG69NaDNAzENuIel921f1T4hDnmba+BngFdtvA29LugVY\nA8ik3jzNtPMXgOMAbP+fpCeBVQidkmTe6XbOG0zD73PEaiQtQIjV1H/JXQX8O8xRrGsoVpN0SJdt\nLGlZ4EpgV9uzBiDGoU6XbWx7Bdv/YvtfiHn1b2dC7xbNfFf8Flhf0ghJCxOLjP63n+Mc6jTTzo8Q\nTpyUud5VgCf6NcrWpts5b9D01J1iNX1OM20MHAF8BJhYepLv2x47UDEPNZps42QeaPK74hFJU4AH\nCL+I82xnUu8GTf4tHw/8QtJMopN4sO1XByzoIYaky4GNgNGSngF+TEwd9TjnpfhMkiRJkrQIg2n4\nPUmSJEmSeSCTepIkSZK0CJnUkyRJkqRFyKSeJEmSJC1CJvUkSZIkaREyqSdJkiRJi5BJPUn6CUmz\nixVo7bVsJ2Xf7IXzTZL0RDnXvUW8ort1nCfpk+X9YXX7bpvXGEs9tXZ5QNKVkhbtovwakrbojXMn\nSauRz6knST8h6W+2/6G3y3ZSxy+Aq21fKWlT4BTba8xDffMcU1f1SppE2FCe2kn53YG1be/f27Ek\nyVAne+pJMkBIWkTSDaUX/YCkbRqUWUrSLaUn+6Ck9cv2zSTdXo69QtIiHZ2m/JwOfKIce1Cp60FJ\n363Eco2k+8v2CWX7NElrS/oJMKrEcXHZ92b5OVnSlpWYJ0naQdJ8kk6WdLekmZL2aqJZ7gBWLPWM\nLdc4Q9JtklYucqVHA18tsUwosV8o6a5Sdq52TJLhwqCRiU2SYcAoSfeV908A/wZsb/tvkkYTCa1e\nW3tnYIrt4yXNByxcyh4OfNH225IOAQ4Cjunk3FsDD0haC9id8MqeD7hL0s1EIv2z7a0AJNU8sg3Y\n9qGSvmN7zUqdtWG+yeVari1JdzywN7AnoVU9VtKCwK2SrrP9VKMAJY0ANgOmlk0PAxvYni1pE+B4\n2ztK+hHRUz+gHHc8MNX2HpKWKNd0g+2/d9IeSdKSZFJPkv7j7WpSlDQSOEHSBoQ++ccl/bPtlyrH\n3A1cWMr+xvZMSeOA1YDbiz7/AsDtDc4n4GRJPwReAr4JbApcWdzLkHQlsAEwBTil9Mh/Z/vWblzX\nFODMktC3AG62/a6kzYDVJe1Yyi1GjBY8VXd87WZn6bLvnLJ9CeCXkj5B3EDUvq/q7Wo3A7aW9L3y\neUHC2erRblxDkrQEmdSTZODYhbBeXav0Rp8EFqoWsD29JP0vA5MknQa8Blxve+cu6jfwPdtX1jaU\nHm81ISpO48clrQlsBRwraartznr+1RjfkTQN+BLRY7+8sns/29d3UcXbtteUNIowD9kW+DUx8jDV\n9vaSlgOmdVLHDumVniQ5p54kA8liwEsloW8MLFdfoKyQf9n2+cD5wJrAncB6kmpzz4tIWqmDc6ju\n83RgO0mjyjz8dsB0SUsB79i+FDilnKee9yV11BH4L2AP2nr9EAl639oxZU584Q6Op4weHAAcpxiC\nWAx4ruyuulP9Fagu2PtDOY5ynkaxJ8mwIJN6kvQf9Y+aXAp8VtIDwG7EHHJ92Y2B+yXNIHrBZ9p+\nhZgXv1xheXk74WPd5Tlt3wdMIob17yQsSWcCqxNz0fcR9rvHNqjrXGJe/uIGdV8HbEiMIHxQtp1P\neJjPkPQgMJHGo4Nz6rF9PzCrXOtJxPTEDML6s1buJmC12kI5okc/siw2fAg4qoO2SJKWJx9pS5Ik\nSZIWIXvqSZIkSdIiZFJPkiRJkhYhk3qSJEmStAiZ1JMkSZKkRcikniRJkiQtQib1JEmSJGkRMqkn\nSZIkSYuQST1JkiRJWoT/D+Lc+1SrsPBzAAAAAElFTkSuQmCC\n", "text/plain": "<matplotlib.figure.Figure at 0x10c46e990>"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u0427\u0435\u043c \u0432\u044b\u0448\u0435 \u043b\u0435\u0436\u0438\u0442 ROC-\u043a\u0440\u0438\u0432\u0430\u044f - \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435 - \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0442\u0443\u0442 \u0442\u043e\u0436\u0435 RandomForest \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e - \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430", "cell_type": "markdown", "metadata": {}}, {"source": "\u0412\u0441\u0435, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0437\u0432\u0430\u0442\u044c predict \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u044c\u0435\u043a\u0442\u0430 \u0438\u0437 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0438 \u0437\u0430\u0441\u0430\u0431\u043c\u0438\u0442\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442", "cell_type": "markdown", "metadata": {}}, {"execution_count": 218, "cell_type": "code", "source": "model_rfc.fit(train_features, train_target)\nresult.insert(1,'Survived', model_rfc.predict(test))\nresult.to_csv('ans.csv', index=False)", "outputs": [], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u041e\u0431\u0443\u0447\u0438\u043c \u0437\u0430\u043d\u043e\u0432\u043e \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u044e \u043d\u0430 \u0432\u0441\u0435\u0445 \u0444\u0438\u0447\u0430\u0445", "cell_type": "markdown", "metadata": {}}, {"execution_count": 223, "cell_type": "code", "source": "model_lr.fit(train_features, train_target)", "outputs": [{"execution_count": 223, "output_type": "execute_result", "data": {"text/plain": "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n intercept_scaling=1, penalty='l1', random_state=None, tol=0.01)"}, "metadata": {}}], "metadata": {"collapsed": false, "trusted": true}}, {"source": "\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a\u0438\u0435 \u0444\u0438\u0447\u0438 \u043a\u0430\u043a\u043e\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432\u043d\u043e\u0441\u044f\u0442 \u0432 \u043c\u043e\u0434\u0435\u043b\u044c \u043b\u043e\u0433\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0433\u0440\u0435\u0441\u0441\u0438\u0438", "cell_type": "markdown", "metadata": {}}, {"execution_count": 228, "cell_type": "code", "source": "import numpy\nfor idx in numpy.argsort(model_lr.coef_)[0][:10]: # \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 10 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u044d\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u043c\n print '{}, importance = {:.5f}'.format(train_features.columns[idx], model_lr.coef_[0][idx])", "outputs": [{"output_type": "stream", "name": "stdout", "text": "Pclass, importance = -0.94786\nSibSp, importance = -0.30920\nParch, importance = -0.08777\nAge, importance = -0.03270\nEmbarked_S, importance = 0.00000\nFare, importance = 0.00321\nEmbarked_Q, importance = 0.19364\nSex_male, importance = 0.27526\nEmbarked_C, importance = 0.37437\nSex_female, importance = 2.95560\n"}], "metadata": {"collapsed": false, "trusted": true}}], "nbformat": 4, "metadata": {"kernelspec": {"display_name": "Python 2", "name": "python2", "language": "python"}, "language_info": {"mimetype": "text/x-python", "nbconvert_exporter": "python", "version": "2.7.6", "name": "python", "file_extension": ".py", "pygments_lexer": "ipython2", "codemirror_mode": {"version": 2, "name": "ipython"}}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment