{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt\n%matplotlib inline\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list the files in the input directory\n\nimport os\nprint(os.listdir(\"../input\"))\n\n# Any results you write to the current directory are saved as output.","execution_count":1,"outputs":[{"output_type":"stream","text":"['train.csv', 'sample_submission.csv', 'test.csv']\n","name":"stdout"}]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"train_df=pd.read_csv('../input/train.csv')\ntrain_df.head()","execution_count":2,"outputs":[{"output_type":"execute_result","execution_count":2,"data":{"text/plain":"   label  pixel0  pixel1    ...     pixel781  pixel782  pixel783\n0      1       0       0    ...            0         0         0\n1      0       0       0    ...            0         0         0\n2      1       0       0    ...            0         0         0\n3      4       0       0    ...            0         0         0\n4      0       0       0    ...            0         0         0\n\n[5 rows x 785 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>label</th>\n      <th>pixel0</th>\n      <th>pixel1</th>\n      <th>pixel2</th>\n      <th>pixel3</th>\n      <th>pixel4</th>\n      <th>pixel5</th>\n      <th>pixel6</th>\n      <th>pixel7</th>\n      <th>pixel8</th>\n      <th>pixel9</th>\n      <th>pixel10</th>\n      <th>pixel11</th>\n      <th>pixel12</th>\n      <th>pixel13</th>\n      <th>pixel14</th>\n      <th>pixel15</th>\n      <th>pixel16</th>\n      <th>pixel17</th>\n      <th>pixel18</th>\n      <th>pixel19</th>\n      <th>pixel20</th>\n      <th>pixel21</th>\n      <th>pixel22</th>\n      <th>pixel23</th>\n      <th>pixel24</th>\n      <th>pixel25</th>\n      <th>pixel26</th>\n      <th>pixel27</th>\n      <th>pixel28</th>\n      <th>pixel29</th>\n      <th>pixel30</th>\n      <th>pixel31</th>\n      <th>pixel32</th>\n      <th>pixel33</th>\n      <th>pixel34</th>\n      <th>pixel35</th>\n      <th>pixel36</th>\n      <th>pixel37</th>\n      <th>pixel38</th>\n      <th>...</th>\n      <th>pixel744</th>\n      <th>pixel745</th>\n      <th>pixel746</th>\n      <th>pixel747</th>\n      <th>pixel748</th>\n      <th>pixel749</th>\n      <th>pixel750</th>\n      <th>pixel751</th>\n      <th>pixel752</th>\n      <th>pixel753</th>\n      <th>pixel754</th>\n      <th>pixel755</th>\n      <th>pixel756</th>\n      <th>pixel757</th>\n      <th>pixel758</th>\n      <th>pixel759</th>\n      <th>pixel760</th>\n      <th>pixel761</th>\n      <th>pixel762</th>\n      <th>pixel763</th>\n      <th>pixel764</th>\n      <th>pixel765</th>\n      <th>pixel766</th>\n      <th>pixel767</th>\n      <th>pixel768</th>\n      <th>pixel769</th>\n      <th>pixel770</th>\n      <th>pixel771</th>\n      <th>pixel772</th>\n      <th>pixel773</th>\n      <th>pixel774</th>\n      <th>pixel775</th>\n      <th>pixel776</th>\n      <th>pixel777</th>\n      <th>pixel778</th>\n      <th>pixel779</th>\n      <th>pixel780</th>\n      <th>pixel781</th>\n      <th>pixel782</th>\n      <th>pixel783</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>1</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>4</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_df=pd.read_csv('../input/test.csv')\ntest_df.head()","execution_count":3,"outputs":[{"output_type":"execute_result","execution_count":3,"data":{"text/plain":"   pixel0  pixel1  pixel2    ...     pixel781  pixel782  pixel783\n0       0       0       0    ...            0         0         0\n1       0       0       0    ...            0         0         0\n2       0       0       0    ...            0         0         0\n3       0       0       0    ...            0         0         0\n4       0       0       0    ...            0         0         0\n\n[5 rows x 784 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>pixel0</th>\n      <th>pixel1</th>\n      <th>pixel2</th>\n      <th>pixel3</th>\n      <th>pixel4</th>\n      <th>pixel5</th>\n      <th>pixel6</th>\n      <th>pixel7</th>\n      <th>pixel8</th>\n      <th>pixel9</th>\n      <th>pixel10</th>\n      <th>pixel11</th>\n      <th>pixel12</th>\n      <th>pixel13</th>\n      <th>pixel14</th>\n      <th>pixel15</th>\n      <th>pixel16</th>\n      <th>pixel17</th>\n      <th>pixel18</th>\n      <th>pixel19</th>\n      <th>pixel20</th>\n      <th>pixel21</th>\n      <th>pixel22</th>\n      <th>pixel23</th>\n      <th>pixel24</th>\n      <th>pixel25</th>\n      <th>pixel26</th>\n      <th>pixel27</th>\n      <th>pixel28</th>\n      <th>pixel29</th>\n      <th>pixel30</th>\n      <th>pixel31</th>\n      <th>pixel32</th>\n      <th>pixel33</th>\n      <th>pixel34</th>\n      <th>pixel35</th>\n      <th>pixel36</th>\n      <th>pixel37</th>\n      <th>pixel38</th>\n      <th>pixel39</th>\n      <th>...</th>\n      <th>pixel744</th>\n      <th>pixel745</th>\n      <th>pixel746</th>\n      <th>pixel747</th>\n      <th>pixel748</th>\n      <th>pixel749</th>\n      <th>pixel750</th>\n      <th>pixel751</th>\n      <th>pixel752</th>\n      <th>pixel753</th>\n      <th>pixel754</th>\n      <th>pixel755</th>\n      <th>pixel756</th>\n      <th>pixel757</th>\n      <th>pixel758</th>\n      <th>pixel759</th>\n      <th>pixel760</th>\n      <th>pixel761</th>\n      <th>pixel762</th>\n      <th>pixel763</th>\n      <th>pixel764</th>\n      <th>pixel765</th>\n      <th>pixel766</th>\n      <th>pixel767</th>\n      <th>pixel768</th>\n      <th>pixel769</th>\n      <th>pixel770</th>\n      <th>pixel771</th>\n      <th>pixel772</th>\n      <th>pixel773</th>\n      <th>pixel774</th>\n      <th>pixel775</th>\n      <th>pixel776</th>\n      <th>pixel777</th>\n      <th>pixel778</th>\n      <th>pixel779</th>\n      <th>pixel780</th>\n      <th>pixel781</th>\n      <th>pixel782</th>\n      <th>pixel783</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>...</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n      <td>0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#define a function to draw the image\n#x-> dataframe with data\n#y-> dataframe with labels\ndef draw_digit(x,y, label='Actual'):\n    plt.figure(figsize=(20,5))\n    #check the length of input dataset and divide by 8 to print 10 digits on each line\n    nrows=(len(x)//10)+1\n    #ncols=(len(x)%10)\n    ncols=10\n    print('Lenght of input: {}, nrows: {}, ncols: {}, label: {}'.format(len(x), nrows, ncols, y.shape))\n    #print(x.shape)\n    #iterate over all the digits passed in the array\n   \n    for idx,i in enumerate(x.index):\n        #loop to iterate over blocks of 10 digits            \n            plt.subplot(nrows,10,idx+1)  #subplots start with 1\n            plt.subplots_adjust(top=1.3)\n            plt.imshow(x.loc[i].values.reshape(28,28), cmap=plt.cm.gray, interpolation='nearest',clim=(0, 255))\n            plt.title(label+' %i\\n' % y.iloc[idx,:].values, fontsize = 11)\n            #plt.title('Actual {}\\n'.format(y.iloc[idx,:].values), fontsize = 11)\n           \n    plt.show()","execution_count":4,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Display image of digits\ndraw_digit(train_df.iloc[:15,1:], train_df.iloc[:15,:1],'Actual')","execution_count":5,"outputs":[{"output_type":"stream","text":"Lenght of input: 15, nrows: 2, ncols: 10, label: (15, 1)\n","name":"stdout"},{"output_type":"display_data","data":{"text/plain":"<Figure size 1440x360 with 15 Axes>","image/png":"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QXnevHku3m+//YK6L774opKXbpD/czBo0CAXT5s2rWZtqEci+2LLli2Dsj/t2J8eW22nn366i6+44oqgrpbTw+LaFyvBv1VekiZOnOjiYcOGufi+++4Ljvv4449dfOCBBwZ1fr8/4IADXPzAAw+U1dYyJbIvIpTmvpghme2LP/zhD1180kknBXUtWrRwcceOHYO6vfbaq97zPf3000F56tSpLr7//vuDuhdeeKG4xq5FXPuiPy1dksaOHeviY489tpKXKorfjgsuuKDR2hFRUF/kTiAAAAAAAIAMYBAIAAAAAAAgA5gOVmWjR4928TnnnBPU+bdr33bbbUGdvwPLp59+WnY74np7X1Tbtm1dHJ0Gl++2yWp77733XDxkyJCg7tVXX3XxJ598Uu2mZOpWW6aDNazSOdxkk02Csj9dcuONNw7qli5dWslLN6hz584uvvPOO128ww471KwN9UhMX/R3w3jssceCuq222qqaly7IySefHJT//Oc/1+zace2LlXDhhRcG5bPOOsvF48ePd/EJJ5yQ9xwzZswIyrvssouL/dfkLbfcMjjuzTffLK6x5UlMX0R+aeiLHTp0cLE/Jahv377BcQMGDKj3+atXrw7K/lTNV155JajzP3v67rrrrqC8YsWKvOevglT3xegSFb/73e9cfNhhh7k4umOxz9+BSipt9+Ho59zbb7/dxf5SIqWKa1+MvqcdfPDBLvZ3jJbC3wueffZZF0enm3/44Ycu/uijj1y8/fbbB8f16NEjb7vmzp3r4tmzZ7s4ustqjTEdDAAAAAAAAHUYBAIAAAAAAMgABoEAAAAAAAAygDWBqmDfffd18d/+9jcXN2/ePDjuxRdfdHG/fv2CuuXLl1e0TXGd4xm1xx57uPgf//hHNS9VEf56Cv46C1WS6vnWUYWuCXTiiSe6+JprrqlqmyohKX1x2bJlLr711luDulpux+mvCbRw4UIX++uTSNK//vWvmrVJCeqLXbt2dfEbb7xRzUuV5LXXXgvKf/jDH1x8ww03BHVfffVVRa+dlL5YqKFDh7rY/+whhWuI9O79zY/ul19+mfd80XX59txzTxf7azCcccYZwXGXXXZZgS2uiNj2RT8fkrT77ru72F/fTJKWLFlS7zneeuutoNy+fXsX++t9FWPnnXd2sf95dd68ecFx/pon0XZUWlz7YnQ9vMGDB7t4//33D+oGDRpU7zm++OKLoPzOO+/Ue1yTJk2CcpcuXQpuZz5z5sxx8eTJk4O6q666ysUVWi8otn2xVP77Z/QzRr78RH938V9jK7Em0LbbbhuUv/vd77p4woQJLo6+Lkd/DvOJa1+M2nTTTV3sr3knSQ8++KCL/bW1Cv0MseGGGwbl0047Le+1fP5n1G7duhV0rSphTSAAAAAAAADUYRAIAAAAAAAgA5o2dgPSIHpL4NixY13sTwHzt5+Twi3jKz39KymiW2c2dJtdKU455RQXR2/BPf3001284447lnT+3//+9y72txqUwm0bUT1DhgxxcRKmgyXF1KlTXexPH5HC17VCbzGutHXW4W8Y9enYsWNQnjZtWtHniE4R8qcDRqcu+/zb0lu0aFHQtb7//e8HZX9a7aOPPhrU5dsWOctatmzp4vPOO8/F0enn/na1DU0B8x166KFB2b+9/fHHH3dxdFviK6+80sWN9foQBz/84Q+Dsj+N9phjjgnq/Gki/hQRf3qBFE5T8LdBjk4ryXe+huqi7fWng2WVP5VEknr16pX3WP+11t8q+p577gmOy/c61qdPn6D8yCOPuPjkk08O6p566ql6zxH9LDts2DAX+1NtpfC94uyzz673fFnkv3fdfPPNLvanH0lh37nllltcHH3djG5LXq7oFvT+Vuk///nPXey/Pkjpey32p6j6y0JUgv++KoVLlaQJn6IBAAAAAAAygEEgAAAAAACADGAQCAAAAAAAIANYE6hEO+ywg4uvvfbaoG7LLbes9zknnXRSUC5lrYa0GTlyZFDu379/Qc975plnXPzvf/8773EzZ8508UsvvRTUPfDAAy72t7uVwvV8/FxH+Vu0HnjggXnPASTNf//7XxcfdthhQd3666/v4g8++KCq7Vi1apWLP/nkk6peKw1OPfXUoNyzZ8+Cnvfuu++6+Pjjjw/qCn2v+ulPf+pif/thSfre975X0Dl8d911V1C+4IILXDxlypSiz5dG/rp3fq5vuOGG4LiG3icLtWzZsnofj/6M+dtqL1iwoOzrJlV03TJ/Xaboelf+tu2VFl178ZBDDqn3uGifqva28Elw6aWXBmV/TaboekHz588v61pt27YNyv66UX/9618LOoe/JbwU5jT6GXivvfZy8ZgxY1xc6JphaXXFFVe4OLpOk8//3vq/y1R6DaCoFStWBGV/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YsWKMlvXMH+O56RJkwp+3vjx413sr2UCJN1dd93l4h//+Mcubto0fEtZvXp1vc+PrmOy9dZbu7hPnz5BnT/f2t+u1X9O1Nlnnx2UzznnnLzHonHts88+Qfmkk04q+hx33HFHpZoTS34/iq4bUk277rprUG7fvn297XjnnXdq1ibUr1+/fkHZ3yLef71G/fzfEfzPqAMGDAiOq+aaQA2JruN0wAEHuPjaa6918cyZM4Pj/M/Kr732WpValy7z58+v2rmja3d17ty53uOeffbZoPzmm29WrU34tuhn2ZYtW7p4xIgRQV3//v0LOuerr77q4tNOO62M1lUOdwIBAAAAAABkAINAAAAAAAAAGZCZ6WBDhw518S677JL3uKeeesrFN910U1XblFV33323i+fMmRPUbbPNNnmft8MOO7j44YcfdvFZZ50VHBe9HbYUHTp0cPGll17q4q222irvc6LbR1588cUu9rd+BJJu8uTJLj7mmGNcHJ125U+D3HPPPV280047Bcc1b97cxY8++mhQd+6557rY3zZ13333DY4788wzXfz444832H7UOeOMM1zsv25We8vvbt26ufhnP/tZUOdP+WvIySef7OJ80w7Twu8f0S3iK23gwIEuvvrqq/Med9lll7m4mtMnUJiGtoifN29erZuTOP7r0LRp01w8d+7cxmjOWvnbwvtTpqNbyft9eO+99w7qop9ZUX3RJSVat25d73F33nlnLZoDT4sWLVz8pz/9KajzP+cWKvra4ffTRYsWFX2+auBOIAAAAAAAgAxgEAgAAAAAACADUjsdbNiwYUHZn5rji04bOPjgg6vWJtT55JNPXOzf0i9J11xzjYt79uyZ9xy9e/d28bhx44K6pUuX1vucZcuWBWX/Fnt/5XcpvGWzoSlgvn/84x9BmdX8y3PllVc2dhOQx4svvuhif8cRf0fFKL9//PrXvw7qnnnmmXrjhkR3afGng2WNP622V69eBT+vR48eLj7hhBNcfPrpp5fdpk033TQo+7t+HX744S72d5xam+uvv97F/ntFlqfbtmrVysX+7eyrVq0q6PnRHVL9aQjRqQqzZ892Ma/Pjc/fmTGaR393MBTH/4yaBG+99ZaLx44dG9TdcsstLo5Ow37ooYeq2zBIkk499VQXb7/99kGd/97lv7/deOON1W9YwvjTyKXw86a/RIgkPfLI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dWPZb7/9XDxmzJigbsstt3RxqTmcPXu2i4cMGRLUffLJJyWdswGJ2Za60vbff38XT5kyJahr1qyZi0888cSgLo5rAtW6L86cOTMoN7TWT7kKXSvoX//6V8HnPPfcc0trTHXFti/26dMnKPuvUVE333yzi6+++moXP/nkkyVde5NNNnHxoYceGtSdf/759T5n/vz5Qdl/v/voo49Kakeh2CIeAABkEXcCAQAAAAAAZACDQAAAAAAAABmQyS3i/a1rzzjjjKCuoSlgpfCndY0YMSKo87fujU5L69Spk4uPOeYYF/vbO6OOPx1IkiZNmuTivfbay8XrrbdeweecOnWqiz///HMXH3zwwcFxffv2dfFRRx0V1Pn5RXn8HEfzjYZFp15VczpYoecupg35XvPGjRsXlGM6bSxW7r777qB82GGHVfT8ixYtcvHEiRODOn9KZ69evVzco0eP4Lh11123om0CAABAiDuBAAAAAAAAMoBBIAAAAAAAgAxgEAgAAAAAACADMrMm0AEHHODiq666ysXt27ev6nX9NYEeeuihoO7ll192cXRNIN+nn35a+YYlkL8WzI477uhif/0eSdpggw3qff5nn30WlH/3u9+5eNq0aUHd3LlzXez/jPhbzktSixYtXNyyZcu8bUf1zJo1y8XR7ePx7bVy/HJD6+j079/fxQ1t6e4fV831hhq6LvIz5ptd0Pfdd9+aXdd/75PCNdL8ddvWWYe/RQEAANTSWj99GWNuMMa8b4x5yXtsA2PMdGPM67n/21W3mSgXeUyFbuQw+eiLqUBfBAAAQCIV8ie4iZL2iDw2StIMa20PSTNyZcTbRJHHpFsicpgGE0Uek46+CAAAgERa63Qwa+2jxphukYeHSBqQiydJekTSWRVsV9l69uwZlK+99loXt2nTxsXW2qq240c/+pGLf/3rXwd1G220UUHn6Nq1a9ntSGoeff5273fccUfe4/xpX3fddZeLo1u2P/fccwVd9+OPP3bxyJEjg7rly5fXe60qWSHpo8hjicphNfj5XrZsWSO2pDBx6ouNta36zJkzg3Ip08gamqJWA7Htix99FDZr4cKFLt5kk02CujFjxrj4vPPOq2g7fvzjHwfla665xsX+++6aNWsqel0AAAA0rNTJ+B2ttV9P+H9XUscKtQe1RR6TjxymA3lMPnIIAACA2Ct7YWhrrTXG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\n"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"**Using Random Forest to classify**"},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.ensemble import RandomForestClassifier\nfrom sklearn.preprocessing import StandardScaler\nrf=RandomForestClassifier(n_jobs=-1, oob_score=True, verbose=1)","execution_count":6,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Prepare a pipeline\nsteps=[('Scaler',StandardScaler()), ('rf',rf)]","execution_count":7,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Create a Pipeline for scaling and training "},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.pipeline import Pipeline\npipeline=Pipeline(steps)","execution_count":8,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Define the hyperparameters for Random Forest \nparams={'rf__n_estimators':[1000, 1500, 2000, 2500], 'rf__max_depth':[10,15, 20, 25], 'rf__oob_score':['True']}","execution_count":9,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.model_selection import train_test_split, GridSearchCV\nfrom sklearn.metrics import accuracy_score","execution_count":10,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"**Split the dataset into training and test**"},{"metadata":{"trusted":true},"cell_type":"code","source":"y=train_df['label']\nX=train_df.drop('label', axis=1)","execution_count":11,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.7, test_size=0.3, random_state=2)","execution_count":12,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"print(X_train.shape, X_test.shape, y_train.shape, y_test.shape)","execution_count":13,"outputs":[{"output_type":"stream","text":"(29399, 784) (12600, 784) (29399,) (12600,)\n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"grid_cv=GridSearchCV(n_jobs=-1,\n                     estimator=pipeline,\n                     param_grid=params,\n                     return_train_score=True,\n                     cv=3,\n                     verbose=1)","execution_count":14,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from timeit import default_timer as timer","execution_count":15,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"grid_cv.estimator.get_params().keys()","execution_count":16,"outputs":[{"output_type":"execute_result","execution_count":16,"data":{"text/plain":"dict_keys(['memory', 'steps', 'Scaler', 'rf', 'Scaler__copy', 'Scaler__with_mean', 'Scaler__with_std', 'rf__bootstrap', 'rf__class_weight', 'rf__criterion', 'rf__max_depth', 'rf__max_features', 'rf__max_leaf_nodes', 'rf__min_impurity_decrease', 'rf__min_impurity_split', 'rf__min_samples_leaf', 'rf__min_samples_split', 'rf__min_weight_fraction_leaf', 'rf__n_estimators', 'rf__n_jobs', 'rf__oob_score', 'rf__random_state', 'rf__verbose', 'rf__warm_start'])"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"start=timer()\ngrid_cv.fit(X_train, y_train)\nend=timer()","execution_count":17,"outputs":[{"output_type":"stream","text":"Fitting 3 folds for each of 16 candidates, totalling 48 fits\n","name":"stdout"},{"output_type":"stream","text":"[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n/opt/conda/lib/python3.6/site-packages/sklearn/externals/joblib/externals/loky/process_executor.py:706: UserWarning: A worker stopped while some jobs were given to the executor. This can be caused by a too short worker timeout or by a memory leak.\n  \"timeout or by a memory leak.\", UserWarning\n[Parallel(n_jobs=-1)]: Done  48 out of  48 | elapsed: 89.3min finished\n/opt/conda/lib/python3.6/site-packages/sklearn/preprocessing/data.py:645: DataConversionWarning: Data with input dtype int64 were all converted to float64 by StandardScaler.\n  return self.partial_fit(X, y)\n/opt/conda/lib/python3.6/site-packages/sklearn/base.py:467: DataConversionWarning: Data with input dtype int64 were all converted to float64 by StandardScaler.\n  return self.fit(X, y, **fit_params).transform(X)\n[Parallel(n_jobs=-1)]: Using backend ThreadingBackend with 4 concurrent workers.\n[Parallel(n_jobs=-1)]: Done  42 tasks      | elapsed:    3.6s\n[Parallel(n_jobs=-1)]: Done 192 tasks      | elapsed:   15.7s\n[Parallel(n_jobs=-1)]: Done 442 tasks      | elapsed:   36.3s\n[Parallel(n_jobs=-1)]: Done 792 tasks      | elapsed:  1.1min\n[Parallel(n_jobs=-1)]: Done 1242 tasks      | elapsed:  1.7min\n[Parallel(n_jobs=-1)]: Done 1500 out of 1500 | elapsed:  2.0min finished\n","name":"stderr"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"print('Time taken to fit on train data (in min): {} '.format((end-start)/60))","execution_count":18,"outputs":[{"output_type":"stream","text":"Time taken to fit on train data (in min): 92.67022471793317 \n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Check the score\ngrid_cv.score(X_train, y_train), grid_cv.score(X_test, y_test)","execution_count":19,"outputs":[{"output_type":"stream","text":"/opt/conda/lib/python3.6/site-packages/sklearn/pipeline.py:511: DataConversionWarning: Data with input dtype int64 were all converted to float64 by StandardScaler.\n  Xt = transform.transform(Xt)\n[Parallel(n_jobs=4)]: Using backend ThreadingBackend with 4 concurrent workers.\n[Parallel(n_jobs=4)]: Done  42 tasks      | elapsed:    0.2s\n[Parallel(n_jobs=4)]: Done 192 tasks      | elapsed:    0.7s\n[Parallel(n_jobs=4)]: Done 442 tasks      | elapsed:    1.7s\n[Parallel(n_jobs=4)]: Done 792 tasks      | elapsed:    3.2s\n[Parallel(n_jobs=4)]: Done 1242 tasks      | elapsed:    5.1s\n[Parallel(n_jobs=4)]: Done 1500 out of 1500 | elapsed:    6.3s finished\n/opt/conda/lib/python3.6/site-packages/sklearn/pipeline.py:511: DataConversionWarning: Data with input dtype int64 were all converted to float64 by StandardScaler.\n  Xt = transform.transform(Xt)\n[Parallel(n_jobs=4)]: Using backend ThreadingBackend with 4 concurrent workers.\n[Parallel(n_jobs=4)]: Done  42 tasks      | elapsed:    0.1s\n[Parallel(n_jobs=4)]: Done 192 tasks      | elapsed:    0.3s\n[Parallel(n_jobs=4)]: Done 442 tasks      | elapsed:    0.8s\n[Parallel(n_jobs=4)]: Done 792 tasks      | elapsed:    1.4s\n[Parallel(n_jobs=4)]: Done 1242 tasks      | elapsed:    2.2s\n[Parallel(n_jobs=4)]: Done 1500 out of 1500 | elapsed:    2.6s finished\n","name":"stderr"},{"output_type":"execute_result","execution_count":19,"data":{"text/plain":"(1.0, 0.9644444444444444)"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"**99.85% accuracy :)**"},{"metadata":{"trusted":true},"cell_type":"code","source":"grid_cv.best_params_","execution_count":20,"outputs":[{"output_type":"execute_result","execution_count":20,"data":{"text/plain":"{'rf__max_depth': 25, 'rf__n_estimators': 1500, 'rf__oob_score': 'True'}"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"cv_result=pd.DataFrame(grid_cv.cv_results_)\ncv_result.head()","execution_count":21,"outputs":[{"output_type":"execute_result","execution_count":21,"data":{"text/plain":"   mean_fit_time       ...         std_train_score\n0     223.397668       ...                0.000667\n1     323.947035       ...                0.000707\n2     403.164911       ...                0.000660\n3     480.107609       ...                0.000592\n4     228.954758       ...                0.000192\n\n[5 rows x 19 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>mean_fit_time</th>\n      <th>std_fit_time</th>\n      <th>mean_score_time</th>\n      <th>std_score_time</th>\n      <th>param_rf__max_depth</th>\n      <th>param_rf__n_estimators</th>\n      <th>param_rf__oob_score</th>\n      <th>params</th>\n      <th>split0_test_score</th>\n      <th>split1_test_score</th>\n      <th>split2_test_score</th>\n      <th>mean_test_score</th>\n      <th>std_test_score</th>\n      <th>rank_test_score</th>\n      <th>split0_train_score</th>\n      <th>split1_train_score</th>\n      <th>split2_train_score</th>\n      <th>mean_train_score</th>\n      <th>std_train_score</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>223.397668</td>\n      <td>8.755850</td>\n      <td>3.709570</td>\n      <td>0.575688</td>\n      <td>10</td>\n      <td>1000</td>\n      <td>True</td>\n      <td>{'rf__max_depth': 10, 'rf__n_estimators': 1000...</td>\n      <td>0.944909</td>\n      <td>0.943055</td>\n      <td>0.944989</td>\n      <td>0.944318</td>\n      <td>0.000893</td>\n      <td>14</td>\n      <td>0.981732</td>\n      <td>0.982500</td>\n      <td>0.980868</td>\n      <td>0.981700</td>\n      <td>0.000667</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>323.947035</td>\n      <td>33.001773</td>\n      <td>6.034205</td>\n      <td>1.017238</td>\n      <td>10</td>\n      <td>1500</td>\n      <td>True</td>\n      <td>{'rf__max_depth': 10, 'rf__n_estimators': 1500...</td>\n      <td>0.945215</td>\n      <td>0.943668</td>\n      <td>0.944989</td>\n      <td>0.944624</td>\n      <td>0.000682</td>\n      <td>13</td>\n      <td>0.982855</td>\n      <td>0.982041</td>\n      <td>0.981123</td>\n      <td>0.982006</td>\n      <td>0.000707</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>403.164911</td>\n      <td>53.373018</td>\n      <td>8.726052</td>\n      <td>0.737913</td>\n      <td>10</td>\n      <td>2000</td>\n      <td>True</td>\n      <td>{'rf__max_depth': 10, 'rf__n_estimators': 2000...</td>\n      <td>0.944603</td>\n      <td>0.942953</td>\n      <td>0.943866</td>\n      <td>0.943808</td>\n      <td>0.000675</td>\n      <td>16</td>\n      <td>0.982293</td>\n      <td>0.981990</td>\n      <td>0.980766</td>\n      <td>0.981683</td>\n      <td>0.000660</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>480.107609</td>\n      <td>46.834270</td>\n      <td>9.927246</td>\n      <td>1.848973</td>\n      <td>10</td>\n      <td>2500</td>\n      <td>True</td>\n      <td>{'rf__max_depth': 10, 'rf__n_estimators': 2500...</td>\n      <td>0.944195</td>\n      <td>0.944076</td>\n      <td>0.944478</td>\n      <td>0.944250</td>\n      <td>0.000169</td>\n      <td>15</td>\n      <td>0.982140</td>\n      <td>0.982296</td>\n      <td>0.980970</td>\n      <td>0.981802</td>\n      <td>0.000592</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>228.954758</td>\n      <td>40.732525</td>\n      <td>5.967897</td>\n      <td>0.270865</td>\n      <td>15</td>\n      <td>1000</td>\n      <td>True</td>\n      <td>{'rf__max_depth': 15, 'rf__n_estimators': 1000...</td>\n      <td>0.957662</td>\n      <td>0.959180</td>\n      <td>0.960502</td>\n      <td>0.959114</td>\n      <td>0.001161</td>\n      <td>11</td>\n      <td>0.999184</td>\n      <td>0.999184</td>\n      <td>0.998776</td>\n      <td>0.999048</td>\n      <td>0.000192</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"**Plot the Accuracy curve for train and test data**"},{"metadata":{"trusted":true},"cell_type":"code","source":"plt.figure(figsize=(15,8))\nplt.subplots(1,2, sharex='none', figsize=(20,8))\nplt.subplot(1,2,1)\nplt.plot(cv_result['param_rf__max_depth'], cv_result['mean_test_score'],'-xr', label='Test')\nplt.plot(cv_result['param_rf__max_depth'], cv_result['mean_train_score'],'-xg', label='Train')\nplt.xlabel('Max Depth')\nplt.ylabel('Accuracy')\n#\n\nplt.subplot(1,2,2)\nplt.plot(cv_result['param_rf__n_estimators'], cv_result['mean_test_score'],'-*r', label='Test')\nplt.plot(cv_result['param_rf__n_estimators'], cv_result['mean_train_score'],'-*g', label='Train')\nplt.xlabel('Estimators')\nplt.ylabel('Accuracy')","execution_count":22,"outputs":[{"output_type":"execute_result","execution_count":22,"data":{"text/plain":"Text(0, 0.5, 'Accuracy')"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 1080x576 with 0 Axes>"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 1440x576 with 2 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAABJkAAAHjCAYAAACAS84rAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzs3Xd8lGW+/vHrnhRClypITVB3wa4gdoRExYqEriuox0UsZ3U91nXLOfZ1Lbv+1sYWFVfpQUGxZQwigitgBSsmiBQRV5Aaksncvz8mM0xCyiRTnmdmPu/Xa16ZeabkG4xw58r9XGOstQIAAAAAAACi4XF6AAAAAAAAACQ/QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABC1TKcHiJXOnTvbvn37Oj0GAACIo5UrV/5gre3i9BzYhzUYAACprSnrr5QJmfr27asVK1Y4PQYAAIgjY8w3Ts+AmliDAQCQ2pqy/uJ0OQAAAAAAAESNkAkAAAAAAABRI2QCAAAAAABA1AiZAAAAAAAAEDVCJgAAAAAAAESNkAkAAAAAAABRI2QCAAAAAABA1AiZAAAAAAAAEDVCJgAAAAAAAESNkAkAAAAAAABRI2QCAAAAAABA1AiZAAAAAAAAEDVCJgAAAAAAAESNkAkAAAAAAABRi1vIZIz5pzHme2PMqnruN8aYR4wxa4wxHxtjjg27b5Ix5qvqy6R4zQgAAJBqWIMBAACnxHMn09OShjdw/9mSDqm+TJb0uCQZYzpK+oOkwZKOl/QHY0yHOM4JAACi1OVPXTRi+ogax0ZMH6Euf+ri0ERp7WmlwBps045NGvL0EH238zunRkAa4PsMicD3GeLNTd9jmfF6YWvtYmNM3wYeMkLSNGutlfSuMeYAY0x3SadLesNa+6MkGWPeUGChND1eswJAKuvypy46qedJenHCi6FjI6aP0NL1S7Xlpi0OToZkZK2V3/r3uww6aJDmfzlfZ//rbM0bP0/jZo/T/C/n64JDL3B65LSTKmuwW4tv1eJvFuval6/Vg2c9qOqZZGRifh3p64bXb9Dibxbr16/9Wo+f+7jT4yBF8X2GeAt+j938xs2aNnKao7PELWSKQA9J34bdXl99rL7jAIBmOKnnSZr/5XyNmD5CL054USOmj2j2D//WWlnVHTL4rb/eAIJL9UUumCHKS2Ne/fpVdbivg8qrynXBoRfUCDfhGq5eg7W8u6XKfeWh23M/n6u5n89N9BhIMzNWzdCMVTOcHgMpju8zxNuzHz+rZz9+VjmZOdpz+x5HZnAyZIqaMWayAtu81bt3b4enAYDmq6yqVLmvXHt8ewIfK/fUuB68L/x6nfdVldf5mDZZbTT/y/ny/J9HVlYtPC20fONydXugW5MCBivr9B+VK3iMx9FLpiczutdQ/Ga7zXubyqvK1S67HQFTCovnGiywwQoAADSXk/+WOhkybZDUK+x2z+pjGxTYrh1+fFFdL2CtnSppqiQNHDiQFQmAqPn8vv3Cm4ZCn0bviyQY8pWrylY1e+ZMT6ZyMnPUMrNl4GNWy9Dtllkt1alVJ53R7wwt+GKBfNanLE+WfnHULyIODYyM46GKmy6cWlO/EdNHaG/VXrXLbqftFdtDu+fgOq5eg5VdV6bTnjpNa7auCR1rk91Gp/c9XVmeLFXZKlX5q0If/da/37FY3ke47l4ZJkMZnoz9PnqMp9H7/Navr7d+rYqqitDr5WTk6Jjux6hlVsuIXjN4ymWyC36PB3crp8r14Nfm5HWf36cN2zfIZ32hP+9Mk6lubbrJ4/G4Zs6mXIf7HdLxEC2+bLFjn9/JkGm+pGuNMTMUKJj8yVq7yRjzmqR7woomz5R0m1NDAnBGlb+q3mCmyaFPVeS7gXx+X+PD1cNjPKFgp3bo0zKzpTrkdNj/vnoeX9fz67sv09P4X+Ujpo+Qz/pCP/xv2bWFH/4RU+GnYYaflknQ5EquXoN1b9s99ANZdka2Kqoq1KVVFy2YsCDRo0gK/LAaHkL5rb/OYCpp70twaFfffc1RZatUVdX8X9LUVl5VrmXrl0X8eCPTYKjlMZ46g66Y39eEcC3Z7kuFX+7k/iVXa7etDf191qt9L5VeV+r0WEghtb/HfH6furXp5tg8cQuZjDHTFfhtWGdjzHoF3q0kS5KstU9IWijpHElrJO2WdFn1fT8aY+6UtLz6pe4IFlACqSYZCpn91q9yX3nTT9uq774Ig6FKf2WzZzYy9QYzLbNaqn1Oe3XL7Lbvvoz9H9PQzqD67svKyIrhn3zs8MM/EmHp+qU1OpiC32tL1y91eLL0kwprsGO6HaMhfYbok+8/0RFdj9D2vdudGENSoBg802RGFOij+eoKxeIdsP1xyR+Vk5mjdT+tU492PbTHt0dXD7w69p+vGeGbz+eLeaCXrLtQgsFTfeFbQoOwZoSAbbLaaOBBA/Xdju/Uo10PlfvKNXXlVGcCyXru85h4vuk84s1N/2ZKkkmV894HDhxoV6xY4fQYQJPU98N/XWW51tp9YU9zunpqncIV6W6g8G3kzdHk0CbC3TsN3ZflyUr633rFUjKEmUCkjDErrbUDnZ4D+8RrDXb1y1fryZVP6srjrtRj5z4W89cHpPT6Pgu+OYfrdtM5HOjF+r5kFa9gjp15+47F8+eTeP9d1pT1FyET4LBgsBTULruderbvuV/oE/5OO83RpNOxYrSzJzsjm7AHQEwRMrlPrNdgtd9dLijLk6V/XPCPmH0epLf/mv9fde6a5vsM0Qq+WUqVrdJVL19VZxVDpidTvzvtd/L5fYGda/7AzrXg7fDrPuurcbz24+u6r67Xa+i+8DmSdcdbMgieYhvLXWjLvl1W53+zWL+7HCETkETeWfeOTnnqFEmB3yAMP3h4zdCnicFOXfe1yGhB2AMgJRAyuU+s12CbdmzSja/fqDmfzYl6Ny0AwBnBYvzgzyBGpsb14H3p9rhYf66Kqgp9+9O32rpnq/zyq2VmSxX2L9QDZz4Q016mpqy/OLkccIi1Vo8tf0zXvnKtJKl1VmvtqtylDJOh2WNmOzwdAADO6N62u9q1aCef36fsjGxVVlWqW5tu2rJ7S2hHQO/2vZWfm6/83HwNPGggfUlolt+V/E4zVs0IleVOOHyC7hh6h9NjIcXU/j676IiLdOfQO5MiEGnu45BYV710laa+P1U5GTmBd/lt0S41i78B1G9P5R5NeXmKpn00TZJ0dr+ztfAXCylkBgBA0uZdmzXluCmafNxkTV05VZt2btK0kdP09jdvq7i0WN4yr5768Ck99eFTateinU7ve7oKcguUn5ev/p3784MOIlLuK9dVA6+q8X3Wr2M/p8dCiqnr+yy3Q67TYyGF1PVvppM4XQ5IsLXb1qpwZqE+/O5Dtcxsqfy8fM2fsK+TiUJmAKgfp8u5j1NrsC27tujNsjflLfPKW+ZV6dbAW4J3b9Nd+Xn5oZ1Ovdr3SvhsAACkEjqZAJd6/evXNWHuBFX5q/Rc4XM699BznR4JAJIKIZP7uGUNVra1LBQ4eUu92rI78MuaQzsdGgqchuYOVceWHR2eFACA5ELIBLiMtVb3LblPt795uw7veriKxhXp4I4HOz0WACQdQib3ceMazG/9WvX9KnlLvSouK9Zba9/SrspdMjI6tvuxys/NV0FegU7ufbJaZbVyelwAAFyNkAlwke17t+vSFy7VvM/nafzh4/X38/+u1tmtnR4LAJISIZP7JMMarKKqQu9teE/e0sBOp2Xrl4WKxU/qdVKoz4kScQAA9kfIBLjE5z98rpEzR+qr/3ylP53xJ11/wvWUkQJAFAiZ3CcZ12A7K3bq7W/elrfMq+LSYn20+SNJCpWIB3c6USIOAEDT1l/8qgaIk3mfzdPEFyaqVVYrFU8s1ul9T3d6JAAAIKlNdhudfcjZOvuQsyUFSsRL1paE3rlu/heBN+To3qa7huUOU0FeASXiAABEgJAJiLEqf5V+V/I73bvkXg3uMVhzxs5Rz3Y9nR4LAADUo0vrLhp72FiNPWyspJol4q9//bqe++Q5SdIhHQ8JBU6UiAMAsD9OlwNi6D+7/6MJcyfojdI3NPnYyXrk7EfUIrOF02MBQMrgdDn3SfU1GCXiAIB0RycT4ID3N72vwpmF2rRzkx4951FdcewVTo8EACmHkMl90m0NVllVqfc2vBc6te7d9e+q0l9JiTgAIGURMgEJNu2jabrypSvVuVVnFY0t0qAeg5weCQBSEiGT+6T7Giy8RNxb5tWH330oqWaJeH5uvgZ0GUCJOAAgKVH8DSRIRVWFbnjtBj26/FEN7TtUM0bPUNfWXZ0eCwAAJEh9JeLB0+uCJeLd2nQLBU75efnq3b63k2MDABAXhExAM23csVFjZo/R0m+X6sYTb9S9BfeyLR4AgDTXlBLxYJ8TJeIAgFTBT8RAMyxZt0RjZo/Rjr07NHP0zNBCEgAAIFxuh1xd0eEKXXHsFTVKxL1lXv3rk3/piZVP1CgRz8/L1ym9T6FEHACQlOhkAprAWqtHlz+qX7/2a/U9oK/mjZunw7se7vRYAJA26GRyH9ZgzRcsEfeWeVVcWrxfiXhwpxMl4gAAJ1H8DcTB7srdmvLSFD378bM6/9DzNW3kNB2Qc4DTYwFAWiFkch/WYLGzq2KX3l73duid68JLxIf0GaKCvAJKxAEACUfxNxBjZVvLVDirUB9995HuOP0O3X7a7fIYj9NjAQCAFNI6u7WGHzxcww8eLmn/EvEFXy6QRIk4AMC9CJmARrz+9euaMHeC/Navly56Seccco7TIwEAgDRQu0R87ba1ocDpjdI3KBEHALgOp8sB9bDW6t4l9+q3b/5Wh3c9XPPGzVO/jv2cHgsA0hqny7kPazBnWGu16vtVoVPr3vrmLe2s2Ckjo2O6H6OC3AJKxAEAMUEnExCl7Xu369IXLtW8z+dpwuET9Lfz/6bW2a2dHgsA0h4hk/uwBnOH8BJxb5lXy75dtl+JeH5uvgb1GESJOACgSQiZgCh8tuUzjZw5Umt+XKMHznxA1w2+jnJNAHAJQib3YQ3mTsES8eDpdbVLxIOn11EiDgBoDMXfQDMVfVakSS9MUqusVvJO9GpI3yFOjwQAANBktUvEf9j9g0rKSkKn11EiDgCIB0ImQFKVv0q/ffO3uu+d+zS4x2DNGTtHPdv1dHosAACAmOjcqrPGHDZGYw4bI2lfibi3zFtniXh+Xr6G9h2qTq06OTk2ACDJcLoc0t4Pu3/QRXMv0hulb+jK467UX4b/RS0yWzg9FgCgDpwu5z6swZJfsETcW+ZVcWnxfiXiwVPrKBEHgPREJxMQofc3va/CmYX6bud3euzcx3T5MZc7PRIAoAGETO7DGiz1VFZVavnG5aFT68JLxE/seaIK8gooEQeANELIBETgmQ+f0ZSXp6hLqy6aO3auBvUY5PRIAIBGEDK5D2uw1BdeIu4t8+qD7z6QJLXNbqvT+55OiTgApDiKv4EGVFRV6Nev/lqPrXhMw3KHacaoGerSuovTYwEAALhSfSXiwdPrwkvEh+UOU0FuASXiAJCmCJmQVjbu2KjRs0Zr2fpluumkm3RP/j1s8wYAAGiC2iXi32z7JhQ4FZcW6/lPnpckHdzx4FDgRIk4AKQHTpdD2liybonGzB6jHXt36KkRT4UWRgCA5MHpcu7DGgzhwkvEvWVeLVq7aL8S8fzcfJ3a51RKxAEgSdDJBISx1uqv7/1VN7x+g3IPyNW8cfN0WNfDnB4LANAMhEzuwxoMDQmWiHtLvSouK6ZEHACSECETUG135W5NeWmKnv34WV3wsws07cJpap/T3umxAADNRMjkPqzB0BS7KnZpyboloXeu+/C7D2Vla5SI5+fl67Auh1EiDgAuQfE3IKlsa5kKZxXqo+8+0p1D79RvTv2NPMbj9FgAAABpq3V2a5118Fk66+CzJDVeIh585zpKxAEgORAyISW9tuY1TZg7QVZWL1/0ss4+5GynRwIAAEAtTSkRDwZOlIgDgHtxuhxSit/6dd+S+/TbN3+rIw48QkVji9SvYz+nxwIAxAiny7kPazDEi7VWq7esDp1a99bat7SjYoeMjI7udnSoz4kScQCILzqZkJa2792uSS9M0gufv6CLjrhIU8+bqtbZrZ0eCwAQQ4RM7sMaDIkSXiLuLfNq6bdLa5SIB3c6USIOALFFyIS08+mWT1U4s1BrflyjB898UL8a/CvKIgEgBREyuQ9rMDglWCIePL0uvER8SN8hKsgtoEQcAGKA4m+klbmfztWlL16qVlmt9OakN3Van9OcHgkAAABx1lCJuLfMq5e+fEkSJeIAkEiETEhaVf4q3f7m7frjO3/UCT1P0Jwxc9SjXQ+nxwIAAIAD6isR95Z55S31UiIOAAnA6XJISj/s/kET5k5QcWmxphw3RX8e/me1yGzh9FgAgDjjdDn3YQ2GZBAsEfeWelVcVkyJOAA0AZ1MSGkrN65U4axCbd65WY+d+5guP+Zyp0cCACQIIZP7sAZDMqqsqtSKjStC71xHiTgA1I+QCSnrmQ+f0ZUvXamurbuqaFyRBh7EzxkAkE4ImdyHNRhSASXiAFA/ir+RciqqKnT9q9fr8RWPKz83X9NHTVeX1l2cHgsAAAApoHaJ+H92/0cla0tCO52CJeIHtj5Q+Xn5ys8NXPoc0MfJsQHAdQiZ4Hobd2zU6FmjtWz9Mt180s26O/9uti0DAAAgbjq16qTRA0Zr9IDRkigRB4BI8ZM6XO3tb97WmNljtLNip2aNnhV6txAAAAAgUfoc0EeXH3O5Lj/m8hol4t6yQOD05Mon9ysRP6X3KWqd3drp0QEgoehkgitZa/XX9/6qG16/QXkd8lQ0tkiHdT3M6bEAAA6jk8l9WIMh3dVXIp7lydJJvU4KnFqXl69BBw1SVkaW0+MCQJNR/I2ktrtyt6586Ur96+N/6YKfXaBpF05T+5z2To8FAHABQib3YQ0G1BReIu4t8+qDTR/UKBEPnl5HiTiAZEHxN5JW6dZSFc4s1MebP9adQ+/Ub079jTzG4/RYAAAAQETqKxH3lnpVXFZco0R8WO6w0Ol1lIgDSAWETHCNV9e8qovmXiRJevmil3X2IWc7PBEAAAAQndol4ut+WhcKnLylXk1fNV3SvhLx/Nx8Dc0dqs6tOjs5NgA0C6fLwXF+69e9b9+r35X8TkceeKSKxhUpr0Oe02MBAFyI0+XchzUY0HzWWn265dNQn9OitYu0o2JHqEQ8eGodJeIAnEQnE5LGT+U/adILk/TiFy/qoiMu0t/O/5taZbVyeiwAgEsRMrkPazAgdnx+n5ZvWC5vmVfFpcVatn6ZKqoqlOXJ0om9TlRBbgEl4gASjpAJSeHTLZ9q5MyRKt1aqgfPfFD/ffx/U34IAGgQIZP7sAYD4md35W4tWbcktNOJEnEATqD4G64359M5uvSFS9Umu428E706rc9pTo8EAAAAuEqrrFY6s9+ZOrPfmZJqloh7y7yUiANwHUImJJTP79Pt3tt1/9L7dULPEzRnzBz1aNfD6bEAAAAA14u0RLxfh36hwIkScQCJxOlySJgfdv+g8XPGy1vm1VUDr9LDZz2sFpktnB4LAJBEOF3OfViDAe4QSYl4fl6+Tu19KiXiAJqETia4zsqNK1U4q1Cbd27W4+c+rsuOuczpkQAASYiQyX1YgwHuFF4i7i3zaum3S2uUiAf7nCgRB9AYQia4ytMfPq0pL03RgW0OVNHYIh130HFOjwQASFKETO7DGgxIDsES8eDpdcES8TbZbXR639MDO51y83V418MpEQdQA8XfcIWKqgpd/+r1enzF48rPzdeM0TM4HxwAAABwQF0l4ovWLgqdXle7RDy404kScQBNQciEuNiwfYNGzx6td9e/q1tOvkV3DbtLmR6+3QAAAAA36NSqk0YNGKVRA0ZJ2lci7i3zqri0uEaJeDBwokQcQGP4qR8x9/Y3b2vM7DHaWbFTs8fMDr37BQAAAAB36t2+ty475jJddsxloRLx8MBp6vtTJUlHdztaBbkFlIgDqJMnni9ujBlujPnCGLPGGHNrHff3McZ4jTEfG2MWGWN6ht33R2PMqurLuHjOidiw1uqRfz+iYdOGqX1Oe733y/cImAAAcABrMADRMMbosK6H6VeDf6X5E+brx1t+1LL/WqY7h96pA3IO0CPvPaKznztbHf7YQUOeHqI73rpDS79dqsqqSqdHB+CwuBV/G2MyJH0p6QxJ6yUtlzTBWvtp2GNmS3rJWvuMMWaYpMustZcYY86VdL2ksyW1kLRIUr61dnt9n4/SSWftrtytyQsm67lPntOIn43QMxc+o/Y57Z0eCwCQYij+bhxrMADx1lCJ+JA+Q1SQV0CJOJBC3FL8fbykNdba0uqhZkgaIenTsMcMkHRD9fUSSS+EHV9srfVJ8hljPpY0XNKsOM6LZirdWqrCmYX6ePPHumvoXbrt1NvkMXHdJAcAAOrHGgxAXDVWIv7yVy9Lkrq27hp617r8vHz1PaCvg1MDSIR4hkw9JH0bdnu9pMG1HvORpEJJf5E0UlJbY0yn6uN/MMY8KKmVpKGquTCSJBljJkuaLEm9e/eO9fyIwCtfvaKLiy6WJC28eKGGHzzc4YkAAEh7rMEAJFRDJeLeMu9+JeL5efkaljuMEnEgBTld/H2jpL8aYy6VtFjSBklV1trXjTGDJC2VtEXSMklVtZ9srZ0qaaoU2KqdqKEh+a1f97x9j35f8nsdeeCRKhpXpLwOeU6PBQAAIsMaDEDc1FciHgycKBEHUlc8Q6YNknqF3e5ZfSzEWrtRgd+iyRjTRtIoa+226vvulnR39X3PK9AtABf4qfwnTXphkl784kVdfMTFmnr+VLXKauX0WAAAIIA1GADXCJaIB4vEfX6fVmxcEepzeuS9R/TAsgeU5cnSib1ODJ1ed3yP45WVkeX0+ACaKJ7F35kKLEryFVjYLJd0kbV2ddhjOkv60VrrN8bcrcBv0H5fXVh5gLX2P8aYIyU9L+no6n6AOlE6mRifbvlUI2eOVOnWUj105kO69vhrKfMDACQMxd+NYw0GIJmEl4h7y7x6f9P7NUrE83PzVZBXQIk44CBXFH9ba33GmGslvSYpQ9I/rbWrjTF3SFphrZ0v6XRJ9xpjrAJbta+pfnqWpLer/xLZLukXDS1ukBizV8/WZS9epjbZbfTmxDd1ap9TnR4JAADUwhoMQDKpXSL+454fVVJWIm+ZV8WlxTVKxIflDgudXkeJOOBOcdvJlGj8Fi1+fH6fbvfervuX3q8Te56oOWPn6KC2Bzk9FgAgDbGTyX1YgwGIp29/+jYUOHnLvPpu53eSpLwOeaHAiRJxIL5csZMJqWHLri2aMHeCvGVeXT3waj08/GFlZ2Q7PRYAAACANNCrfS9devSluvToS2Wt1Wc/fBYKnGasnlGjRDx4ah0l4oBz2MmEeq3YuEKjZo3S5p2b9cR5T+jSoy91eiQAQJpjJ5P7sAYD4JTaJeJLv12qiqoKZXmydELPE1SQV0CJOBADTVl/ETKhTk998JSuevkqHdjmQBWNLdJxBx3n9EgAABAyuRBrMABusbtyt95Z905op1NdJeL5efk6ousRlIgDTcDpcmi2vb69uv7V6/XEyidUkFeg6aOmc34zAAAAANdrldVKZ/Q7Q2f0O0NSzRJxb5mXEnEgAQiZELJh+waNnj1a765/V7ecfIvuHna3MjwZTo8FAAAAAE3WsWVHjRowSqMGjJK0r0Q8WCQ+Y9UMSZSIA7FEyARJ0uJvFmvM7DHaXblbc8bMCf1FDAAAAACpgBJxIP7oZEpz1lo98u9H9D+v/4/6deyneePmaUCXAU6PBQBAnehkch/WYABSQXiJuLfMq3e+fYcScaAaxd+IyO7K3frlgl/q+U+e14ifjdC0kdPUrkU7p8cCAKBehEzuwxoMQCoKlogHT62jRBzpjOJvNKp0a6lGzhypTzZ/oruH3a1bT7lVHuNxeiwAAAAAcFxdJeKL1i4KnV5HiThQN0KmNPTKV6/ooqKLZGT0ysWv6KyDz3J6JAAAAABwrY4tO6qwf6EK+xdKokQcqA8hUxrxW7/uXny3/rDoDzqq21EqGluk3A65To8FAAAAAEmlrhJxb6lXxWXFdZaI5+fm69Q+p6pNdhuHJwfii06mNPFT+U+a+MJEzf9ivn5x5C/05HlPqlVWK6fHAgCgSehkch/WYABQk8/v08qNK0On1tUuEQ++cx0l4kgWFH+jhtXfr9bImSNVtq1MD5/1sK4ZdA3ldACApETI5D6swQCgYeEl4t4yr1ZuXBkqET+tz2mh0+sO73o4PblwJYq/ETJ79Wxd9uJlatuirUomleiU3qc4PRIAAAAApI3GSsQXfrVQ0r4S8eBOJ0rEkYwImVKUz+/Tb7y/0Z+W/kkn9TpJs8fM1kFtD3J6LAAAAABIaw2ViHtLvTVKxIOB09C+Q9WldRcnxwYiQsiUgrbs2qLxc8frzbI3dfXAq/Xw8IeVnZHt9FgAAAAAgFrqKxH3lnk1c/VM/e39v0mSjjrwKBXkFVAiDlejkynFrNi4QoUzC7Vl9xY9ce4TmnT0JKdHAgAgZuhkch/WYAAQP8EScW+ZV8WlxZSIwxEUf6epf37wT1398tXq1qabisYV6djuxzo9EgAAMUXI5D6swQAgcfZU7tE7374T6nOiRByJQPF3mtnr26vrXr1OT658UgV5BZo+aro6t+rs9FgAAAAAgBhqmdVSBXkFKsgrkLSvRNxb6lVxWXGoRLxLqy7Kz8tXfm7gktsh18mxkUYImZLc+u3rNXrWaP17w79168m36q5hdynDk+H0WAAAAACAOKtdIr5++/pQ4FRXiXh+br6G5Q6jRBxxQ8iUxN5a+5bGzhmr3ZW7NWfMHI0aMMrpkQAAAAAADunZrqcmHT1Jk46eJGutPv/h89CpdbNWz6pRIh7sc6JEHLFEJ1MSstbqL//+i258/UYd3PFgzRs3T/279Hd6LAAA4o5OJvdJpzUYACSz+krEMz2ZOrHniYGdTnm7l3dOAAAgAElEQVT5GtxjMCXiqIHi7xS2q2KXJr80Wc9/8rwu/PmFeubCZ9SuRTunxwIAICEImdwnXdZgAJBqGisRD+50okQcFH+nqK9//FqFswr1yeZPdM+we3TLKbfwPzsAAAAAoMkaKhH3lnlrlIgPyx2mgrwCSsTRKEKmJLHwq4W6uOhieYxHr1z8is46+CynRwIAAAAApIj6SsSDp9fNXD1TkpR7QG4ocKJEHLURMrmc3/p19+K79YdFf9BR3Y5S0dgikmMAAAAAQFzVVSIeDJwoEUd96GRysZ/Kf9Il8y7Rgi8X6JIjL9ET5z2hVlmtnB4LAADH0MnkPqm4BgMANCy8RNxb5tU7697R3qq9yvRk6oSeJ6ggt4AS8RRC8XcKWPX9KhXOLFTZtjI9fNbDumbQNTLGOD0WAACOImRyn1RbgwEAmi5YIu4t9aq4rDhUIt46q7WG9B0SeOe63HwdceAR9AonIYq/k9ys1bN0+YuXq22Ltlo0aZFO7n2y0yMBAAAAAFCn8BLxe3Wvtu7ZqkVrF4Xeua52iXjw9DqqYFIPIZOL+Pw+3VZ8mx5Y9oBO6nWSZo+ZrYPaHuT0WAAAAAAARKxDyw4a2X+kRvYfKYkS8XRCyOQSW3Zt0bg541SytkTXDLpGD531kLIzsp0eCwAAAACAqDS1RDw/L1+n9TmNEvEkRCeTCyzfsFyjZo3Slt1b9MS5T2jS0ZOcHgkAAFeik8l9knkNBgBwns/v0/ub3g+dWle7RDx4ah0l4s6h+DuJ/OP9f+jqhVere5vuKhpXpGO7H+v0SAAAuBYhk/sk6xoMAOBO4SXi3jKvVmxcESoRP63PaaHT6ygRTxyKv5PAXt9e/eqVX2nq+1N1Rt4Zmj5qujq16uT0WAAAAAAAOCa8RFxSqEQ8eHrd/7z+P5IoEXcrQiYHrN++XqNmjdJ7G97TbafcpjuH3qkMT4bTYwEAAAAA4CoNlYh7y7w1SsSDgRMl4s4hZEqwt9a+pbFzxmp35W7NHTtXhf0LnR4JAAAAAICkUF+JuLfMq9mfztbfP/i7JOnIA49UQW4BJeIJRsiUINZa/fndP+umN27SIZ0O0VuXvqWfd/6502MBAAAAAJCUjDHq36W/+nfpr2uPvzZUIu4t9aq4rFiPLn9UD737UI0S8fzcfA3uOZh3c48Tir8TYFfFLv1ywS81fdV0jfz5SD194dNq16Kd02MBAJB0KP52HzevwQAA6W1P5R4t/XZp6J3rKBFvHoq/XeTrH7/WyJkjtXrLat2bf69uOfkWGWOcHgsAAAAAgJTWMqul8vPylZ+XL6n+EvHOrTqHdjnl5+Urr0Oek2MnNUKmOFr41UJdXHSxPMajVy5+RWf2O9PpkQAAAAAASEt1lYi/WfZmaKdT7RLx/Lx8Dcsdpq6tuzo5dlIhZIoDv/XrrsV36X8X/a+O7na0isYVqe8BfZ0eCwAAAAAAVOvZrqcmHjVRE4+aKGutvvjPF6HAqXaJePCd6ygRbxidTDG2rXybLpl3iV768iVNPGqinjj3CbXMaun0WAAApAQ6mdzHLWswAABiKbxE3Fvm1ZJ1S7S3aq8yPZka3GNwqM8pHUrEm7L+ImSKoVXfr9LImSO1dtta/WX4X3TVwKvoXwIAIIYImdzHDWswAADirXaJ+MpNK+W3/lCJeHCnUyqWiFP87YCZq2bq8vmXq12Ldlo0aZFO7n2y0yMBAAAAAIAYaKhE3Fvm1Y1v3CgpUCI+LHeYCnIL0rJEnJApSj6/T7cW36oHlz2ok3udrNljZqt72+5OjwUAAAAAAOKkdon4hu0bQoFTcWmxZq2eJSn9SsQJmaLw/a7vNX7OeJWsLdG1g67Vg2c9mPLnYgIAAAAAgJp6tOuxX4m4t9Sr4rLitCoRJ2Rqpvc2vKdRs0bph90/6JkLn9HEoyY6PRIAAAAAAHCYMUY/7/xz/bzzz3XN8deoyl+l9ze9H+pzemz5Y3r43YdTskSc4u8G3P/O/Rp00CANzR0aOlZSVqJHlz+qBV8u0EFtD1LR2CId0/2YmH5eAABQN4q/3YfibySzTTs2afzc8Zo5eqa6tenm9DgA0kSwRDx4ap3bS8Qp/o6RQQcN0tg5YzVr9CwNzR2q19a8pgtnXqhyX7nO7Hemni98Xp1adXJ6TAAAAADNcOfiO7Vk3RLd8dYdeuzcx5weB0CaCC8Rvyf/Hm0r36ZFaxeFdjolc4k4O5kacM5z56h3+9566sOndOVxV+rxFY/L5/cpr0Oevrz2S2V4MmL6+QAAQMPYyeQ+8drJxA6T1Getld/65fP7VGWr5PP7Atf9Vc06FrwdybHrX7tePr9vv5kyPZl69JxHlWEylOnJrHHJ8NQ8Fslj6npc+GMyTIaMMQ786QNws/AScW+pVxt2bJAk9T2gbyhwCi8Rj/e/mU1ZfxEyNeD858/XS1+9FLrtkUd++XXeIedpwUULYvq5AABA4wiZ3CdeIdPVL1+tJ1c+qSuPuzKpd5hYa5sdhDgRvvhs02ds7txVtsrp/zyukGEymhxONSXoqvMxCQrRmvpabjgtKB4IzRGN8BJxb5lXJWtLtK18m6R9JeKf//C5Xlvzmq4cGJ9/MwmZYqSkrEQFzxbIb/2hYzkZOVp48cIaPU0AACAxCJncJ9ZrsJZ3t1S5r3y/41meLE09f2psw5d4hjXVx6zct9au64f/4A/84WFAc4+FwgPTxMdHcaw5M970+k16+qOnlZ2RrQpfhSYdPUn3Fdy333//8Ev490ekj6nrcZE8ps7P19znNfKY8J93nJbQoCueQV7YY/70zp8097O5KuxfqJtPvjm0i8/K1rjut35Za2tcj/Xj4vnaMX+cXDSLix4XiZzMHO25fU/M/r+kkymGMkxG6C/dDJOh7MzkbnoHAABws9JflerG12/UrE9n1TidqdJfqctevCyi1/AYT0wCi5zMnMhDjHiGNTEMWlJ1p0hzbC3fqinHTdHk4yZr6sqp2rRzU+jUk3Tjt/7Q7rK4BWSxDOQaeV65r7zZc4b/vRNrcz+bq7mfzY3b6zvNyMgYI4/xyKj6ozE1rgfvc8vjMjwZ8f28iu/XtrNip179+lV9tuUzVfor1SqzlUb2H6kHznzAse8DQqYGLN+4XBOPmqh/fPAPSVKVrdLFR1ys5RuXs5MJAAAgDrq37a52Ldqpyl+l7IxsVVZVatzh43Tn0DsjDlrouEEkisYVha4/eu6jDk7iPI/xyJPhUZaynB7FFYJdYdGGaN/v+l5PrnxS765/V3ur9qpFRgud2PNEXXHsFerUqpOrw5faj2vsOfy965zte7dr1ferlJOZo/KqcrVr0c7R0zIJmRqQ6cnUPz/4p1pntdYNJ96gh5Y9pCdWPOFoKggAAJDqNu/arKsGXlVjh8nBHQ92eiwAacJjPMrOyFZ2RvRnsSz+ZrHeXve2cjJzVFFVof5d+uviIy+OwZRAwOZdm/fblekkOpkaMPhvg7V6y2otmLBAQ3OHqqSsROdPP1+HdTlM//7lv2P6uQAAQOPoZHKfeBV/A0AqKJxZqO5tutcIAMJ30QHJgE6mGBk1YJTuO+i+0KlxQ3OHasGEBVq+cbnDkwEAAAAA3I7TMpFuCJkacPPJN+93bGjuUPqYAAAAAAAAauHtJQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUYtryGSMGW6M+cIYs8YYc2sd9/cxxniNMR8bYxYZY3qG3Xe/MWa1MeYzY8wjxhgTz1kBAABSBWswAADghLiFTMaYDEmPSjpb0gBJE4wxA2o97AFJ06y1R0q6Q9K91c89SdLJko6UdLikQZKGxGtWAACAVMEaDAAAOCWeO5mOl7TGWltqra2QNEPSiFqPGSDpzerrJWH3W0k5krIltZCUJWlzHGcFAABIFazBAACAI+IZMvWQ9G3Y7fXVx8J9JKmw+vpISW2NMZ2stcsUWPBsqr68Zq39rPYnMMZMNsasMMas2LJlS8y/AAAAgCTEGgwAADjC6eLvGyUNMcZ8oMBW7A2SqowxB0vqL6mnAouiYcaYU2s/2Vo71Vo70Fo7sEuXLomcGwAAIJmxBgMAADGXGcfX3iCpV9jtntXHQqy1G1X9WzRjTBtJo6y124wxv5T0rrV2Z/V9r0g6UdLbcZwXAAAgFbAGAwAAjojnTqblkg4xxuQaY7IljZc0P/wBxpjOxpjgDLdJ+mf19XUK/HYt0xiTpcBv2Pbbqg0AAID9sAYDAACOiFvIZK31SbpW0msKLE5mWWtXG2PuMMZcUP2w0yV9YYz5UtKBku6uPj5H0teSPlGgM+Aja+2CeM0KAACQKliDAQAApxhrrdMzxMTAgQPtihUrnB4DAADEkTFmpbV2oNNzYB/WYAAApLamrL+cLv4GAAAAAABACiBkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABA1QiYAAAAAAABEjZAJAAAAAAAAUSNkAgAAAAAAQNQImQAAAAAAABC1RkMmY8x/G2M6JGIYAAAABLAGAwAAySaSnUwHSlpujJlljBlujDHxHgoAAACswQAAQHJpNGSy1v5W0iGS/iHpUklfGWPuMcb0i/NsAAAAaYs1GAAASDYRdTJZa62k76ovPkkdJM0xxtwfx9kAAADSGmswAACQTDIbe4Ax5jpJEyX9IOnvkm6y1lYaYzySvpJ0c3xHBAAASD+swQAAQLJpNGSS1FFSobX2m/CD1lq/Mea8+IwFAACQ9liDAQCApBLJ6XKvSPoxeMMY084YM1iSrLWfxWswAACANMcaDAAAJJVIQqbHJe0Mu72z+hgAAADihzUYAABIKpGETKa6dFJSYIu2IjvNDgAAAM3HGgwAACSVSEKmUmPMr4wxWdWX6ySVxnswAACANMcaDAAAJJVIQqYpkk6StEHSekmDJU2O51AAAABgDQYAAJJLo1uurbXfSxqfgFkAAABQjTUYAABINo2GTMaYHEn/JekwSTnB49bay+M4FwAAQFpjDQYAAJJNJKfLPSupm6SzJL0lqaekHfEcCgAAAKzBAABAcokkZDrYWvs7Sbustc9IOleBTgAAAADED2swAACQVCIJmSqrP24zxhwuqb2krvEbCQAAAGINBgAAkkyjnUySphpjOkj6raT5ktpI+l1cpwIAAABrMAAAkFQaDJmMMR5J2621WyUtlpSXkKkAAADSGGswAACQjBo8Xc5a65d0c4JmAQAAgFiDAQCA5BRJJ1OxMeZGY0wvY0zH4CXukwEAAKQ31mAAACCpRNLJNK764zVhx6zYtg0AABBPrMEAAEBSaTRkstbmJmIQAAAA7MMaDAAAJJtGQyZjzMS6jltrp8V+HAAAAEiswQAAQPKJ5HS5QWHXcyTlS3pfEgscAACA+GENBgAAkkokp8v9d/htY8wBkmbEbSIAAACwBgMAAEknkneXq22XJDoCAAAAEos1GAAAcLVIOpkWKPBOJlIglBogaVY8hwIAAEh3rMEAAECyiaST6YGw6z5J31hr18dpHgAAAASwBgMAAEklkpBpnaRN1tpySTLGtDTG9LXWro3rZAAAAOmNNRgAAEgqkXQyzZbkD7tdVX0MAAAA8cMaDAAAJJVIQqZMa21F8Eb19ez4jQQAAACxBgMAAEkmkpBpizHmguANY8wIST9E8uLGmOHGmC+MMWuMMbfWcX8fY4zXGPOxMWaRMaZn9fGhxpgPwy7lxpgLI/2iAAAAUgBrMAAAkFQi6WSaIuk5Y8xfq2+vlzSxsScZYzIkPSrpjOrnLDfGzLfWfhr2sAckTbPWPmOMGSbpXkmXWGtLJB1d/TodJa2R9HqEXxMAAEAqYA0GAACSSqMhk7X2a0knGGPaVN/eGeFrHy9pjbW2VJKMMTMkjZAUvsAZIOmG6uslkl6o43VGS3rFWrs7ws8LAACQ9FiDAQCAZNPo6XLGmHuMMQdYa3daa3caYzoYY+6K4LV7SPo27Pb66mPhPpJUWH19pKS2xphOtR4zXtL0emabbIxZYYxZsWXLlghGAgAASA6swQAAQLKJpJPpbGvttuANa+1WSefE6PPfKGmIMeYDSUMkbVDgnVMkScaY7pKOkPRaXU+21k611g601g7s0qVLjEYCAABwBdZgAAAgqUTSyZRhjGlhrd0rScaYlpJaRPC8DZJ6hd3uWX0sxFq7UdW/RaveCj4qfDElaaykedbaygg+HwAAQCphDQYAAJJKJDuZnpPkNcb8lzHmCklvSHomguctl3SIMSbXGJOtwJbr+eEPMMZ0NsYEZ7hN0j9rvcYE1bNNGwAAIMWxBgMAAEml0ZDJWvtHSXdJ6i/pZwpsm+4TwfN8kq6tfvxnkmZZa1cbY+4Iezve0yV9YYz5UtKBku4OPt8Y01eB38K9FfmXAwAAkBpYgwEAgGQTyelykrRZkpU0RlKZpLmRPMlau1DSwlrHfh92fY6kOfU8d632L6kEAABIJ6zBAABA0qg3ZDLGHKrAVukJkn6QNFOSsdYOTdBsAAAAaYc1GAAASFYN7WT6XNLbks6z1q6RJGPMrxMyFQAAQPpiDQYAAJJSQ51MhZI2SSoxxvzNGJMvySRmLAAAgLTFGgwAACSlekMma+0L1trxkn4uqUTS9ZK6GmMeN8acmagBAQAA0glrMAAAkKwieXe5Xdba562150vqKekDSbfEfTIAAIA0xhoMAAAkm0ZDpnDW2q3W2qnW2vx4DQQAAICaWIMBAIBk0KSQCQAAAAAAAKgLIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQAAAAAAIGqETAAAAAAAAIgaIRMAAAAAAACiRsgEAAAAAACAqBEyAQCA6N1/v1RSUvNYSUngOAC41aZN0pAh0nffOT0JAKQEQiYAABC9QYOksWP3BU0lJYHbgwY5OxcANOTOO6UlS6Q77nB6EgBICZlODwAAAFLA8uXSTTdJw4ZJI0ZI77wj3XZb4PjQoU5PB8AJ1ko+n1RZKVVUBD7WvtR1PNJj0Tx22bLAfEGPPx64GCOdcIKUkSFlZu77GH69oWNNfbwTr2uMc98T6WrTJmn8eGnmTKlbN6enAeKKkAkAAETv66+l558PXH/xRemSSwI7A8aNc3YuJK90/6HM749fwJKoMMfnS8yfVVbWvkt2ds3bdR1v2TJwitxXXwVOk6uqCoQv3bpJP/tZ4LrPFzheURH46PPtOxb+sa5j4fcl6s+gKTye5ArFEvm6njid6BO+Y+6xx+LzOQCXIGQCAADRGz9emjYtcL1VK+lf/wr8IDd+vLNzIXk194cyawM/5DsR0MQyzPH74/dnG+TxNB7Q1D6WkxP5Y5vyus19bDQ7c666Spo6NfA1VVRIF1wQnwDA7296UNVYeBXvY5E8fu9eaffu6F43Ed/nTWFMbAMwr7fm1xjcMZeRIU2enPj/dzIz2cmGuCNkAoBUd845UkGBdMMN+4499JBUXCwtXOjcXKkm+ENE8GPwUvt2pMdi9ZhEPe+DDwI/cEiBHzqyswML2RkzOF0OTdOypVRevu92+GlMRx4ZWXCTCowJ/H+UnS21aLHvekPH6rvU99hgQBP8oTN4vSmXWD1P2hc8lJfH//MZE9jJNGZM4DJnTuD255/H7/OFXzIzAz/0R/v1JbtgKOzWAK65r1FZGfg+PuIIad06adu2wNdqTODvuDZtpNmza/7dlahdb5mZzgTCsXyNeO04S2Yffiidfrq0eHHg30oHETIBQKorKJBuvDGwuLniCun//T/p97+X/vAHacMG58MMNwUl0TwvmWVkBC7BUyjqu93QY3bvrvmaqfDDD5xRWhr4O2vu3EBw6fFIHTpIvXrt2yWQkxP4Oy14kWrejvTixucFWRv4+vfulXbsSNyffzqaOXPf9f79nZujudwQEqba8yJ5bnC3Uk5Ow88rL5e2bg0ct1bq00c69dS6P194WBU85bT2Jfx48Hokj619STcZGfUH7sHjwTAr3gF/ixY1d5VFGiaH/ztS+9i4cdJPP0kXXSStWpWYP9N6EDIBQKorLpbOPz/wQ9uNN+47/r//G7i4UXMDj0iel53dvOc19/Ml+rWb+rxY/TawpEQ677xA2NSvXyAoyMzkdDk0XffuUrt2gd/sezyBBfTYsenVY5IMYViqPO/HH6U//1m67jqpfXt3zsjzmvY8v3/fx+DOotqX2ruQ6jsW/IVSLH32WeCCxKqqCqxRav9SLNWsXr0vmAr+P5NghEwAkOqCO5mysgK/0erYMbCoLiyUzjrLfSEIW6CT04wZ+07/+PrrQPH3iy9yuhyaZ/NmacAA6dNPAx+/+87piRIrVU6FSgZXXy198YX00UeRBZnW1tzJ6vfvf7p07WON3Z+IY7F87WCY4/Y/Bzinrr+/6vt7LZJjzX1u+E6hpj43fBdYsunbN7AGcwghEwAkq4qKwCkU4Zft2/c/tmNHYGv22rWBEOfHHwPlpnPnOv0VIJX06xc4BfPeewNluo8/HridjIszOKt2J9Pq1YFLRoY0alTN3QxBiTyW6M/npmNumCFWxzZsUA3B7i8psJOuvhAjVQVP//J4au50jeZYffeH7yiO5edrygyJPHbPPYHOr+zswNpt3Djp//5v/1OiPJ7EHkPqOOywwC9lglq3drSXiZAJABLFWmnXrsiDofqOB++rqIjs83o8gYVxRkZgkZybKy1YECj/Di8DB6IxaFDglKZZswI7l4YO3XcbaIranUzG7CvKXbRo/w6SZO9Ei7dgj1X4u0vVLtRt6FhGRuB16toREItj8Xztho7t3i29917gFzBVVYGvMy8v0JXTtm3yBxtNeU4weEB8+HyBX75Mnhx4N8NNm6RDD3V6KqSSrVsDQdPvfx94R9Yff3R0HEImAGhIZWXTw5/6ju/cGfm50W3b7n/p2zfwsV27uu+v7/iFFwZ+UFiwILB4XrIk0NFUXEzIhNhZvnxfwCQFPs6aFTjO6XJoimAnU2XlvreWnzSp/lOZrG24ELe+ctyGjsXjObF4zeYIvk747rCmMKZmUBX+sbFjbn/OTTdJZWX7vs8KCtKr+wuJUVS07/qjjzo3B1LXxo37ro8d69wc1eIaMhljhkv6i6QMSX+31t5X6/4+kv4pqYukHyX9wlq7vvq+3pL+LqmXJCvpHGvt2njOCyAFWBv47WSsdgsF35K9MVlZ+4c8HTsGTlNraijUunVse4mCnUwPPBAIlR56aN9tIFZuvnn/Y8EdTUi4pF+Dbd4sTZlS8zf/9TFm3+6bli0TN2OihRcZJzoga+5z9u4N7OBt6msm+rS0YAD3+OPSU0+5IwCL53PoPgQQR8bGqXHcGJMh6UtJZ0haL2m5pAnW2k/DHjNb0kvW2meMMcMkXWatvaT6vkWS7rbWvmGMaSPJb62ttwp+4MCBdsWKFXH5WgDEmc8X291CkS5O27SJPPhp7L4WLeL7ZxSNc84JBE3hu5Yeeiiwk2nhQufmAprBGLPSWjvQ6TncjDUYkl4wTHMyIEvU7jYneDzuDcBi+RxOAwRipinrr3juZDpe0hprbWn1UDMkjZAU1kilAZKCP/WUSHqh+rEDJGVaa9+QJGvtzjjOCaCprJX27IndbqFIt/BnZe0f7nToIPXu3fRQqE2b9PlNXl1B0g03cKockLpYgyG5Bcuhs7OdniS+gu/Q5sYArL7nBNd/TX1Nh95K3bUBWKyfQ5gGF4lnyNRD0rdht9dLGlzrMR9JKlRgO/dISW2NMZ0kHSppmzGmSFKupGJJt1prazQ7GmMmS5osSb17947H1wDE1/33B8pyw08nKSkJdJjUdepJNKqqYrtbKNKi1dat9w9+evVqeijUrp27dwsBgHuwBgOSQXjfVU6O09PEl9/vfEDWlOdUVATqF5r6eZx6I4KMDPcGYLHenYa6bdokjR8vzZwpdevm6CjxDJkicaOkvxpjLpW0WNIGSVUKzHWqpGMkrZM0U9Klkv4R/mRr7VRJU6XAVu1EDQ3ETO13Yyop2Xfb2sAOn1jtFtqzJ7KZMjP3D3fat5d69mx6KNS69b53pQEAuAlrMACJ4/EEflmY6r8wbOyNCJx604CGju3a1bzP44RgMOvGACyWz8nIaPrutDvvDLy5zx13OP4GBvEMmTYoUBgZ1LP6WIi1duP/b+++4+Qu6sePv+bucrn0QgKEFBJCAoQACSkkBgT8IiIWBBQRlCbSQQTkBw/JvfUAACAASURBVCKIoAIJSBGk9yJdjIgU+UZQIJBQQ5GqmNAVEggJaTe/P2bvu7fh7rj+udt9PR+Pz2N3Z/Z2Z7KXz82+PzPvIV1FI7fmf9cY48IQwgLgqVrTvO8AprDaAEfq9ObMgeOPh513ToGZt95KtzvumE7ejb0a0r37pwM/gwc3L99Q165OuZWkzs0xmNRYHejqv4qAGxFkHzSrr/6TT5r3mu29EUGNmgDUZwWmnn++cDnqhRemo6qq8ZMMWrvpbfjac4BRIYQRpIHN7sAetZ8QQhgAvB9jrAaOJ+1yUvOzfUMIA2OM7wFfAMwoqeLz6qtpUDN0KDz7bLp9+20YPRq+/vXGBYV69nS2kCSptuIYg/nlX+2hA139lzqNENL3j/Ly4p+dtvpGBMuWwaJF8MEHsHBhur9wYf1H7ed+/HHj37fm/epTVZW+B66zTkpl8tFHqa3dusEuu2S6i3SbBZlijCtDCIcB95C2z70ixvhcCOEUYG6McSawDXBaCCGSpmofmvvZVSGEY4D7QwgBeBy4tK3aKmVm993huutSgAlgwYJ0YvjNb9z2W5LULEUzBiv1L/81MwVqjlWrCm/ru59VWWdrwzPP1H31v6wszSjv1i19iauqqvt+c+q9KCi1n5qlgIsX13/bUF19z2nq7KDu3VMwaM01022PHoW3dZV91nNWT0ly8MFwySXpPLNsWZqMkOHFmRCzyvTfytw+V53SrFlpqdyiRelxZWUaiPz+9waZJKkOTdlCV+2j1cdg3brVvetoRQWcfnrHC3a01WsXyRi9TuXlKZhTVpa/X1fZZ9W3pGz58nSR78030793WRkMHJhmla9alX4Hly5NtzX3ly1rWb8rKpoXsGppcMtUCOrIVqxoeeCnrtum/H8NIR+8aW7gp67b7t3bJ1n5LrvAoEFwwAEp2PTWW3D77a36Fk0Zf2Wd+FsqbY89Bl/8Itx6a3pcUQEnnZRyNRlkkiSVotdeg2OOSX8bly/Pl69cmcrr0xqBh8b8TEVF27121oGX9nidjhTsqH31f/ny9EWtoVlz1dXpeTXBp9WDUKvf/6z61Z/7wQfpy2Fd9Q0tm2mMmsBTewa3qqpS3hh1fjGm3/3WnhW0eHHTkoiXldUdzOnfH4YNa36QqFu3jnVuaqraAaULLsiuHTkGmaSsvPFGOgnMr7XLdE2Qac89s2uXJElZGjQoTfVfuTLN8F2xIuUqrK6Gl19Ozykrg802g622gi23hGnTUl4KqSneeQcOOqjw6n9DysrywZP2tnJlywJan1W/cGH99S1RXp5NcKuqqmNtd99eOeZqdqdu7VlBixc3fkMiSJ97XcGe+paMNTY4VFXVuYNBJcIgk9TeYoQbboDDDoMPPyys+9nP0lXaN9/Mpm2SJHUEdX35v/12eO89eOQRePjhdFxyCZx3XvqZddeFz30uf2y6abp4I9Wng139b1BFRf5LeHuqmcHSmgGt2mWLFqX/73U9tykzXOpSWdn+wa1u3dLsrdUDIavnmIsRlixp/VlBH3/ctN3QunSpO7gzaFDLcgdVVhoMKmHmZJLa03vvpanZt90GU6emq69rrw1HH53qBwyA449PV6uOPTbbtkpSB2ROpo4n0zHY8uXw1FP5oNNDD+Uv1PToAZMn54NOU6dCv37ZtFNS09XkxmrLGVz1lbXkO3II+YDT+++3zr9F167NnwFUX11NMEhqBHMySR3RHXekK7KLFsEZZ6TAUs2uAA88ADNnpgDUUUdl205JkjqLysoUSJo8GY48Mn0xnD+/MOh0+un5ZR5jxhTOdho92qvtUkdVXp4PhrSnGNMsqubk1Vq97P3307lowYJ0Hiovh1GjYIcd0oXmxswO6tHDWZnqVPxtldrawoVwxBFw7bUwfjz87//C2LH5+lmz0h+fE09MW+duu61JvyVJao4QUvLXYcNS/hNIS0jmzMkHnm67DS67LNX1718YdJo0Ke0GJKl0hZAC2JWVKT9cS62eYH7bbeHss1v+ulIHZZBJakv33gv77Qdvv53yLZ1wQuEuG7NmwW67wc0354NLtR9LkqSW6dmz8AJOdTW8+GI+6PTww3DnnamuogLGjSsMPA0dml3bJXV+TU0wL3Vy5mSS2sLixfDjH8NFF8FGG8E118DEOpawTp+erprWDijNmpWuuJqTSZI+xZxMHU9RjMH++1+YPTsfdHr00fyuWkOGpGDTtGnpdrPN3JZdklRSmjL+MsgktbYHH4R994V//jPlXTr11Gy2upWkImSQqeMpyjHYihXwzDOFs53+/e9U163bpxOKr7FGtu2VJKkNmfhbysLSpfDTn6Y11iNGpGDTlltm3SpJktRUXbrAhAnpOPzwVLZgQWHQacaMtBsswAYbFC6x23BDKCvLrv2SJGXEIJPUGubMgb33hhdegEMOSbvH9eyZdaskSVJrGTIk5U3cbbf0eMkSmDs3H3SaOROuvDLV9e2bZjjVBJ0mT3ZcIEkqCQaZpJZYvhx+8Qv41a9g0CC45x7YfvusWyVJktpa9+7w+c+nA9K25y+/XDjb6c9/TnVlZSmXU+3ZTuuum3axkiSpiBhkkppr3jzYay946qk0i+mcc9KVS0mSVHpCgNGj07HPPqnsgw9SEvGaoNNVV8EFF6S6ddYpDDqNH5+2TJckqRMzyCQ11apVKQ/DSSdBv35wxx2w005Zt0qSJHU0/frBDjukA1IOp3nzCmc73XprquvaNe04Wzuh+JprZtd2SZKawSCT1BQvvZRmLc2eDd/8Jlx4IQwYkHWrJElSZ1BRkWYsjR8Phx6ayt58Ex55JB90OvtsmD491a2/fuFspzFjoLw8u/ZLkvQZDDJJjVFdnaa3/7//B1VVcMMNsPvu5lKQJEkts846sOuu6QD45BN4/PF80Onuu+Gaa1Jd794wZUo+6LTFFqlMkqQOwiCT9Flefx323RdmzYIdd4RLL00DQkmSpNZWVQXTpqUDUkLx114rXGL385+n8rIy2GSTwtlOI0Z4EUySlBmDTFJ9YoQrroAf/Sjdv+wy2G8/B26SJKn9hAAjR6bje99LZYsWFSYUv+66tIQfYK21CoNOm2+eAleSJLUDg0xSXd58E37wA7jrLthmG7jyShg+POtWSZIkQZ8+sP326YC0KclzzxXOdvr971NdZSVMmFAYeFp77ezaLkkqagaZpNpihJtugkMOgaVL4dxz4bDD0nR0SZKkjqi8HDbdNB0HHZTK3nmnMKH4+efDWWeluhEj8gGnadNg7FgTikuSWoVBJqnGf/6Tgku33JKSal51FWywQdatkiRJarq11oJvfCMdAMuWwZNP5oNO998P11+f6nr2/HRC8b59s2u7JKnTMsgkAcycmZbHffABnHYaHHNM2mZYkiSpGHTtmgJJU6bAUUel2duvv54POj30EPziF2lH3RBg440Ll9itv755KSVJn8lv0SptixbBkUemWUubbQb33ZemmkuSJBWzEFK+yeHDYY89UtlHH8Fjj+UDTzfdBJdckuoGDCgMOk2cCN26ZdV6SVIHZZBJpesvf4F994W33oKf/hROPDElx5QkSSpFvXrB//xPOiDNanrhhcKE4jNnprqKirRzXe3A0+DB2bVdktQhGGRS6fn4Yzj2WPjtb2HDDdOAafLkrFslSZLUsZSVpWVzG2+c0goAvPcezJ6dDzpddBGcc06qGzYsn0z8c59Ls8NNPyBJJcWzvkrL3/8O++wDr72W8hH84hdO9ZYkSWqsgQPha19LB8Dy5fD00ymn08MPw4MPwo03prru3VMS8ZqZTlOmQP/+2bVdktTmDDKpNHzySVoOd9ZZKffArFmw9dZZt0qSJKlzq6yESZPSceSRKaH4/PmFS+xOPx1WrUrP32ijwiV2G2xgQnFJKiIGmVT8Hn8c9toLnn8eDjwQZsxIOQckSZLUukJIy+aGDYPdd09lH38Mc+bkg0633w6XX57q+veHqVPzQadJk6BHj+zaL0lqEYNMKl4rVsAvf5mWxK29Ntx9N3zpS1m3SpIkqbT06AHbbJMOSAnFX3qpcLbTn/6U6srLYfz4wtlOQ4dm1XJJUhMZZFJxevbZNHvpySfhe9+Dc8+Ffv2ybpUkSZLKytLmKxtuCPvtl8ref78wofhll8F556W6IUMKg07jxkGXLtm1X5JUL4NMKi6rVqW8SyeeCH36wG23wS67ZN0qSZIkNaR/f9hxx3QArFyZEorXnu10882prlu3tKyuJug0dSoMGJBd2yVJ/8cgk4rHK6/A3nunQcguu8CFF8Kaa2bdKkmSJDVVRQVMmJCOww9PZQsWwCOP5INOZ56ZglEAo0cXznbaaKM0Y0qS1K4MMqnzq65OAaVjj007nFx3HeyxhzuVSJIkFZMhQ+Bb30oHwNKlMHduPuh0551w1VWprm/fwoTikydDz56ZNV2SSoVBJnVu//53Wst///2www5p/f7gwVm3SpIkSW2tWzfYaqt0AMSYZrbXBJ0eegj+/OdUV1YGm21WONtp3XW9KClJrcwgkzqnGNOVqiOPTDOZLrkE9t/fgYIkSVKpCgFGjUrH3nunsoULCxOKX301XHBBqhs0qDDoNH48dO2aXfslqQgYZFLn8/bbcMAB8Mc/wtZbw5VXwogRWbdKkiRJHU3fvmm2+w47pMcrV6ZdiGsnFL/ttlTXtStMnFiYUHyttbJruyR1QgaZ1LncfDMcfDAsWQJnnw1HHGFSR0mSJDVORQWMG5eOQw5JZW+9VZhQ/NxzYcaMVDdyZAo4TZuWbseMgfLy7NovSR2cQSZ1Dv/9Lxx6KNx0U0rcePXVsOGGWbdKkiRJnd2gQWln4l12SY8/+QSeeCIfdLrnHrj22lTXuzdMmZKf7bTFFqlMkgQYZFJncOed8IMfpEDTL3+ZdpGr8FdXkiRJbaCqKh9EgpQL9LXXCpfY/fznqTwE2GSTwtxO661nnlBJJctv6uq4Fi2Co46CK66ATTeFu+9Ou4JIkiRJ7SWEtGxu5Ej43vdS2YcfwqOP5oNON9wAF12U6tZcszDoNGFCClxJUgkwyKSO6f77Yb/9YMEC+MlP4KST3O1DkiRJHUPv3vDFL6YDYNUqeP75wtlOd9yR6iorU6CpdkLxQYOya7sktSGDTOpYPv4YjjsOzj8fRo9Of6C32CLrVkmSJEn1Ky9Py+Y22QQOPDCVvftuYULx88+Hs85KdSNGFM52GjvWdBCSioJnMnUcDz8Me+8Nr7wCRx6Z8i917551qyRJkqSmW3NN2GmndAAsWwZPPpkPOt1/P1x/farr2TNdWK0JOk2ZAn37Ztd2SWomg0zK3iefwM9+BmeeCUOHwqxZsM02WbdKkiRJaj1du6bg0ZQpKe9ojPD664VL7H75S6iuTnmgxowpnO00apQJxSV1eAaZlK0nnoC99oLnnks7yJ11FvTqlXWrJEmSpLYVAgwfno499khlixfDY4/lg0633AKXXprqBgxI+ZymTUtBp4kToVu3rFovSXUyyKRsrFgBp50Gp54KAwfCXXfBl7+cdaskSZKk7PTsCV/4QjogzWr6xz/yQaeHHoI//jHVVVTA5psXznYaPDi7tksSBpmUheefT7OXHn8c9twTzjsP+vfPulWSJElSx1JWlpbNjRkD+++fyv7zn8KE4hddBOeck+qGDSsMOm26KXTpkl37JZUcg0xqP6tWwdlnw09/mpbE3XILfPObWbdKkiRJ6jwGDICvfS0dAMuXw9NP54NOf/sb3HhjquveHSZPzgedpk714q6kNmWQSe3j1Vdhn33g739PO2xcfDGstVbWrZIkSZI6t8pKmDQpHT/8YSqbP78wofgZZ6QLvgAbbpgCTjW5nUaPTjOmJKkVGGRS24oxTeE95pg0Vfeaa+C733VnDEmSJKmtDB0K3/52OgA+/hjmzs0Hne64A664ItX1759mONXMdpo0CXr0yK7tkjo1g0xqO/Pnw/e/D/fdB9tvD5dfDkOGZN0qSZIkqbT06AFbb50OSBeCX3opn0z84YfhT39KdeXlMG5cYW6noUO9SCypUQwyqfXFmGYsHXFEmpZ74YVw4IH+YZIkSZI6ghBggw3Sse++qez992H27Pxsp8svh9/8JtUNHlwYdBo3Li3Tk6TVGGRS63rnnRRQ+sMfYKut4MorYeTIrFslSZIkqSH9+8OOO6YDYOVKeOaZwtxOt9yS6qqqPp1QfMCA7NouqcMwyKTWc+utcNBBsHgxnHVWSjxYXp51qyRJkiQ1VUUFbL55Og47LJW98QY88kg+6HTWWXD66alu9OjC2U4bbWRCcakEGWRSy73/fvrD87vfwcSJaancRhtl3SpJkiRJrWnwYPjmN9MBsHRpYULxO++Eq65KdX36FCYUnzwZevXKrOmS2odBJrXMXXfB/vvDe+/BKafAccelXeQkSZIkFbdu3VKKjK22So9jhFdeKVxi97OfpfKyMth008LZTsOHm7dVKjIGmdQ8H34IRx8Nl10GY8em3SjGj8+6VZIkSZKyEgKMGpWOvfdOZQsXwqOP5oNO11wDv/1tqlt77cKg0+abQ9eu2bVfUosZZFLTzZqVdqGYPz/NXDr5ZP8YSJIkSfq0vn3hS19KB6Tdp599tnC20+23p7quXVP6jdoJxddaK7u2S2oyg0xqvCVL4Pjj4bzz0tWJv/89nfglSZIkqTHKy2GzzdJx8MGp7O23CxOKn3suzJiR6kaOLJzttPHGbi4kdWAGmdQ4jzySpry+/DIcfjicdhr06JF1qyRJkiR1dmuvDTvvnA6ATz6BJ57IB53uvReuvTbV9eoFU6bkg05bbJGSjEvqEAwyqWHLlqXlcNOnw5AhcP/98IUvZN0qSZIkScWqqiofRIKUOPyf/yxcYnfqqVBdnfJAjR2bnjttWrpdbz0TiksZadMgUwhhB+BcoBy4LMZ4+mr16wJXAAOB94HvxhgX5OpWAfNyT/13jPHrbdlW1eGpp2CvvWDePPj+9+HXv4bevbNulSRJ+gyOwSQVlRBS4Gi99eC7301lH34Ijz2WDzr97ndw8cWpbs01C5fYTZiQAleS2lybBZlCCOXABcAXgQXAnBDCzBjj87WediZwTYzx6hDCF4DTgO/l6pbGGMe1VfvUgJUr4fTT4ec/hwED4I9/hK9+NetWSZKkRnAMJqkk9O4N222XDkgJxV94IQWcHnoo3d5xR6rr0iUFmmoHngYNyq7tUhFry5lMk4FXYoyvAYQQbgR2AmoPcMYAR+XuzwLuaMP2qDFeeCHlXpozB3bfHc4/H9ZYI+tWSZKkxnMMJqn0lJenZXNjx8IBB6Syd98tTCh+wQVpdQbA8OGFQadNNoEKs8lILdWW/4sGA/NrPV4AbLHac54GdiFN594Z6BVCWCPG+F+gKoQwF1gJnB5j/NTgJ4RwAHAAwLBhw1q/B6WkuhrOOQd+8hPo2RNuvhm+9a2sWyVJkprOMZgkQVo2t9NO6QBYvhyefDIfdJo1C264IdX16JGSiNfkdpoyBfr2za7tUieVdaj2GOD8EMI+wIPAG8CqXN26McY3QgjrAf8bQpgXY3y19g/HGC8BLgGYOHFibL9mF5nXXoN994UHH4SvfQ0uuSTt8CBJkoqVYzBJpaeyMgWSttgCfvSjlFD83/8uTCh+2mlp6R3AxhsXznYaNcqE4tJnaMsg0xvA0FqPh+TK/k+M8U3SVTRCCD2BXWOMC3N1b+RuXwsh/BUYDxQMcNRCMaaA0tFHp+mlV16Zlsp54pQkqTNzDCZJjRECrLtuOr7znVS2eHFKHVITdLrlFrj00lS3xhqFQaeJE6F79+zaL3VAbRlkmgOMCiGMIA1sdgf2qP2EEMIA4P0YYzVwPGmXE0II/YAlMcZluedMA6a3YVtLz4IFace4e+9NyfIuvxyc7i5JUjFwDCZJzdWzJ2y7bTogpRX5xz8KZzv98Y+prqICxo8vDDwNGZJd26UOoM2CTDHGlSGEw4B7SNvnXhFjfC6EcAowN8Y4E9gGOC2EEElTtQ/N/fhGwMUhhGqgjJQP4PlPvYmaLka47jo4/HBYsSIlvzvoICgry7plkiSpFTgGk6RWVFYGY8akY//9U9l//gOzZ+eDTpdcAueem+qGDi0MOm22WdrdTioRIcbiWEY/ceLEOHfu3Kyb0bG9+24KKP3+9ymZ3VVXwfrrZ90qSZIaLYTweIxxYtbtUJ5jMEklb8UKePrpwtlO83P7L3TvDpMn54NOU6a4e7c6naaMv7JO/K32cvvtcOCB8OGHMGNGSnRXXp51qyRJkiSpc+vSJeVnmjgRjjgilc2fD488kg86TZ8OK1emug03LJzttMEGrixR0TDIVOw++CAtjbv+eth8c7jmmrRLgiRJkiSpbQwdmo7ddkuPlywpTCh+xx1wxRWprl8/mDo1H3SaPBl69Miu7VILGGQqZnffnZJ7v/sunHwy/OQnrgeWJEmSpPbWvTtsvXU6IOXKfemlwiV2d92V6srLUy6nmqDTtGkpYOUu4OoEDDIVo48+gmOOSQnoxoyBmTNhwoSsWyVJkiRJghQw2mCDdOy7byr74IPChOJXXgnnn5/qBg8uXGI3bhxUVmbXfqkeBpmKzQMPwD77wOuvw7HHws9/DlVVWbdKkiRJktSQfv3gy19OB6QcTvPm5YNODz0Et9yS6qqqYNKkfNBp6lQYODC7tks5BpmKxdKlaTncOefAyJHwt7+laZWSJEmSpM6nogLGj0/HoYemsjfeKEwo/utfwxlnpLpRowpnO40ZY0JxtTuDTMXgscdgr73gxRfTyeeMM0wUJ0mSJEnFZvBg+OY30wFpssHjjxfmdbr66lTXpw9MmZIPOm2xBfTqlV3bVRIMMnVmy5fDKafAaaelk81998F222XdKkmSJElSe+jWDbbcMh2QEoq/+mphQvGTT07lZWWwySZpxUtN4Gn4cBOKq1UZZOqsnn46zV565pmUKO7ss1OkWpIkSZJUmkKA9ddPx157pbJFi+DRR/NBp2uvhd/+NtWtvXbhErvNN4euXbNrvzo9g0ydzcqVMH16ikb37w9/+AN8/etZt0qSJEmS1BH16QPbb58OgFWr4LnnUiLxmsDT7benuspKmDixMPC01lrZtV2djkGmzuQf/4C99045mL71rRR9HjAg61ZJkiRJkjqL8nLYdNN0HHxwKnv77cKE4uedB2eemerWW68w6DR2bHoNqQ4GmTqD6ur0n/z446F7d7jxRvj2t7NulSRJkiSpGKy9Nuy8czoAli2DJ57IB53uuw+uuy7V9er16YTipm5RjkGmju6f/0w5lx54AL7yFbj0Uhg0KOtWSZIkSZKKVdeuMHVqOo4+OiUO/9e/ChOKn3pqmhARQprdVHu208iRJhQvUQaZOqoY4bLL4Kij0n/Oyy9PwSb/o0qSJEmS2lMIMGJEOvbcM5V9+GFK5VITdPrd7+Dii1PdwIGFQacJE9JOeCp6Bpk6ojfegP33h7vvhm23hSuvhHXXzbpVkiRJkiQlvXvDdtulA9KspuefL5zt9Ic/pLouXdLOdbUDT+usk13b1WYMMnUkMcINN8Bhh6U1sL/5DRxyCJSVZd0ySZIkSZLqV1aWls2NHQsHHJDK3nuvMKH4hRfC2WenuuHDC4NOm2wCFYYoOjs/wY7ivfdSZv/bbkvrXq++GkaNyrpVkiRJkiQ1z8CB8PWvpwNg+XJ46ql80Omvf00TLQB69EhJxGuCTlOmQL9+mTVdzWOQqSO4444U6V20CE4/HY45xi0hJUmSJEnFpbISJk9Ox5FHptU88+fng04PPQSnnQarVqXnjxlTONtp9GjzFHdwBpmytHAhHHEEXHstjB8P99+fpghKkiRJklTsQoBhw9Kx++6pbPFimDMnH3i67ba0KRbAGmuklT81QadJk6B79+zar08xyJSVe++F/faDt9+Gk06CE05IUV1JkiRJkkpVz55pA6xtt02Pq6vhxRcLE4rfeWeqq6iAceNSwGnatHQ7ZEh2bZdBpna3eDH8+Mdw0UWw0UZpqdzEiVm3SpIkSZKkjqesLH133mgj+P73U9l//wuzZ+eDTpdeCuedl+qGDi1cYrfZZml3O7ULg0zt6cEHYZ994F//gqOPhlNPhW7dsm6VJEmSJEmdxxprwFe+kg6AFSvgmWfyeZ0efhhuuinVdeuWckDVBJ2mTk0/rzZhkKk9LF0KP/1p2qpxxAh44AHYaqusWyVJkiRJUufXpQtMmJCOww9PZfPnwyOP5Gc7zZgBK1emug02KJzttOGGacaUWswgU1ubMwf23hteeAEOPhimT09rTCVJkiRJUtsYOjQdu+2WHi9ZAnPn5oNOM2fClVemun79Pp1Q3O/tzWKQqa0sXw6/+AX86lew9tpwzz2w/fZZt0qSJEmSpNLTvTt8/vPpAIgRXn65MKH4XXeluvLylMup9mynYcPSbnhqkEGmtjBvHuy1Fzz1VLo991zo2zfrVkmSJEmSJEgBo9Gj07HPPqnsgw/g0UfzeZ2uvBLOPz/VrbNOYdBp/Hh3iK+DQabWtGpVWud50klput3vfw/f+EbWrZIkSZIkSZ+lXz/YYYd0QMrhNG9e4WynW29NdVVVaaf42gnF11wzu7Z3EAaZWstLL6XcS7Nnw667woUXwsCBWbdKkiRJkiQ1R0VFmrE0fjwcemgqe/PNwoTiZ5+dci8DrL9+CjhNm5Zux4wpuYTiBplaqro6TZ877jjo2hWuvx6+8x3XakqSJEmSVGzWWSdNLNl11/T4k0/g8cfzQac//xmuuSbV9ekDU6bkZzttsQX06pVd29uBQaaGTJ+esspvu22+bNastGPcscfC66/Dvvumsi9/GS67LP3CSZIkSer43noLdt8dbropbdYjSU1VVZVmLk2blh7HCK+9VrjE7uSTU3lZGWyySWFupxEjimqSSmnN22qqSZPSdoezZqXHs2alBepLEgAAEltJREFUxxMnwuWXp1+OOXPg0kvhT38ywCRJkiR1JqeeCn//O5xyStYtkVQsQoCRI+F730tpdJ5+OiUUv+ceOPHElLfpuutS/ciRMGgQ7LILnHlmCkh98knWPWiREGPMug2tYuLEiXHu3Lmt+6LTp6dI4wknwI9/DBdfDIcckq50vPgibLNNyjY/fHjrvq8kSapTCOHxGOPErNuhvDYZg4EzTEpFdXVKrLtqVbqtfb+pZU15/g9/mO6vrkuXtHlPt25pu/Oa29r3u3YtqlkHkjKwahU891zhbKdXX011lZUwYUI+t9PUqZn/HWzK+MsgU0MOPDCtpayJJG65ZbrSUVYGv/41HH54ySXxkiQpSwaZOp42CzIdcki6wHfggfDb37b+67eXGNOXifYInLTWa7Tne3ZGIaSAU0OBqKbUNfScLl0MaEml4p13ChOKz50Ly5aluvXWK1xiN3YslJfnf7aNL8wYZGots2bBl74EK1bky8rK4Ior0k5ykiSpXRlk6nhafQzWrVvdSwW6dEkpCjpb8KW6uvX+bVpLeXnaMamiIn9/9duWlGXxGs15z2OOgauvTr9by5fDHnukzXyWLoUlS/K3te/Xd9uYuuZ87yora1mQqilBrgrT9UodyrJl8OST+aDTQw/B22+nup49CxOK33wzXHVVm12Yacr4yzPJZ6l95aC8HHr0gGHDsmuPJElSMXvttfTl/+abC2e6rFgB++zTuNcIoXWCHpWV6Qt4Zwm0NOY1ysqcGVNj4UI46CA44AC45JI0E2Ds2LZ5rxjTF8aWBKlWv/3oozTzYfW65uZz6dKl9Wdi1VfnahB1NjGmv0MrVqSgdM392kdd5U15bkOv0aVLWjr38svwzDOweDH85S/pqO3CC9NRVZXOCRkwyNSQGTNgzBh46qn0uLIS9twzldfecU6SJEmtY9Ag6N07zQaqrEwD7G9/OyVmbmxQxS+waozbb8/fv+CCtn2vENKXvqoq6Nevbd+rujoFmlpzJtb779ddt3x589rYtWv7LDesquoYQdVSzzG3alXrBVvaO7hTc3/Vqrb/dwohBZNqH5WVny6bNCl/v7oaXnkF3n03tbFbt3wS8YwYZGrIdtvB0Uen+1tumaaqXXghnHVWtu2SJEkqZu+8AwcfXDjDZNSorFsldQ61l9itsUbbvteqVS0LYNX1nHff/XTdkiXN/5LfkhlYTQmAVVbWH9CqvYthU5Yy1Z4905YBlLYO2LRHip7y8oYDM3WVd+/e+Oc2VN5az62dY6kpDj44/a2sqkozJnv3zjSYaZCpIS++mD7wmpxMNcvlXnwx23ZJkiQVs/acYSKp+crLU26Ynj3b/r1WrGj9fFkffFB3XXNyqZWVfToA9eKLhQGWmqVMIaSlmZ8VsGmv5PhNDZR06wZ9+rQs2NKaAZuKitKewfrOO59e+pshg0wNGTky7S73ne+kyPOJJ6ZlcnPmZN0ySZIkSSodNYGF3r3b9n1iTAGfluTLqrkdMgTmzYP33kuBq7IyWHNN2Hhj6NWr9YItLXmN8vKOsaRQzdfBLswYZGrIscemHeYGDEhT0C68MAWZjj0265ZJkiRJklpbCClnVNeu0Ldvy1+v9lKm5cth553bZPcvqaMo4TlljTBrFuy2W9rd5JRT0u1uu6VySZIkSZIaUrOUafbsdFuzBb1UpJzJ1JA5c1JgqWYnuW23TY/nzHF3OUmSJElSwzrYUiaprRlkakhdy+K23dYAkyRJkiRJ0mpcLidJkiRJkqQWM8gkSZIkSZKkFjPIJEmSJEmSpBYzyCRJkiRJkqQWM8gkSZIkSZKkFjPIJEmSJEmSpBYzyCRJkiRJkqQWM8gkSZIkSZKkFjPIJEmSJEmSpBYzyCRJkiRJkqQWM8gkSZIkSZKkFjPIJEmSJEmSpBYzyCRJkiRJkqQWM8gkSZIkSZKkFjPIJEmSJEmSpBYLMcas29AqQgjvAa+34VsMAP7Thq/fEdnn0lGK/S7FPkNp9rsU+wzF2+91Y4wDs26E8tp4DFasv8efpRT7XYp9htLsdyn2GUqz36XYZyjOfjd6/FU0Qaa2FkKYG2OcmHU72pN9Lh2l2O9S7DOUZr9Lsc9Quv1WcSnV3+NS7Hcp9hlKs9+l2GcozX6XYp+hdPtdw+VykiRJkiRJajGDTJIkSZIkSWoxg0yNd0nWDciAfS4dpdjvUuwzlGa/S7HPULr9VnEp1d/jUux3KfYZSrPfpdhnKM1+l2KfoXT7DZiTSZIkSZIkSa3AmUySJEmSJElqMYNMkiRJkiRJajGDTKsJIVwRQng3hPBsrbL+IYT7Qggv5277ZdnGtlBPv2eEEP4RQngmhPD7EELfLNvY2urqc626o0MIMYQwIIu2taX6+h1CODz3eT8XQpieVfvaQj2/3+NCCLNDCE+FEOaGECZn2cbWFkIYGkKYFUJ4PveZ/jBXXtTnswb6XbTns/r6XKu+aM9n6pyaMtYKyXkhhFdy/383r/Uze+ee/3IIYe8s+tJYTR1nhRCOz/X5xRDCl2qV75AreyWEcFx796OpmjLWKubPOlde5zirmD/r+sZaRfRZN2msVQz9bqDPRX0+q6/fteqL8nzWbDFGj1oH8Hlgc+DZWmXTgeNy948Dzsi6ne3U7+2Bitz9M4qt33X1OVc+FLgHeB0YkHU72+mz3hb4C9A193jNrNvZDn2+F/hy7v6OwF+zbmcr93kQsHnufi/gJWBMsZ/PGuh30Z7P6utz7nFRn888OufRlLFW7vz8ZyAAU4BHc+X9gddyt/1y9/tl3bcm9rnO81LunPU00BUYAbwKlOeOV4H1gMrcc8Zk3bem9jtX/qlzU5F/1nWOs4r9s6aesVYRfdZNGmsVQ78b6HNRn8/q63fucdGez5p7OJNpNTHGB4H3VyveCbg6d/9q4Bvt2qh2UFe/Y4z3xhhX5h7OBoa0e8PaUD2fNcDZwLFAUWbFr6ffBwOnxxiX5Z7zbrs3rA3V0+cI9M7d7wO82a6NamMxxrdijE/k7n8EvAAMpsjPZ/X1u5jPZw181lDk5zN1Tk0ca+0EXBOT2UDfEMIg4EvAfTHG92OMHwD3ATu0feubp4njrJ2AG2OMy2KM/wReASbnjldijK/FGJcDN+ae22E1caxVtJ819Y+ziv2zrm+sVSyfdVPHWp2+380YZxXF73gzxlqd/rNuCYNMjbNWjPGt3P23gbWybExG9iNFY4taCGEn4I0Y49NZt6WdjQa2CiE8GkJ4IIQwKesGtYMjgRkhhPnAmcDxGbenzYQQhgPjgUcpofPZav2urWjPZ7X7XMLnM3VO9Z2bBgPzaz1vQa6svvLOqvZ5qaj73MC5qZj7Xd84q5j7DPWPtYqu340caxVVvxs5ziqqPkOjx1pF1++mqMi6AZ1NjDGGEErqinAI4QRgJXB91m1pSyGE7sBPSNM9S00FadrmFGAScHMIYb0YYzH/rh8M/CjGeFsIYTfgcmC7jNvU6kIIPYHbgCNjjB+GEP6vrpjPZ6v3u1Z50Z7PaveZ1MdSPZ+pkyvmc1Ndivm8tLoSHmvVOc7KtkntwrFWkZ7PSnGcBY61GsuZTI3zTm56G7nbolpK1JAQwj7AV4E9izzgADCStFb46RDCv0jTPJ8IIaydaavaxwLg9tyUzseAaqDYkwTvDdyeu38LadpuUQkhdCH9Ibw+xljT16I/n9XT76I+n9XR51I+n6lzqu/c9AYp30WNIbmy+so7lXrOS8Xc54bOTcXc7/rGWcXcZ6h/rFU0/W7iWKso+t3EcVZR9BmaPNYqmn43h0GmxplJOkmSu/1Dhm1pNyGEHUjrS78eY1ySdXvaWoxxXoxxzRjj8BjjcNKAYPMY49sZN6093EFKSkkIYTQpAd9/Mm1R23sT2Dp3/wvAyxm2pdWFdBntcuCFGOOva1UV9fmsvn4X8/msrj6X+PlMnVN956aZwF65nXqmAItyy1DuAbYPIfQLaeem7XNlnUYD56WZwO4hhK4hhBHAKOAxYA4wKoQwIoRQCeyee26n8RnnpqL9rKl/nFW0n3VOfWOtovismzHW6vT9bsY4qyh+x5sx1ur0n3WLxA6QfbwjHcDvgLeAFaRflO8DawD3k06MfwH6Z93Odur3K6Q1o0/ljouybmdb93m1+n9RhLsx1fNZVwLXAc8CTwBfyLqd7dDnLYHHSbtZPApMyLqdrdznLUkJCJ+p9X94x2I/nzXQ76I9n9XX59WeU5TnM4/OeTRlrEXamecC0i5E84CJtV5nv9z/7VeAfbPuVzP6XO95CTgh1+cXye3OlSvfkbSr0avACVn3qzn9Xq3+/85NRf5Z1zvOKubPmnrGWkX0WTdprFUM/W6gz0V9Pquv36s9p+jOZ809Qq6jkiRJkiRJUrO5XE6SJEmSJEktZpBJkiRJkiRJLWaQSZIkSZIkSS1mkEmSJEmSJEktZpBJkiRJkiRJLWaQSVKrCyHEEMJ1tR5XhBDeCyHc2QqvvU0IYVEI4ckQwoshhAdDCF9twesNDyHsUevxPiGE81vaTkmSpPYWQlgVQniq1nFcA8/9RghhTK3Hp4QQtmuFNvQNIRzS0teR1DlVZN0ASUXpY2BsCKFbjHEp8EXgjVZ8/b/FGL8KEEIYB9wRQlgaY7y/Ga81HNgDuKEV2ydJkpSFpTHGcY187jeAO4HnAWKMJ7VSG/oChwC/bewPhBAqYowrW+n9JWXImUyS2spdwFdy978D/K6mIoQwOYTwSG420sMhhA1y5T8KIVyRu79JCOHZEEL3ht4kxvgUcApwWO7nBoYQbgshzMkd03LlJ4cQrs2978shhB/kXuJ0YKvc1b4f5crWCSHcnXve9Nb555AkScpGCOH0EMLzIYRnQghnhhA+B3wdmJEbA40MIVwVQvhm7vn/CiGclqubG0LYPIRwTwjh1RDCQbnn9Awh3B9CeCKEMC+EsFPu7U4HRuZ+dkZIZuTGdfNCCN/O/fw2IYS/hRBmAs+HEHqEEP4UQng699xvZ/BPJamFnMkkqa3cCJyUWyK3KXAFsFWu7h/AVjHGlblp2b8CdgXOBf4aQtgZOAE4MMa4pBHv9QTw49z9c4GzY4x/DyEMA+4BNsrVbQpMAXoAT4YQ/gQcBxxTa2bUPsA4YDywDHgxhPCbGOP8Zv47SJIktZduIYSnaj0+DfgLsDOwYYwxhhD6xhgX5oI7d8YYbwUIIaz+Wv+OMY4LIZwNXAVMA6qAZ4GLgE+AnWOMH4YQBgCzc695HDC2ZkZVCGFX0thqM2AAMCeE8GDuPTbPPfefuee9GWP8Su7n+rTiv4ukdmKQSVKbiDE+E0IYTprFdNdq1X2Aq0MIo4AIdMn9THUuyPMMcHGM8aFGvl3tUdF2wJhaA6XeIYSeuft/yC3fWxpCmAVMBhbW8Xr3xxgXAYQQngfWBQwySZKkju5Ty+VCCBWkgNDluYt/jc2ROTN3Ow/oGWP8CPgohLAshNCXlB7hVyGEzwPVwGBgrTpeZ0vgdzHGVcA7IYQHgEnAh8BjMcZ/1nqfs0IIZ5CCX39rZDsldSAul5PUlmYCZ1JrqVzOqcCsGONY4Gukq2I1RgGLgXWa8D7jgRdy98uAKTHGcbljcIxxca4urvZzqz+usazW/VUYkJckSZ1ULtfRZOBW4KvA3Y380ZrxUDWFY6Nq0thoT2AgMCEX2HqHwjFdY3xcq50vkWY2zQN+EUJorRxRktqRQSZJbekK4Ocxxnmrlfchnwh8n5rC3LTo84DPA2vU5AVoSAhhU+BE4IJc0b3A4bXqa1/N2ymEUBVCWAPYBpgDfAT0anyXJEmSOo/cjO4+Mca7gB+Rlq1By8dAfYB3Y4wrQgjbkmZ+1/W6fwO+HUIoDyEMJI3zHqujnesAS2KM1wEzSAEnSZ2MV+cltZkY4wJS0Gh100nL5X4K/KlW+dnABTHGl0II3wdmhRAejDG+u9rPbxVCeBLoDrwLHFFrZ7kjgAtCCM+QznEPAgfl6p4BZpHyAZwaY3wzhPAesCqE8DQp38AHLeu1JElSZlbPyXQ3KV/lH0IIVaQUA0fl6m4ELg0hHAF85oW9OlwP/DGEMA+YS8q5SYzxvyGEh0IIzwJ/Bo4FpgJPk2aRHxtjfDuEsOFqr7cJKRF5NbACOLgZbZKUsRBjfatFJKl4hBBOBhbHGM/Mui2SJEmSVIxcLidJkiRJkqQWcyaTJEmSJEmSWsyZTJIkSZIkSWoxg0ySJEmSJElqMYNMkiRJkiRJajGDTJIkSZIkSWoxg0ySJEmSJElqsf8P/7IaS9Ss2MEAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"cv_result[['rank_test_score','param_rf__n_estimators','param_rf__max_depth', 'mean_train_score', 'mean_test_score']]","execution_count":23,"outputs":[{"output_type":"execute_result","execution_count":23,"data":{"text/plain":"    rank_test_score       ...       mean_test_score\n0                14       ...              0.944318\n1                13       ...              0.944624\n2                16       ...              0.943808\n3                15       ...              0.944250\n4                11       ...              0.959114\n5                10       ...              0.959318\n6                12       ...              0.958604\n7                 9       ...              0.959590\n8                 8       ...              0.960713\n9                 7       ...              0.960747\n10                6       ...              0.960951\n11                4       ...              0.961053\n12                3       ...              0.961291\n13                1       ...              0.961733\n14                2       ...              0.961427\n15                5       ...              0.960985\n\n[16 rows x 5 columns]","text/html":"<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>rank_test_score</th>\n      <th>param_rf__n_estimators</th>\n      <th>param_rf__max_depth</th>\n      <th>mean_train_score</th>\n      <th>mean_test_score</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>14</td>\n      <td>1000</td>\n      <td>10</td>\n      <td>0.981700</td>\n      <td>0.944318</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>13</td>\n      <td>1500</td>\n      <td>10</td>\n      <td>0.982006</td>\n      <td>0.944624</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>16</td>\n      <td>2000</td>\n      <td>10</td>\n      <td>0.981683</td>\n      <td>0.943808</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>15</td>\n      <td>2500</td>\n      <td>10</td>\n      <td>0.981802</td>\n      <td>0.944250</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>11</td>\n      <td>1000</td>\n      <td>15</td>\n      <td>0.999048</td>\n      <td>0.959114</td>\n    </tr>\n    <tr>\n      <th>5</th>\n      <td>10</td>\n      <td>1500</td>\n      <td>15</td>\n      <td>0.999048</td>\n      <td>0.959318</td>\n    </tr>\n    <tr>\n      <th>6</th>\n      <td>12</td>\n      <td>2000</td>\n      <td>15</td>\n      <td>0.999048</td>\n      <td>0.958604</td>\n    </tr>\n    <tr>\n      <th>7</th>\n      <td>9</td>\n      <td>2500</td>\n      <td>15</td>\n      <td>0.999099</td>\n      <td>0.959590</td>\n    </tr>\n    <tr>\n      <th>8</th>\n      <td>8</td>\n      <td>1000</td>\n      <td>20</td>\n      <td>0.999830</td>\n      <td>0.960713</td>\n    </tr>\n    <tr>\n      <th>9</th>\n      <td>7</td>\n      <td>1500</td>\n      <td>20</td>\n      <td>0.999830</td>\n      <td>0.960747</td>\n    </tr>\n    <tr>\n      <th>10</th>\n      <td>6</td>\n      <td>2000</td>\n      <td>20</td>\n      <td>0.999830</td>\n      <td>0.960951</td>\n    </tr>\n    <tr>\n      <th>11</th>\n      <td>4</td>\n      <td>2500</td>\n      <td>20</td>\n      <td>0.999830</td>\n      <td>0.961053</td>\n    </tr>\n    <tr>\n      <th>12</th>\n      <td>3</td>\n      <td>1000</td>\n      <td>25</td>\n      <td>1.000000</td>\n      <td>0.961291</td>\n    </tr>\n    <tr>\n      <th>13</th>\n      <td>1</td>\n      <td>1500</td>\n      <td>25</td>\n      <td>1.000000</td>\n      <td>0.961733</td>\n    </tr>\n    <tr>\n      <th>14</th>\n      <td>2</td>\n      <td>2000</td>\n      <td>25</td>\n      <td>1.000000</td>\n      <td>0.961427</td>\n    </tr>\n    <tr>\n      <th>15</th>\n      <td>5</td>\n      <td>2500</td>\n      <td>25</td>\n      <td>1.000000</td>\n      <td>0.960985</td>\n    </tr>\n  </tbody>\n</table>\n</div>"},"metadata":{}}]},{"metadata":{},"cell_type":"markdown","source":"**Create a new model with the best params and make predictions**"},{"metadata":{"trusted":true},"cell_type":"code","source":"rf1=RandomForestClassifier(max_depth=grid_cv.best_params_['rf__max_depth'], n_estimators=grid_cv.best_params_['rf__n_estimators'], n_jobs=-1, verbose=1, oob_score=True)\npipeline1= Pipeline([('Scaler',StandardScaler()), ('rf',rf1)])","execution_count":25,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"start=timer()\npipeline1.fit(X_train, y_train)\nend=timer()","execution_count":26,"outputs":[{"output_type":"stream","text":"/opt/conda/lib/python3.6/site-packages/sklearn/preprocessing/data.py:645: DataConversionWarning: Data with input dtype int64 were all converted to float64 by StandardScaler.\n  return self.partial_fit(X, y)\n/opt/conda/lib/python3.6/site-packages/sklearn/base.py:467: DataConversionWarning: Data with input dtype int64 were all converted to float64 by StandardScaler.\n  return self.fit(X, y, **fit_params).transform(X)\n[Parallel(n_jobs=-1)]: Using backend ThreadingBackend with 4 concurrent workers.\n[Parallel(n_jobs=-1)]: Done  42 tasks      | elapsed:    3.1s\n[Parallel(n_jobs=-1)]: Done 192 tasks      | elapsed:   15.3s\n[Parallel(n_jobs=-1)]: Done 442 tasks      | elapsed:   35.2s\n[Parallel(n_jobs=-1)]: Done 792 tasks      | elapsed:  1.1min\n[Parallel(n_jobs=-1)]: Done 1242 tasks      | elapsed:  1.7min\n[Parallel(n_jobs=-1)]: Done 1500 out of 1500 | elapsed:  2.0min finished\n","name":"stderr"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"print('Time taken to fit on train data using best hyperparameter (in min): {} '.format((end-start)/60))","execution_count":27,"outputs":[{"output_type":"stream","text":"Time taken to fit on train data using best hyperparameter (in min): 3.3330257111832906 \n","name":"stdout"}]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Make a prediction\nstart=timer()\ny_pred=pipeline1.predict(X_test)\nend=timer()\nprint('Time taken to Preidct on test data (in min): {} '.format((end-start)/60))","execution_count":28,"outputs":[{"output_type":"stream","text":"/opt/conda/lib/python3.6/site-packages/sklearn/pipeline.py:331: DataConversionWarning: Data with input dtype int64 were all converted to float64 by StandardScaler.\n  Xt = transform.transform(Xt)\n[Parallel(n_jobs=4)]: Using backend ThreadingBackend with 4 concurrent workers.\n[Parallel(n_jobs=4)]: Done  42 tasks      | elapsed:    0.1s\n[Parallel(n_jobs=4)]: Done 192 tasks      | elapsed:    0.4s\n[Parallel(n_jobs=4)]: Done 442 tasks      | elapsed:    0.8s\n[Parallel(n_jobs=4)]: Done 792 tasks      | elapsed:    1.4s\n[Parallel(n_jobs=4)]: Done 1242 tasks      | elapsed:    2.2s\n","name":"stderr"},{"output_type":"stream","text":"Time taken to Preidct on test data (in min): 0.04819806004985973 \n","name":"stdout"},{"output_type":"stream","text":"[Parallel(n_jobs=4)]: Done 1500 out of 1500 | elapsed:    2.7s finished\n","name":"stderr"}]},{"metadata":{},"cell_type":"markdown","source":"**Analyze the prediction. Calculate Metrics**"},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.metrics import classification_report, confusion_matrix","execution_count":29,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"cmat=confusion_matrix(y_test, y_pred)","execution_count":30,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"cmat","execution_count":31,"outputs":[{"output_type":"execute_result","execution_count":31,"data":{"text/plain":"array([[1221,    0,    1,    0,    2,    1,    2,    0,    5,    2],\n       [   0, 1420,    5,    8,    0,    2,    2,    5,    3,    0],\n       [   3,    1, 1198,    7,    7,    0,    9,   17,    9,    1],\n       [   2,    3,   18, 1239,    1,   16,    4,    6,   13,    7],\n       [   4,    2,    0,    0, 1226,    0,    9,    0,    1,   15],\n       [   4,    2,    2,   20,    0, 1080,    8,    2,    7,    8],\n       [   8,    1,    0,    0,    2,    7, 1190,    0,    7,    0],\n       [   1,    3,   17,    2,    4,    0,    0, 1268,    4,   17],\n       [   3,    4,    7,    7,    2,    7,    2,    0, 1139,   17],\n       [   9,    4,    4,   16,   17,    4,    1,   19,    6, 1171]])"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"import seaborn as sns","execution_count":33,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"sns.heatmap(cmat, annot=True, fmt='g')","execution_count":34,"outputs":[{"output_type":"execute_result","execution_count":34,"data":{"text/plain":"<matplotlib.axes._subplots.AxesSubplot at 0x7fb5af0677b8>"},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"<Figure size 432x288 with 2 Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAAAWcAAAD8CAYAAACrbmW5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJztnXd8FNX6h593NwESIIEYOkjHgiAYmoAgLRSpygULXFS4KCgWfhasXES9qIjYBST03pHeVIqQAgkl9E5C7x1Szu+P3cQAKZvNzGRZz8NnPuyenTnfOTOTd8+eOfN+RSmFRqPRaDwLW27vgEaj0WjuRAdnjUaj8UB0cNZoNBoPRAdnjUaj8UB0cNZoNBoPRAdnjUaj8UB0cNZoNBoPRAdnjUaj8UB0cNZoNBoPxMdsgWuLv7PkEcSCHb6wQkaj0ZhI4s14yWkdCaf3uxxzfIMr5FjPLHTPWaPRaDwQ03vOGo1GYynJSbm9B4agg7NGo/EukhJzew8MQQdnjUbjVSiVnNu7YAg6OGs0Gu8iWQdnjUaj8Ty8pOds2WyNgZNX0uTDMJ4aMiW1bNi8dXT8fBL/+mIqb45exMWrNwBYv+sIzwydTucvpvDM0OlE7I5L3eb7hRto+d9xPPrOiBzvU8vQx4ndtpqd29fyztuv5Li+jBg18muOxm0mJnqlaRopWNWm0qVLsmLZDLZs/p3NMavo92pP07SsPH5WtgusO197d28getMKoiKXsWH9ItN0rD5+6ZKc5PriwYjZTigp85w37juKfx5fPpy0glkDngHgr52HqVO5ND52G8Pn/wXAG+3rszPuFEEF/SkamJ+9x87Q55ffWD7oeQC2HDxOicIFaf/ZRNZ/+VKqTnbnOdtsNnbErqFVm2eIizvGhvWL6Na9Lzt27DGi2bfwWMO6XL58hTFjvqVGzWaG15+ClW0qXrwoJYoXJTpmGwUK5CcifAlPdX7xrj5+YG27rDxfe3dvoO6jrTlz5pzhdaclp8fPiHnONw9GuRzU8pSrdffOcxaR+0XkXRH5zrm8KyIPZFcopGJJAvzz3lJW//578bE7dqF6ueKcuHAZgPtLF6FoYH4AKhYP4kZCIjcTk1LXK+L8LCfUqV2TffsOcuDAYRISEpg+fR7t27XMcb3psWZtOGfPnTel7rRY2abjx08SHbMNgMuXr7Bz5x5KlSxuipZVxw+sbZeV58sqrDx+GaGSEl1ePJlMg7OIvAtMBQSIcC4CTBGRAUbuyNzwHTR8oOwd5Ss27+OB0kXI42M3Uo6SpYpzJO5o6vu4+GOUtPgiMprcalPZsqWp8fBDhEdEm65lJWa3y8rzpZRi8aIphG9YTK+ez5micTu5dl0kJ7u+eDBZ3RDsCVRVSiWkLRSRYUAsMCS9jUSkN9Ab4Pt+XenZun6mIqOWRWG3CW1CqtxSvvfYGb79bT0/92mfxW5qcov8+f2ZPm0U/d8ayKVLl3N7dwzD29rVuEknjh49TpEi97Bk8VR27drLmrXhpunl6vH7h9wQTAZKplNewvlZuiilRiqlaimlamUVmOeF72BN7EE+794Ckb+Hf06cv0z/sMUMfq45ZYIDs9jN7HM0/jhlSv/dtNKlSnD06HHDdazE6jb5+PgwY9oopkyZw9y5i03TsRqr2mXl+Uqp99SpM8ybt5jatWuYogMecF14yQ3BrILzG8BKEVksIiOdyxJgJfB6TsXX7TjEuFXRDP/PE/jl8U0tv3j1Bv1GLuD1to9Ss0KJnMqkS2RUDJUqladcuTL4+vrSpUsHfluwzBQtq7C6TaNGfs2OnXsZ/u1I0zRyA6vaZdX58vf3o0CB/KmvWzRvTGzsLsN1Usj160Ilu754MFnO1hARG1AHKOUsigcilVIufe2kzNYYMG4ZUfviOX/5OkEF/ejTug5hKzZyMzGZQOeNwurlivNhl8cZtSyK0Ss2cm+aHvMvfdoTVNCfb+b/xeKNuzl18QpFAvLTqd6D9Gldx62sdK1bNeXrrwdht9kYO24a/xvyXbbrcIWJE36kcaNHCQ4O4sSJ0wz6ZChjxk41RcuqNjWoX5s//5jLlq3bSU52XEMffTSExUtWGa5l5fGzsl1gzfkqX/5eZs4YDYCPj52pU+d67HVhxGyNG9uWuzxbI+9DLTx2toZlU+nMRqcM1WjufgwJzluWuh6cq7f02OCsnxDUaDRehYs/6j0eHZw1Go134eFjya6ig7NGo/EuPHz+sqvo4KzRaLwL3XPWaDQaDyQpIet17gJ0cNZoNN6FHtZwDaumuF07usYSHQC/ko9ZpmXlPB9L5jxqNGbjJcMa2n1bo9F4FwYmPhKRMBE5KSLb0pR9JSI7RWSLiMwRkULO8nIick1EYpzLL2m2CRGRrSKy15ndM8t+lw7OGo3GuzA2K91YoNVtZcuBh5RS1YHdwHtpPtunlKrhXF5OU/4z8B+gsnO5vc470MFZo9F4FSopweUly7qUWg2cva1smVIqJRn0BqB0ZnWISAkgQCm1QTkeyR4PdMxKWwdnjUbjXWQj8ZGI9BaRqDRL72yqvQikTb1XXkSiReRPEUm5OVUKiEuzThx/5yrKED1bQ6PReBfZmK2hlBoJuJU+T0Q+ABKBSc6iY8C9SqkzIhICzBWRqu7UDR7YczbC8PLDz4fR6Imn6djt5Ts+GztlFg81aM258xcAWLB0FZ3+3YdO3fvw3Ev92blnf+q6azdE0fbpXrTu8iK/TpjuXoOcWGWw+fpr/yEmZhXR0SuZMOFH8ubNm/VGbuKNZrJWG5RacV3kzZuX9esWsDFqOZtjVjHw4/8zRScFq66LDLEgZaiIPA+0BZ5zDlWglLqhlDrjfL0R2AdUwZHJM+3QR2lnWaZ4VM/ZZrPx3bef3WJ4+duCZdk2vOzYpgXPPtWe9wcPvaX82IlT/BWxiRLFiqaWlSpZnLE/fElgQEHWrI9k0JffMWXUcJKSkvj06x8ZNfxzihcNpmuv12nSsC4Vy99ppeUqzVv8y1SDzZIli/PKKy9S/eEmXL9+ncmTf6Frlw6Mz+EXS3oYda5cITExkbffGXSLaeiKlavveq0UzL4ubty4QfPQLly5chUfHx9W/zGHJUt+Jzxik+FaVl4XGWLyPGcRaQW8AzRWSl1NU14EOKuUShKRCjhu/O1XSp0VkYsiUg8IB/4NfJ+Vjkf1nI0yvKxVoxqBAQXvKP/yuxH079uTtJNYalZ7MHXd6lXv58TJ0wBs3bGbe0uXpEypEvj6+tK6WWNWrdngXsMsxMfHBz+/fNjtdvz9/Dh6zBxnDW81k/UEg1IzuHLFEUN8fX3w8fXFrFTBHmFaa2DPWUSmAOuB+0QkTkR6Aj8ABYHlt02ZawRsEZEYYCbwslIq5WZiX+BXYC+OHnWWFjEe1XNOz/CyTu2ahtS9as16ihYJ5v7KFTJcZ/aCpTSsVwuAk6dOU7xokdTPihUNZmsO3CNSDDaVUowaNZFfR0/KeqNscvTocb755hf274vg2rXrrFjxJytWrDZcB8w9V5lhpWmoFVpWXBfg6NFGhC+hUsVy/PzLWCIirTOtteK6uIVE41y1lVLPpFM8OoN1ZwGzMvgsCngoO9pu95xF5AV3t7Waa9evM2r8NF7t1T3DdSI2bmb2gmX07/uiKfvQuEkn6tRtRdt23ejT53kea1jXcI1ChQJp164llavU496yj+Cf359nn33ScJ3cwkrTUKu0rLguAJKTk6lVO5Sy5WtRu1ZNqla9zxQdj8BLbKpyMqwxKKMP0k5PSU6+4nKFZhleHok/RvzR4zzVoy+hT/XgxKnT/OvFfpw+4/jFsWvvAT4eMpzvh3xMocAAAIoWCeb4yVOpdZw4eZqiRe5xex+sMNhs1uwxDh48zOnTZ0lMTGTu3MU86vwlYDTebCZrpZaVxqsAFy5c5I8/19Ey9HFT6vcI42RjH0LJNTINzs7HE9NbtgLFMtourfu2zZbf5Z0xy/CySsXyrF44lWWzxrFs1jiKFQlmRtj3BN8TxLHjJ3nj/cH87+O3KXfv3zdUH7q/CofjjhJ39DgJCQksXvknTRrWc0vfKoPNI4fjqVP3Efz88gHQtElDdu4050aMN5vJWqVl1XURHBxEoLPTkS9fPpo3a8SuXfsM1wEPMU72kp5zVmPOxYCWwO23kgX4y+idSUpK4vU3PmTRwsmphpfbt+/Odj1vDxxCZPQWzp+/SLOO3ejbsztPZXBT4ucxk7lw8RKfDv0RALvdzvSw7/DxsfP+m314qf+HJCUl0altKJUquDdTo1ixIncYbC5d9odbdWVGRGQ0s2cvJCJiKYmJiWyOiWXUr+aMYRp1rlyhQf3adO/WmS1btxMV6fhDN8t01Uotq66LEiWKETZ6OHa7DZvNxsyZv7Fw0QrDdcDa6yJDPLxH7CqZGryKyGhgjFJqbTqfTVZKPZuVgE+eUpYkO9NZ6XKOzkqnyW2MMHi9Nvtzly9lvyffvzsNXpVSGc7AdyUwazQajeUYOFsjN/GoqXQajUaTY0yaw201OjhrNBrvwkvGnHVw1mg03oUOzhqNRuOBePgUOVfRwVmj0XgXSUm5vQeG4DXB2crpbZem9bNMK6BrlsmrDMMbp+1Z2Sabzbo8YskW/nS/626v6WENjUaj8UB0cNZoNBoPRI85azQajeehku+6gZh00cFZo9F4F3pYQ6PRaDwQPVtDo9FoPBAv6Tl7lIeglS7Bo0Z+zdG4zcREr8xRPQNnrKXJ4Ck89c2c1LJlWw7w5LA51HxvDLFxp1PLExKT+HjGGjp/M4cuw+cSue9Y6meLY/bT+Zs5/Gv4XPqGLePcletu7U+VKhWJilyWupw5vZPX+vVyv4G5rJOClY7O/V7tSXT0SmJiVhnephEjhnLkcDSbNv6dsnPihJ+ICF9CRPgSdu36i4jwJYZqgrltuh2j/rbc5p+QbN9qUlyCQ2q1IKRWKC1DH6dunUdM0Ro/fjpPtH0ux/W0D6nETy+2uKWsUvHCDOvelEfK3WoMOivSkdd25pud+KVXS4YtiiQ5WZGYlMyXv4UzqndrZrzRkcrFCzP1rx1u7c/u3fuoVTuUWrVDqVO3FVevXmPuPOPdPKzSgb8dndu260a1h5vQtWtHHnigsilaVavex4s9n6V+/ScICWlBmzbNqVixnGH1T5gwg3btb7VL69a9L3XqtqJO3VbMnbPY8ONodptux6i/LbdRyvXFg8kyOIvI/SLSTEQK3FbeyowdssoleM3acM6eO5/jekIqFCfAL+8tZRWKFqJckcA71t1/4jx1KpYAIKiAHwXz5SE2/rRzkr/i2s1ElFJcuZFAkQD/HO9b06YN2b//EIcPx+e4rtzUsdLR+f77KxMZEc21a9dJSkpi9ZoNdOzY2rD6164N51wm191Tndsyfdo8w/TA/DbdjlF/W27zT+g5i8hrwDygH7BNRDqk+fhzU3bIZiMqchnH4rewcuVq01yCc4MqJYL4Y8cREpOSiT97ie3xZzhx/gq+dhvvd6zPv4bPpcXn09h/4jydaue8Z9i1SwemTZtrwJ7nrk56js4lSxbPZAv3iY3dSYOGdQkKKoyfXz5at2p6iyeemTRsWJeTJ06zd99BQ+vNzTblCsnK9cWDyeqG4H+AEKXUZREpB8wUkXJKqW8x6cnYFJfgwMAAZs0YTdWq95niq5YbdKxVmQMnz/PsD79RslB+Hi5bBJtNSEhKZsaGnUx9rT2lgwoyZP4Gwn7fwn+auW/26evrS9u2oXzw4f8MbEHu6VjFzp17GfrVjyxeNJkrV66yeXMsSUnW9LC6dunA9OnG9pohd9uUK3jJbI2shjVsSqnLAEqpg8DjQGsRGUYmwdld9+20mO0SnBv42G283a4u01/vwPAezbl07SZlgwPZdfQMAGXuCUBECK1WnpjDJ3Ok1apVE6Kjt3Ly5OmsV/ZwHasdnceMnUrdeq1p2uwpzp2/wJ49+03TSsFut9OhQytmzJxvSv250abcQiUnu7x4MlkF5xMiktp9cwbqtkAwUC2jjdx137bSJTg3uHYzkWs3EwBYvyceH5uNisUKUTQwP/tPnufsZccMjQ17j1KhSKEcaXXt2tGaIQ0LdKx2dC5S5B4AypQpSceOrZkydU4WW+ScZk0fY9fufcTHm/OlkxttyjX+IcMa/wZuMeRSSiUC/xaREUbvjJUuwRMn/EjjRo8SHBzEwf1RDPpkKGPGTs12PQOm/EHU/uOcv3Kd0M+n0adFTQL98jJk/gbOXblOv7HLua9EED/3bMnZy9foG7YMmwhFA/35tGsjAIoG+PNSsxr0HLEIH7uNEoUK8Mm/GrrdNn9/P5o3a0Tfvu+6XYcn6Vjt6Dx92iiC7ilMYkIir732ARcuXDSs7vHjf6DRY/UIDg5i394IBn/6NWPHTuNfXdobfiMwLWa26XaM+ttyGy/JrZGp+7YRWOW+bSXemjLUSnTK0JzhrSlDjXDfvvLJcy7vcv6PJ92d7tsajUZz15HoHTcEdXDWaDTehZcMa3jUE4IajUaTYwy8ISgiYSJyUkS2pSkLEpHlIrLH+X9hZ7mIyHcisldEtojII2m26eFcf4+I9HClGTo4azQar8LgqXRjgdufhh4ArFRKVQZWOt8DtAYqO5fewM/gCObAQKAuUAcYmBLQM0MHZ41G410Y2HNWSq0Gzt5W3AEY53w9DuiYpny8crABKCQiJYCWwHKl1Fml1DlgOXcG/DvQY84ajca7MH/+cjGlVEpKyeNAMefrUsCRNOvFOcsyKs8UHZzdoNAzP1qmdXHRR5ZpFWwz2DItm1gzgynZwsxjVk5vE4uOH+Dx2dvuIBuPb4tIbxxDECmMVEqNdHV7pZQSEVMOkA7OGo3Gq8iOh6AzELscjJ2cEJESSqljzmGLlFwL8UCZNOuVdpbF40h9kbb8j6xE9JizRqPxLsx/fHs+kDLjogeOzJ0p5f92ztqoB1xwDn8sBUJFpLDzRmCosyxTdM9Zo9F4FwYOL4nIFBy93mARicMx62IIMF1EegKHgC7O1RcBbYC9wFXgBQCl1FkRGQxEOtf7RCl1+03GO9DBWaPReBcG3hBUSj2TwUfN0llXAel6qCmlwoCw7Gjr4KzRaLwLD8825yo6OGs0Gq9CeYmRgEfdECxduiQrls1gy+bf2Ryzin6v9jRNy2yn7/RclqtXf5DVf84jInwJf61bSK1arjudDJywjCbv/sJTn45PLRs2ezUdPxnLvz6bwJsj53PxqiMf9NaDx+ny+UTnMoFVMXtTt5n0+yae+nQ8Tw4ex8RVm3LURjNdlkeOGErckRiiN92aMrZv3xfYuuUPYqJX8r/PPzBcNwWbzUZkxFLmzRmX9co5IDAwgKlTR7J1659s2fIH9eqGGFZ3esfwvwPfYmPUciIjlrJw4SRKlCiWSQ3Zx2pX9nTxknzOHpUytHjxopQoXpTomG0UKJCfiPAlPNX5RXbs2GPKvuXP78+VK1fx8fFh9R9zeLP/QMIjsg5YdhdSQzZsWJfLl68QNno4j4Q0B2Dhgkl8990oli77g1Ytm9D///oQGtol03rOL3AEoI174vDP68uH45cy68N/A/DXjkPUqVIGH7uN4XPXAPBGx8e4djMBX7sdH7uNUxcu0+XziSz/vDcHT5zl3bBFTHznGXztdl75cTYfPN2ce4s6Evtnd57zY842jhnzLTVq3jEElylZzXNOOX5jwoZT8xHH8WvcuD4DBvSjQ4ce3Lx5kyJF7uHUqTOZ1uPuPOc3Xu9NSEh1AgoWpEMnl1IhuJWeNGz0cNauDSdszBR8fX3x9/dzKdeyK/Oc0zuGBQsW4NKlywC88sqLPPBAZV599b1M63E3RthsNg4d3EiDhm1dNv9NMCBl6IUXmru8w4FjVnhsylBX3LfriEht5+sHRaS/iLQxY2eOHz9JdIwjv8jly1fYuXMPpUwy8gRznb7Tc1lWSlEwoCAAAYEBHDt2wuX6QiqXJiB/vlvK6j9QFh+74xRWL1eCE+ccf3R+eXxTy28mJKX+Ie8/fpZq5Yqnfh5SuTQrN7v/xWemy3J6x++l3t356qsfuXnzJkCWgdldSpUqQZvWzQgLm2JK/SkEBBSkYcO6hI1x6CQkJBiaBD+9Y5gSmAHy+/uZ5m4P1rm/34GX9JwzHXMWkYE4knn4iMhyHIk7fgcGiEhNpdRnZu1Y2bKlqfHwQ4RHmOe+bbPZiAhfQqWK5fj5l7GmO32/9dZ/+W3BRIYM+RCb2Hi8ScesN3KRueu30TLkvtT3Ww8cY+DEZRw7e4nPerTCx26jUsl7+OG3dZy/fI28eXxYG3uQB+819metmVSuXIGGDeryyaB3uX79Bu8OGMzGjZsN1xn29SAGvPcpBQsWMLzutJQvfy+nT59h9K/fUL36g2zatIU3+3/M1avXTNX9ZNA7PPdcZy5evEiLLH655QSr3N/vwDuGnLPsOXcGGgCNcEwR6aiUGowjkUfXjDbKqcFr/vz+TJ82iv5vDbzlm95oUpy+y5avRe1aNala9b6sN8oBvXt35+23B1GpUl3efmcQI375ypB6Ry0Jx2630ab2/all1cqXYPZHPZj07jOMXhbBjYREKhS/hxda1KbPD7N55Yc53FfK4f59t+DjY6dwUCEaPtaOAe99yuTJPxuu8USb5pw8eZpN0VsNr/t2fOx2atasxogR46ldpyVXrlzlnXdeNV3344FfUrFSHaZMmUPfPi+YopHiyj5z1gJT6s8MlZjs8uLJZBWcE5VSSUqpq8A+pdRFAKXUNTL5fnLX4BXAx8eHGdNGMWXKHObOXZytbd3FKqfvbt06p7Zp1qwF2bohmBHz1seyZtsBPn++dbrjkBWK34N/3jzsPepwx+5U/yGmDHiOsP5dKOifl7JFs8xc6DHExR9PPX5RUTEkJycTHBxkqEb9+rVo1zaUvbs3MGniTzRp0oBxY78zVCOFuPhjxMUdS/3FNmv2QmrWyNA32XCmTJ1Dp06tTanbKvf3dEnOxuLBZBWcb4qIv/N16m1kEQnEpKaNGvk1O3buZfi32X3cPXvkhtP3sWMnaNSoHgBNmjRg794DOapvXexBxq2IYvhL7fHL45taHn/6AonO6URHz1zk4ImzlLwnEICzlxzj7MfOXmTV5r20rmXurwUjmT9/CY83rg9A5crlyeObh9Ons3zQKlt88OEQylWoRaUq9XiuW19+/30dPZ5/zVCNFE6cOEVc3FGqVKkIOMZod+wwz7gWoFKl8qmv27Vrado1b5X7e3qoZOXy4slkNc+5kVLqBoBSt3i/+PL3s+WG0aB+bbp368yWrduJilwGwEcfDWHxklVGS5nu9J2ey3Kfvu/y9dD/4uPjw/XrN+j7yoCsK3IyIGwRUXuOcP7ydUI/GEWfJx4lbGkENxOTePn72QBUL1+cD59pTvS+eMKWReJjt2OzCe91bUrhAn4A/N+o37hw5To+dhvvdWlKgH++zGQzxUyX5Qnjf6CRs+79+yL5ZLDDpXrUyK+J3rSCmzcT6NnrDUO0cpM33vyI8eO+J08eX/YfOEyvXv0Nqzu9Y9i6VVOqVKlAcrLi8OE4XslipoY7WOXKniEe3iN2FY+aSne34MpUOqNImUpnBTplaM6wcvTeypShZseItBgxle5sp8Yu73DQnD899qaLfkJQo9F4F17Sc9bBWaPReBUqMbf3wBh0cNZoNF6F0j1njUaj8UB0cNZoNBrPQ/ecNRqNxgPRwfkfTJKFLstWTm+79Jvxc14zomC7/1miY+U8KSvnjFo5vc2qaY9GoZLurv3NCB2cNRqNV6F7zhqNRuOBqGTdc9ZoNBqPQ/ecNRqNxgNRSvecNRqNxuPQPWeNRqPxQJK9ZLaGR7lvp2CF87GVTt8ALUMfJ3bbanZuX8s7b7/i0ToDJ62gyfu/8tT/JqWWDZu7lo6fTuBfQybz5q8LuXj1BgDrdx7mmS+n0vl/k3nmy6lE7D6Suk1CYhKfTF1F+8ET6PjpBFakcQHPjXa5Sr9XexIdvZKYmFWmO0db1S6rndI/+rA/B/ZHERmxlMiIpbRq1dRw3YxQyeLy4sl4ZHB+rV8vdu40x3E7hcTERN5+ZxDVH25Cg4bt6NPneR54oLIpWjabje++/Yy27bpR7eEmdO3a0RQto3Ta132An/q0v6Ws3n33MvO955gx4FnKFilE2PIoAArn9+Pbl9oy871nGdytBR9MWJ66zahlkQQV8GP+R92Z/X43QiqVytV2uULVqvfxYs9nqV//CUJCWtCmTXMqVixnipaV7Ro/fjpPtH3OnLonzKBtu253lH/3/Shq12lJ7TotWWJCTvaM+McGZxEZb8aOpGCV87GVTt91atdk376DHDhwmISEBKZPn0f7di09ViekUqk7kvDXf+DeNE7fxTlx3uHteH+ZIhQNdBihViwRxI2ERG4mJAEwb8MOeraoBYDNJqkJ/3OrXa5w//2ViYyI5tq16yQlJbF6zQY6djTHysnKdlntlJ6bKOX64slkGpxFZP5ty2/AkynvzdihFOfjZAufwjPb6btkqeIciTua+j4u/hglTfgisEpn7obtNHyw7B3lK2L28UDpIuTxtacOe/y4cANPfzmVt8IWc+biVbf0rGoXQGzsTho0rEtQUGH8/PLRulVTypQuaYqWle3KDfq8/Dwbo5YzcsRQChUKtEz3n9JzLg1cBIYBXzuXS2lep4u77ttWOh+nYJXTt7cwammkw+n7Nu/BvcfO8O38dXzY1TG2mJSczInzl3m4fAmmvvM0D5crzrC5a3Njl7PFzp17GfrVjyxeNJmFCyaxeXMsSUlecvvfQkaMHM/9DzSgVu1Qjh8/yZdffGSZtlLi8uLJZBWcawEbgQ+AC0qpP4BrSqk/lVJ/ZrSRu+7bVjofg3VO30fjj9/S+ypdqgRHjx6/63Tmhe9gTexBPv936C02SSfOXab/r4sY3L0FZYo4ekiF8ucjXx4fmj3sMC9tUbMSO+JOuaVr1fFLYczYqdSt15qmzZ7i3PkL7Nmz3xQdq9tlJSdPniY5ORmlFKPDJlO7ds6d5l0lKUlcXjJDRO4TkZg0y0UReUNE/isi8WnK26TZ5j0R2Ssiu0QkR2NUmQZnpVSyUuob4AXgAxFjYU6EAAAgAElEQVT5AROn31npfAzWOX1HRsVQqVJ5ypUrg6+vL126dOC3BcvuKp112w8xbsVGhv+n7S1O3xev3qDfiPm83v5Ralb4O9CICI0fKk/U3jgAwnfHUaF4kFvaVh2/FIoUuQeAMmVK0rFja6ZMnWOKjtXtspLixYumvu7QoRWxsbss0zaq56yU2qWUqqGUqgGEAFeBlIvhm5TPlFKLAETkQeBpoCrQCvhJROzutsOlQKuUigP+JSJP4BjmuOux0uk7KSmJ19/4kEULJ2O32Rg7bhrbt+/2WJ0BY5cQtTfe4fT9URh92tQlbPlGh9P3Tw67++rlivNh1yZMW7OFw6cvMGJJJCOWRALwS98OBBX05/X29flwwnK+mr2GwgX8GPRs81xtl6tMnzaKoHsKk5iQyGuvfcCFC+Zc8la2y2qn9MaNHuXhh6uilOLQoSPZcprPKSaNJTcD9imlDmVirtsBmKqUugEcEJG9QB1gvTuC2n1bk4pOGZozvPVCtzJl6M0bcTkW21G5jcun4oE9i1zSE5EwYJNS6gcR+S/wPI6OahTwf0qpc86RhQ1KqYnObUYDi5VSM7PZBMBD5zlrNBqNu2RntkbayQvOpfft9YlIHqA9MMNZ9DNQEagBHCOTyRE5QT++rdFovIqkZNf7nEqpkUBWN51a4+g1n3BucyLlAxEZBSxwvo0HyqTZrrSzzC10z1mj0XgVJjyE8gyQ+lSciJRI81knYJvz9XzgaRHJKyLlgcpAhLvt0D1njUbjVSQbOH9ZRPIDLYCX0hR/KSI1cNxmOJjymVIqVkSmA9uBROAVpVSSu9o6OGs0Gq/CyIdLlFJXgHtuK+ueyfqfAZ8Zoa2Ds0aj8So8PWeGq+jg7OHYbdbdFrBqehvAxc/NSSZ0O4Hvm/fkZ25i6RTBuyzaGTmskZvo4KzRaLyK7MzW8GR0cNZoNF7F3dXPzxgdnDUajVehhzU0Go3GA/H0VKCuooOzRqPxKrwl+7ZHjpx7m8GrmVqlS5dg6dJpxESvJHrTCl595UUAChcuxKKFk4jdtppFCyeZ4kRhhDlpnpbP49d3GPmeH/R3Yb785O3cn3w9PyNv5/6Q19+5sh95O/Uj378Hku/5QdgfapC6ib1qffL1/Ix8PT/DXrV+TprF66/9h5iYVURHr2TChB/JmzdvjurLCKuuwSpVKhIVuSx1OXN6p6nGtVYdv4xQiMuLJ+ORwdnbDF7N1EpMTOLddwdTo2YzHmvUgZdf7sH991fm7bf6sur3dVR9qBGrfl/H22/1NUQvBaPMSRNj13F95vBbynzrtCbp8A6uj/6ApMM78K3rmHbnU7MJyWeOcn38IK5P+4o8jbuAzQ758uP7aDuuT/qc6xM/w/fRdn8H9GxSsmRxXnnlRerVa0PNms2w2+107dLBrbqywqprcPfufdSqHUqt2qHUqduKq1evMXeeOVMMrTx+GZGoxOXFk/G44OyNBq9mah0/fpKYW+reS6lSxWnXLpSJEx2ZCidOnEn79sYahxplTpoctweu32plZq9Ug8TYvwBIjP0Le6Wajg+UgjwO41nJkw91/QokJ2MvV5WkQ9sd9dy4StKh7djLP+R223x8fPDzy4fdbsffz4+jx8xxJ7HyGkyhadOG7N9/iMOH3c7HkyVWHb+M+Ef2nEWkoYj0F5FQs3bIGw1erdIqW7Y0D9eoSkRENEWLBnP8+EnAEQSKFg02VMtMc1LxD4ArFxxvrlxwvAcSo1dhCyqB38tDydfjv9z8fQqgkAKFUJfOpm6vLp1DChRyS/vo0eN8880v7N8XwZHD0Vy8eJEVK1bntElZYtU12LVLB6ZNm2ta/bl1/NKSnI3Fk8nKfTsizev/AD8ABYGBImK4tYG3G7yaqZU/vz9Tp4zgrbf+m27dd9tTXrfi2Hd7+YdIPnmEa7+8xfXxn5Cn2bOpPWmjKFQokHbtWlK5Sj3uLfsI/vn9efbZJw3VuB2rrkFfX1/atg1l5qwFWa/sJrlx/G7nn9Jz9k3zujfQQik1CAgFnstoI3fdt73V4NVsLR8fH6ZNHcnUqXOZN28J4DDYTPFxK168KKdOnTFU00xzUnX1IuR33sDMH4i6egkAn4cakLRnk2Od8ydRF05jCyqBunweKfi3P6EULIy6fN4t7WbNHuPgwcOcPn2WxMRE5s5dzKP1auWsQZlg5TXYqlUToqO3cvLkadM0rD5+6fGP6DkDNhEpLCL34LC0OgWpmZoSM9rIXfdtbzV4NVtrxIiv2LlzD99+Nyq1bMGC5XTr1hmAbt0689tvxhqHmmlOmrQvBh/njAufqvVJ2hsDQPLFs9jLPuBYyT8AKVyc5AunSDoYi73cg46bgHn9sZd7kKSDsW5pHzkcT526j+Dn5+iRN23S0NSb01Zeg127djR1SAOsP37pkYS4vHgyWc1zDgQ24sizokSkhFLqmIgUwNrcK4ZjpcGrmVr169em23Od2bp1BxHhjl7zxx9/wVdDf2TypJ954fmnOXw4jmefM3a2hlHmpHme+A/2MveBXwHyvfQlCevmkxC+mLztXsanWkPUxTPc+G0EAInrfyNP6xfJ1+O/IELC6llwzTEMkLB+Afm6fZj6+vabjK4SERnN7NkLiYhYSmJiIptjYhn16yS36soKK69Bf38/mjdrRN++7xped1qsPH4ZYY6/q/W4ZfAqIv5AMaXUgazW1QavOcPKrHRJFt6E9casdFZe6F4Sf+4g4WZ8jps2r/izLp+KDscne+yhdOsJQaXUVSDLwKzRaDRW4y29Qf34tkaj8So8/Uafq+jgrNFovIpk8diRimyhg7NGo/Eq3HZU9TB0cNZoNF6Ft8zW0MFZo9F4FcleMpfF9OBsqRGlhVpWYeX0NiuxaorbxanupTJ1h4JP/2iZlpXcbX9Xd9v+ZoTX9Jy95YRoNJqcoYc1NBqNxgPxlt+aOjhrNBqvIkn3nDUajcbz0D1njUaj8UB0cNZoNBoPxMOtAV3G4zwErXLuHTXya47GbSYmeqUp9d+OEU7VnqRjpXu5Ue7RA2euo8mn03hq+LzUsmVbD/LkN3Op+f44YuP+TkKfkJjExzPX0nn4PLp8O5/I/X8bCWyPP0Pn4fNo99VsvpgfniOXGSvOl9Xu21ZdgxnxT0m2bylWOveOHz+dJ9pmaOZiKEY5VXuKDljrXm6Ue3T7kIr89ELzW8oqFSvEsG5NeKRcsVvKZ0U6EsTPfKMDv/RswbCFkSQnO4LwZ3PX8/GT9Zn/VicOn7nEut3umaVadb6sdN+28hrMiKRsLFkhIgdFZKuIxIhIlLMsSESWi8ge5/+FneUiIt+JyF4R2SIij+SkHVl5CNYVkQDnaz8RGSQiv4nIFyISmBPhjLDKuXfN2nDOnnPPyii7GOVU7Sk6kDvO0ZAz9+iQ8sUJ8L/1l1iFooUoV+TOS3n/yfPUqVACgKACfhT0y0Ns/GlOXbzKlRsJVL+3CCJC25oV+H37EbfaYuX5SsFs9+3caNPtJIvri4s0UUrVUEql+G0NAFYqpSoDK53vAVoDlZ1Lb+DnnLQjq55zGHDV+fpbHM4oXzjLxuREOD08wbnXDMx0qs4Nndux0r3cbPfoFKqUCOKPHUdITEom/uwltsef4cSFq5y8eJViAX9brxULzM/JC1czqSljcuN8mX38cusaTIsFwxodgHHO1+OAjmnKxysHG4BCIlLCXZEsPQSVUilegbWUUm8opdY6TV4ruCuaEZ7g3KvJHla6l1vhHp1Cx5BKFAv059kfF/DVgkgevrcotrs8FaWVxy83yU5wTmtG7Vx631adApaJyMY0nxVTSh1zvj4OpIyJlQLS/oyKc5a5RVazNbaJyAtKqTHAZhGppZSKEpEqQEJGGzkb0RvAZg/EVZPXtM69QKpz7+TJs13a3lMx06k6N3RSsNI5Gqxxj07Bx27j7bZ1Ut//++dFlA0OIMAvDycu/u1PeOLCFYoG+rulYfX5suL4Wd2m9MjO7Vml1EggM3fdhkqpeBEpCiwXkZ23ba9ExJTsEVn1nHsBjUVkH/AgsF5E9gOjnJ+li7vu257g3GsGZjpV54ZOClY6R4M17tEpXLuZyLWbjv7H+j1H8bEJFYsVokiAP/nz+rLl8CmUUiyI3s/jD5RxS8Pq82XF8bO6Telh5JizUire+f9JYA5QBziRMlzh/P+kc/V4IO3FUNpZ5haZ9pyVUheA5503Bcs7149TSp1wVzAzrHTunTjhRxo3epTg4CAO7o9i0CdDGTN2qilaRjlVe4oOWOscDca4Rw+Y8idRB05w/sp1Qv83gz7NaxDon4ch8yM4d+U6/cat5L4SQfz8YgvOXrlO37Dl2EQoGuDPp10eS63n/Q71+HjmOm4kJNKgSika3ufeL1crz5dV7ttWtinDfTCoHhHJj2No95LzdSjwCTAf6AEMcf6fMjdzPvCqiEwF6gIX0gx/ZF8/J3M0XcHXIvdtnZXu7sKq0VtvTRnqral4Ew1w3/6s7HMu7/IHhyZlqCciFXD0lsHRMZ2slPpMRO4BpgP3AoeALkqpsyIiwA9AKxyTJl5QSkW52Qz9hKBGo/EujHq4RCm1H3g4nfIzQLN0yhVgWG9AB2eNRuNVeMuvaB2cNRqNV+Hpj2W7ig7OGo3Gq0g0Z2ab5ejgrNFovArvCM06OGs0Gi9DD2u4iLd8i6XFbrMumZ+3um9bdV1YOb3t8sohlmkVaDYg65UMwsrr3QiSvSTq6J6zRqPxKrwjNOvgrNFovAxv+a2pg7NGo/Eqkryk76yDs0aj8Sp0z1mj0Wg8EKV7zhqNRuN56J6zSYwa+TVPtGnOyVOnqVHzjtwihpE3b17+WDWLPHnz4uNjZ/bshQz65GvD6h8xYihtWjfj1KkzPBLiMBWdOOEnqlRxGMgEFgrgwvmL1KnbyjBNcLhijw37lqLFglFK8euvk/j+h9GGaqTFZrMRvmExR+OP06FTD9N0WoY+zrBhn2C32QgbM4UvvzJvipwRWh+P+Y3VW/YQVDA/sz95CYBhM1bw5+Y9+NrtlC5amE9eaEeAvyN3+e4jJxg8YRGXr9/AJsLkD3uS19eHxeHb+HXROgShSKECfN6rI4ULupfc36xzlVvXekZ4y1Q6j5vAaJUr9o0bN2ge2oWQWi0IqRVKy9DHqVsnR2a5tzBhwgzate9+S1m37n2pU7cVdeq2Yu6cxaY4IFvpig3wWr9ephsiWOnobJRWhwbV+fmNZ24pq/dgeWYNeomZg3pTtlgQoxetAyAxKZn3f53Hh93bMOeTlxn9dnd87DYSk5L5Yuoyfn2rOzMH9aZK6WJMXRXpdtvMOle5da1nhMrG4slk5b79moi4Z/PgJla6Yl+54jDm9PX1wcfXFyNzW69dG865TNrxVOe2TJ82L8PP3cVKV+xSpUrQpnUzwsKmmFJ/ClY6OhulFVKlLAH5/W4pq1+1Ij52x59c9QqlOHnuIgDrY/dTuXRR7ivjsKIrVMAfu83muB4VXLt5E6UUl6/foEihgm61y8xzlVvXekYkolxePJmses6DgXARWSMifUWkiBU7ZRU2m42oyGUci9/CypWriYg03z0aoGHDupw8cZq9+w6aqmO2K/awrwcx4L1PSTb5KUYrHZ2t0pq7djMNHqoEwKETZxCBl7+ZTNdPfmXM4r8A8PWx80G31nQeOJLmb33L/qOn6PRYDbf0rDpXt2PVtZ4WlY1/nkxWwXk/Dh+swUAIsF1ElohIDxHJ8Cs8raNtcvKVjFbLdZKTk6lVO5Sy5WtRu1ZNqla9zxLdrl06MH26uT0Js12xn2jTnJMnT7MpeqvhdXs7oxasxW638US9hwDHI/rRe4/wv14dGftuD1ZF7yJ8xwESEpOY/sdGpn3cixVDX6dy6WKpQyHZITfPlRXX+u1kx33bk8kqOCulVLJSaplSqidQEvgJhw3L/kw2csvgNbe4cOEif/y5jpahj5uuZbfb6dChFTNmzjdNwwpX7Pr1a9GubSh7d29g0sSfaNKkAePGfmeKlpWOzmZrzVu3mdVb9vC/Xh1xuBpB0cIBhFS+l8IF/fHL60vDapXYceg4u444rDrLFA1CRGhZ+wE2743LtqaV5yotVlzr6fFP6Tnf4q+llEpQSs1XSj0DlDVvt8wnODiIwMAAAPLly0fzZo3YtWuf6brNmj7Grt37iI83zy7eClfsDz4cQrkKtahUpR7PdevL77+vo8fzr5miZaWjs5la67btY+yS9Xzbrwt+eX1TyxtUrcCe+FNcu5FAYlIyG3cfokLJYIoWLsj+Y6c5e8nx63P99gOULxGcbV0rz1VarLjW08Nbes5ZTaXrmtEHSqmrBu8LYJ0rdokSxQgbPRy73YbNZmPmzN9YuGiFYfWPH/8DjR6rR3BwEPv2RjD4068ZO3Ya/+rS3tSbI1a7YluBlY7ORmm9O3I2UbsOc/7yVVq8/S192jcibNFf3ExM5OVhkwGoVqEUH3VvQ0B+P7q3qMuzn41GEB6rVolG1R0zRF5q9xgvfjEeH7udEvcEMvjFdoa21why61rPiCSTTautwnT3bR+L3LetRKcM1aSHThmac25cP5Jj9+1ny3ZyOeZMPjTHSiPzbOFxD6FoNBpNTvD0sWRX0cFZo9F4Fd7yW1MHZ41G41V4y+PbOjhrNBqvQg9raDQajQfiLbM1dHDWaDRehR7W+AdjZX4CK+f5WHlJW9UuK9tk5fS2SyPMz9yYQqE+5ia2Mhp9Q1Cj0Wg8EG8Zc/a4fM4ajUaTE5JRLi+ZISJlROR3EdkuIrEi8rqz/L8iEi8iMc6lTZpt3hORvSKyS0RylNdW95w1Go1XYeBTz4nA/ymlNjmzcG4UkeXOz75RSg1Nu7KIPAg8DVTFkSRuhYhUUUoluSOug7NGo/Eqkgwa1lBKHQOOOV9fEpEdQKlMNukATFVK3QAOiMheoA6w3h19Payh0Wi8CqOGNdIiIuWAmkC4s+hVEdkiImEiUthZVgo4kmazODIP5pmig7NGo/EqlFIuL2mNQZxL79vrE5ECwCzgDaXUReBnoCJQA0fP2jhn6DR4VHDOmzcv69ctYGPUcjbHrGLgx/9nuqbNZiMyYinz5owzTaNKlYpERS5LXc6c3slr/Xrd1VqlS5dkxbIZbNn8O5tjVtHv1Z6Ga6Rg5fGzsl3gcPqO3baandvX8s7br2R7+4ELo2ny3WKe+vXvlLDLdsbz5K+rqDlkHrHHzqWWbz16ji5hvzuW0b+zatffdlyTIvfx1K+rePLXVUyMzF5e8xEjhnLkcDSbNv6dcnfihJ+ICF9CRPgSdu36i4jwJdlum7tkp+ec1hjEudySBF1EfHEE5klKqdkASqkTSqkkpVQyMArH0AVAPJDWc7W0s8wtPC5laP78/ly5chUfHx9W/zGHN/sPJDxik1m7xxuv9yYkpDoBBQu6bBefkzm6NpuNQwc30qBhWw4fdvu8maKVnRNVvHhRShQvSnTMNgoUyE9E+BKe6vwiO3a45u7s7jE0s02Q83ZlB5vNxo7YNbRq8wxxccfYsH4R3br3dUkrZZ7zxsOn8c/jw4cLNjGrV1MA9p++hE1g8JLN9G9alaolHL+6ryUk4mu34WOzcerydbqE/c7yV1ty8Mxl3p0XxcQejfC123hl2no+aPUw9xYuAGQ9z7lhw7pcvnyFsNHDeSSk+R2ffzHkIy5cvMjnn3+bZbuMSBn6eOnmLp/2P+JWZKgnDquaccBZpdQbacpLOMejEZE3gbpKqadFpCowGUewLgmsBCq7e0MwK/ftPCLybxFp7nz/rIj8ICKvOL9RDMdMR+zbsco9Oi1NmzZk//5Dpgdms7WsdPlOi9nHz8p2GeH0HXJvMAH58txSViG4IOXuudPi08/XBx9nbuabiUmI8yty/5lLVCtZOPXzkHuDWbnrmMv74Gnu20lKubxkQQOgO9D0tmlzX4rIVhHZAjQB3gRQSsUC04HtwBLgFXcDM2Q9W2OMcx1/EekBFABmA81wfDu41tXMBjabjYjwJVSqWI6ffxlrqiN2iiNxwYIFTNO4na5dOjBt2lyv0jLb5TstVh4/s9uVntN3ndo1TdFKYevRswxcFMOxC1f5rO0j+NhsVAoO4Ic/d3D+2k3y+thYu+8EDxYvZIhebrhvG/X4tlJqLen/yFuUyTafAZ8ZoZ/VmHM1pVRXoBMQCnRWSk0AXsBx5zJdcuK+bZUjdm44Evv6+tK2bSgzZy3wGi2zXb7TYuXxs7JdVlKtZBCzezVlUo/GjN6whxuJSVQILsgL9SrTZ+pfvDJtA/cVC8RmM+YB+9xx3zZ+tkZukFXP2SYieYD8gD8QCJwF8gIZDms4B9VHgvs2VWkdsWNjd7lTRaakOBK3btWUfPnyEhBQkHFjvzPV+LJVqyZER2/l5MnTpmlYqWWFy3darDp+VrXLSlfx26kQXBB/Xx/2nrpI1RKF6fRwWTo97PBs/u7P7RQr6JdjjRT37Ufrt8l6ZQMx+z6aVWTVcx4N7ARigA+AGSIyCogEDHddtdIROzccibt27WjdkIYFWla4fKfFquNnVbusdBUHiD9/hURn0q6jF65y8OwlSgb6A3D2yg0Ajl24yqpdx2j9YOkc6+We+/Y/oOeslPpGRKY5Xx8VkfFAc2CUUirC6J0x2xE7N/H396N5s0b07fuuV2hZ7fJt1fGzsl1GOH0PmBdF1OHTnL92k9Afl9Kn4f0E5vNlyIqtnLt6k34zwrmvWAA/d61PdNxZwjbswccm2ER4L/RhCvvnBeD/5kRw4dpNfGw23gutTkA+1+/3e5r7trckPvK4qXR3Ax5r15tDdMrQuwdvTRlqxFS6R0o0dPm0bzq21mP/nHVuDY1G41V4y5izDs4ajcar8PSxZFfRwVmj0XgV3jLmrIOzRqPxKpL1sIZGo9F4HrrnrNFoNB5IkvIOi1fTg7M3TpmyUssm1s30sVIryUIHc6uw26zLwBvw0iTLtC5OuCPFsUejhzU0Go3GA9HDGhqNRuOB6J6zRqPReCC656zRaDQeSJL7+e09Ch2cNRqNV+Etj297lMErQL9XexIdvZKYmFWmmXimxQqDV7N1Ro4YStyRGKI33ZrBr2/fF9i65Q9iolfyv88/yLFObht5WnGuRo38mqNxm4mJXmlK/ekdw2rVHuDPP+ayMWo5s2eFmeLMExgYwNSpI9m69U+2bPmDenVDsl3HwDkbaPLFLJ76YWFq2bJth3ny+4XUHDiZ2PgzqeULNx+gy0+LUpeaAyez02k2+/2KzbQcOpdHP52e84alg7ekDPWo4Fy16n282PNZ6td/gpCQFrRp05yKFcuZqvlav17s3Gm8eaeVOuMnzKBtu263lDVuXJ927UIJqRVKjZrNGPbNLznWmTBhBu3ad7+lrFv3vtSp24o6dVsxd85i5s4zLzm9Fedq/PjpPNHWvIxv6R3DX37+ig8/GkJIrRbMm7+U/v1fNlz3m2GfsGzp71Sr1piQkBbscOM4tq9ZgZ+6N7mlrFKxQIY98xiPlC16S/kTD5dnet82TO/bhs+eqk+pQgW432k02/i+Ukx8KXteidlBKeXy4sl4VHC+//7KREZEc+3adZKSkli9ZgMdO7Y2Tc8qg1ezddIz2Hypd3e++upHbt68CcCpU2fS2zTHOmkx08jTqnO1Zm04ZzNpY05J7xhWrlyeNWs2ALBy5Wo6GXzNBwQUpGHDuoSNcRy7hIQELly4mO16QsoVJcDvNjPZIoGUCw7IdLvFWw7SslrZ1PfVywRTxACnlYxIVsrlxZPJMjiLSAUReUtEvhWRYSLysohkfjbcJDZ2Jw0a1iUoqDB+fvlo3arpLTY+RpNi8Jps8gMRVumkpXLlCjRsUJe1a35jxfKZhIQ8bKqe2UaeuXEMrWL79t2prttPPdmW0gZf8+XL38vp02cY/es3REYsZcQvX+Hvb15wvJ1l2w7TOk1wNhuVjX+eTKbBWUReA34B8gG1cXgHlgE2iMjjRu/Mzp17GfrVjyxeNJmFCyaxeXMsSUnm/DFaZfCaG0ayAD4+dgoHFaLhY+0Y8N6nTJ78s6l6Zhp55tYxtIqXXnqLl176N+v/WkiBgvm5eTPB0Pp97HZq1qzGiBHjqV2nJVeuXOWdd141VCMjth45TT5fO5WKGePm7QpJKtnlxZPJarbGf4AaSqkkERkGLFJKPS4iI4B5ZODALSK9gd4ANnsgNlt+l3dozNipjBnrsCccPHgA8XHHXN42O1hl8JobRrIAcfHHU81Jo6JiSE5OJjg4iNOnzxquZbaRZ24dQ6vYtXtf6jh35Urlad2qmaH1x8UfIy7uGBGR0QDMmr2Qd962Jjgv2XaIVtXKWaKVgqePJbuKK2POKQE8L1AAQCl1mCzct5VStZRStbITmAGKFLkHgDJlStKxY2umTJ2Tre1dxSqD19wwkgWYP38JjzeuDzjGNPP45jElMIP5Rp65dQytIuWaFxEGvPcao36daGj9J06cIi7uKFWqVASgadOG7NiRPa9Cd0hOVizbdphWFg5pgPeMOWfVc/4ViBSRcOAx4AsAESkCmPKXPn3aKILuKUxiQiKvvfaBWzcu/mlMGP8DjRo9SnBwEPv3RfLJYIfB5qiRXxO9aQU3bybQs9cbOdbxNCNPM5g44UcaO4/lwf1RDPpkaOovOSNI7xgWyJ+fl1/uAcDcuYsZN26aYXopvPHmR4wf9z158viy/8BhevXqn+06BsxYR9SBE5y/eoPQoXPo06Q6gX55GLIoinNXbtBv4p/cV7wQP/doCsDGQycpHuhP6aBbpwZ+szSaxVsPcj0hkdChc+j0SEX6NK1uSDvBe3rOWRq8ikhV4AFgm1JqZ3YFfC0yePWO03EnVmaKE52VLkdYmZXOyhujVmal8+s6MMcXYWCBii6HgwuX9929Bq9KqVgg1oJ90Wg0mhzjLT1n/fi2RqPxKjx9Foar6OCs0aw3kKMAAATgSURBVGi8Ck+/0ecqHvWEoEaj0eQUIx/fFpFWIrJLRPaKyAALdj8VHZw1Go1XYdQTgiJiB34EWgMPAs+IyIMWNAHQwVmj0XgZBvac6wB7lVL7lVI3galAB9Mb4ESPOWs0Gq/CwDHnUsCRNO/jgLpGVZ4VpgfnhJvxbs0jFJHeSqmRRu9PbulorbtLyxvb5M1aaUnMRsxJm2rCycjc2Of08ORhDatmvlvp+6617h4tb2yTN2u5RdpUE84lbWCOx5HoLYXSzjJL8OTgrNFoNLlJJFBZRMqLSB7gaWC+VeJ6zFmj0WjSQSmVKCKvAksBOxDmfGLaEjw5OFs17mPl+JLWunu0vLFN3qxlCkqpRcCi3NDOMvGRRqPRaKxHjzlrNBqNB+JxwdmqxyVFJExETorINrM00miVEZHfRWS7iMSKyOsmauUTkQgR2ezUGmSWllPPLiLRIrLAZJ2DIrJVRGJEJMpkrUIiMlNEdorIDhF51CSd+5ztSVkuikjOE2+nr/Wm83rYJiJTRCSfGTpOrdedOrFmtecfQXaepjF7wTHovg+oAOQBNgMPmqTVCHgER55qs9tVAnjE+bogsNvEdglQwPnaFwgH6pnYtv7AZGCBycfwIBBs9rlyao0Dejlf5wEKWaBpB44DZU2ouxRwAPBzvp8OPG9SOx4CtgH+OO5prQAqWXHevG3xtJ6zZY9LKqVWY5KbSzpax5RSm5yvLwE7cPzBmKGllFKXnW99nYspNxZEpDTwBA7HHK9ARAJxfHGPBlBK3VRKnbdAuhmwTyl1yKT6fQA/EfHBETiPmqTzABCulLqqlEoE/gSeNEnLq/G04Jze45KmBLHcQkTK4TDGDTdRwy4iMcBJYLlSyiyt4cA7gBUJdBWwTEQ2Op/qMovywClgjHO45lcRyZ4Rpns8DUwxo2KlVDwwFDgMHAMuKKWWmaGFo9f8mIjcIyL+QBtufZBD4yKeFpy9GhEpAMwC3lBKmWaOqJRKUkrVwPFEUx0RechoDRFpC5xUSm00uu4MaKiUegRHhrBXRKSRSTo+OIa7flZK1QSuAKaminQ+4NAemGFS/YVx/AItD5QE8otINzO0lFI7cHiNLgOWADFAkhla3o6nBedcfVzSTETEF0dgnqSUmm2FpvPn+O9AKxOqbwC0F5GDOIafmoqIsbbRaXD2/lBKnQTm4BgCM4M4IC7Nr42ZOIK1mbQGNimlTphUf3PggFLqlFIqAZgN1DdJC6XUaKVUiFKqEXAOxz0WTTbxtOCcq49LmoU4nFNHAzuUUsNM1ioiIoWcr/2AFkC2jXmzQin1nlKqtFKqHI7ztEopZUpvTETyi0jBlNdAKI6fz4ajlDoOHBGR+5xFzYDtZmil4RlMGtJwchioJyL+zmuxGY77HqYgIkWd/9+LY7x5slla3oxHPSGoLHxcUkSmAI8DwSISBwxUSo02QwtHL7M7sNU5FgzwvnI8fWQ0JYBxzkThNmC6UsrUaW4WUAyY43QH9wEmK6WWmKjXD5jk7CDsB14wS8j5ZdMCeMksDaVUuIjMBDYBiUA05j69N0tE7gESgFcsuqHqdegnBDUajcYD8bRhDY1Go9Ggg7NGo9F4JDo4azQajQeig7NGo9F4IDo4azQajQeig7NGo9F4IDo4azQajQeig7NGo9F4IP8PGv75vBpO/pIAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submit_df =pd.concat([pd.Series(test_df.index, name='ImageId'), pd.Series(y_pred, name='Label')], axis=1)\nsubmit_df.to_csv('./rf_submission.csv', index=False)","execution_count":43,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.4","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}