Skip to content

Instantly share code, notes, and snippets.

@canard0328
Last active January 25, 2018 12:16
Show Gist options
  • Save canard0328/931553c9c38b9f850ab150e1da8075a2 to your computer and use it in GitHub Desktop.
Save canard0328/931553c9c38b9f850ab150e1da8075a2 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Jupyter notebook tips \n",
"- Tab: コード補完候補表示\n",
"- Shift + Tab: メソッドのドキュメント表示\n",
"- Shift + Tab + Tab: ドキュメント表示欄拡大\n",
"- スペース2個: マークダウン内での改行"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"# %matplotlib notebook とするとインタラクティブな描画が可能です"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import os.path\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"plt.style.use('ggplot')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Abalone datasetをUCI Machine Learning RepositoryからDLします. \n",
"dataはヘッダ行のないCSVなので,あらかじめカラム名を用意しておきます."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"if os.path.exists('abalone.csv'):\n",
" data = pd.read_csv('abalone.csv')\n",
"else:\n",
" col_names = ('sex', 'length', 'diameter', 'height', 'whole_weight', 'shucked_weight', 'viscera_weight', 'shell_weight', 'rings')\n",
" data = pd.read_csv('http://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data', header=None, names=col_names)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"念のため,一旦ローカルに保存しておきます."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"if not os.path.exists('abalone.csv'):\n",
" data.to_csv('abalone.csv', index=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"きちんとデータを取得できていることを,ざっと確認しましょう"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sex</th>\n",
" <th>length</th>\n",
" <th>diameter</th>\n",
" <th>height</th>\n",
" <th>whole_weight</th>\n",
" <th>shucked_weight</th>\n",
" <th>viscera_weight</th>\n",
" <th>shell_weight</th>\n",
" <th>rings</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>M</td>\n",
" <td>0.455</td>\n",
" <td>0.365</td>\n",
" <td>0.095</td>\n",
" <td>0.5140</td>\n",
" <td>0.2245</td>\n",
" <td>0.1010</td>\n",
" <td>0.150</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>M</td>\n",
" <td>0.350</td>\n",
" <td>0.265</td>\n",
" <td>0.090</td>\n",
" <td>0.2255</td>\n",
" <td>0.0995</td>\n",
" <td>0.0485</td>\n",
" <td>0.070</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>F</td>\n",
" <td>0.530</td>\n",
" <td>0.420</td>\n",
" <td>0.135</td>\n",
" <td>0.6770</td>\n",
" <td>0.2565</td>\n",
" <td>0.1415</td>\n",
" <td>0.210</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>M</td>\n",
" <td>0.440</td>\n",
" <td>0.365</td>\n",
" <td>0.125</td>\n",
" <td>0.5160</td>\n",
" <td>0.2155</td>\n",
" <td>0.1140</td>\n",
" <td>0.155</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>I</td>\n",
" <td>0.330</td>\n",
" <td>0.255</td>\n",
" <td>0.080</td>\n",
" <td>0.2050</td>\n",
" <td>0.0895</td>\n",
" <td>0.0395</td>\n",
" <td>0.055</td>\n",
" <td>7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sex length diameter height whole_weight shucked_weight viscera_weight \\\n",
"0 M 0.455 0.365 0.095 0.5140 0.2245 0.1010 \n",
"1 M 0.350 0.265 0.090 0.2255 0.0995 0.0485 \n",
"2 F 0.530 0.420 0.135 0.6770 0.2565 0.1415 \n",
"3 M 0.440 0.365 0.125 0.5160 0.2155 0.1140 \n",
"4 I 0.330 0.255 0.080 0.2050 0.0895 0.0395 \n",
"\n",
" shell_weight rings \n",
"0 0.150 15 \n",
"1 0.070 7 \n",
"2 0.210 9 \n",
"3 0.155 10 \n",
"4 0.055 7 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>length</th>\n",
" <th>diameter</th>\n",
" <th>height</th>\n",
" <th>whole_weight</th>\n",
" <th>shucked_weight</th>\n",
" <th>viscera_weight</th>\n",
" <th>shell_weight</th>\n",
" <th>rings</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>4177.000000</td>\n",
" <td>4177.000000</td>\n",
" <td>4177.000000</td>\n",
" <td>4177.000000</td>\n",
" <td>4177.000000</td>\n",
" <td>4177.000000</td>\n",
" <td>4177.000000</td>\n",
" <td>4177.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.523992</td>\n",
" <td>0.407881</td>\n",
" <td>0.139516</td>\n",
" <td>0.828742</td>\n",
" <td>0.359367</td>\n",
" <td>0.180594</td>\n",
" <td>0.238831</td>\n",
" <td>9.933684</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.120093</td>\n",
" <td>0.099240</td>\n",
" <td>0.041827</td>\n",
" <td>0.490389</td>\n",
" <td>0.221963</td>\n",
" <td>0.109614</td>\n",
" <td>0.139203</td>\n",
" <td>3.224169</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.075000</td>\n",
" <td>0.055000</td>\n",
" <td>0.000000</td>\n",
" <td>0.002000</td>\n",
" <td>0.001000</td>\n",
" <td>0.000500</td>\n",
" <td>0.001500</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.450000</td>\n",
" <td>0.350000</td>\n",
" <td>0.115000</td>\n",
" <td>0.441500</td>\n",
" <td>0.186000</td>\n",
" <td>0.093500</td>\n",
" <td>0.130000</td>\n",
" <td>8.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.545000</td>\n",
" <td>0.425000</td>\n",
" <td>0.140000</td>\n",
" <td>0.799500</td>\n",
" <td>0.336000</td>\n",
" <td>0.171000</td>\n",
" <td>0.234000</td>\n",
" <td>9.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>0.615000</td>\n",
" <td>0.480000</td>\n",
" <td>0.165000</td>\n",
" <td>1.153000</td>\n",
" <td>0.502000</td>\n",
" <td>0.253000</td>\n",
" <td>0.329000</td>\n",
" <td>11.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>0.815000</td>\n",
" <td>0.650000</td>\n",
" <td>1.130000</td>\n",
" <td>2.825500</td>\n",
" <td>1.488000</td>\n",
" <td>0.760000</td>\n",
" <td>1.005000</td>\n",
" <td>29.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" length diameter height whole_weight shucked_weight \\\n",
"count 4177.000000 4177.000000 4177.000000 4177.000000 4177.000000 \n",
"mean 0.523992 0.407881 0.139516 0.828742 0.359367 \n",
"std 0.120093 0.099240 0.041827 0.490389 0.221963 \n",
"min 0.075000 0.055000 0.000000 0.002000 0.001000 \n",
"25% 0.450000 0.350000 0.115000 0.441500 0.186000 \n",
"50% 0.545000 0.425000 0.140000 0.799500 0.336000 \n",
"75% 0.615000 0.480000 0.165000 1.153000 0.502000 \n",
"max 0.815000 0.650000 1.130000 2.825500 1.488000 \n",
"\n",
" viscera_weight shell_weight rings \n",
"count 4177.000000 4177.000000 4177.000000 \n",
"mean 0.180594 0.238831 9.933684 \n",
"std 0.109614 0.139203 3.224169 \n",
"min 0.000500 0.001500 1.000000 \n",
"25% 0.093500 0.130000 8.000000 \n",
"50% 0.171000 0.234000 9.000000 \n",
"75% 0.253000 0.329000 11.000000 \n",
"max 0.760000 1.005000 29.000000 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=\"red\">heightが0のデータがあることが分かります.</font>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"データを可視化してみます."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"変数'sex'は質的変数なので,頻度をカウントしてみます"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"M 1528\n",
"I 1342\n",
"F 1307\n",
"Name: sex, dtype: int64"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.value_counts(data['sex'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"その他の変数は量的変数なのでboxplotで分布をみてみます"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nuTLdAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x184ff177278>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = data.boxplot(rot=45)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ヒストグラムでもみてみます"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x184fc31a6d8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"axes = data.hist(bins=20, xlabelsize=7, ylabelsize=10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"変数同士の相関をみてみます"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>length</th>\n",
" <th>diameter</th>\n",
" <th>height</th>\n",
" <th>whole_weight</th>\n",
" <th>shucked_weight</th>\n",
" <th>viscera_weight</th>\n",
" <th>shell_weight</th>\n",
" <th>rings</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>length</th>\n",
" <td>1.000000</td>\n",
" <td>0.986812</td>\n",
" <td>0.827554</td>\n",
" <td>0.925261</td>\n",
" <td>0.897914</td>\n",
" <td>0.903018</td>\n",
" <td>0.897706</td>\n",
" <td>0.556720</td>\n",
" </tr>\n",
" <tr>\n",
" <th>diameter</th>\n",
" <td>0.986812</td>\n",
" <td>1.000000</td>\n",
" <td>0.833684</td>\n",
" <td>0.925452</td>\n",
" <td>0.893162</td>\n",
" <td>0.899724</td>\n",
" <td>0.905330</td>\n",
" <td>0.574660</td>\n",
" </tr>\n",
" <tr>\n",
" <th>height</th>\n",
" <td>0.827554</td>\n",
" <td>0.833684</td>\n",
" <td>1.000000</td>\n",
" <td>0.819221</td>\n",
" <td>0.774972</td>\n",
" <td>0.798319</td>\n",
" <td>0.817338</td>\n",
" <td>0.557467</td>\n",
" </tr>\n",
" <tr>\n",
" <th>whole_weight</th>\n",
" <td>0.925261</td>\n",
" <td>0.925452</td>\n",
" <td>0.819221</td>\n",
" <td>1.000000</td>\n",
" <td>0.969405</td>\n",
" <td>0.966375</td>\n",
" <td>0.955355</td>\n",
" <td>0.540390</td>\n",
" </tr>\n",
" <tr>\n",
" <th>shucked_weight</th>\n",
" <td>0.897914</td>\n",
" <td>0.893162</td>\n",
" <td>0.774972</td>\n",
" <td>0.969405</td>\n",
" <td>1.000000</td>\n",
" <td>0.931961</td>\n",
" <td>0.882617</td>\n",
" <td>0.420884</td>\n",
" </tr>\n",
" <tr>\n",
" <th>viscera_weight</th>\n",
" <td>0.903018</td>\n",
" <td>0.899724</td>\n",
" <td>0.798319</td>\n",
" <td>0.966375</td>\n",
" <td>0.931961</td>\n",
" <td>1.000000</td>\n",
" <td>0.907656</td>\n",
" <td>0.503819</td>\n",
" </tr>\n",
" <tr>\n",
" <th>shell_weight</th>\n",
" <td>0.897706</td>\n",
" <td>0.905330</td>\n",
" <td>0.817338</td>\n",
" <td>0.955355</td>\n",
" <td>0.882617</td>\n",
" <td>0.907656</td>\n",
" <td>1.000000</td>\n",
" <td>0.627574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>rings</th>\n",
" <td>0.556720</td>\n",
" <td>0.574660</td>\n",
" <td>0.557467</td>\n",
" <td>0.540390</td>\n",
" <td>0.420884</td>\n",
" <td>0.503819</td>\n",
" <td>0.627574</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" length diameter height whole_weight shucked_weight \\\n",
"length 1.000000 0.986812 0.827554 0.925261 0.897914 \n",
"diameter 0.986812 1.000000 0.833684 0.925452 0.893162 \n",
"height 0.827554 0.833684 1.000000 0.819221 0.774972 \n",
"whole_weight 0.925261 0.925452 0.819221 1.000000 0.969405 \n",
"shucked_weight 0.897914 0.893162 0.774972 0.969405 1.000000 \n",
"viscera_weight 0.903018 0.899724 0.798319 0.966375 0.931961 \n",
"shell_weight 0.897706 0.905330 0.817338 0.955355 0.882617 \n",
"rings 0.556720 0.574660 0.557467 0.540390 0.420884 \n",
"\n",
" viscera_weight shell_weight rings \n",
"length 0.903018 0.897706 0.556720 \n",
"diameter 0.899724 0.905330 0.574660 \n",
"height 0.798319 0.817338 0.557467 \n",
"whole_weight 0.966375 0.955355 0.540390 \n",
"shucked_weight 0.931961 0.882617 0.420884 \n",
"viscera_weight 1.000000 0.907656 0.503819 \n",
"shell_weight 0.907656 1.000000 0.627574 \n",
"rings 0.503819 0.627574 1.000000 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.corr()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"このような形の可視化も見やすいかもしれません."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\nRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x184ffaaaef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"axes = data.drop('rings', axis=1).plot(kind='hist', bins=50, subplots=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"変数heightが0であるデータを削除しましょう."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>sex</th>\n",
" <th>length</th>\n",
" <th>diameter</th>\n",
" <th>height</th>\n",
" <th>whole_weight</th>\n",
" <th>shucked_weight</th>\n",
" <th>viscera_weight</th>\n",
" <th>shell_weight</th>\n",
" <th>rings</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1257</th>\n",
" <td>I</td>\n",
" <td>0.430</td>\n",
" <td>0.34</td>\n",
" <td>0.0</td>\n",
" <td>0.428</td>\n",
" <td>0.2065</td>\n",
" <td>0.0860</td>\n",
" <td>0.1150</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3996</th>\n",
" <td>I</td>\n",
" <td>0.315</td>\n",
" <td>0.23</td>\n",
" <td>0.0</td>\n",
" <td>0.134</td>\n",
" <td>0.0575</td>\n",
" <td>0.0285</td>\n",
" <td>0.3505</td>\n",
" <td>6</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" sex length diameter height whole_weight shucked_weight \\\n",
"1257 I 0.430 0.34 0.0 0.428 0.2065 \n",
"3996 I 0.315 0.23 0.0 0.134 0.0575 \n",
"\n",
" viscera_weight shell_weight rings \n",
"1257 0.0860 0.1150 8 \n",
"3996 0.0285 0.3505 6 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data[data.height==0]"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"data_tidy = data[~(data.height==0)]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"sex 4175\n",
"length 4175\n",
"diameter 4175\n",
"height 4175\n",
"whole_weight 4175\n",
"shucked_weight 4175\n",
"viscera_weight 4175\n",
"shell_weight 4175\n",
"rings 4175\n",
"dtype: int64"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data_tidy.count()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"質的変数sexをダミー変数を利用して量的変数に変換しましょう"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"data_tidy = pd.get_dummies(data_tidy, columns=['sex'], drop_first=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ここで,データを説明変数Xと目的変数yに分けます"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"X, y = data_tidy.drop('rings', axis=1), data_tidy.loc[:, 'rings']"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['length', 'diameter', 'height', 'whole_weight', 'shucked_weight',\n",
" 'viscera_weight', 'shell_weight', 'sex_I', 'sex_M'],\n",
" dtype='object')"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X.columns"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'rings'"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y.name"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"データを,訓練データと評価データに分けましょう. \n",
"ここで,評価データは予測モデルを実環境で運用した際に得られる未知のデータを想定しており, \n",
"<font color='red'>評価データに対する性能が良くなるよう試行錯誤するのは適切ではない</font>ことに注意してください."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"過学習についてみていきましょう. \n",
"適当な回帰アルゴリズムを選び,<font color=\"red\">訓練データに対する予測性能が最も良くなるように</font>ハイパーパラメータをチューニングしてみましょう. \n",
"そのあと,作成したモデルで評価データに対する予測性能をみてみましょう."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"線形回帰の例:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"訓練データに対する誤差: 1.55891985375\n",
"テストデータに対する誤差: 1.60035698198\n"
]
}
],
"source": [
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.metrics import mean_absolute_error\n",
"regr = LinearRegression()\n",
"regr.fit(X_train, y_train)\n",
"y_pred = regr.predict(X_train)\n",
"print('訓練データに対する誤差: ', mean_absolute_error(y_train, y_pred))\n",
"y_pred = regr.predict(X_test)\n",
"print('テストデータに対する誤差: ', mean_absolute_error(y_test, y_pred))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"回帰木の例:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"訓練データに対する誤差: 0.0\n",
"テストデータに対する誤差: 2.1053471668\n"
]
}
],
"source": [
"from sklearn.tree import DecisionTreeRegressor\n",
"from sklearn.metrics import mean_absolute_error\n",
"regr = DecisionTreeRegressor(random_state=1)\n",
"regr.fit(X_train, y_train)\n",
"y_pred = regr.predict(X_train)\n",
"print('訓練データに対する誤差: ', mean_absolute_error(y_train, y_pred))\n",
"y_pred = regr.predict(X_test)\n",
"print('テストデータに対する誤差: ', mean_absolute_error(y_test, y_pred))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nested cross validationとgrid searchをやってみましょう"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"今回はサポートベクターマシンを使ってみます."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.model_selection import GridSearchCV, cross_val_score, KFold\n",
"from sklearn.svm import SVR\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"p_grid = {'C': [100, 300, 1000], 'gamma': [.1, .3, 1]}\n",
"svr = SVR(kernel=\"rbf\")\n",
"inner_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"outer_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"regr = GridSearchCV(estimator=svr, param_grid=p_grid, cv=inner_cv, scoring='neg_mean_absolute_error')\n",
"nested_score = cross_val_score(regr, X=X_train, y=y_train, cv=outer_cv, scoring='neg_mean_absolute_error')"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"交差検証誤差: 1.44909302084\n"
]
}
],
"source": [
"print('交差検証誤差: ', np.mean(-nested_score))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ハイパーパラメータチューニングのために通常の交差検証を行います"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"rtn = regr.fit(X_train, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"スコアの最も良かったハイパーパラメータを確認します. \n",
"このとき,選ばれたパラメータがグリッドサーチの範囲の端の値だった場合, \n",
"グリッドサーチの範囲を変更して,再度Nested cross validationからやり直しましょう."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'C': 300, 'gamma': 0.3}"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"regr.best_params_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"通常の交差検証はハイパーパラメータチューニングのために行うもので, \n",
"性能評価はNested corss validationで行うことに注意してください."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"最終的なモデルは,全データを使い,上記パラメータで学習を行います."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"regr = SVR(kernel=\"rbf\", gamma=0.3, C=300)\n",
"rtn = regr.fit(X_train, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"それでは,評価データに対する誤差をみてみましょう \n",
"しつこいようですが,この値は本来実運用を始めるまで知ることができない値です."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.48341421424\n"
]
}
],
"source": [
"y_pred = regr.predict(X_test)\n",
"print(mean_absolute_error(y_test, y_pred))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"アルゴリズムによっては,説明変数のスケールが影響を与えること \n",
"(影響をほとんど受けないアルゴリズムもあること) \n",
"基準化によりその影響を抑えられることを見てみましょう.\n",
"- 影響を受けやすいアルゴリズムの例:K近傍法\n",
"- 影響を受けにくいアルゴリズムの例:決定木"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"元データでの誤差: 1.52027078687\n"
]
}
],
"source": [
"from sklearn.neighbors import KNeighborsRegressor\n",
"p_grid = {'n_neighbors': [11, 13, 15, 17]}\n",
"knr = KNeighborsRegressor()\n",
"inner_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"outer_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"regr = GridSearchCV(estimator=knr, param_grid=p_grid, cv=inner_cv, scoring='neg_mean_absolute_error')\n",
"nested_score = cross_val_score(regr, X=X_train, y=y_train, cv=outer_cv, scoring='neg_mean_absolute_error')\n",
"print('元データでの誤差: ', np.mean(-nested_score))"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"スケールを変更したときの誤差: 2.01289376617\n"
]
}
],
"source": [
"X_train_tmp = X_train.copy(deep=True)\n",
"X_train_tmp['shucked_weight'] *= 1000\n",
"p_grid = {'n_neighbors': [17, 19, 21, 23]}\n",
"inner_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"outer_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"regr = GridSearchCV(estimator=knr, param_grid=p_grid, cv=inner_cv, scoring='neg_mean_absolute_error')\n",
"nested_score = cross_val_score(regr, X=X_train_tmp, y=y_train, cv=outer_cv, scoring='neg_mean_absolute_error')\n",
"print('スケールを変更したときの誤差: ', np.mean(-nested_score))"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"基準化を行ったときの誤差: 1.53759672836\n"
]
}
],
"source": [
"from sklearn.preprocessing import StandardScaler\n",
"X_train_scale = StandardScaler().fit_transform(X_train_tmp)\n",
"p_grid = {'n_neighbors': [15, 17, 19, 21]}\n",
"inner_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"outer_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"regr = GridSearchCV(estimator=knr, param_grid=p_grid, cv=inner_cv, scoring='neg_mean_absolute_error')\n",
"nested_score = cross_val_score(regr, X=X_train_scale, y=y_train, cv=outer_cv, scoring='neg_mean_absolute_error')\n",
"print('基準化を行ったときの誤差: ', np.mean(-nested_score))"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"元データでの誤差: 1.63058262818\n"
]
}
],
"source": [
"from sklearn.tree import DecisionTreeRegressor\n",
"p_grid = {'max_depth': [3, 5, 7, 9, 11]}\n",
"dtr = DecisionTreeRegressor(random_state=1)\n",
"inner_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"outer_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"regr = GridSearchCV(estimator=dtr, param_grid=p_grid, cv=inner_cv, scoring='neg_mean_absolute_error')\n",
"nested_score = cross_val_score(regr, X=X_train, y=y_train, cv=outer_cv, scoring='neg_mean_absolute_error')\n",
"print('元データでの誤差: ', np.mean(-nested_score))"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"スケールを変更したときの誤差: 1.63028225558\n"
]
}
],
"source": [
"X_train_tmp = X_train.copy(deep=True)\n",
"X_train_tmp['shucked_weight'] *= 1000\n",
"p_grid = {'max_depth': [3, 5, 7, 9, 11]}\n",
"inner_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"outer_cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"regr = GridSearchCV(estimator=dtr, param_grid=p_grid, cv=inner_cv, scoring='neg_mean_absolute_error')\n",
"nested_score = cross_val_score(regr, X=X_train_tmp, y=y_train, cv=outer_cv, scoring='neg_mean_absolute_error')\n",
"print('スケールを変更したときの誤差: ', np.mean(-nested_score))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"最後に,学習曲線を作成してみましょう."
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.model_selection import learning_curve\n",
"def plot_learning_curve(estimator, title, X, y, ylim=None, cv=None,\n",
" n_jobs=1, train_sizes=np.linspace(.1, 1.0, 5)):\n",
" plt.figure()\n",
" plt.title(title)\n",
" if ylim is not None:\n",
" plt.ylim(*ylim)\n",
" plt.xlabel(\"Training examples\")\n",
" plt.ylabel(\"Score\")\n",
" train_sizes, train_scores, test_scores = learning_curve(\n",
" estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes, scoring='neg_mean_absolute_error')\n",
" train_scores_mean = np.mean(train_scores, axis=1)\n",
" train_scores_std = np.std(train_scores, axis=1)\n",
" test_scores_mean = np.mean(test_scores, axis=1)\n",
" test_scores_std = np.std(test_scores, axis=1)\n",
" plt.grid()\n",
"\n",
" plt.fill_between(train_sizes, train_scores_mean - train_scores_std,\n",
" train_scores_mean + train_scores_std, alpha=0.1,\n",
" color=\"r\")\n",
" plt.fill_between(train_sizes, test_scores_mean - test_scores_std,\n",
" test_scores_mean + test_scores_std, alpha=0.1, color=\"g\")\n",
" plt.plot(train_sizes, train_scores_mean, 'o-', color=\"r\",\n",
" label=\"Training score\")\n",
" plt.plot(train_sizes, test_scores_mean, 'o-', color=\"g\",\n",
" label=\"Cross-validation score\")\n",
"\n",
" plt.legend(loc=\"best\")\n",
" return plt"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x1848241fd30>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"p_grid = {'C': [100, 300, 1000], 'gamma': [.1, .3, 1]}\n",
"svr = SVR(kernel=\"rbf\")\n",
"cv = KFold(n_splits=4, shuffle=True, random_state=1)\n",
"regr = GridSearchCV(estimator=svr, param_grid=p_grid, cv=cv, scoring='neg_mean_absolute_error')\n",
"p = plot_learning_curve(regr, 'Learning Curves (SVM, RBF kernel)', X_train, y_train, n_jobs=4, ylim=(-1.7,-1.35))"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAEaCAYAAAAotpG7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8FNXeBvBnZrYmIZVQAoQWulRJaEpLKAHEyFUpFxD0\nYkW8vBcxgBQN/RWxv2IBLmIBhBvpKkVAAgQBAUGFEPBCQklI3WzfOe8fszvsJptkE7Kpv6+fyO7s\nzOzZzWaePWXOcIwxBkIIIcRL+KouACGEkNqNgoYQQohXUdAQQgjxKgoaQgghXkVBQwghxKsoaAgh\nhHgVBQ0ps2vXroHjOPz8889VXZQaTxRFdO/eHd9++63H23Ach40bN3qxVKQ4AwcOxD/+8Y8K3++w\nYcPw/vvvV/h+qwuOzqOpfqZMmYIbN25g3759VV0Ut2w2GzIyMhASEgKlUlkpz7l79268++67+OWX\nX6DX6xEeHo5Bgwbhf/7nf9C2bdtKKYM3fP7553j//fdx5swZcBwHAGjRogX+8Y9/4PXXX3e7za1b\ntxAYGAiNRlOZRSUAsrKyoFAo4O/vX6H7TU5ORmxsLK5evVrh+64OqEZDZBaLxaP1BEFAo0aNKi1k\n3nzzTTzyyCOIiIjAtm3b8Mcff2Dt2rVQqVTFHow9ZTabK6iU5bN69Wo8++yzcsh4olGjRtUmZDz9\nzHj7fa6s32NwcLBXgiAqKgpNmjTBhg0bKnzf1QIj1c5TTz3FoqOji33cbDazhQsXshYtWjC1Ws06\nduzIPv74Y5d13nnnHda1a1fm6+vLGjZsyMaOHcvS09Plxw8ePMgAsJ07d7J+/foxtVrNPvroI7Zu\n3TomCAL7+eefWffu3ZlWq2U9evRgycnJ8rZXr15lANiRI0dc7m/atImNHDmSabVa1rJlS7Zu3TqX\nMqWmprIhQ4YwtVrNwsPD2f/93/+xAQMGsGeeeabY1/rLL78wAGzZsmVuH8/KynJ5PdevX3d5XBAE\nuRyOcm7cuJHFxsYyHx8fNmvWLNasWTO2ZMkSl+2MRiMLDAxkn376qbzsvffeY+3atWNqtZpFRESw\nxYsXM4vFIj+emJjIunXrxrRaLQsICGCRkZHs9OnTxb62M2fOMAAsLS3NZXnz5s1ZQkJCsdsBYF98\n8YXL/Q8//JBNnDiR+fn5sSZNmrClS5e6bOPNz4w7AwYMYE8//TR7/fXXWaNGjVjDhg09Locnn5Pm\nzZuzefPmsRdeeIEFBwezqKgoxhhj+fn5bMaMGSwsLIxptVrWrVs3tnXrVpf9L1myhLVs2ZKpVCpW\nv359NnToUKbX6xljjF2/fp2NGTOGhYSEMLVazVq2bMlWrlzp8rqcy2E2m9lrr73GwsLCmFKpZB06\ndGBffvllkd9Xab8fxhhbsGAB69Wrl9v3s6ajoKmGSguap556inXu3Jl9//33LDU1lX3zzTcsICCA\nffbZZ/I677zzDvvxxx9ZamoqS0pKYn369GH9+/eXH3ccNNq1a8e2b9/OUlNT2fXr19m6desYx3Hs\n4YcfZocPH2a///47Gz58OGvRooV8UC0uaFq2bMk2bdrELl++zObMmcMEQWB//vknY4wxURRZ165d\nWVRUFDtx4gQ7c+YMi42NZf7+/iUGzSuvvMJ8fHyYyWQq8T0rS9A0adKEbdy4kaWmprLU1FQ2Z84c\n1r59e5ftNm3axDQaDcvJyWGMMbZw4UIWHh7Otm3bxlJTU9muXbtYs2bN2Ouvv84YY+zmzZtMqVSy\nFStWsNTUVHbx4kX25ZdfsnPnzhVb5nfeeYc1adKkyPLyBE2DBg3YJ598wlJSUtgHH3zAALB9+/bJ\n63jzM+POgAEDmJ+fH3vuuefYhQsX5PehtHJ4+jlp3rw5q1evHlu4cCH7888/2YULF5goimzgwIFs\nwIAB7MiRI+zKlStszZo1TKlUyu/F1q1bWb169dj27dvZX3/9xc6cOcNWr14tB80jjzzCoqOj2Zkz\nZ9jVq1fZgQMH2FdffeXyupzLMWvWLBYcHMw2b97M/vzzT7ZkyRLGcZzLe+/J74cxxnbt2sUEQWB5\neXnF/u5rKgqaaqikoElNTWUcx7Hff//dZfkbb7zBunbtWuw+T58+zQCwGzduMMbuHTQ2bNjgst66\ndesYAHbq1Cl52fHjxxkA9scffzDGig+aVatWydtYrVbm5+cnf1v94YcfGAB2+fJleZ27d+8yrVZb\nYtDExsayzp07F/u4Q1mC5s0333RZ5/fff2cAXGptI0eOZOPGjWOMMVZQUMC0Wi3bs2ePy3b//ve/\nWUBAAGPs3vt79erVUsvq8Morr8jfxJ2VJ2hefvlll3Xat2/P4uPjGWPe/8y4M2DAANamTRtms9nk\nZZ6Uw9PPSfPmzdngwYNd9nPw4EGmVqvlLwcOU6dOZY8++ihjjLG3336btWnThpnNZrfl7tKlC1u4\ncGGJr8tRjoKCAqZSqdiHH37osk5cXBwbNGiQfL+034/D2bNnGQD222+/Ffv8NZXCe41yxBt++eUX\nMMbQs2dPl+VWqxWCIMj3f/rpJyxbtgwXL15ETk4ORFEEAPz1119o0qSJvF5UVFSR5+A4Dl27dpXv\nh4WFAQBu376Ndu3aFVu2bt26ybcFQUCDBg1w+/ZtAMDFixdRv359REREyOsEBweXuD8AYF4Yq1L4\nNbdv3x5RUVH44osvEBkZiTt37uD777/H9u3bAQAXLlyAwWDA3/72N5e+FJvNBqPRiIyMDHTp0gXD\nhg3DAw88gCFDhmDgwIEYM2YMmjVrVmw5DAZDhfW1OL/3gPQ7c7z3lfGZcefBBx8Ez9/rBvakHGX5\nnBQux8mTJ2E2m13KCkj9N23atAEAPPnkk3jvvffQvHlzDB06FNHR0YiLi0O9evUAAP/85z/x3HPP\nYc+ePRg4cCBGjhyJ/v37u319KSkpMJvNRR4fMGAAli1b5rKspN+Pg+OzYDAY3D5fTUZBU8M4/viT\nkpLg4+Pj8pjjIPjf//4XI0aMwKRJk7BgwQLUr18fN27cQExMTJFOU19f3yLPwfO8ywHIsV/HcxdH\npVIVKY/zNmXp8HZo164dDh8+DLPZXGT/hcsMuAaTzWZzW2Z3r3ny5Ml44403sGrVKnz11VeoX78+\nhg4dCuDe696yZYvbEW7BwcEQBAF79uzByZMnsW/fPmzduhXx8fHYsmULRo0a5bbMoaGhSEpKKuHV\ne66k974yPjPuFF7Pk3IUvl3W/QcEBODkyZNF1nW8P02aNMEff/yBgwcP4sCBA0hISMBrr72GEydO\noFmzZpg6dSqGDx+OvXv34uDBg4iNjcVjjz1238PJS/vbAKQRbYD0uahtaNRZDfPggw8CkA4MERER\nLj+tW7cGIH2zMxgMeOedd9CvXz+0a9euyLenytaxY0dkZGTgypUr8rLs7GxcunSpxO0mTpwIvV6P\nt99+2+3j2dnZAIAGDRoAANLT0+XHfv31V49rROPHj0dubi727t2LDRs24O9//7sctp06dYJGo0Fq\namqR9zwiIkJej+M4REVFYe7cuTh8+DAGDBiAdevWFfucPXr0QEpKiscjt8qrunxmPClHeT8nANCz\nZ0/k5OTAaDQW2X94eLi8nlqtxvDhw7Fy5UqcP38eer0eiYmJ8uONGzfG1KlTsWHDBnz++ef48ssv\nkZeXV+T5IiIioFarcfjwYZflhw4dwgMPPFC2NwfA+fPn0aBBA5ey1hZUo6mmdDodfv31V5dlGo0G\n7du3x9NPP41p06Zh5cqV6NOnDwoKCnDq1ClkZGTgtddeQ5s2bcBxHFatWoW///3vOHv2LN58880q\neiWSmJgYdO3aFZMmTcK7774LlUqFefPmQaFQlPgNtmfPnliwYAHmzZuH69evY+zYsWjevDnS09Ox\nefNmpKWlYfPmzYiIiEDz5s2xaNEirF69GpmZmZg7d67H346Dg4MxcuRILFiwAL/++iv+/e9/y4/5\n+flh7ty58v5iYmJgtVpx/vx5nDlzBitWrEBSUhL279+PoUOHonHjxrh8+TLOnTuHZ555ptjnHDRo\nEADg+PHjePjhh10eu3XrVpHff/369dG0aVOPXo+ziIiIavGZ8aQc5f2cAMDgwYMRExODMWPGYOXK\nlejSpQuys7ORlJQEjUaDadOm4fPPP4coioiKikJgYCD279+P/Px8dOzYEQAwffp0jBgxAu3atYPR\naMS2bdvQrFkzuWnNmY+PD2bMmIH58+cjNDQUXbt2xbfffovvvvsOP/74Y5nfn59++gmxsbHlqvlX\ne1XZQUTce+qppxiAIj/t2rVjjEkd7StWrGDt2rVjSqWShYSEsP79+7PNmzfL+/jggw9Y06ZNmUaj\nYf369WN79uxhANjBgwcZY8V3njuGNzu7fv26y7bFDQZw3Hdo3bq1S8dqamoqi4mJYWq1mjVt2pR9\n8MEHLDIykk2fPr3U92T79u1syJAhLCgoiKnVata2bVs2ZcoUdvHiRXmd48ePsx49ejCNRsO6dOnC\nDh8+7HYwQOFyOiQmJjIArFu3bm4f//TTT1nXrl2ZWq1mgYGBLCoqSh7e+9tvv7HY2FjWsGFDplKp\nWHh4OJs1a1apo+WmTJnCpk2b5rKsefPmbn//zz33HGPM/WAA5/uMMRYdHc2eeuop+b43PzPuFDds\n3ZNyePI5KW7AhF6vZ6+99hpr0aIFUyqVrGHDhmzYsGFs//79jDFp1FmfPn1YYGAg02q1rFOnTi4j\n71588UXWpk0bptFoWHBwMBsxYoRL53x5hzeX9vvJz89nvr6+LCkpqbS3tkaimQFIlcnPz0fTpk2x\nePFivPzyy1VdnCqRkpKCyMhIXLhwQR50QVzVhc/JypUrcfDgQezZs6eqi+IV1HRGKs327duhUCjQ\noUMH3LlzB2+88QY4jsOTTz5Z1UWrMhEREVizZg2uXr1KQWNXFz8nWq22Vs91VuVBc+zYMWzZsgVp\naWlYunSp3CnozGw2Y+HChbBarbDZbOjdu7f8odu8eTP2798vTwsxfvx49OjRo1JfA/GMXq/Hm2++\niWvXrsHX1xcPPvggfv75ZzRs2LCqi1alavMBtDzq4uekttbUHKq86ezGjRvgeR6ffPIJJk2a5DZo\nGGMwmUzQaDSwWq1YsGABpkyZgrZt22Lz5s3QaDQYPXp0FZSeEEJIaaq8RuPJKBqO4+STmWw2G2w2\nW+0cmUEIIbVQlQeNp0RRxGuvvYZbt25h2LBh8pm+ALB3714cPnwYrVq1wuTJk+Hn5+d2H/v27ZOn\n3l++fHmllJsQQuq6Smk6S0hIQE5OTpHl48aNQ2RkJABg0aJFxTadOSsoKMBbb72FqVOnIjw8HDk5\nOXL/zKZNm5CdnY0XX3zRo3I5n9xHCCGkdOUZtFIpNZr58+dX2L58fX3RqVMn/PrrrwgPD0dgYKD8\nWHR0NFasWFFhz0UIIeT+1YgpaPLy8lBQUABAGoF27tw5eeI8xxQkgHSVupImMSSEEFL5qryPJjk5\nGWvXrkVeXh6WL1+OFi1aYN68ecjKysKaNWswZ84cZGdn48MPP4QoimCMoU+fPvK8SRs3bpSvYR8a\nGopnn322il8RIYQQZ1U+vLkqUR8NqY0YYzAajRBFkUZnknJhjIHneWg0miKfoWrbR0MIqTxGoxFK\npRIKBf15k/KzWq0wGo3QarX3va8a0UdDCPGcKIoUMuS+KRSKUq9B5SkKGkJqGWouIxWloj5LFDSE\nEEK8iurXhJAKlZWVhbFjxwIAMjIyIAgCgoODAQC7du0q8ZLcDjNnzsRLL72EiIiIYtdZv349/P39\nMWbMmIopOPEaGnVGSC2j1+vh4+Pj8frabdtQb/lyCOnpsIWFIT8+HoYKOnivWrUKvr6+eP75512W\nM8bkkU21TW16be4+S+UZdVbz3wlCSLlpt21DwOzZUKSlgWMMirQ0BMyeDe22bRX+XFevXsXAgQMx\nffp0DBo0CLdv38bs2bMRGxuLQYMGYfXq1fK6cXFx+O2332C1WtGhQwcsXboUMTExeOSRR5CZmQkA\nWLFiBT799FN5/aVLl2LkyJF4+OGHcfLkSQDSgXLatGkYOHAgpk2bhtjYWPz2229FypaQkICBAwci\nJiYGS5YsAQDcuXMHU6dORUxMDGJiYnD69GkAwEcffYTBgwdj8ODBWLt2bbGv7cCBA3jkkUcwbNgw\nPP/889Dr9RX+ntYU1HRGSC3mv2ABlBcvFvu46tQpcGazyzLeYEDgv/4Fn6++cruNpWNH5L35ZrnK\nk5KSgnfffRddu3YFAMyZMwdBQUGwWq144oknMHLkSLRt29Zlm7y8PPTu3Rtz587FokWL8M0332D6\n9OlF9s0Yw65du/DDDz/gnXfewZdffom1a9ciNDQUn376KS5cuIDhw4cX2S4jIwMHDhzAwYMHwXEc\ncnNzAQDz5s1D//79MXXqVFitVhgMBpw+fRrbtm3Drl27YLPZMHLkSPTp0wcajcbltWVmZuLDDz/E\n5s2bodVq8e677+Kzzz7DjBkzyvW+1XRUoyGkLisUMqUuv0/NmzeXQwYAvvvuOwwbNgzDhw/H5cuX\ncenSpSLbaDQaDB48GADQpUsXXL9+3e2+Y2NjAQCdO3eW10lOTsajjz4KAOjUqRPatWtXZLvAwEDw\nPI9XX30Ve/bskZuKkpKSMHHiRADSUN969eohOTkZI0eOhFarhZ+fH4YPH44TJ04UeW2//PILLl26\nhNGjR2PIkCH4z3/+gxs3bpT9DaslqEZDSC1WWs2jQVQUFGlpRZbbmjTB3W+/rfDyOLf3p6am4rPP\nPsOuXbsQEBCAl19+GSaTqcg2zoMHBEGAzWZzu2/HeiWt445SqcTu3btx+PBh7Ny5Exs2bMDXX38N\noGzDe51fG2MMAwcOrNWXZy4LqtEQUoflx8dDLHTmt6jVIj8+3uvPrdPp4Ofnh3r16uH27dv46aef\nKvw5IiMjsWPHDgDA77//7rbGpNPpoNPpMGTIECxatEjuw+nbty+++OILANIFF/Pz89GrVy/s2bMH\nBoMBBQUF+P7779GrV68i++zZsyeOHz+Ov/76C4DUV5Samlrhr6+moBoNIXWYY3SZt0adlaRz585o\n06YN+vfvj6ZNm8rXpqpITz/9NF555RUMHDgQbdq0Qdu2beXrVznk5eVh2rRpMJlMYIxh4cKFAIAl\nS5bg1VdfxcaNGyEIAlasWIHu3bsjLi4OI0eOBABMnjwZHTp0wNWrV132GRoailWrVuGFF16A2d4M\nGR8fj1atWlX4a6wJaHgzIbVMWYc312ZWqxVWqxUajQapqamYMGECfv75Z5qix0MVNbyZ3m1CSK1V\nUFCAsWPHwmq1ApCGRFPIVD56xwkhtVZAQAD27t1b1cWo82gwACGEEK+ioCGEEOJVFDSEEEK8ioKG\nEEKIV1HQEEIq3J07d/DCCy+gb9++GD58OCZNmoQrV65UdbHc6tWrF7KysgAAo0ePdrvOP//5T+zc\nubPE/WzatAm3bt2S78+aNcvtCaJ1EQUNIXXctpRtiPo6Ck0/bYqor6OwLeX+Zm5mjOGZZ55Bnz59\nkJSUhL179yI+Pl6eddnBMeS4Otm+fXu5t92yZQtu374t33/rrbeKTBBaHVTF+05BQ0gdti1lG2Yf\nmY00XRoYGNJ0aZh9ZPZ9hc3Ro0ehVCoxefJkeVmnTp3Qq1cvJCUl4bHHHsOUKVMwcOBAAMCaNWvk\nafcd0/7r9XpMmjQJMTExGDx4ML777jsAwNKlS+Xp/N90M4/bhg0bkJCQIN/ftGkT5s2bB0CaJWD4\n8OEYNGgQNm7c6Lbsbdq0ASCF5bx58/Dwww9j7NixuHv3rrzO6tWrMWLECAwePBizZ88GYww7d+7E\n2bNnMX36dAwZMgQGgwGPP/44zp49CwBITExEdHQ0Bg8eLF+GwPF8y5cvR0xMDEaNGoWMjIwiZTp2\n7BiGDBmCIUOGYOjQodDpdACADz/8ENHR0YiJicHSpUsBAL/99htGjRqFmJgYPPPMM8jJyQEAPP74\n41iwYAFiY2Px2Wef4e7du5g2bRpGjBiBESNGyJdV8JYqP4/m2LFj2LJlC9LS0rB06VK0bt262HVF\nUUR8fDyCg4MRb5+LSafTYfXq1cjIyEBoaChmzpwJPz+/yio+IdXagmMLcPFu8ZcJOHX7FMyi60zN\nBqsB/zr0L3z1h/vLBHQM6Yg3+xQ/Weeff/6Jzp07F/v4+fPnceDAAYSHh+PcuXPYvHkzdu7cCcYY\nRo0ahT59+uCvv/5Co0aN5LnG8vLykJWVhT179uDw4cMu0/k7GzlyJEaPHo358+cDAHbs2CFPzb9q\n1SoEBQXBYDBg5MiRGDFihHzlz8L27NmDK1eu4KeffkJGRgYGDRokXzV0ypQpmDlzJgDg5Zdfxo8/\n/ohRo0Zh/fr1mD9/vsvs1ABw69YtLFmyBHv37kVAQADGjx+PvXv3Yvjw4dDr9ejRowfi4+OxePFi\nfPnll/jnP//psv3HH3+MpUuXIjIyEgUFBVCr1Thw4AC+//577Ny5E1qtFtnZ2QCkJr6EhAT06dMH\n//u//4u3335bDmSLxYI9e/YAAF566SVMmzYNUVFRSEtLw4QJE3Do0KFif2f3q8prNM2aNcOsWbPQ\noUOHUtfdvXs3mjRp4rIsMTERnTt3xnvvvYfOnTsjMTHRW0UlpNYpHDKlLa8I3bp1Q3h4OABpGv/h\nw4fDx8cHvr6+iI2NxYkTJ9C+fXscPnwYS5YswYkTJ+Dv7w9/f3+o1Wr861//wu7du6EtNBkoAISE\nhCA8PBynTp1CVlYWUlJS5DnU1q5dK188LT09vcj8ZM6OHz+OuLg4CIKARo0aoV+/fvJjSUlJGDVq\nFKKjo5GUlFRqP8zZs2fRp08fhISEQKFQYMyYMTh+/DgAacbpIUOGAJDmfnN3KYHIyEi88cYb+Pzz\nz5GbmwuFQoEjR45g7Nix8nsQFBSEvLw85Obmok+fPgCAJ554Qr6EAeDa/3TkyBHMmzcPQ4YMwZQp\nU6DT6VBQUFDi67gfVV6jadq0qUfr3b17F6dPn8aYMWNcOuVOnjyJRYsWAQAGDBiARYsWydeQIKSu\nK6nmAQBRX0chTVf0MgFN/Jrg21Hlu0xA27ZtsWvXrmIf92QettatW2Pv3r04cOAAVq5ciYceeggz\nZ87Erl278PPPP2PXrl1Yt24dvvnmG/liZkOHDsWrr76KRx99FDt27EBERASGDx8OjuOQlJSEI0eO\nYMeOHdBqtXj88cfdXpKgNEajEXPnzpW/9K5atapc+3FQKBTypQgEQXDbfzJ9+nRER0fjwIEDiIuL\nw1fFXJCuNM7vuyiK2LFjBzQaTfkKXkZVXqPx1Pr16zFx4sQi14fIzc1FUFAQAOkCRu6q0w779u1D\nfHy83OxGSF0XHxkPrcK1ZqBVaBEfWf6/kYceeghms9mlH+TixYsu364devXqhe+//x4GgwF6vR57\n9+5Fr169cOvWLWi1Wvztb3/D888/j/Pnz6OgoAD5+fmIjo7GokWLcPHiRQiCgB9//BE//vgjXn31\nVQDA8OHD8cMPPyAxMVG+6Fl+fj4CAgKg1WqRkpIiX5a5OL1798b27dths9lw+/ZtJCUlAYAcKsHB\nwSgoKHAJVF9fX7n/xFm3bt1w/PhxZGVlwWazITExUa51eOLatWvo0KEDXnrpJXTt2hUpKSno378/\nNm3aBIPBAADIzs6Gv78/AgIC5Pd569at6N27t9t9DhgwAOvWrZPvu7u8dUWqlBpNQkKC3CnlbNy4\ncR5NDX7q1CkEBASgVatWuHDhQrHrcRxX4oWKHNf+JoRIxkRIlwNYfnI50nXpCPMLQ3xkvLy8PDiO\nw2effYaFCxfio48+glqtRtOmTfHGG2+4DP8FpOYixyWcAWD8+PF44IEH8NNPP2Hx4sXgOA5KpRLL\nli2DTqfD008/XWQ6/8ICAwMRERGBy5cvo3v37gCAgQMH4osvvsCAAQPQunVr9OjRo8TXEBsbi6NH\nj2LgwIFo0qQJHnzwQQDS3GkTJkxAdHQ0QkNDXfpjnnzyScTHx0Oj0biMXmvYsCHmzp2LJ554Aowx\nREdHY9iwYR6/n5999hmSkpLA8zzatm2LQYMGQa1W48KFC4iNjYVSqcTgwYMxZ84cvPPOO4iPj4fR\naER4eDjefvttt/tMSEjA3LlzERMTA6vVil69emHFihUel6msqs1lAhYtWoRJkya5HQzw1Vdf4fDh\nwxAEAWazGQaDAVFRUZgxYwZeeeUVLFq0CEFBQcjOzsaiRYvw7rvvevScdJkAUhvRZQJIRalTlwmY\nMGECJkyYAAC4cOGCy0iSnj174tChQ4iLi8OhQ4e8cvEkQggh5VflfTTJycl4/vnncenSJSxfvlwe\nY56VlYVly5aVun1cXBzOnTuHGTNm4Pz584iLi/N2kQkhhJRBtWk6qwrUdEZqo4KCAvj6+lZ1MUgt\n4O6zVJ6msyqv0RBCKhbP89VyehdSs1itVvB8xUREjeijIYR4TqPRwGg0wmQylTgKk5DiMMbA83yF\nnWdDQUNILcNxnNuz5gmpKtR0RgghxKsoaAghhHgVBQ0hhBCvoqAhhBDiVRQ0hBBCvIqChhBCiFdR\n0BBCCPEqChpCCCFeRUFDCCHEqyhoCCGEeBUFDSGEEK+ioCGEEOJVFDSEEEK8ioKGEEKIV1HQEEII\n8SoKGkIIIV5FQUMIIcSrKGgIIYR4FQUNIYQQr1JUdQGOHTuGLVu2IC0tDUuXLkXr1q2LXVcURcTH\nxyM4OBjx8fEAgM2bN2P//v3w9/cHAIwfPx49evSolLITQggpXZUHTbNmzTBr1ix88sknpa67e/du\nNGnSBAaDwWX5yJEjMXr0aG8VkRBCyH2o8qazpk2bIiwsrNT17t69i9OnTyM6OroSSkUIIaSiVHmN\nxlPr16/HxIkTi9RmAGDv3r04fPgwWrVqhcmTJ8PPz8/tPvbt24d9+/YBAJYvX+7V8hJCCJFUStAk\nJCQgJyenyPJx48YhMjKy1O1PnTqFgIAAtGrVChcuXHB5bOjQoXj88ccBAJs2bcKGDRvw4osvut1P\nTEwMYmIgYOHDAAAgAElEQVRiyvEKCCGElFelBM38+fPva/s///wTv/zyC86cOQOz2QyDwYD33nsP\nM2bMQGBgoLxedHQ0VqxYcb/FJYQQUoFqRNPZhAkTMGHCBADAhQsXsGPHDsyYMQMAkJ2djaCgIABA\ncnIymjVrVmXlJIQQUlSVB01ycjLWrl2LvLw8LF++HC1atMC8efOQlZWFNWvWYM6cOSVuv3HjRly7\ndg0cxyE0NBTPPvtsJZWcEEKIJzjGGKvqQlSV9PT0qi4CIYTUKJ6MEi6syoc3E0IIqd0oaAghhHgV\nBQ0hhBCvoqAhhBDiVRQ0hBBCvIqChhBCiFdR0BBCCPEqChpCCCFeRUFDCCHEqyhoCCGEeBUFDSGE\nEK+ioCGEEOJVFDSEEEK8ioKGEEKIV1HQEEII8SoKGkIIIV5FQUMIIcSrKGgIIYR4FQUNIYQQr6Kg\nIYQQ4lUUNIQQQryKgoYQQohXKaq6AMeOHcOWLVuQlpaGpUuXonXr1m7Xe+mll6DRaMDzPARBwPLl\nywEAOp0Oq1evRkZGBkJDQzFz5kz4+flV5ksghBBSgioPmmbNmmHWrFn45JNPSl134cKF8Pf3d1mW\nmJiIzp07Iy4uDomJiUhMTMTEiRO9VVxCCCFlVOVNZ02bNkVYWFi5tz958iQGDBgAABgwYABOnjxZ\nUUUjhBBSAaq8RlMWCQkJ4HkeQ4YMQUxMDAAgNzcXQUFBAIDAwEDk5uZWZREJIYQUUilBk5CQgJyc\nnCLLx40bh8jISI/3ERwcjNzcXCxevBhhYWHo2LGjyzocx4HjuGL3sW/fPuzbtw8A5D4eQggh3lUp\nQTN//vz73kdwcDAAICAgAJGRkUhJSUHHjh0REBCA7OxsBAUFITs7u0gfjrOYmBi5JkQIIaRyeNxH\nY7FY8PXXX2P69Ol46qmnAABnz57F3r17vVY4B6PRCIPBIN8+d+4cwsPDAQA9e/bEoUOHAACHDh3y\nuIZECCGkcngcNP/+979x/fp1zJgxQ26eatasGX744Yf7KkBycjKef/55XLp0CcuXL8eSJUsAAFlZ\nWVi2bBkAqR9mwYIFePXVVzF37lz06NED3bp1AwDExcXh3LlzmDFjBs6fP4+4uLj7Ko9HRBFgzPvP\nQwghtQDHmGdHzGeffRbvvfceNBoNpk6dinXr1gEApkyZgvXr13uzjF6Tnp5eru24jAxwJhOgVIJp\ntWA+PoCiRo2rIISQcinPKGGPj44KhQKiKLosy8vLQ7169cr8pLWCQgEwBi4/H1xODiAIYCoVmK8v\noNEAfJWPHCeEkGrB46Nh79698cEHH+DOnTsAgOzsbHz++efo27ev1wpX3Wi3bUODqCg06t4d9UeO\nhGbPHkAQAJUKEARwNhv4u3chpKWBv3ULXHY2YDZXdbEJIaRKedx0ZrVasXHjRuzfvx9msxkqlQrR\n0dGYOHEiFDW02agsTWfabdsQMHs2ePugBAAQNRrkvf46jLGx7jdiDLBYpNqNo5nN11cKJ0IIqYHK\n03TmUdCIooiLFy+iXbt2UCqVcpNZSees1ARlCZoGUVFQpKUVWW5t1AiZu3Z5thObTfpRKKRmNh8f\nQKsFavj7SAipO8oTNB41nfE8j5UrV0KpVAIA/P39a3zIlJVQTCgJt2+XYSf2ZjaeB2e1UjMbIaRO\n8LiPpkOHDrh06ZI3y1Kt2YpLcZ6Hz1dfgdPpyr5TpRLM3uzIGQzgb98Gf+MG+Dt3pP3ZbPdRYkII\nqR487qP57LPPcPToUfTs2RMhISEuNZqxY8d6rYDedL99NEyphK1xYyj++1+IPj4wjB4N/bhxsDVr\ndv+Fs1rBiSKYo5nNMZqtjtUkCSHVi1eHN5vNZvms+6ysrDI/UU1nGDMGAFBv+XII6emwNWwI3fTp\nMMbGQnHxIny//ho+334Ln02bYOrfH/px42COjCx/MCgUcHwD4CwWcHfvgmMMTKkE02ik4LE3ZRJC\nSHXmcY2mNrqvEzbdNGvxGRnw2bIFPlu3gs/JgSUiAvoJE2AYPhxQq++3uPeIImC1Sn0+SiWYjw+Y\nVkuj2QghXue1UWcON2/exNGjR5GVlYXg4GD069cPjRs3LvOTVhcVHTQykwnavXvh8/XXUF6+DDEw\nEPq//Q36J56AGBpaztKWoHAzm5+fFGzUzEYIqWBeDZpffvkF77//Pnr06IHQ0FBkZmbi1KlTePnl\nl9GzZ88yP3F1UO6gycwEZ7GUfiBnDKpffoHP119DffgwIAgwDh2KgvHjYS10iYMKw5g0iIAxQKUC\nU6upmY3ULM6HJE9vc5x0vhrNyOF1Xg2af/3rX5g6dSoeeOABedmFCxewdu1arFq1qsxPXB2UN2hg\ns4HPzJROxvTwZFXh+nX4bNoE7XffgdfrYe7aFQUTJsA0cKB350lzNLPxPKBSQfT1lc7doT/I6sn5\ni4K7A6vz8kLrcKWtU/h24X0Xus2V8nixtwu/njLclp+T49yuwxzLHV/ynG5z9tvMETocdy+AnJcr\nFGCCIN12/Ou8DSmRVwcDZGVloUOHDi7L2rdvj7t375b5SWs8QYDYsCGg14PPzpaXlcTWrBnyZ82C\n7rnnoN2xAz7ffIOg116DrVEjFIwdC0NcHFgJ19IpN3vAAABEEXx2NrisLNfRbNTM5n2MSaFvswEW\nCzirVW7ylIPFZpMGfDjWB1wPuO5+R87Lynq7IhW33zI+3/10GBe7rX2ORrkkRqP0vjuFLgcAPA/G\nmGvNyH6bOW4LghRUziHlHFTELY9rNG+88Qa6du3qMg3/d999hzNnzmDRokXeKp9XlbtG44wxcDk5\n4HU66ZwYT/+wbDaojxyBz1dfQX3qFESNBoZHHpGGR7docf/l8gRjUm0HkJrZHKPZKrCGxRiD3qqH\nyEQoOAUEXgDP8RA4ofac9OsIC6tVChCLRQoNUZQeE0WpD835m7jjIEU8JjIRNmaDTRRhhRVW0Qob\nE2Fj9iDhAM7+HwDwHA/efp/npVs8ePAcL12NF/b1HTUix38lfS4dXxicJxhmDBzHSWHkpjbFHLcF\nQZp81/6vHFLO69cAXm06S0tLw4oVK2AymRASEoK7d+9CpVLhtddeQ9OmTcv8xNVBhQSNg/1M/7I0\npzko/vwTPt98A+2ePeAsFpj69UPB+PEw9+5duR8+xwGT56Vh1OVsZhOZCL1FjwJLASyiBQwMPHiI\nkP44GWPSwYCDHDg8x8s/AidAySkh8IIUTE4Hh0rlaMZyhIjFcq8W4vhx1EIcZXM+cJASMcYgQoTI\nRFhFG2ywwSJaYWM2iE6PMcZgY9LgG8fnhgMPoZTPBGMM8n+OyguY/f/sXhWIg/22PaI4x2J7aJUQ\nSoBrwEkBxoEH5xRo9oCzb8GJDJw9nACAZwDH8UWb8AoHlULhGlTO/VKV+Hnz+qgzm82Gy5cvy6PO\nIiIiauyEmkAFB41DGZrTCuPv3oV261b4fPsthLt3YW3ZEgXjx8MwYoR0wK9sFov0N+g8mk2lcvuh\nLhwuAKDgy/fZcBxYpBrAveUcOAi8IP3h2v+IeY6XQ0nJK10Cq0TOAWKvhbgNEKlA95pNKEBK5Pjd\niWCwilKtwwqb/fcJiJBqIMweIIyTDvgcx4PnpANyTa/pei3gRBEck4IKwL0Q4+xr8Tx4TpBqb4IA\njuPBcQJ4QSHdVygAXgCnUELQlH+ORa8GzbVr1+Dn54f69evLyzIzM6HT6dCispp6KphXggYof3Oa\ng9kMzY8/wvfLL6H880+IAQHQP/YY9E8+KfUNVQVHMxvHyTNRWzVqFDATDFYDzDYzOI4rd7jcD5GJ\n8g9EUfp7tVoh2ERpTjkbgwAOvMggMA5KxkHgFBA4XqoxCUpwdA5SsRzvrY2JsDJ7eDCbvcbBpMfB\nINrDRPq4M8Be6yg19EmFKCngwBiYTQTAIJpNaNCiMzR+geV6Hq+POps9ezYaOh3obt26hbfeegtv\nvfVWmZ+4OvBa0DjYr08D+9U4y4wxKH/9Fb5ffw31wYMAx8EYHQ39hAmwdO5c8eX1gI3ZoLMUQG8p\ngMVigqBQgldppJmo1Wrv9Ts4t407d6Y7L7fZpC+JhYe7OgX9veYaBsZE+7dK6VshZ2/T552+XQsc\nDwWvgAIKCLy9tlTDv3U7N1k593dY7U1WDPdqlCLsfUtwfIO2vzcUHjWWxaRHSJN2lRo0Hn/9zMzM\ndAkZAGjUqBEyMjLK/KR1hiBAbNCg/M1pHAdL9+7I6d4dQnq6NDw6MRHaH36AuVMn6CdMgDE62uvn\nyFhFK3TWAhhsRlhEq9R3IiigEuwfH1EEl50tHbOVSqmZTau9N9qtNKINEJlrZ7oo3gsRR4CIouuQ\nVedQcx4dVAKO4yBAgFBSfy8YbIzBBhEmUYRoZWAQpS+G9mdwbqKTgkfqb1JAkIKJVziFlvcPyo5Q\nsDERNtEGK7PCwqz22si9YHH8cBwn9ZU5+scKhSfP8VIfGqimR+6fx0ETHByM1NRUtGrVSl6WmpqK\noKAgrxSsVvHxgajVgsvNlZrTytHWbwsLQ/7MmdLw6J074fP11wicNw+2d9+F/oknoB8zBiywfN9Q\n3LGKVuRbC2C0GWFhVig4BXiOh0ooJjyUyntNzyaTNPu044JvjslArdYio7EcgeIyYsc5jO2doFU1\nT5IUFABKOOCK9hCyMRFGZoLNKsrBBHDSy7IfyAVOkNvVBU6AkldAgACFfTSe8wFfDgYwWEQLbKJN\nCg+I0jgFe18Is4cJOOYYb+W2v6OyQo+QwjxuOtu3bx+2bt2K0aNHo2HDhrh16xZ27tyJMWPGICYm\nxtvl9AqvN525c7/NaQ6iCPXRo9KsAydOgKnVMIwYAf348bC2bl2uXVpEC3RWPQw2A6zMJofLfXOc\nJ0Kd6S7cNeNxjLMPlXW0s0sDIngI1GRFKkRVNJ2VadTZsWPHcODAAWRlZSEkJASDBw9G7969y/yk\n1UWVBI2DwQA+K0s6AN/nyD1FSoo0PHr3bnAmE0y9ekE/fjxM/fqV2mdiES3Is+hgEk2wijYoeWWN\n7n+oyQJ/OICwj9dDeScDlgahSH9+CnKGDq7qYpFaploGTWpqKhQKBcLDwwEAubm5WL9+Pa5fv462\nbdti8uTJ0Gg05SowIIXXli1bkJaWhqVLl6J1Md/GX3rpJWg0GvA8D0EQsHz5cgDA5s2bsX//fvjb\nz6ofP348evTo4dFzV2nQANLotPtoTiuMy86Gz3/+A5/NmyFkZMAaHg79uHEwPPKI1FlvZ7KZkW/V\nwSSaIYoiFLyCwqWKBf5wAOHL3wVvMsnLRLUa/41/hcKGVKhqGTQLFizA448/ji5dugAAVq5ciezs\nbAwYMABHjx5F8+bN8Y9//KNcBQaAGzdugOd5fPLJJ5g0aVKJQbNs2TI5UBw2b94MjUaD0aNHl/m5\nqzxoHCqqOc3BYoFm/374fPUVVBcuQPTzQ/7oR3DrbyOQ3yAIjDEKl2qAL9BDk3oN2stXEPbR5xAM\nxiLrMACirw9EjQaiViP9q1HL920aDZj9vs3+ONOo5duiVgNRrb63baH7UFBnf11TLUedpaWlyXOc\nFRQU4MyZM1i1ahXCwsLQs2dPzJ8//76CpqbOKlChHKPTKqo5TamEYdgw5MQMgvXsSQR/sxVBmzbB\n/5tNyH24DzKefAwFXTtVXPlJyRiD8k4mtJevQJuSCu3lVGhTUqG+ce+LTknf9rJGDAFvMII3maR/\njUbwBgMUOTlO903gHXN4lYGoVN4LLo0jgBz3NSXfdxN8Lvc1aq9eI4maGmuOUo9mNptNPvv/8uXL\nCAwMlBOtfv36KCgo8G4JnSQkJIDneQwZMsRlAMLevXtx+PBhtGrVCpMnT4afn1+llalCabUQw8LK\n3ZzGGIPRZkK+tQBm0QwGEcpO7aBLmIubtzNQf9sOhHy3G4GHjkLfLgIZT8QhJ7o/mKfDkEmpOIsF\nmqv/hcYpULSXr0CRr5PXMTVpDEOb1sgaHg1Dm9YwRLRCmxdnQXX7TpH9WRo2QNo/X/DsyRkDZ7GA\nNzoFklMIub/vvK59ucEIQVcAZWaWfN/xOOd5ly4AQFSpnAJMUyjQ3NwvUgNTQ1Q7BZx9uf/RE2j6\n9kdyU6Pq9h2EL38XAChsqqFSg6ZZs2Y4duwY+vbti6NHj6Kz04mCWVlZ8HFq+y9OQkICcnJyiiwf\nN26cfHloT/YRHByM3NxcLF68GGFhYejYsSOGDh2Kxx9/HACwadMmbNiwAS+++KLbfezbtw/79u0D\nALmPp9rhOLDAQNjq1fOoOY0xBoPNiHxLASzMAoBBwSuLnKFvaRiKmy88jVtTJyB4736EbvkOzRe/\nhbCPPkfmY6Nw97GRsAZV3PDoukDIyZWCJCUV2stXoU25AvW16+DtE5WKajUMrVsgZ9DDMLRpBWNE\nKxhat4ToW/RvJv35KW77aNKfn+J5gTgOTKWCTaWCzb/efb46NxgDZza7BpNcoypc43K9LxiM4Oz3\nBaMRipxccMY7EJz34/Tay4M3mRC+5G3U/89OiGoNmNoecho1RJX0L9OopSBTqyGqVXJTo6hWSYFm\nv+1ojnQEJV299v6U2kfzxx9/YMWKFQAAnueRkJAg12h27tyJy5cvY+bMmfddkEWLFpXYR+OsuH6Z\nO3fuYMWKFR5fH6fa9NGUxE1zGmMMepsBOoseZmYGwEFZ1qlfGEO95NMI3ZwI/+MnISqVyB4yEJlP\nxMHQtnzDo2stUYT6RnqhWkoqVBmZ8iqWkGB77aSl9G+bVjA1DSvTAarONwWJIniTuUgtyl2Nq8nq\nj+Curs8A6B7sJq1nMkvhZjLZtzWBN5vLVzSlUgoutT247P+yQgEl/Vso5NTO67tbJgWeqFaDqZRe\nPQUg8IcDaPx/66DKyJTOzYuPh2HMmDLtwyt9NO3bt8dHH32EmzdvonHjxtA6Te7Yo0cP9O3bt8xP\nWlZGoxGMMWi1WhiNRpw7d06uxWRnZ8snjSYnJ6NZs2ZeL0+lsjensZxsGHMzoGNmmEXp6p5KXgEl\nV87BAxyH/F4PIr/Xg1D/dR31v/0Owbt/RMjuH5HfvQsyn4xDbr9ede6bHK83QJN61V5DkZq9NKnX\n5I56JvAwNg+HrntnudnL2KZVhdQGc4YOrlvBUhjPS01jWg1QynngDb76ttimxivvldBaIYpSrcxo\nuhdqJhM4+bbjMZMUUo6AMplc17OHFm80QZGTIy03Oa1rNJV8ufdiMI6z16g09lrWvWBihUJOVKvs\nyzROIee0XqFAq5d8CmFr1oM3SWGrSEtDwOzZAFDmsCmrMp1H4w3JyclYu3Yt8vLy4OvrixYtWmDe\nvHnIysrCmjVrMGfOHNy+fVueT81ms+Ghhx7CGPsb8/777+PatWvgOA6hoaF49tlnPZ6toLrXaIrM\niCzaoMrJB8xmr0w7I+TlI3jHXoRu3QHV7TswhTVC5uOP4u6oodKVOWsTxqDMyJRrJ47aivpGutwP\nYfPzhaFNKxgiWsm1FWOL5mBq6tOqajViOLjV6hQ+UkBJNSyzayAVrnU5h5xTAHIm19BzbCsY76/J\n0dqkCe4kJ3u8vtdP2KxtqmPQ2EQbCiwFJc+IbDSCz8mpkJM93bLaEHAkCaGb/wO/cxdh8/FB1sgh\nyHj8UZiblv1DVtU4iwXqv667NHtpU1KhyM2T1zGFNXZp9jK0aQVLwwY0k0E1VuebGh0YA2e22MPH\naK91mcCbnGpoRhOaL1jqvrmR43Dzxg2Pn46CpoyqS9A4wkVv0cPCLNKswXwpTVaMgdPpwOfnl+9S\nBB7S/n4JoVsSEbj/MDibDXn9eiHjyTjoenStlgdhIS9fChL7UGJNylVorv51r4NepYKhdQupY95R\nW4loWftqbIQU0nHMZLfNjVSj8bKqDBqbaEO+JR8GiwEWZpFmFC4tXNwRbeCyssGZTJ7PllwOioy7\nqP+fnaj/3W4ocnJhaN0CGU8+huwhg6qmKUkUoUq/JQWKo6aSkgrV7XuziVtCglyavQxtWsPUtAmd\npEjqJLfNjVotcleuLFMfDQVNGVV20FhFK/LN+TBajbCIFmkq+YqaJNFkki5F4K3mNDvOZEbQjwcR\nuvk/0F65BktgAO4+OgKZY0bBWj/EO89pNEJ75Zprf0rKVQgGAwB7B314M3uotJJrK9ZgmlmcEGdV\nNeqMgsbLLKIFOrMOBqsBVtFaseFSWCU1pzmey+/0WWl49NETYIKAnOj+yHgiDoYObcu9T0Vmltsz\n6B1nvNt8feRAcdRWjC2pg54QT1XLuc5qM28FjUW0IM+cB5PVBKtorfwZkR3NaV4anVaY6kY6Qr/d\njuCd30MwGKDr0hEZTz4GzmhC2Kcb3HfWWq3Q/HX9XqA4OuhzcuX9mho3lILE0Ukf0Qrmxg2rZd8Q\nITUFBU0lq8igMVlN0Fl1MFqMsLFqMt2+ySSNThNFrzanOfC6AoTs+gH1v/0O6vRbYIDLKBdRoUDB\nA+0h6A3QXP0veItFWq5SwtiyhVMtpRWMrVvCVq+GTiVUHlYrOFGUrlBqr41yonjvEtY2m3SBOMef\nq7uLxBHiAQqaSna/QWOympBvkfpcGBgUXDWcEZkxcAUF4PLypLCpjPLZbOg0egKUTrUTuTg8h/ye\n3e81e0W0hDG8Wd3roBdF6YqjgiBfhZRpNUBJA0IYA5gI2KRtOZut6GWvna9a6vhdOy57Xd0+m6RK\nVMvZm0lROrMOueZciEyEglMUPc+lOuE4MD8/MB9t5TWnCYLLOSouGJC6eql3n786YkwKFgBQqcB8\nfKRrBJWlRsJxACdIYeR06WzAzezPjtCx2cBZra6X0XYKJZdakiOQSrlYHiFlVY2PkNWXwWaAwAkQ\nuBr0LZwXwOrXBzOb741O82Kzi6VBqPspQhqEeu05qx2LRboss0IBplKBBQZKIV8ZNQtHYCgUYGq1\nvLhIIDk1zcFqlUNJriExJgUUACaK98ouCBRINdDumwfw/uV1uG3KRJhfGOIj4zEmwrvTzwAUNHWP\nSgWxQQOvN6dVyGzENY2jn0WhkPpa/PwAtbp6H5A5TgoNQZBqWvbFbgOJmu1qJMYYzKIFO2/uw//+\n+TFMojTXWZouDbOPSHOdeTtsqI+mHDIMGbCJZZ8wr9oRRXBZWV5rTqv1U4SUp5+lLnCEjiOQnJvt\nCteSGLM3CdoDrwyBtPvmAXyQsh63jBlopAnF9IgpGNG4en++RCbCJEoT45psJhhFM0w2E8yiWb5t\nEs0w2kzSOqIJRpsZJtG+js0MkyjdNzndvrdO4f1aYBLNYCVcWq+JXxMkj6eZAbymzgeNQyU1p9V4\nhftZ1GowrbZSRvTVSk6hU9Zmu923f0LCxXdhFO/VmDW8GvM7vuJx2NiYDWbRAqP94G6yH6xN9oO0\nUTTDbF9utB/YpUC4d5A32kPCcdtk38bosq97gWAWLeV+u3jwUAsqqHk1NIIKKl4FNa+CRlBDzUv3\nNfbH1bzKvq79vqDCBynr3e6XA4cb07w71xn9hRCpOa1hQ3A6ndScVkHt7zXxG2cRFot0oHM0h1Vm\nP0tt5/iMedhsZzAVILsgE9mGu3jr0hqXkAEAo2jC4ovv4uCdJJgd4eASIBa5JmAUzbAya7mLruAE\n+0HcfoDnVVDbD/hqXokQZYAUAvYDvrRO4QCw/8jbSbc1ghoqXimtL6jlxxWcAK7w32UZPodbb+zG\nTWPRftMwP+9PlEtBQ2TS6DSfCmlO233zgMs3zpvGO0i4KF1qt1qHTaHzWWpEP0sNxBhDgbUA2cZs\n5JhykG3MRrYpG1nGLGSbspFjzEG2SVrmeMxkK306fINowhVjmnRwVqih5uvB33FbKP1HI6ihkmsN\n0jKVcC8AHPcVXKFDp3PDUOFGIsd9d/8WWvfepbKZyz+OdeW1nbct7vkK3X+pzVQsvvCOS0BrFVrE\nR8YXeR8rGjWdlUOtazpzx9GcVs6TPUccmez221MDdQi29v0EPoLWe1PxlIVzP4tCAabVUj9LOTDG\nkG/Jl0PB8W/hEHG+bymmGUkjaBCkCUKQWvoJ1AQiSB2EYE2wfH/xicW4a7xbZNtGPo2wK26Xt19u\njbXn6h58cPYD3NbfLveoM+qjKSMKmtKVtTlNZCL+yL+Cv594udR1fQQtfBU+8HX8q/CBr+ADH4UW\nfgofp8ftjym08BV8pMfk5VpoBY3noVW4n8V+Tgv1s7gSmYg8c55c43DUNNwFiOO+VXTfFOWr8JXD\nIkgdJIdI4QAJ0gQhUB0IrULrdj/O9lzdg8XJi2G0GeVlGkGD16NeR2zL2Ap7H2oji82CUJ9QaBSa\ncm1PfTSkwsnNadn2SxG4aU7Ls+Tj2N3TOJp5Ekl3T+GuObvY/QUo6uHplmNRYDOgwKqXfmx6FFil\n+9nmHOiseujtj1tZ6YHOgbsXSvYwuhdWPvDlNVKYqfzgq/KDj08gfLUB8LH6wo/zg4/eB75KX/gq\nfKFVaKtsdgfnb5sNfRpietfpFXbQtIk25JpzXcLBXYjkmKQmq1xTLmzFvPd+Sj85IML8wtAppJNr\ngKgD79VINEFQC2q3+7kfjvfFW+8XqVhUoymHulSjcWFvThNtVvxp+AtHM3/B0bsncS7nD4gQEaCs\nh97BPfBQ/UjobUasvvTpfY0KYozBJJqhtxmk8LHqXUJICih7SMm3XdfT2Qzy+sUdOJ3xHA+tQgs/\npZ9Ua1L6uvz4KHykx5T3wslX6QsfpU+RbTSCxuPQKus3dItoQY4p515fhpsAce7zyDPlFTvENUAV\n4LbGUeRfe4goBe9P1Eq8pypqNBQ05VAXgybPnIfjN48j6WYSjqUdRaYpCwDQoV4b9KvfEw/Vj8QD\nAe1cZkuotFFnHvSzMMZgspmkK5la9dBZdPJVTXUWHfRWPQosBfKPu/s6iw56ix4F1gKITCy1WDzH\nw1fhPoQcoeW4vf7ieuSZi07b46v0xdDwofeaqOzB4m5dx3MGqALc1y4coeF0P0AdUL2nUCIVjoKm\nkiVFDtcAABpNSURBVFHQFI8xhks5l3A0/SiOph/F+czzsDEb/FX+6N2oN/o27oN+2o6oz7RevbJn\nMYWr0n4WxhiMNqMcVAXWApdQctz3NMRKOpkOAEI0IUXCwm2AqIPgr/Iv35VaSZ1BfTSkSuWb83Hi\n1gkkpSfh6M2jyDRkAgDaB7XHlI5T0DesLx4IecDlG7BoNkuXIrDZvHugL3w+S0CAFHBV0J/CcRy0\nCq3UaV16v3WJHKE1ZscY3DEUHaVHo6hIbUBBU4cxxnA55zKOph9F0s0knM04CxuzwU/phz6N+6Bv\nWF/0bdwX9bX1i9+JPHeaDlxuxZ3sCZtN+hEEKViCgmrl+SyO0JrRbYbbPprpXadXYekIqRgUNHVM\nvjkfybeScfTmURxLPyZ/i24X1A5PdXwKfRv3Ref6ncvcbs98/cC09tFpRmPZm9MK97PUq1enzmeh\nUVSkNqvyPppjx45hy5YtSEtLw9KlS9G6dWu36xUUFODjjz/G9evXwXEcXnjhBbRt2xY6nQ6rV69G\nRkYGQkNDMXPmTPj5eXZlxrrQR8MYQ0puilRrSU/Crxm/yrWWXo164aGwh9AnrA9CtRU4fb8nzWl0\nPgshVaJODga4ceMGeJ7HJ598gkmTJhUbNB988AE6dOiA6OhoWK1WmEwm+Pr6YuPGjfDz80NcXBwS\nExOh0+kwceJEj567tgaNzqKTai3pR3Hs5jHc1t8GALQNbIu+YX3xUNhDeKD+A1Dy3h2myhXowOXl\n35sqvnA/i49PlfWzEFJX1cnBAE2bNi11Hb1ej99//x0vvfQSAEChUEBh/+Z78uRJLFq0CAAwYMAA\nLFq0yOOgqS0YY7iSewVJ6Un4Of1nudbiq/RF70a98WznZ9G3cV808GlQueVyNKfl5EjzNAUGAhpN\nretnIYSUrMqDxhN37tyBv78/PvroI/z1119o1aoVpkyZAo1Gg9zcXAQFBQEAAgMDkZtb9Dr1Dvv2\n7cO+ffsAAMuXL6+UsntLgaUAybeSkXQzCUfTj8q1ljaBbTCxw0T0a9wPXUK7eL3WUiqeBwsOrtoy\nEEKqVKUETUJCAnJycoosHzduHCIjI0vd3maz4erVq3j66afRpk0brFu3DomJiRg3bpzLehzHlXgm\ndkxMDGJiYsr+AqoBxhhSc1Nx9KbU13Im4wysohW+Cl/0atwL0x6Yhr5hfdHQp2FVF5UQQlxUStDM\nnz//vrYPCQlBSEgI2rRpAwDo3bs3EhMTAQABAQHIzs5GUFAQsrOz4e/vf9/lrS70Fj1O3j4pnzR5\nS38LANA6oDX+3u7v6BvWF13rd6UpQQgh1VqNaDoLDAxESEgI0tPTERYWhvPnz8t9Oz179sShQ4cQ\nFxeHQ4cOeVRDqq4YY7iWdw0/p/8s11osogU+Ch9ENYrCMw88g76N+6KRb6OqLiohhHisykedJScn\nY+3atcjLy4Ovry9atGiBefPmISsrC2vWrMGcOXMAANeuXcPHH38Mq9WKBg0a4MUXX4Sfnx/y8/Ox\nevVqZGZm1sjhzQarASdvncTRm1Kt5WbBTQBSraVvWF/0C+uHbvW7Ua2FEFIh6uTw5qpUFUHjqLU4\nOvFP3zkNi2iBVqFFVKMo9GvcD33D+qKxb+Ny7Z8QQkpSJ4c31wUGqwEnb59EUnoSktKTkFaQBgBo\nFdAKY9uOlWotod2gEip5ckpCCKkEFDRewBjDf/P/K3fin75zGmbRDI2gQa9GvTC542T0C+tHtRZC\nSJ1AQVMG21K2YfnJ5UjXpReZi8pgNeDU7VNSuNw8ijSdVGtp4d8CT7R9Av3C+qF7aHeqtRBC6hzq\no/HQtpRtmH1kNgxWg7xMLagR3Swa2aZsnL5zGiabCRpBg8iGkXJHfhO/Jt4oOiGElAsNBqhkZQma\nqK+j5FpKYc39m6Nf435SraVBd69cI50QQiqCyWZCQ5+GNBigOkrXuQ8lDhy2jdpWyaUhhBBXIhNh\nY9JoWMYYOI4Dz/FFfnwUPpXehE9B46EwvzC3NRqa8oUQ4k0iE+UfAOA5aVJagRdcAkTJKaHgFVDw\nCgic9FhJU3JVJgoaD8VHxhfpo6ErIBJCyosxBhuzgTEGBgYOnEstROAFcOCg4BVQ8kooeaW0nBOq\nTYB4ioLGQ2MixuD/27v3oKjO+4/j73P24oKL3AQswYxFsYlJrDoyGBKljcTO1DRNO8ZIGy3aBCsm\nOl7a2umYSUrqkFFLWqJRU7lIpo3YBu20aWZKYqSDZkAIiY2hHUUzhquEm9wCu3t+f6x7flxVkL2A\n39eMIxzOYb/77HI++zznnOcAw551JoQQ4AwQVw9EQ9NDwdXLcP0zqkZnL8Tg7IGMxwC5VXIywCj4\n+o3PhBBjr1+AKM7dpkKfHsj1oDAqzh6IaxjL9fOJQk4GEEKIUXAdSHcNYQGDDqIbFIMzQBSj3guZ\nSAHiThI0QogJa6gzsRSUYQ+kmwwmVJzHR8TYkaARQowr+vCVpjmHsDT0A+muA+iuIDEqRv1guq+d\niXUnkaARQnjNcKGB8v9DV67jIK4zsoyKEaNi7NcrmcgH0icCCRohxJi43dAwqAZUVOl1TEASNEKI\nQfqGxvVj4/pB8r7XevQNDpPiHJ6S0BADSdAIt3NdkAb9d1bC/VxtP1xo9O1d9A0OVy9DPz1XQkPc\nBgkaMeY0TcOm2QAwKSYmGSdhVIw4cE6h4ZpKwxU+rku5XN8PtWyodW51PQVF38m6Tl/VtOv/X7+g\nbuDy6xvq2w8MSG8Epn4dBw79eTpHppRBQ1ISGsKXSNCI26ZpGr1aLwoKZtXMJOMkfeI+X9iZ3SyM\nNLRByxyO66F4PRxdPQP9/wFfD/V7b/Xxh1pv4HQkfUPDqF4/pqEY+gWMEL5KgkaMmENzYNNs/YIl\n1BSKSTX55A5vYC+EWylRLqMQYsxI0Iibcl30pqBgUk34m/zxN/r7bLAIIXyLBI0YZLhgkdtQCyFG\nw+tBc+bMGY4dO0Z1dTW7du1i5syZQ67X0dHBgQMHuHLlCoqisGHDBmbPnk1+fj7vvfceU6ZMASAp\nKYkFCxZ48imMew7Ngc1hQ1VUzAYzFqOFyabJmFSTt0sTQkwAXg+a6dOns337dg4dOnTD9bKzs5k3\nbx7btm3DZrPx1Vdf6T9bvnw5jz/+uLtLnTD6BotJNTHZNBl/k78EixDCLbweNFFRUTddp7Ozk88+\n+4yNGzcCYDQaMRq9Xvq4YXfYsWt25ymuihGryYqfyU+CRQjhEeNib93Q0MCUKVPYv38/n3/+OdHR\n0SQnJ2OxWAB49913KSoqIjo6mjVr1mC1Wof8PYWFhRQWFgKQnp7usfo9ze6w49AcqKrzdNgAcwD+\nJn+M6rh4uYUQE4xH9jxpaWm0tLQMWr5q1SpiY2Nvur3dbufSpUusW7eOmJgYsrOzOX78OKtWrWLZ\nsmWsWLECgKNHj3LkyBFSU1OH/D2JiYkkJibe3pPxQa4ei6qo+jUsEixCCF/hkT3Rzp07b2v70NBQ\nQkNDiYmJAWDRokUcP34cgKCgIH29pUuX8sorr9zWY40HNocNh+bAoBgwG81YTVYsRosEixDCJ42L\nPVNQUBChoaHU1NQQGRnJuXPn9GM7zc3NBAcHA1BSUsL06dO9WapbSLAIIcYzRdMnTfKOkpISsrKy\naGtrY/LkycyYMYNf//rXNDU1cfDgQX71q18BcPnyZQ4cOIDNZiM8PJzU1FSsViuZmZlcvnwZRVEI\nCwsjJSVFD56bqampGVXNV7uuYnfYR7XtrbA5bDhwOO89bjDhZ/DDz+gnd/0TQnhdZGTkiLfxetB4\nk68EjStYDDh7LP4GfyxGiwSLEMLnjCZoZOzFC3odvWhoeo8lwByAxSDBIoSYmCRoPKDX0QuAUXXO\nvCvBIoS4k0jQuEGvoxc0MBqMmFRnj8XP6IeqqN4uTQghPE6CZgz02q/3WK4HyxTzFCxGiwSLEEIg\nQTM6mjNcJFiEEOLmJGhGIcQSot/9UAghxI1J0IyCHMQXQohbJx/JhRBCuJUEjRBCCLeSoBFCCOFW\nEjRCCCHcSoJGCCGEW0nQCCGEcCsJGiGEEG4lQSOEEMKtJGiEEEK4lQSNEEIIt5KgEUII4VYSNEII\nIdxKgkYIIYRbSdAIIYRwKwkaIYQQbuX1+9GcOXOGY8eOUV1dza5du5g5c+agdWpqasjIyNC/b2ho\nYOXKlSxfvpz29nYyMjK4evUqYWFhbNmyBavV6smnIIQQ4gYUTdM0bxbwxRdfoKoqhw4dYvXq1UMG\nTV8Oh4P169eza9cuwsLCePPNN7FarTzxxBMcP36c9vZ2nn766Vt67JqamrF4CkIIcceIjIwc8TZe\nHzqLiooaUeHnzp1j2rRphIWFAVBaWkpCQgIACQkJlJaWuqVOIYQQo+P1obORKi4u5qGHHtK/b21t\nJTg4GICgoCBaW1uH3bawsJDCwkIA0tPTR5XMQgghRsYjPZq0tDS2bds26N9Iex82m42ysjIWLVo0\n5M8VRUFRlGG3T0xMJD09nfT09BE97mjt2LHDI48zFsZTrTC+6pVa3Wc81TueaoWxrdcjPZqdO3eO\nye/56KOP+PrXv05QUJC+LDAwkObmZoKDg2lubmbKlClj8lhCCCHGhteP0YzEwGEzgIULF3Lq1CkA\nTp06RWxsrDdKE0IIMQzDiy+++KI3CygpKSEtLY2amhpKSko4d+4cS5YsoampiVdffZXFixcD0N3d\nTVZWFikpKZhMJn376OhoTpw4wV//+lfa29tZu3YtZrPZW09nkOjoaG+XcMvGU60wvuqVWt1nPNU7\nnmqFsavX66c3CyGEmNjG1dCZEEKI8UeCRgghhFuNu+tofEVjYyP79u2jpaUFRVFITEzku9/9Lvn5\n+bz33nv62W9JSUksWLAAgIKCAt5//31UVWXt2rXMmzfPozVv3LgRi8WCqqoYDAbS09NvOIWPt+od\nbsqhjo4On2jb/fv3U15eTmBgIHv37gUYVTtWVVWxb98+enp6mD9/PmvXrr3h6fljWW9eXh5lZWUY\njUYiIiJITU1l8uTJNDQ0sGXLFv0as5iYGFJSUjxW71C1juZvypttm5GRoc860tnZib+/P7t37/Z6\n2w63z/LIe1cTo9LU1KRdvHhR0zRN6+zs1DZt2qRduXJFO3r0qHbixIlB61+5ckXbvn271tPTo9XX\n12vPPfecZrfbPVpzamqq1tra2m9ZXl6eVlBQoGmaphUUFGh5eXk+U6+maZrdbteeeeYZraGhwWfa\n9tNPP9UuXryobd26VV82mnbcsWOH9t///ldzOBzab3/7W628vNxj9VZUVGg2m02v3VVvfX19v/X6\n8kS9Q9U6mtfdm23bV25urnbs2DFN07zftsPtszzx3pWhs1EKDg7Wz8jw8/Pjrrvuoqmpadj1S0tL\niY+Px2QyER4ezrRp07hw4YKnyr1hXUNN4eMr9Q6ccmgonq51zpw5gyZuHWk7Njc309XVxezZs1EU\nhSVLlrht+qSh6v3mN7+JwWAAYPbs2Td87wIeq3eoWofjq23romkaZ86cGXRJxkCeqne4fZYn3rsy\ndDYGGhoauHTpErNmzaKyspJ3332XoqIioqOjWbNmDVarlaamJmJiYvRtQkJCbvrH7Q5paWmoqsqj\njz5KYmLisFP4+Eq9A6+d8tW2HWk7GgwGQkND9eWhoaFeaV+A999/n/j4eP37hoYGfv7zn+Pv78+q\nVau49957aWpq8mq9I3ndfaVtP/vsMwIDA/na176mL/OVtu27z/LEe1eC5jZ1d3ezd+9ekpOT8ff3\nZ9myZaxYsQKAo0ePcuTIEVJTU71cpVNaWhohISG0trby8ssvD5rr7WZT+Hiaa8qhH/3oRwA+3bZ9\n+Vo73sjbb7+NwWDQr1cLDg5m//79BAQEUFVVxe7du/VjD94yXl73gQZ+SPKVth24z+rLXe9dGTq7\nDTabjb1797J48WLi4uIA5ycCVVVRVZWlS5dy8eJFwPlp4Msvv9S3bWpqIiQkxKP1uh4vMDCQ2NhY\nLly4oE/hA/SbwscX6h045ZAvt+1I23Hg8i+//NLjNX/wwQeUlZWxadMmfediMpkICAgAnBfrRURE\nUFtb69V6R/q6+0Lb2u12SkpK+vUUfaFth9pneeK9K0EzSpqmceDAAe666y4ee+wxfbnrBQPnrAfT\np08HnFPlnD59mt7eXhoaGqitrWXWrFkeq7e7u5uuri79608++YS777572Cl8vF0vDP5E6Ktt66ph\nJO0YHByMn58f//vf/9A0jaKiIhYuXOixeisqKjhx4gS//OUvmTRpkr68ra0Nh8MBQH19PbW1tURE\nRHi13pG+7t5uW3AeW4yMjOw3xOTtth1un+WJ967MDDBKlZWVvPDCC9x99936p8GkpCSKi4u5fPky\niqIQFhZGSkqKPv759ttvc/LkSVRVJTk5mfnz53us3vr6evbs2QM4P209/PDD/PCHP+TatWtkZGTQ\n2Ng46NRGb9bb3d1Namoqr732mt69z8zM9Im2ffXVVzl//jzXrl0jMDCQlStXEhsbO+J2vHjxIvv3\n76enp4d58+axbt06twxbDFVvQUEBNptNr9F1qu2HH35Ifn4+BoMBVVV58skn9Z2IJ+odqtZPP/10\nxK+7N9v2kUceYd++fcTExLBs2TJ9XW+37XD7rJiYGLe/dyVohBBCuJUMnQkhhHArCRohhBBuJUEj\nhBDCrSRohBBCuJUEjRBCCLeSoBF3PIfDwerVq2lsbBzTdSeiuro6Vq5c6e0yxDgjU9CIcWf16tX6\n1z09PRiNRlTV+ZkpJSVFn07lVqmqSl5e3pivK4RwkqAR407fHf3GjRtZv349c+fOHXZ9u92uz1Qs\nhPA8CRox4bz11lvU1taiKArl5eWsW7eOyMhIcnNzqa6uxmw2s2jRItasWYPRaMRut5OUlMRrr71G\neHg4f/jDH7BardTV1VFZWcn06dPZvHkz4eHhI1oXnPO15eTk0NLSQkJCApcuXWLp0qV861vfGlS3\nw+Hg+PHjnDx5ks7OTh544AGeeeYZrFYr//73v8nPz2f37t1YLBbOnj3LG2+8wZ49ewgICODw4cOU\nlpbS1dVFZGQkycnJfOMb39Dbo66uDoCysjKmTZvGtm3bKC4u5p133sFsNrNhwwY9rHfu3MmcOXP4\n+OOPqa2t5f7772fDhg1DToff0dFBbm4uFRUVqKrKt7/9bZ588klUVaWmpoaDBw9y+fJljEYjc+fO\nZfPmzW561YUvk2M0YkIqKSnh4YcfJicnh/j4eH0KjcOHD5OWlsbHH39MYWHhsNsXFxfz1FNPkZWV\nxdSpU3nrrbdGvG5raysZGRk8/fTTHD58mPDw8BveJ+cf//gHH330ES+99BKvv/46FouF7OxsABYv\nXkx0dDQ5OTm0tbVx8OBBNmzYoE/SGBMTw549e8jKyiIuLo7f/e539Pb26r+7tLSURx55hJycHKKi\nokhLS8NgMHDo0CF+8IMf8Mc//rFfLUVFRTz33HMcPHgQTdPIzc0dsubMzEzMZjOZmZmkp6dTXl7O\nBx98ADgDbv78+WRnZ/P666/zne98Z9jnLiY2CRoxId1zzz0sXLgQVVUxm83MmjWLmJgYDAYDERER\nLF26lPPnzw+7fVxcHDNnzsRoNLJ48WI+//zzEa9bVlbGjBkziI2NxWg0snz5cj0YhvKvf/2LpKQk\nQkJCMJvNrFixgg8//FCfiPHZZ5+loqKCl156ibi4uH63q16yZAlWqxWDwcD3v/99urq69F4MwH33\n3cfcuXMxGAw8+OCDtLe38/jjj2MwGIiPj6euro7u7m59/YSEBKKiorBYLDz11FOcPn2agbNVNTU1\nce7cOX7yk58wadIkgoKCWL58OcXFxQAYDAauXr1KS0sLZrOZe+65Z9jnLiY2GToTE1LfWXMBqqur\nOXLkCFVVVfT09GC32/vd1Gkg160JAMxmc7+d8K2u29zc3K8ORVEG1dVXY2Mjr7zyyqDJCdva2ggK\nCsJqtRIXF8c///lPfvGLX/Rb58SJE5w8eZLm5mYUReGrr77i2rVr+s8DAwP71ThlyhT9BAqz2Qw4\nJzK1WCxA//YLCwujt7eX9vb2fo959epVbDYbzz77rL5M0zT9bqhr1qzh6NGj7Nixg4CAAL73ve8N\nOWQoJj4JGjEhDdxZHzp0iJiYGLZs2YLFYuFvf/sb5eXlbq0hODiYTz75RP9e07Qb3okwNDSUTZs2\nDRuAVVVVFBUVER8fT3Z2Njt27ADgP//5D3//+9954YUXiIqKAiA5OXlQD2Qk+t5vpLGxEZPJhNVq\npaOjo1+9ZrOZrKwsPbT6Cg4O5mc/+xkA58+f5+WXX2bOnDn68Stx55ChM3FH6O7uxt/fn0mTJvHF\nF1/c8PjMWFmwYAFVVVWcPXsWu93OO++8Q1tb27DrP/roo/z5z3/Wr9FpbW3l7NmzgPM07szMTH78\n4x+TmppKfX29/hy6u7sxGAwEBARgt9s5duzYDXtgt+LUqVNUV1fT3d1Nfn4+Dz744KDwnjp1KnPm\nzCEvL4/Ozk4cDgd1dXX6kOTp06f1YJ08eTKKogwZSGLikx6NuCOsXr2aN954g4KCAqKjo4mPj6ey\nstKtjxkUFMSWLVvIyckhMzOThIQEZsyYgdE49J+d62ZUv/nNb2hpaSEwMJCHHnqIhQsX8uabbxIR\nEUFiYiIAzz//PGlpadx///3Mnz+fBx54gM2bN2OxWHjsscf0+7WM1pIlS8jMzKS2tpb77ruP5OTk\nIdd7/vnn+dOf/sTWrVvp6uoiIiKCJ554AoALFy6Qm5tLZ2cnQUFB/PSnP2Xq1Km3VZcYn+R+NEJ4\niMPhYP369WzdupV7773X2+UMa+fOncOegi3EaEg/Vgg3qqiooKOjg97eXv7yl79gMBg8fptpIbxN\nhs6EcKPKykp+//vf43A4iIqKYvv27ZhMJm+XJYRHydCZEEIIt5KhMyGEEG4lQSOEEMKtJGiEEEK4\nlQSNEEIIt5KgEUII4Vb/B64snSSzTsbWAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x18482691f28>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"regr = LinearRegression()\n",
"p = plot_learning_curve(regr, 'Learning Curves (Linear regression)', X_train, y_train, n_jobs=4, ylim=(-1.7,-1.35))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment