Skip to content

Instantly share code, notes, and snippets.

@sshojiro
Last active April 25, 2019 19:52
Show Gist options
  • Save sshojiro/1942456c7b6d04d6f585db9e34a28c04 to your computer and use it in GitHub Desktop.
Save sshojiro/1942456c7b6d04d6f585db9e34a28c04 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Anomaly Analysis\n",
"\n",
"Data source: [Wine Quality Data Set - UCI Machine Learning Repository](https://archive.ics.uci.edu/ml/datasets/Wine+Quality)\n",
"\n",
"Detect Anomaly in variables across two datasets using Graphical LASSO."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Matrix utility\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# Sklearn\n",
"from sklearn.base import BaseEstimator, TransformerMixin\n",
"from sklearn.model_selection import GridSearchCV, train_test_split\n",
"from sklearn.pipeline import Pipeline, FeatureUnion\n",
"from sklearn.preprocessing import StandardScaler, scale\n",
"from sklearn import metrics\n",
"from sklearn.cross_decomposition import PLSRegression\n",
"\n",
"# Utility\n",
"from glob import glob\n",
"from pprint import pprint\n",
"\n",
"# Visualization\n",
"import matplotlib.pyplot as plt\n",
"import matplotlib"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"X = pd.read_csv('../data/wine/winequality-red.csv',delimiter=';')\n",
"Xtrain = X.iloc[:,:-1]\n",
"X = pd.read_csv('../data/wine/winequality-white.csv',delimiter=';')\n",
"Xtest = X.iloc[:,:-1]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((1599, 11), (4898, 11))"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Xtrain.shape, Xtest.shape"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"Ctrain=np.corrcoef(Xtrain.T)\n",
"Ctest=np.corrcoef(Xtest.T)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(Ctrain)\n",
"plt.title('corr. coef. for red wine')\n",
"plt.colorbar()\n",
"plt.show()\n",
"plt.imshow(Ctest)\n",
"plt.title('corr. coef. for white wine')\n",
"plt.colorbar()\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\users\\shojiro_shibayama\\miniconda3\\envs\\spectrum\\lib\\site-packages\\sklearn\\model_selection\\_split.py:1943: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
" warnings.warn(CV_WARNING, FutureWarning)\n",
"c:\\users\\shojiro_shibayama\\miniconda3\\envs\\spectrum\\lib\\site-packages\\numpy\\linalg\\linalg.py:1965: RuntimeWarning: invalid value encountered in slogdet\n",
" sign, logdet = _umath_linalg.slogdet(a, signature=signature)\n",
"c:\\users\\shojiro_shibayama\\miniconda3\\envs\\spectrum\\lib\\site-packages\\sklearn\\model_selection\\_split.py:1943: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
" warnings.warn(CV_WARNING, FutureWarning)\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sklearn.covariance import GraphicalLassoCV\n",
"glasso = GraphicalLassoCV()\n",
"\n",
"glasso.fit(Ctrain)\n",
"Cstrain, Zeta = glasso.covariance_, glasso.precision_\n",
"glasso.fit(Ctest)\n",
"Cstest, ZetaTest = glasso.covariance_, glasso.precision_\n",
"\n",
"plt.imshow(Zeta)\n",
"plt.show()\n",
"\n",
"plt.imshow(ZetaTest)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"a_scores=np.log(np.diag(Zeta)/np.diag(ZetaTest))/2 - ( np.diag(Zeta@Ctrain@Zeta) / np.diag(Zeta)\n",
" - np.diag(ZetaTest@Ctrain@ZetaTest)/np.diag(ZetaTest) ) /2\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAFQCAYAAABEaT5wAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzsnXl4XGXZ/z939jSTpEuWpmvaJm0ToAsUZBOK7IgiCggKoi+CAorK4iuo+MpPURAXFBHZFFABWUTAIrTsO3RJuiRd0jVp0yxNk2Zf798f50w7TSdN0sw5Z5bnc125OnPmzNxP0pnvPOd+7ud7i6piMBgMhugizusBGAwGgyH0GHE3GAyGKMSIu8FgMEQhRtwNBoMhCjHibjAYDFGIEXeDwWCIQoy4GwwGQxRixN1gMBiikEHFXUQmi8jrIlIuImtE5DtBzlkoIk0iUmL/3OrMcA0Gg8EwFBKGcE4PcIOqLheRdGCZiCxW1bJ+572tqucONXBWVpbm5+cPY6gGg8FgWLZsWb2qZg923qDirqrVQLV9u1lEyoGJQH9xHxb5+fksXbp0JC9hMBgMMYeIbB3KecPKuYtIPjAf+DDIw8eJSKmIvCQihw3w/KtEZKmILK2rqxtOaIPBYDAMgyGLu4j4gGeA76rqnn4PLwemqupc4A/Ac8FeQ1XvV9UFqrogO3vQqwqDwWAwHCJDEncRScQS9r+r6rP9H1fVParaYt9eBCSKSFZIR2owGAyGITOUahkBHgLKVfU3A5wz3j4PETnGft1doRyowWAwGIbOUKplTgAuA1aJSIl97BZgCoCq3gdcAFwtIj1AO3CxGqN4g8Fg8IyhVMu8A8gg59wD3BOqQRkMBoNhZJgdqgaDwRCFGHGPAMqr9/CHVzdgMl0Gg2GoDCXnbvCQnU0dXP7wR9Q2d3L+kROZNGaU10MyGAwRgJm5hzHtXb1c+ehS6ls6ASivbvZ4RAaDIVIw4h6mqCo3PlXK6h1N3H3xfESgbEf/vWMGg8EQHCPuYcrdr27gP6uqufns2Xxm7gTyx6VRXm3E3WAwDA0j7mHIf1ZW87slG7jgqElc+cnpABTlpVO+04i7wWAYGkbcw4xVVU3c8FQJC6aO4efnH4698ZfivAy27mqjpbPH4xEaDIZIwIh7GFGzp4OvP/ox49KSue+yo0hOiN/7WFFeBgBrTWrGYDAMASPuYUJHdy9XPbqU5o4eHrx8AVm+5P0e94u7ybsbDIahYOrcwwBV5aanV7JyexP3X7Zgr5AHkpeZQmZqImWmHNJgMAwBM3MPA+55rYIXSndw05mzOL04N+g5ImItqpqZu8FgGAJG3D3mpVXV/Hrxej4/fyJXnzzjoOcW52WyduceevuMDYEhdGxvbOfrj3zM7tYur4diCCFG3D1k9fYmrv9nKfOnjOb2zx+xtzJmIIry0uno7mPLrlaXRmiIBZ5ZVsWS8lo+2GRaMEQTRtw9onZPB1c+upQxoxK5/7IFpCTGD/ocs6hqcILFZTUAbKht8XgkhlBixN0DOrp7ueqxZTS2dfPA5QvITk8e/ElAYa6PhDgx4m4IGdVN7aza3gRAhRH3qMJUy7iMqvKDZ1ZSUtnIfZceyWETMof83OSEeApyfMZAzBAylpTXAjBl7Cgzc48yzMzdZe59YyPPlezgxjNmctbhecN+flFehjEQM4SMJWU1TB03ijMPy2VjXYtZrI8ijLi7yMtrdvKrl9dx3rwJXHtKwSG9RlFeOjv3dJjKBsOIaens4f2Nuzi9KJfCnHS6evqo2t3m9bAMIcKIu0uU7djD954sYe7k0dzxhTmDVsYMhFlUNYSKN9fV0dXbx2nFuRTk+gDYUGNSM9GCEXcXqGvu5OuPfExGSiIPXHbUkCpjBsIv7mVG3A0jZEl5DaNHJbJg6hgKcmxxN3n3qMEsqDpMZ08v3/zbMhraunj6m8eTk5EyotfL8iWTk55sxN0wIrp7+3htbS2nFuWQEB9HRnwcuRnJpmImijDi7iCqys3PrmLZ1t3c++UjOXzi0CtjDkZRXoapmDGMiI+3NNDU3s3pRfvsLgpz0qmoNe+raMGkZRzkz29t4tnl2/neaTM554jhV8YMRFFeBhW1zXT19IXsNQ2xxZKyWpLi4zhpZvbeYwU5PipqW1A1FTPRgBF3h1hcVsMd/13LuXPyuO7UQ6uMGYiivHS6e5WNdeYS2jB8VJXF5Ts5vmAcacn7Lt4Lcny0dvVS3dTh4egMocKIuwOs3bmH7z6xgiMmZvKrC+YecmXMQBw2wV5UNfXuhkNgfU0LlQ3tBziQFppF1ajCiHuI2dXSydcfWUpacgL3X7aA1KRDr4wZiPxxaSQnxJlySMMhsbhsJwCnFfUT99x0ADbUmLx7NDCouIvIZBF5XUTKRWSNiHwnyDkiIr8XkQoRWSkiRzoz3PDGXxlT19zJA19ZwPjMkVXGDERCfByzxpuG2YZDY3FZDXMnZZLbr3JrbFoSY9OSTMVMlDCUmXsPcIOqFgHHAteKSHG/c84GCu2fq4A/hXSUEYCq8qN/rebjLbu568K5zJ082tF4ReOtihmz+GUYDjV7OiitahqwKYx/UdUQ+Qwq7qpararL7dvNQDkwsd9p5wGPqsUHwGgRCV15SATw4NubeWpZFdd9qoDPzJ3geLyivHQaWruobe50PJYhelhSbtn7nl48PujjhTk+NpiKmahgWDl3EckH5gMf9ntoIlAZcL+KA78AopbX19Zy+0vlnH34eL572kxXYhbbbpJmUdUwHBaX1TB5bCozbbuB/hTk+Ghq76auxUwaIp0hi7uI+IBngO+qan9FCVYOcsBXv4hcJSJLRWRpXV3d8EYapqyvaebbj6+gOC+DX180l7i40FbGDMTsPGvxy+xUNQyV1s4e3qvYxelF4wes4CrMsd5XJjUT+QxJ3EUkEUvY/66qzwY5pQqYHHB/ErCj/0mqer+qLlDVBdnZ2f0fjjgaWru44pGPSU2K58HLFzAqyb0NvxkpiUwak2oqZgxD5q31llHYQPl2sBrCgBH3aGAo1TICPASUq+pvBjjteeArdtXMsUCTqlaHcJxhR1dPH9/82zJq9nRy/2VHkZeZ6voYLBsCI+6GobG4vIbM1ESOzh8z4Dk56cmkJycYd8goYChTzROAy4BVIlJiH7sFmAKgqvcBi4BzgAqgDfha6IcaPqgqt/57NR9tbuDui+cxf8rAHxYnKc7L4NXyGtq7eh2ppzdEDz22UdinZltGYQMhIhTkmoqZaGBQcVfVdwieUw88R4FrQzWocOfhd7fwxMeVXHvKDM6b5926cVFeBn0K62qamedw6aUhslm6dTeNbd0HbFwKRmGOj9fWRseaWCxjdqgOkzfW1fLz/5Rx5mG53HD6LE/HUmwadxiGyJKyGpLi4zh51uBrXYU56dS3dJpuXxGOEfdhUFHbzLf/sYJZ4zP4zUXzXKuMGYhJY1LxJScYcTccFMsorIbjZozDlzx4JtbfuKPCGNM5Qm+futKr1oj7EGnu6ObKR5eRnBjHg5cv2M9Nzyvi4oTZ49NNrbvhoFTUtrB1VxunHaRKJpC94m7y7iGnpLKR8/74Dv/4cKvjsbxXqAhAVbnlX6vZ1tDG41cey8TR7lfGDETxhAyeXb6dvj71/ErCEJ68UmbvSh1Cvh1g4uhUUhPjTcVMCGlq6+bOl9fyj4+2ke1LJjvdGd+pQIy4D4EnPq7khdId3HTmLI6ZNtbr4exHUV4GLZ1bqdrdzpRxo7wejiEMWVxWw5xJmUM2souLE2bkpLHBdGUaMarKs8u3c/uicna3dfHV4/O5/vSZpKckOh7biPsgrN25h/97fg2fLMzi6pNneD2cAwhsmG3E3dCf2uYOSiobuf704dliFOak8+GmXQ6NKjbYUNPMj55bzYebG5g/ZTSPXnEMh00ITavNoWDE/SC0dfVw7d+Xk56SGBYLqMGYlZtOnFgVM2cdHtwMyhC7vFpeC3DQXanBKMjx8a8V22nu6HZllhlNtHX18PtXK3jw7U2kJSdw+/lHcPHRk13XDyPuB+HWf69hU30rf7viE2SnJ3s9nKCkJsUzLSvNeMwYgrK4rIaJo1OZPT59WM/zL6purGs1eyiGwStrdvLTF8rY3tjOBUdN4uazZzPO5412GHEfgGeWVfH0siquO7WQEwqyvB7OQSnKy6CkstHrYRjCjLauHt6pqOdLx0wZdqvHwoCKGSPug1PZ0MZPX1jDkvJaZuWm889vHOf5+pwR9yBU1Lbwo+dW84lpY/nOqYVeD2dQivIyeHFlNXs6uskwl9AGm7fW19PV08cZw0zJAEwZO4qk+DizqDoIXT19PPD2Jv7w2gbiRLjlnNl87YRpJB7E4sEtjLj3o6O7l2/9YzmpSfHcffF84sMwz94f/07VtdXNns8WDOHDkvIaMlISOPoQ3hMJ8XFMz06jwpRDDsh7G+v58XOr2VjXylmHjefWzxQzIYzKpI249+O2F8tYu7OZv3ztaMd6oIaavRUzO5qMuBsAaxfka2trOWV2ziHPImfk+FhV1RTikUU+dc2d3L6onH+t2M7ksan85atHc8rsHK+HdQBG3AN4oXQH//hwG984eTqnzAq//6yByM1IZmxaEuXV5hLaYLFs624aWruGXSUTSGGOj0Wrquno7iUl0biO9vYp//hwK3e+vI6O7l6+/akCrllYELaOrEbcbbbUt3Lzs6s4cspobjzDW0Ow4SIiFOWlU77TVMwYLJaU15AYL5w889Cb4hTmpKMKG+taXK3PDkdWVjXyo+dWs7KqieNnjOP/fe5wZmQHb1UYLhhxBzp7evnW48uJjxN+f8n8sFgMGS5F4zN47IOt9PT2HdSv2xD9qCqLy2o4dvq4EdWoB3rMxKq4N7V38+tX1vHYB1vJ8iVz98Xz+OzcCcOuPvICI+7ALxatZfX2Pdx/2VFMGhOZuzyL8jLo7Oljc30rhbnDq2k2RBcb61rYXN/K/5yQP6LXyc8aRXycxKSBmKry75Id/Ow/5TS0dnL5cflcf8bMiKpGi3lxf3nNTv763ha+dkI+ZxwWuTs8iyfssyEw4h7bLC6zdqWeOkSjsIFITohn6rhRMWcgVlHbzI+fW8P7m3Yxd1Imf/nq0RwxKfKuXGJa3Csb2rjpqVKOmJjJD86e7fVwRsSMbB+J8UJ5dTPnzfN6NAYvWVy2k8MnZoSkLK8g2xczte7tXb384bUNPPD2JlIT4/nZ5w7nkmOmREQ5dDBiVty7e/v49uMrUIV7vjSf5ITwXPEeKkkJcRTkpJvGHTFOXXMnKyobQ7b5rjDXx2tra+nq6SMpIXrXcl4tr+Enz6+hanc7nz9yIjefXRS2liNDJWbF/a6X11FS2cg9X5rP1HFpXg8nJBTlpfPOhnqvh2HwkNfW1qA6fKOwgSjMSaenT9m6KzrXcrY3tvN/z69hcVkNBTk+nrjqWI6dPs7rYYWEmBT319fW8ue3NvHlT0zh3DkTvB5OyCjOsxp31Ld0kuWRWZHBW/xGYf5dyyPFXzGzobYlqsS9p7ePB97ezO9f3QDA/541mytOnBZVVyfR85sMkeqmdq7/Zwmzx6fz43OLvR5OSDENs2Ob9q5e3t5Qz2lFOSEr1ZuR7UOEqFtUfXpZFXf8dy0nFGSx+PqTuHrhjKgSdogxce/p7eM7j5fQ2dPHH798ZNTtuisy4h7TvL2hjs6ePk4vDl3VV2pSPJPGpEZds+yPNjeQnZ7MA1+J3PLnwYiptMzdr27goy0N/PaLc8N+d9mhMCYtifEZKcaGIEZZXFZDekoCn5geWn+hwpx0NtRE13uqpLKReZNHR8RmpEMlZmbu72yo557XK7jwqEmcP3+S18NxjKK8dMp2mJl7rOE3Cls469CNwgaiIMfHpvpWevs0pK/rFU1t3Wyqj/4mJDEh7rXNHXz3yRJmZPv46XmHeT0cRymekMHGuhY6e3q9HorBRVZs282uERqFDURBjo+unj4qG9pC/tpeUFJlNbYx4h7h9PYp33uyhOaObv74pSMZlRTdmaiivAx6+jTqFsAMB2dxeQ0JccLCWYduFDYQhQEVM9FAaWUjIjAnAnedDodBxV1EHhaRWhFZPcDjC0WkSURK7J9bQz/MQ+fe1yt4t2IXP/3sYcwaZh/JSMQsqsYmfqMwJ7xPZuwV9+jIu5dUNlKQ7Yv6xt9Dmbn/FThrkHPeVtV59s9tIx9WaPhw0y5+u2Q9582bwBePnuz1cFwhf1waKYlxpmF2DLGxroVNda2OpGQAMlISGZ+REhUGYqq6dzE12hlU3FX1LaDBhbGElF0tnVz3xAqmjB3Fz88/IqpXxQOJjxNmjc8wM/cYYklZDQCnFjnXYKYw1xcV4l7Z0E5DaxfzphhxHyrHiUipiLwkIp6vWPb1KTc8Vcru1m7u+dKR+JKjO8/en+K8DMqrm1GNjuoGw8FZXFZDcV6Go/XaM7Itce+L8IqZFZW7AZg7yYj7UFgOTFXVucAfgOcGOlFErhKRpSKytK6uLgShg/PgO5t4Y10dPzq3iMMnRveiSTCK89Jpau+muqnD66EYHKa+pZNl23Y7lpLxU5jro62rl+o9kf2eKq1sIiUxjtkxsP42YnFX1T2q2mLfXgQkikjWAOfer6oLVHVBdnboV/UBlm/bzZ3/XcdZh43nsmOnOhIj3DGLqrHDa2trQ2oUNhCFOZYYRvpmppLK3RwxMTMmupWN+DcUkfFiJ7RF5Bj7NXeN9HUPhaa2br79jxWMz0zhjgvmxEyevT+zbXE3m5min8VlNUzITOGwCaExChuIwoCWe5FKV08fq3fsiYnFVBiC/YCIPA4sBLJEpAr4CZAIoKr3ARcAV4tID9AOXKweJHtVlZueLqVmTwdPX308manRXeZ0MHzJCUwdN8o0zI5yOrp7eXtDHRctmOz4RGZMWhLj0pIiev/E2p176OrpY64RdwtVvWSQx+8B7gnZiA6RR97bwitlNfzo00Ux8818MIrGZxiPmSjnnQ31dHT3cdoI2+kNlYIcX0QbiJVWxsbOVD9RkXhaVdXE7YvWcursHK44cZrXwwkLivIy2LKrldbOHq+HYnCIxWU1pCcnuNZcojDXx4aayK3CWlHZSJYvmYkhaD8YCUS8uO/p6ObafyxnnC+Juy6cG7N59v4U5aWjCmt3mtl7NNLXp7y6toaTZ2W75kNekO1jT0cPdc2drsQLNbHgBBlIRIu7qnLzs6vY3tjO7y+Zz5i0JK+HFDaYipnoZkVlI/UtzhiFDYS/E1MkLqo2tXWzqa6VeZNjpzQ6osX98Y8q+c/Kaq4/fSZH54fWwzrSmTQmlfSUBCPuUcriMtsobKZzu1L7E8kGYiu3+/PtYzweiXtErLiXV+/hpy+s4ZOFWVx98gyvhxN2iAhFecaGIFpZUl7DMdPGkjnKvaqw7PRk0lMSItJArGSb7QRpZu7hTWtnD9f+YzkZqYn85qJ5xMXFRg5tuBTnZbB2Z3PEbxk37M/m+lYqaltcTcmANWEozIlMj5mSykZmZPsccc0MVyJS3H/879Vsrm/l7i/OIzs92evhhC1Feem0dfWyNUqaLBgs/EZhbpVABlKYkx5x4h5LTpCBRJy4/7tkO88u3851nyrk+IKgLgcGm+I86xLUpGaii8VlNcwen87kse43di7M9VHf0kVDa5frsQ+Vqt3t7GrtipnNS34iTtxPKszmuk8VcN2phV4PJewpzPURHydG3KOIhtYulm5t4AyXUzJ+ZkSgDUGJvXlpvhH38GZMWhLXnzGLeJNnH5SUxHimZ6UZcY8iXltbS5/C6cXjPYkfiR4zJZWNJCfExUQntkAiTtwNw6MoL8MYiEURi8t2Mj4jhcMnOmsUNhATMlMZlRQfURUzJZWNHDExk8QYcIIMJLZ+2xikKC+DHU0dNLZFTo7UEJyO7l7eWl/PacU5nu2yjIuTvY07IoHu3j5Wb2+KuXw7GHGPeoon+HeqRs5MyxCc9zbW097d60mVTCCRVA65bmcznT19MVcpA0bco56iPCvPaPLukc/ishp8yQkcN8Mdo7CBKMj1Ud3UQXNHt6fjGAorYswJMhAj7lFOTnoKWb4kyoy4RzR9fcqS8lpOnplNckK8p2MpyI6cRdWSbY1k+ZKYNCY2nCADMeIeAxgbgsintKqRuuZOTit2z0tmICLJQKykcjdzJ8WOE2QgRtxjgOK8DDbUtNDd2+f1UAyHyOKyGuLjhFNmeS/uk8ekkpQQF/bivqejm411rTGZkgEj7jFBUV4GXb19bKpr9XoohkNkSXkNx+SPZfQo722tE+LjmJ6VFvbukCsrmwCYN8WIuyFKMd7ukc3WXa2sr2nhNI92pQajIMcX9rXuJZW7AZgzyYi7IUqZnp1GUnycWVSNUBbbRmFeWQ4EozAnnard7bR39Xo9lAGxnCDTyEyNHSfIQIy4xwCJ8XEU5vrMzD1C8dIobCAKc32owsYwbZjtd4KMxc1Lfoy4xwjFpmImItnd2sXHWxo837jUn4Iw95jZ3thOfUtXzJmFBWLEPUYoysugvqWL2uYOr4diGAavr/MbhYWXuOePSyM+TsJW3EsqY6+tXn+MuMcI/kVVYyIWWSwuqyEnPZkjJoZXe7ikhDjyx40K20XVkm2NJCXEMTsvtpwgAzHiHiMU5xmPmUijo7uXN9fXcVpxbli2krQqZsJ35n74hIyYc4IMJHZ/8xgjc1QiE0enmrx7BPH+pl20dfWGXUrGT2FOOlt3tdHVE16b47p7+1i9oymmUzJgxD2mKMpLN+IeQSwuq2FUUjzHTffWKGwgCnN99PYpW3aF1+a4dTub6ejui9nNS36MuMcQRXkZbKxroaM7fGuTDRZ9fcqr5TWcPDOblERvjcIGYoZtILahJrxSM7HaVq8/g4q7iDwsIrUisnqAx0VEfi8iFSKyUkSODP0wDaGgKC+DPoX1NSbvHu6s2t5EzZ7OsE3JgCXuIuFXDllS2cjYtNh0ggxkKDP3vwJnHeTxs4FC++cq4E8jH5bBCYwNQeQQTkZhA5GaFM/kMeFXMVNa2ci8ybHpBBnIoOKuqm8BDQc55TzgUbX4ABgtInmhGqAhdEwdO4pRSfGmYiYCWFJew4KpYxiT5r1R2MEIt65MzR3dVNS1xKwTZCChyLlPBCoD7lfZxw5ARK4SkaUisrSuri4EoQ3DIS5OmD0+3XjMhDmVDW2s3dkc1ikZPwU5PjbVtdITJnbSK6uaUI3Nzkv9CYW4B7v20WAnqur9qrpAVRdkZ2eHILRhuPgbd6gG/S8yhAGv2EZhkSLuXb19VO5u93oowL7F1Lkx6gQZSCjEvQqYHHB/ErAjBK9rcICivAyaO3qoCpMPo+FAlpTVMDPXx9RxaV4PZVD8XZk2hMki/YptjUzPSiNzVGw6QQYSCnF/HviKXTVzLNCkqtUheF2DAxRPMIuq4UxjWxcfhaFR2EDMyLa+gMJhp6rfCdKkZCwSBjtBRB4HFgJZIlIF/ARIBFDV+4BFwDlABdAGfM2pwRpGzuzx6YhYNgRnHDbe6+EY+vHGujp6+zQiUjIA6SmJ5GWmsDEMxH1HUwf1LZ0xv3nJz6DirqqXDPK4AteGbEQGRxmVlED+uDTKqpu8HoohCIvLashOT46onHG4eMyUbPM7QUbO385JzA7VGMSyIQiPHKlhH509vbyxrpbTinLC0ihsIArscsi+Pm8X6Usqd1tOkOMzPB1HuGDEPQYpGp/BtoY2mju6vR6KIYAPNjXQGsZGYQNRmJNOe3cvO5q8XaQvrWzisAkZJCUYWQMj7jGJf1F13U4zew8nXlmzk9TEeI6fkeX1UIZFYa7tMeNhaqant49V25tMSiYAI+4xyN7GHaZiJmxoauvmuRXbOfOw3LA1ChuIAttArMJDA7F1Nc20d/cacQ/AiHsMkpeZQmZqoimHDCMeeX8LrV29fOPkGV4PZdiMSUsiy5fkqcfMvrZ6Rtz9GHGPQUSEorx0ysyialjQ1tXDX97dzKdm5+y9qoo0Cjz2mCm1nSCnjB3l2RjCDSPuMUpxXibrdu6h1+MKBwM88VElu9u6uWZh5M3a/RTmpLOhtsUzW4uSykbmTsqMeSfIQIy4xyhFeel0dPeFXRedWKOrp48H3t7EMfljWZA/1uvhHDIFOT6aO3qobe50PXZzRzcbaltivq1ef4y4xyh7F1V3mLy7lzxXsp3qpg6uPiVyZ+1gWf+CN407VtlOkHMnZ7oeO5wx4h6jFOb6SIgTs6jqIb19yn1vbqQ4L4OFMyPbJbXAXw7pgYHYCrOYGhQj7jFKckI8M7J9Rtw95JU1O9lU18rVC2dEfK4425dMRkqCJ7XupZWNTMtKY/So8G5s4jZG3GOY4gkZxobAI1SVe9/YSP64UZxzROQ3LhMRCnPTXU/LGCfIgTHiHsMU5aWzc08HDa1dXg/lAB56ZzNXPro0bDr8hJp3KupZtb2Jb5w8g/gI8pE5GF603Ktu6qC2udOIexCMuMcw4dowu7SykdsXlbO4rIanllV5PRxHuPf1jeRmJPP5I4N2pIxICnJ87GrtYleLexUzezsvGXE/ACPuMUw4intHdy83PFVKTnoycyeP5tevrKels8frYYWUFdt28/6mXXz9xOkkJ0SW1cDBKPCgYqa0spGk+DiK8tJdixkpGHGPYbJ8yeSkJ4eVx8xvl6ynoraFX35hDv/3mWLqWzq5/82NXg8rpNz7xkYyUxO55BNTvB5KSPG33Kuoc0/cV1Q2UjwhI6q+JEOFEfcYpygvI2xq3Zdt3c0Db23ikmMmc/LMbOZPGcNn5k7g/rc3Ue2xnWyoWF/TzOKyGi4/Ph9f8qC9ciKKCZkppCXFs8ElA7Ge3j5WVRknyIEw4h7jFOVlsLGuha4ebxcuO7p7uempUvIyU7nlnKK9x79/5iz6+uCul9d7OLrQcd8bG0lNjOdrx+d7PZSQIyLMcHFRdX1Ni3GCPAhG3GOcorx0unvVU9MngLteXsem+lbu+MIc0lP2da6fPHYUXzshn2dXVLF6e2S3BqxsaOPfpTu45JgpjEmLzppsNw3ESqvM5qWDYcQ9xikOg0XVj7c08NC7m7n02CmcWHhgo4prTilgdGqbrOJyAAAgAElEQVQity8q98yYKhQ88PYm4gSuPGma10NxjMIcq7x2jwtdvkq2NTJmVCJTxxknyGAYcY9xpmWlkZwQ55m4t3X1cNNTpUwcncrNZxcFPSczNZHvnjaT9zbu4rW1tS6PMDTUt3Ty5MeVnD9/InmZqV4PxzHcrJgpqWxk7uTREb+71ymMuMc4CfFxzBqf7lnFzJ3/XceWXW386oK5pB1kgfFLn5jC9Kw0bl9UTncEbmz6y7ub6erti8hmHMPBLQOxls4e1tc2M3eSSckMhBF3A0XjMyiv3uN6yuODTbv463tb+Orx+Rw3Y9xBz02Mj+MHZ89mY10rT3xc6dIIQ0NzRzePvr+Vsw8fzwy7JV20MnnsKJIS4hwX95VVjajCvClG3AfCiLuBorx0drd1U7PHvZ2FrZ093PR0KfnjRvH9s2YN6TmnF+fyiWlj+d3i9TS7kNMNFX/7YBvNHT1cs7DA66E4TnycMCPb57g7ZGmltbg+z8zcB8SIu4HiCZYPtpt591++tJaq3e386sK5jEoaWr23iPDDTxexq7WLe9+IjI1NHd29PPTOZj5ZmMXhE2PDb7wgx+f4RqaSyt3kjxsVtVVHocCIu4HZ9tZtt/Lu71bU89gHW7nihGkcPczuQ3Mmjeb8+RN56J3NbG8M/41NTy2ror6lMyZm7X4Kc3xU7W6nrcs52wjjBDk4RtwNZKQkMmlMqivi3tzRzfefXsn0rDRuPHNo6Zj+3HjmLAT41X/XhnZwIaant4/739rI/CmjOXZ65LbQGy6FOT5UYVOdMy0cq5vaqdnTaczCBmFI4i4iZ4nIOhGpEJEfBHn8qyJSJyIl9s/XQz9Ug5MU5WW4kpa5fVE51U3t3HXRXFISD80PZOLoVK44cRrPleyg1HYFDEdeXFlNZUM71ywsiKlyPX855IZaZ/Lupabz0pAYVNxFJB74I3A2UAxcIiLFQU59UlXn2T8PhnicBocpystgc32ro5fSb66v4/GPKrnypOkcOWVkzYyvXjiDLF8SPw/TjU19fcqf3tjIzFwfp87O8Xo4rjJ1XBoJceJYxcwK2wmyeEKGI68fLQxl5n4MUKGqm1S1C3gCOM/ZYRncpjgvA1VYt9OZ2VZTezf/+/RKCnJ8fO+0mSN+vfQUa2PTR5sbeKWsJgQjDC2vra1lXU0zVy+cQVyUNOMYKkkJceRnpTlmIFayrZEi4wQ5KEMR94lAYGFxlX2sP18QkZUi8rSITA72QiJylYgsFZGldXV1hzBcg1PssyFwRtx/9mIZdS2d/PrCQ0/H9OfioydTkOPjly+t9dz4LBCrhV4Fk8ak8pk5E7wejicUZDvjMdPbp6za3sS8SbFReTQShiLuwaYd/a+DXwDyVXUOsAR4JNgLqer9qrpAVRdkZ0d2t/doY9KYVHzJCY7k3V9ba3VU+ubJ00O6CJYQH8ct58xmc30r//hwa8hed6R8uLmB5dsa+cZJ00mIj82ahcJcH1sb2ujs6Q3p626obaatq9dsXhoCQ3nnVQGBM/FJwI7AE1R1l6r6d8A8ABwVmuEZ3CIuTpg9Pj3k4t7U1s0PnlnFrNx0rju1MKSvDXDKrBxOKBjH3a9uoKk9PDY23fvGRrJ8SVy4IOgFbExQkOOjt0/ZUt8W0tct2eZfTB3Zmk0sMBRx/xgoFJFpIpIEXAw8H3iCiAS2b/8sUB66IRrconhCBmt3NtPXF7oFyp++sIaG1i5+fdFcR3KkIsIt5xTR2N7NH1+vCPnrD5fV25t4a30d/3PitJClnyIRpypmSiobyUxNJN84QQ7KoOKuqj3At4CXsUT7n6q6RkRuE5HP2qddJyJrRKQUuA74qlMDNjhHUV4GLZ09VO4OzWzrlTU7eXbFdq49pcDR3ZmHTcjkC0dO4q/vbqGyIbQzxeHypzc2kp6cwKXHTvV0HF4zI9uHSOgNxIwT5NAZUkJQVRep6kxVnaGqP7eP3aqqz9u3b1bVw1R1rqqeoqrhvbvEEJRQNsze3drFLf9aTXFeBtee4vzuzBvPmEV8nHCHhxubNtW1sGh1NZcdN5WMgIYjsUhKYjxTxo5iQwjFvbWzh/U1zaa+fYjE5mqPISizctOJEygLQcXMrc+voam9i7sunEtSgvNvs/GZKVx50nReXFnN8m27HY8XjD+/uYmk+Dj+58TobcYxHApzfFSEsBxy1fYm+hTmG3EfEkbcDXtJTYonPyttxDP3RauqeaF0B9d9qtDVjSbfOGk62enJ/OzFMtc3NlU3tfPsiiq+ePRksnzJrsYOV2bk+NhU30JPiPz3S+ydqcZ2YGgYcTfsR3FeBmU7Dl3c61s6+dFzqzliYibfXOhuY4q05ARuOH0my7c18tLqna7GfvDtzfQpXPnJ6a7GDWcKc6z+vNtCtA5Ssq2RqeNGMdY4QQ4JI+6G/SjKy2B7Y/shlRWqKj9+bjUtHT3cdeFcEj2o8b5wwWRm5abzy5fWhrzGeiB2t3bx+EfbOG/uBCaPNVUcfgr3VsyEJjVTUtloOi8NAyPuhv3w71RdewipmRdXVvPS6p189/RCZo1PD/XQhkR8nHDLp4vY1tDGY++7s7Hpr+9toa2r1/UrlXBnRghb7u1s6mDnng6zmDoMjLgb9uNQK2Zqmzv48b9XM3fyaK7yODVx8sxsTpqZze9f3UBjW5ejsVo7e/jre1s4vTiXmbnefKGFK77kBCZkpoRE3P35drMzdegYcTfsR25GMmPTkobl7a6q/PBfq2nr6uXXF84Jiy33PzyniJbOHn7/qrMbmx7/aBtN7d1cY2btQSnITQ/JRqaSykYS42XvlaVhcLz/FBrCChGhKC99WAZi/y7ZweKyGm48YyYFOeExe501Pp2LFkzmsQ+2sKXemaYRnT29PPD2Jo6bPo75I7Qwjlb8BmIj3fVcUrmboryMmN71O1yMuBsOoGh8ButqmodUwlazp4OfPL+Go6aO4YoTw6tS5PozZpIYH+fYxqZ/Ld9OzZ5OrjnFzNoHojDXR0d334haIvb2Kauqmky+fZgYcTccQFFeBl09fWweZMarqtzy7Co6e3r51QVziA8z3/Kc9BS+efIMXlq9k4+3NIT0tXv7lD+/tYkjJmZyYkFWSF87migMwaJqRW0LrV29RtyHiRF3wwH4F1UHy7s/s3w7r66t5ftnzmZ6ts+NoQ2br39yGrkZyfzsP+UhNUR7aXU1m+tbuWbhDONzchBCYSBWUmntODbiPjyMuBsOoCDHR2K8HFTcq5va+ekLazgmfyxfPT7fvcENk1FJCdx4xixKKxt5cVV1SF5TVbn39Y1Mz07jzMPGh+Q1o5XRo5LI8iWPqCtTSWUjGSkJ5I9LC+HIoh8j7oYDSEqIoyBn4EVVVeV/n1lFT6/yqwvnhH0buc8fOYnivAzueGktHd0j39j05vo6yqr38M2TY6+F3qFQmOOjou7QxX3FNssJ0vyth4cRd0NQrIqZ4DP3Jz+u5K31ddx8zmymRsBsKj5O+OGni9je2M5f39sy4te7942N5GWm8Ll5wbpNGvpTmGsZiB2K309bl+UEaczCho8Rd0NQivMyqGvupK65c7/jVbvb+Nl/yjlu+jgu/UTkeJafUJDFp2bn8MfXKtjV0jn4EwZg2dYGPtrcwJWfnO6K22U0UJDjo7mzh5o9w/+7r6qynCDN5qXhY96dhqAUB9mpaqVjVqKq3HlB+Kdj+nPLObNp6+7l969uOOTXuPf1jYwZlcjFx8RuC73hUjCCipm9TpDGU2bYGHE3BCWYDcHfP9zGuxW7uOXTRRFpkFWQk87FR0/m7x9uY+Mh5IDX7tzDq2tr+doJ0xiVlODACKOTQntj26FUzJRUNjJ5bCrjjI3ysDHibgjKmLQkxmek7BX3yoY2bl9UzokFWXzpmCkej+7Q+d7pM0lJjOcXi4a/selPb2wkLSmey4/LD/3AopgsXxKZqYmH5A5ZWtlommEfIkbcDQPityHo61NuerqUOBHuuGBORNd1Z/mSuXrhDJaU1/D+xl1Dft62XW28ULqDLx87lcxRsd1Cb7iIiFUxM0xxr93TwY4m4wR5qBhxNwxIUV4GFXUtPPjOJj7Y1MCPzy1i4uhUr4c1Yq44cRoTMlP4+aKyIW9s+vNbG0mIi+MK00LvkCjMHb64r/A7QRpxPySMuBsGpHhCBr19yi9eWsvCWdlctCA6FhFTEuO56axZrN6+h+dKtg96fm1zB08tq+ILR00iNyPFhRFGHwU56TS0dg2rUqmkspGEOOEwF1s1RhNG3A0D4l9U9SUn8MvPR3Y6pj/nzZ3InEmZ/OrldYNubHronc309PbxzZPDyxgtkjiUipmSbY3GCXIEGHE3DEj+uDQ+NTuHX10wh/GZ0TVjjYsTbjmniOqmDh56Z/OA5zW1d/P3D7bx6TkTImLDVrgy3JZ7vX3Kqu3GCXIkGHE3DEh8nPDwV4/mrMPzvB6KIxw7fRynF+dy7+sVB2zW8vPY+1to6ezh6pONre9IyMtMIS0pfsgz9411LbR09hhxHwFG3A0xzc1nz6azp4/fLVl/wGPtXb08/O4WTpmVTbHJ+44IEaEgxzfkWveSbfbmJSPuh4wRd0NMMz3bx6XHTuXxj7axoWZ/4Xny4200tHZxzSkFHo0uuijISR/yzH1FZSPpKQlMzzKpsEPFiLsh5rnu1ELSkhO4fVH53mPdvX088PZmjs4fw9H5Yz0cXfRQmOujZk8nTe3dg55rbV4yTpAjYUjiLiJnicg6EakQkR8EeTxZRJ60H/9QRPJDPVCDwSnGpiXxrVMKeH1dHe9sqAesvrDbG9u5ZqGZtYeKguyhVcy0d/WyrqbZ5NtHyKDiLiLxwB+Bs4Fi4BIRKe532hXAblUtAH4L3BHqgRoMTnL58flMGpPKz/5TRk9vH/e9uZGivAwWzsr2emhRQ2GuJe4bBxH3Vdub6O1TI+4jZCgz92OAClXdpKpdwBPAef3OOQ94xL79NHCqRFNRtCHqSUmM5/tnzWbtzma+/fgKKmpbuNq00Aspk8aMIjkhbtBFVX9bPbOYOjKGIu4TgcqA+1X2saDnqGoP0ASMC8UADQa3+MycPOZNHs1Lq3cyddwozjnctNALJfFxwoxs36C17qWVTUwak0qWcYIcEUMR92BTl/6GHEM5BxG5SkSWisjSurq6oYzPYHANEeHH5xYRJ3DtwgIS4k29QagpGIKBWIm9mGoYGUN591YBgaYik4AdA50jIglAJtDQ/4VU9X5VXaCqC7KzTS7TEH4cNXUsH9x8KhcumOT1UKKSwhwfVbvbaevqCfp4bXMH2xvbjbiHgKGI+8dAoYhME5Ek4GLg+X7nPA9cbt++AHhND6VhosEQBuRkpJhcu0PsW1RtDfq4f/OSEfeRM6i42zn0bwEvA+XAP1V1jYjcJiKftU97CBgnIhXA9cAB5ZIGg8FQsNdjJviiqt8J8vCJmW4OKyoZUq8wVV0ELOp37NaA2x3AhaEdmsFgiDamjksjIU4GzLuXVjUyOy/dOEGGALNiZDAYXCMxPo5pWWlBK2b6+pSVlcYJMlQYcTcYDK4yUMXMxroWmjt7mDvJiHsoMOJuMBhcpTDHx9ZdrXT27N8kxd9Wb/4UI+6hwIi7wWBwlYLcdPoUNtfvXzFTutcJ0ufRyKILI+4Gg8FV/AZiG2r2T82UVDYyd5JxggwVRtwNBoOrTM9OI072d4ds7+pl7U7jBBlKjLgbDAZXSUmMZ8rYUfuJ++odlhOkMQsLHUbcDQaD6xTkpO+3kam00uxMDTVG3A0Gg+sU5PjYXN9KT28fYFXKTBydSna6cYIMFUbcDQaD6xTm+OjuVbY2tAGWp8w8UwIZUoy4GwwG1/EbiG2oaaGuudNygjSbl0LKkLxlDAaDIZTM2NtPtZl4u/TRzNxDixF3g8HgOmnJCUwcnUpFbQsd3X3ExwmHTzBOkKHEiLvBYPCEghyr5V59Sxezx6eTmmScIEOJybkbDAZP8BuIlVY1mvp2BzAzd4PB4AmFOT46e/ro7Okz9e0OYGbuBoPBE/wVMwDzjbiHHCPuBoPBEwqy0wFIT07YWz1jCB0mLWMwGDwhc1QiOenJFOb6jBOkAxhxNxgMnvGrC+cyLi3J62FEJUbcDQaDZ5w8M9vrIUQtJuduMBgMUYgRd4PBYIhCjLgbDAZDFGLE3WAwGKIQI+4Gg8EQhRhxNxgMhijEiLvBYDBEIUbcDQaDIQoRVfUmsEgdsPUQn54F1IdwOJEQ2/zOsRE71uJ6GTtSf+epqjro7i/PxH0kiMhSVV0QS7HN7xwbsWMtrpexo/13NmkZg8FgiEKMuBsMBkMUEqnifn8Mxja/c2zEjrW4XsaO6t85InPuBoPBYDg4kTpzNxgMBsNBMOJuMBgMUUhEiLuIjPUw9lIRuVZExng1BjcRkXgR+Z7X44gVxOJSEbnVvj9FRI7xelyGyCcixB34UESeEpFzRMTtZosXAxOAj0XkCRE508kxiMgqEVk50I9Tcf2oai9wntNxwg0RyRWRh0TkJft+sYhc4ULoe4HjgEvs+83AH12Ii4icKyKRogGGYRIRC6q2mJ4G/A9wDPAk8FdVXe/iGOKAc4E/AX3Aw8DdqtoQ4jhT7ZvX2v8+Zv/7ZaBNVW8LZbwBxvBzIBPr79zqP66qy12IfSfwM6Ad+C8wF/iuqv7N4bgvAX8Bfqiqc0UkAVihqkc4HHe5qh4pIitUdb59rFRV5zoZ147zN6wvlmeAv6hquQsxVwHBREcAVdU5Dsd39f3l5e8bEeIeiIicAvwNSANKgR+o6vsOx5wDfA04B3gZ+DtwInCZqs5zKOa7qnrCYMcciv16kMOqqp9yIXaJqs4TkfOBzwHfA153WuxE5GNVPbqfyJY49f8bEPdD4HjgY1vks4FX/GNwGhHJwLpq+BqWCP0FeFxVmx2K55+8CPAfrM/UXlT1UC1Jhhrf1fdXwO8bFCd/34hokC0i44BLgcuAGuDbwPPAPOApYJqDsZcBjcBDWF8knfZDH4qIk0KbJiInquo79jiOx/pCcxxVPcWNOAOQaP97DpbINLiUiWu132cKICLHAk0uxP098C8gx75iugD4kQtxAVDVPSLyDJAKfBc4H7hJRH6vqn9wIN5eMRORTqfFPAiuvr/6/b65wNH23Y9UtdaxwESIuAPvY6UnPqeqVQHHl4rIfQ7HvlBVNwUeEJFpqrpZVT/vYNwrgIdFJNO+34iVlnIFEfk0cBiQ4j/mRkoIeEFE1mJdNl9jz2Q7XIh7PdaEYYaIvAtkYwmto6jq3+0JxKlYs9nPuZEeARCRz2LN2Gdgfb6OUdVaERkFlAMhF/cwwJP3l4hcBPwKeAPr//kPInKTqj7tWMxISMuIyEWq+s9+xy5U1adciL1cVY/sd2yZqh7ldGw7VgbW/5Mbs0h/zPuAUcApwINYIveRqrqxwIhdmbRHVXtFJA1IV9WdLsRNAGZhffjWqWq3g7EOWgEW6rWcAcbwKPCgqr4V5LFTVfVVB2IGfpb+jrWWtBeX1nVcf3+JSClwun+2bn+pLHEy3RgpM/cfAP/sd+xmrJSMI4jIbKyZa6aIBM7QMwiYzToQ91JV/ZuIXN/vOACq+hunYgdwvKrOEZGVqvpTEfk18KwLcbFnjdcCU4CrsCqVZgEvOhRvoKuvmSKCqjr1ey/DSgEJ1u+62749GtiGg6nGAKr7C7uI3KGq/+uEsNv8OuD2TuAuf2isv4ej6zpuv78CiOuXhtmFw9WKYS3uInI2Vm5sooj8PuChDKDH4fCzsKpjRgOfCTjeDFzpYFx/Xj3dwRiD0W7/2yYiE7DeiG6IDVgLesuwFhkBqrC+xJ368Pn/b3PsmK/Z90/BuoR2RNxVdRrsvUp6XlUX2ffPxqoMc4PTgf/td+zsIMdChn89R0RSgWuwChMUeBurEs1p3H5/+fmviLwMPG7f/yKwyMmAYZ2WEZG5WIumtwG3BjzUjLXCvduFMRzndDVOuCEiP8bKt56KVXOtWJfvP3Yh9lJVXeB2aaCIvAhcqarV9v084I8Or6sETfGJw17fInI1lrDOACoCHkoH3lXVS52KHTCGfwJ7sFIzYFXsjFbVixyO68n7y47zBeAErKuUt1T1X07GC+uZu6qWAqUi8ndVdXqmvh8i8n1VvRP4kohc0v9xVb3O4fiPAN9R1Ub7/hjg16rq+KKqqv4/++YztuiluJjz77Jndf6qlRlA58GfEhLy/cJuUwPMdCFuvYj8CKu8V7GqwnY5HPMfwEvAL7BSnn6a3cj128zqJ6iv23lpp/Hq/YWqPoO1p8AVwlrcReSf9jf5ChE54BLD4Q0P/oqFpQ7GOBhz/MIOoKq7RcSt2ucDZqsi0gSscrp8C/gJ1uaSySLyd6yZzlcdjgnwRsBls2LtTA5W7x9qLsH6nf2zuLfYt1vVKVRVt4jItf0fEJGxLgn8ChE5VlU/sON+AnjXhbj/x4Hvr685HdT+TN2Blf4T9m1iynAsZpinZfJUtXqgjQAe1Mi6hj2LWehPPdnVFW86vWPSjvUfrJ2LfnFbCHyANZO9TVUfG+CpoYo/DjgW6wPwgaq60ufS/gB+0r7r+GWzV4jIi6p6rohsZt+irh9V1ekujKEca11rm31oCtaEqg+nd2568P4SkQrgM26VuUKYi7uXiMgLBN82DICqftbh+F/Bqgjy18FeCPzcaWG1Y78AfF1Va+z7uViLXV/HEr3DHYh55MEed6NEzk1E5Heq+t2B3mdOv7+8xqudmyLyqqqeOtgxB+K6srs8kHBPyzRzcIF17JKGfSVanwfGY+VEwbpk3uJgXABU9VF7c8spWDOMz6tqmdNxbfL9wm5TC8y0d/M5VfvtL5FLARZgWUsIMAf4EKuqIuSIyDuqemKQ95rTl83+L+m7DnqWg4i1w7pEVVtF5FLgSOB3qrptkKeOGLevukUkBWvvRpa9fuW/WsnAKod0Kq4/xblURJ4EniMgx+9gqW1kzNxF5DasmtjHsP5Tvoy18eBOF2K/paonDXbMwfg57L9L1PEPnojci3WZ7N9H8AWskrGbgBfVQXsCEXkC6wpllX3/cOBGVf2qUzG9RERy+q9jiMgsVV3nQuyVWMZZc7A+Ww9hTSJOdjq224jId7DsFSYA29kn7nuAB1T1Hofi/uUgD6ujBRKqGvY/wIdDOeZQ7HJgesD9aUC5C3E/C2zAcmXcjJWLXOPS7yxYu1J/C/zOvi0uxS4ZyjEH4p4W5NjlLsRdB1wUcP8GoMylv/Vy+99bgSsCj0XrD/Btr8fg1k9Yp2UC6BWRLwNPYF06XwL0uhT7e1iVFH5/mXzgGy7E/X9Yiz5LVHW+WG6YTldRANZ0AivX75jvxUEoF5EH2b800I1FqFvtOuQbAR+W7UIn8IjDcRcC94vIhUAu1u/qVrOOZhG5GetvfJKIxLPPWCsqUdU/2FeDxex/Rfyok3FFZBLW3pETsN7X72CVOlcd9IkjiWl/m4U1IpIP3M2+P8y7WB7MW1yKnwzMtu+u1X3OkE7G9G+2KAXmq2qfiHykqo5/8Pvln5OwPvCt6uwahz92CnA14E97vQX8SVUdNXcSy9/hBvZ9cd+qqo8f5CmhjH0t1uJ5H3CJqrpREoiIjAe+hGU3/LaITMGq0HJU6LxERH6C9YVajLVD9GzgHVV11CRORBZj7S/wr7VcCnxZVU93LGYkiLsXiMinVPW1gbxH1MGFEDv+Eiy/6V8AWViLmker6vEHfaIzY/kclmPgLW7Hdgu71PTPWLs0J2FdOdyhDn9A7A99NXCdHfdhrIqkG52MG6uI1TxjLlYjlrl2JdiDqvqZQZ460rgH9AYIdiyUhHVaxr9LVET+QPByMSd3iZ6M5TMS7D9dcd5I6zwsj5fvYS0gZ2LZMLiOqj4nIj8Y/MxDx79hTQboXKMOd+jBquP/pao+bO9gvAPrCtHpL9M/qupz9u1GsXz7b3Y4JuDNxpowoN2+Cu4Ry3G1FnC8rh9rJ/Kl7POWuQSHdyKH9cxdRD6jqi+IyOXBHldVp/OhMUm/q5U4rNLEk1X1OAdjerphTUSmaL9KJBE5SYPY4ToQ29UmDgFxXd9Y4zV2JdgtWDuQbwBasBbsHd2laqe87sHaHKjAe1g5d8fe12Et7uGAiNwO3Kn7e7zcoKqudctxm37lWz1Ydf0POC069oLey6rqliti//ifZV+u/01VfcGFmP2bOHwScLSJQ0Bs1zfWhBP2Wl6GqjreeN4LIkLc7bzkhf0E9glVPdOF2Hvd4wKOHdDAwxAaROR5rN60rjUnseP+Emv2HOhSuFRVHU2RiAdNHAJi3421Qc+1jTXhgIhMBKYSkJZ2+gpNPDACDOucewDZeqCJVo5LseNFJNlfIWPnY5OdDipWh5h2Ve2z78dhuTO2uRDb1Q7x/egAVtlf6K3+gw6vr4DVN2BewN/7EWAFzue/XW/iEEAG0AacEXDMjfUkzxCRO7C81MvYV06tWFVZTuK6EWCkiHtvYE7Uzsu6dcnxN+BVO1WhWH1M3cj1v4rVtKHFvj8KeAXnF/gAzlDV74vVIb4Ky9fmdfZZMDjJf+wfLxgN+B0RMw92YghxvYmDH6fzzGHK57Dshl2x+Q0gTkTG6P5GgI7qb6SI+w+Bd0TkTfv+SVgtshzHrtZZxb4Gxv9PVV92IXSKqvqFHVVtEatFmBu42iE+EFV9RESS2Oel7mgv0wB+gWVD+zrW//NJuFC1oqo3yf5NHO5Xl9woRWQmliFcrqoeLiJzgM+q6s/ciO8Rm7De326L+6+B90RkPyNAJwNGRM4dQESy2GfT+b66ZAPrFSLyLtZW6eX2/aOAe5ysWAmI/UusGU471m7J0VieMp9wIfZCrCujLVj/15OxbADcqFrJw8q7C5a9heNNub3EnizdBPxZ93UlWq0OuH56TUA59USsNOOr7L/O4HTaDxEpxuoRK8Cr6rARYIYE5oEAAA+DSURBVCSJ+xigkP23DLvxgT8Wa9twEdZuzXhc2K0pIkdj2S3ssA/lAV9U1WVOxg2I73qHeDvuMuBLahtn2bPLx7VfK7oQxputqmtlAMthdchqWLxzowwcw8eqerTs33LO0Y01XjFQObUfp8qq7fTLweI61hglItIyIvJ14DtYO/hKsGbw7+Nwp3Sbe7BqYp/Cqvf+ClDgdFBV/VhEZmM1NBAs2wM30hP++LsDbrcSsLjpMIka4IioqutFxEm/kxuwGp7/OshjikPvMVU90f7Xy0bo9WK1mfO3nLsAa7ds1BEo3nbabzbW771OVbscDL2M/Rui+L/Ixb7t2AaqiJi52znvo7G6psyzRe+nqvpFF2L7PV5W+ndJish7TtkAeG174DUi8jDWm97vwfFlICHaFv+8nNEFjGE6cD/WIv1uLPfRLzu9YcxLROQcLJuJjVgCOw34hqq+5ELssRyYfXhz4GeMjIiYuQMdqtohIthliWtFZJZLsdvsb/oSu0SwGkhzMJ7XtgdeczVwLZbXimCVqN3rVLCBvkT9OPhlGjijm4IlroK1vrENS3QcQUSuD7i7CKsSKg7r6uwLwG+cih0G/AY4RVUrAOwrl/9gNQx3jAGyD+9hFWo4QqSIe5WIjMbabLFYRHazLxftNJdhvfG/heXzMhnrA+AIqvoTu6b9JVX9p1NxgjFQ3tmPU/nnfjE6sT6AbgmM/0s0B2sG+5p9/xSsXaOOiLuqTgMQkfuA51V1kX3/bKwSWCfxp4JmYV0R/xvri+UynK/39ppav7DbbMLyl3Ga77Av+3CKP/vgZMCISMsEIiInY9Ug/9fhXJmniIvdngJivn6Qh1VVHVvjkAEMwwKCO2ocJiIvAleqarV9Pw/L1OugM/sQxF3Wf7HYnwp0Mq4d5xXgC6rabN9PB55S1bOcju0VIvInrN2p/8R6v12I1TDlXXDuSi1g8boE+ISqdjq9eB0pM/e9OJmjCjMWi8iNwJPsv1PTsVysOtg+bwic62FssPrGBi4m1rCv1t5J6kXkR+zfnMRRt8AApgCBE6QurGY00UwK1v+tv5VgHTAW6wrOybSn69mHiJu5xwoisjnIYVVVN+xJ/b1LXe1W4yUicg/WYtfjWB/yi4EKVf22w3HHAj/B2jTl3wZ/m0sLqj8ELgL+Zcc+H3hSVX/hdOxYxq3sgxH3ISIiaXZJoFvxUrRf96FgxxyK7Um3Gju2Zx7jtt3C3g5Qbu0U9RJ7neWT9t23VHWFl+NxChmgJ4QfNzYxuY0R90EQq3nCg4BPVaeIyFys0qlrHI57gPNksGMOxfakW40dO+Y8xg3O49UmJi8J65x7kN17++HGbA74LXAm8Lwds1REHFvoFKuv5UQg1XaN829+yMAyD3MDr7rVANQYYTeEmmgU78EIa3H3794TkduAnVgbWwRrY4trO/tUtbKfcVbvQOeGgDOBr2LVwwaWAzZjdZBxg6X24s8DWPXYLcBHTgYMqDdfKiJPEgMe42I1J7lOVX/r9VhiBbsiLFgbRzd2u7tKRKRlROTD/qZVwY45FPtpLJG9B2vjwXXAAlW92OG4X1DVZ5yMMcRx5ONCtxrZ1/0pcKu2H1UHmxrYIvuIql7qVIyDxH5DVRe6HTdWsQ34/KRg7VnpUdXvezQkxwjrmXsAvSLyZSwjLcXqkuPk7DmQbwJ3Y6VKqrA81a91KpiIXKpWU4z8fjsJAVBVxzf3BEs7icP9RP32AjJAxxqn4tqxe0UkW0SSPNg78a5dqdO/5NXxDWOxSBDjvXdln5V4VBEp4v4lLIG9G0vc37WPOY5a1sJfdiOWjd/awOdizP7cFHA7Bcv2dxnuGLW53rHGZgvWB/159hdZp79M/R5FtwUcc8ywLNbp5+njb/4+3qPhOEpEiLuqbgHOczOmV6VTqvpn+19HtyYPMob9qmJEZDJwp0vhXe9YY7PD/onD3fUcLzeOxSKBnj7dWF/qV3g5IKeICHEXbzrGLHXwtQdloPSEk7nng1AFuNXAIbBjjWJtsnG0Yw1492UqIrcGO66qtwU7bhgx/4u1eWiPiPwYOBKrj2zUESkLqjHTMcZPYAOFgx1zKHbgVUscMA/Y4taCo7jcscaO6UkVhYjcEHA3BcuGodyjL/Gox2/dLSInArdjTSZucaM4w20iYuYOjFLVj/qVI/Y4GVBEfqeq3xWRFwj+of+sk/HxLj0B+1+19GB1QnrXpdjYYu64oPfjxoDbe6sonA6qqvstFovIXdh7KgyO4C/E+DRwn6r+W0T+z8PxOEakiLsXHWP8zSLucjjOQHiSnoDY3PARRlUUo3Bvw1gssl1E/oxlq3yHiCRjXZ1GHZEi7tdidYyZLSLbsTrGOJoiCPiwz1PVuwMfE5HvAI5+8FX1URFZyr70xOedTk94bbvrJUGqKI7ChSqKfn/zeCCb/StnDKHlIuAs4C5VbbStnW8a5DkRSUTk3P2I1ag5zu8/7VLMYB4vruS+3UZEpto3/XX8ga3u2qJ5kc924fRXUfRgTSBuU9V3HIo3TVU3B/zNsePWqKrj6SBD9BMR4i4ijwHfUtUm+/5U4GFVdaxFlYhcglVLfyLwdsBD6UCvqjrdLcczRORdVT1hsGPRgIhcqKpPich0Vd3kYtxlqnqUiLzq5PvYELtESlrmHeBDe8fmRKzLqBsO/pQR8x5WXj+L/XdINgOObsUPA9JE5ET/rNV2xnSyb6yX3Aw8BTyNVRbnFnG2tfJMr3YiG6KbiBB3Vf2ziKzBauRbD8xX1Z0Ox9wKbAWOczJOmHIF8LCIZNr3G4FoLc3bZZdBTrN3p+6Hg1VRFwOfw/oMurZpyhA7REpa5jLgx1gda+ZgOSd+TVVLXYh9LPAHoAhIwlr0anXJbthTbLtf8afDohERScKasT8GfL3/4+pwW0cROVtVX3IyhiE2iRRxfw64SlVr7fvHAPerg81lA2IvxZplPYXlQ/EVoEBVf+h0bLfxm5YFSxNAdKcKRCRbVetcjBf0b+wnmv/WBneIlLTM5/rd/8gWeLfiV4hIvKr2An8Rkffciu0y/rx6zKQJAjep9dskBzialomZv7HBG8J65i4i31fVOwcy8XLKvKvfGN7C2vDwIFbDkGrgq6o61+nYBucRq1nxgDidljEYnCLcZ+7+TTtemnhdhpVn/xbwPWAy1tb0qEVE7gR+BrQD/8Xqp/pd22c+qvBavO0mJcEmLtG6gG1wiXAX9y8CLwKj++8SdQu7agYsofPMhtdlzlDV74vI+ViOkBdiVSpFnbj7CdjEtB+q6rQVwIsBt1OA87Gshw2GERHu4n6UvWHpf0TkUfq1X1PVBqcCx/JWfCDR/vccLNOwhmD56ChjQcDtFKwvtLEDnBsy+rdSFJHHgSVOxzVEP+Eu7vdhpQWmY5nsByqM4qzB0rkOvna484KIrMW6WrlGRLKBDo/H5Ciquqvfod+JyDtAUL91BykEprgc0xCFhPWCqh8R+ZOqXu1h/FzgaPvuR/6SzGjGbg6yx+4vmgakO71xzEtEJHB3qr/92tVOL5yLSPP/b+/OQrSqwziOf38WgbYTVmQLFtZdtoJkRV0Y1E1lG0KW7VhRFNh2E121EkiFSEEb0SYU7ZIXVrRpiHoRVFQE7WSEpqUYvy7+57Vpmpoa33NOc97fB+bifd8Znj8D88w5//N/noc/3yF+C9z8fxiOHuPbuEjubZJ0LnA3sJxy53ACsMD2kjbXVSdJk4DrgQNtXy5pGnCY7ZdG+dFxq6pS7dlKGb92j+2P2llRxPZJch+FpDXArCEFVJOBZV0+Cinpaco22AXVWMOJwLtNFI0NGkkzgdW2N0o6n1Itu3DIg/yIMelkk/o+mzBsG2Yd3f+9HWL7LsoAYWz/wrCH2V0j6VpJu6l4SNIqSac0EHoRsEnSdOAGSj+jxxqIGx3X9STVD69JWippnqR5wMvAKy2vqW5bqqv1XuXmIcDmdpdUu4ttrwdOAfYGLgLuaCDuVpfb59MpV+wLSfVq9MH//bRM62wvkDSb0tddlJ42z7W8rLrdSjmldICkJ4CZwLxWV1S/3p3JacDDtteomfOfGyTdTJksdqKkHfjjKGrEmGXPfRSSrgOetf1l22tpQpXQ9gc2ATMoSe892z+0urCaVZWiU4CplIrcHYDlto+uOe6+lKEwK22/JelA4CTb2ZqJ7ZLkPopqoMK5wI/AU8AS29+1u6p69aYEtb2OJkmaABwBfFbN1twLmGK764NZoqOS3P8lSYdT2iGcBXzZ8TF7DwCP2F7Z9loiYmyy5/7vfU8pMFlHeeDWZScDV0j6AthI2Zpxx1suRHRKrtxHIWk+5Yp9MmXO5tO2P/znnxrfqn4+f5Gz1xHjR67cR3cQpd3t6rYX0pRBTeKSjgem2X64KlbbxfbnNcX6u8Z0uUuKvsiVewTbHpwfQ2mzcKik/SinpGbWFG/Eu6OeQf0HG/2TK/eI4kzgSGAVgO2vJdVWTJTkHXVLhWpEsaWqFO1V5e48yvf3haQZklZK+lnSFkm/SVrfROzotiT3iOIZSYuBPSRdRhmY8WADce8H5gCfABOBS4H7GogbHZc994iKpFmU3jICltp+vYGYH9g+RtLa3kNUSe/YPq7u2NFt2XOP+MPHlJMqyyRNkrSr7Q01x9wkaSdgdTWY/BugkS2h6LZsy0QA1VbMEmBx9dYU4PkGQs+l/B1eTSkYOwCY3UDc6Lgk94jiKkr3y/UAtj+hmUrkM2z/anu97dtsX89gz++NPklyjyg2297SeyFpR0YuMuq3C0d4b14DcaPjsuceUbwh6RZgYvVg9UrgxbqCSZpDafU7VdILQz7ajdK/KGK75LRMBNta/l7CkNMywEOu6Q+kqlCdCtwO3DTkow3AWttb64gbgyPJPQZeNf3oUdvntxR/H+DY6uWKYTN7I8Yke+4x8Gz/BkyujiQ2StI5wArgHMpQmPclnd30OqJ7cuUeAVTVqUcBL1COJAJg+96a464BZvWu1qtulMtsT68zbnRfHqhGFF9XXxOA2hqGjWDCsG2YdeSOOvogyT0GmqTHbc8FfrK9sIUlvCZpKfBk9fo84NUW1hEdk22ZGGiSPgROpWzHnEQ5KbON7R8bWMNs4Pgq9pu2n6s7ZnRfknsMNEnXAPOBg4Gv+HNyt+2Da45/p+0bR3sv4r9Kco8AJC2yPb+FuKtsHzXsvW0dIiPGKsk9ogXV4PUrKXcMnw75aFfg7bbO3Ed3JLlHtEDS7sCejFCh2sQ+f3RfkntERAflPG1ERAcluUdEdFCSe0REByW5R0R0UJJ7REQH/Q60etL7jD9U8AAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(a_scores)\n",
"plt.xticks(range(11),Xtrain.columns.tolist(), rotation='vertical')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment