257 lines
60 KiB
Plaintext
257 lines
60 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"(3, 2)\n",
|
|
"(3,)\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"----------Uncertainty Estimates-------\n",
|
|
"(25, 2)\n",
|
|
"(25,)\n",
|
|
"[ True False False False True True False True True True False True\n",
|
|
" True False True False False False True True True True True False\n",
|
|
" False]\n",
|
|
"['red' 'blue' 'blue' 'blue' 'red' 'red' 'blue' 'red' 'red' 'red' 'blue'\n",
|
|
" 'red' 'red' 'blue' 'red' 'blue' 'blue' 'blue' 'red' 'red' 'red' 'red'\n",
|
|
" 'red' 'blue' 'blue']\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1300x500 with 3 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"-------Predicting Probabilities---------\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<Figure size 1300x500 with 3 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import mglearn\n",
|
|
"from sklearn.model_selection import train_test_split\n",
|
|
"from sklearn.datasets import make_blobs\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from sklearn.svm import LinearSVC\n",
|
|
"X,y= make_blobs(random_state=42)\n",
|
|
"\n",
|
|
"linear_svm=LinearSVC().fit(X,y)\n",
|
|
"print(linear_svm.coef_.shape)\n",
|
|
"print(linear_svm.intercept_.shape)\n",
|
|
"plt.scatter(X[:, 0], X[:, 1], c=y, s=60, cmap=mglearn.cm3)\n",
|
|
"line = np.linspace(-15, 15)\n",
|
|
"for coef, intercept in zip(linear_svm.coef_, linear_svm.intercept_):\n",
|
|
" plt.plot(line, -(line * coef[0] + intercept) / coef[1])\n",
|
|
" plt.ylim(-10, 15)\n",
|
|
" plt.xlim(-10, 8)\n",
|
|
" \n",
|
|
"mglearn.plots.plot_2d_classification(linear_svm, X, fill=True, alpha=.7)\n",
|
|
"plt.scatter(X[:, 0], X[:, 1], c=y, s=60)\n",
|
|
"line = np.linspace(-15, 15)\n",
|
|
"for coef, intercept in zip(linear_svm.coef_, linear_svm.intercept_):\n",
|
|
" plt.plot(line, -(line * coef[0] + intercept) / coef[1])\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"\n",
|
|
"print (\"----------Uncertainty Estimates-------\")\n",
|
|
"# create and split a synthetic dataset\n",
|
|
"from sklearn.ensemble import GradientBoostingClassifier\n",
|
|
"from sklearn.datasets import make_blobs, make_circles\n",
|
|
"# X, y = make_blobs(centers=2, random_state=59)\n",
|
|
"X, y = make_circles(noise=0.25, factor=0.5, random_state=1)\n",
|
|
"# we rename the classes \"blue\" and \"red\" for illustration purposes:\n",
|
|
"y_named = np.array([\"blue\", \"red\"])[y]\n",
|
|
"# we can call train test split with arbitrary many arrays\n",
|
|
"# all will be split in a consistent manner\n",
|
|
"X_train, X_test, y_train_named, y_test_named, y_train, y_test = \\\n",
|
|
" train_test_split(X, y_named, y, random_state=0)\n",
|
|
"# build the gradient boosting model model\n",
|
|
"gbrt = GradientBoostingClassifier(random_state=0)\n",
|
|
"gbrt.fit(X_train, y_train_named)\n",
|
|
"\n",
|
|
"print(X_test.shape)\n",
|
|
"print(gbrt.decision_function(X_test).shape)\n",
|
|
"# show the first few entries of decision_function\n",
|
|
"gbrt.decision_function(X_test)[:6]\n",
|
|
"print(gbrt.decision_function(X_test) > 0)\n",
|
|
"print(gbrt.predict(X_test))\n",
|
|
"# make the boolean True/False into 0 and 1\n",
|
|
"greater_zero = (gbrt.decision_function(X_test) > 0).astype(int)\n",
|
|
"# use 0 and 1 as indices into classes_\n",
|
|
"pred = gbrt.classes_[greater_zero]\n",
|
|
"#pred is the same as the output of gbrt.predict\n",
|
|
"np.all(pred == gbrt.predict(X_test))\n",
|
|
"decision_function = gbrt.decision_function(X_test)\n",
|
|
"np.min(decision_function), np.max(decision_function)\n",
|
|
"fig, axes = plt.subplots(1, 2, figsize=(13, 5))\n",
|
|
"mglearn.tools.plot_2d_separator(gbrt, X, ax=axes[0], alpha=.4, fill=True, cm=mglearn.cm2)\n",
|
|
"scores_image = mglearn.tools.plot_2d_scores(gbrt, X, ax=axes[1], alpha=.4, cm='bwr')\n",
|
|
"for ax in axes:\n",
|
|
" # plot training and test points\n",
|
|
" ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test, cmap=mglearn.cm2, s=60, marker='^')\n",
|
|
" ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train, cmap=mglearn.cm2, s=60)\n",
|
|
"plt.colorbar(scores_image, ax=axes.tolist())\n",
|
|
"plt.show()\n",
|
|
"\n",
|
|
"print (\"-------Predicting Probabilities---------\")\n",
|
|
"gbrt.predict_proba(X_test).shape\n",
|
|
"np.set_printoptions(suppress=True, precision=3)\n",
|
|
"# show the first few entries of predict_proba\n",
|
|
"gbrt.predict_proba(X_test[:6])\n",
|
|
"fig, axes = plt.subplots(1, 2, figsize=(13, 5))\n",
|
|
"mglearn.tools.plot_2d_separator(gbrt, X, ax=axes[0], alpha=.4,\n",
|
|
" fill=True, cm=mglearn.cm2)\n",
|
|
"scores_image = mglearn.tools.plot_2d_scores(gbrt, X, ax=axes[1], alpha=.4,\n",
|
|
" cm='bwr', function='predict_proba')\n",
|
|
"for ax in axes:\n",
|
|
" # plot training and test points\n",
|
|
" ax.scatter(X_test[:, 0], X_test[:, 1], c=y_test, cmap=mglearn.cm2, s=60, marker='^')\n",
|
|
" ax.scatter(X_train[:, 0], X_train[:, 1], c=y_train, cmap=mglearn.cm2, s=60)\n",
|
|
"plt.colorbar(scores_image, ax=axes.tolist())\n",
|
|
"plt.show()\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"---------Scaling training and test data same------\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwwAAAEICAYAAADycXNEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3XuYHHWZ9//3PQkkZHYgSA4iGUxQ\n2EuOgRkRf8IKGjAiQpagm+SnK8/iEnx01ycBFBZRF9dn3XU2ybLiYjz8VBLDIRDlWUEhAj93RRYn\nHAzhIOGgGQJmAhkISUAzcz9/VHXS09PdU9PT1VVd9XldV10z3VVdfc/h/vb3VN8yd0dERERERKSc\nlqQDEBERERGR9FKDQUREREREKlKDQUREREREKlKDQUREREREKlKDQUREREREKlKDQUREREREKlKD\nIafM7Fozu7Lexw5znulm5mY2NuLx3zWzfxjt+4pI7czsi2a2ohGvDcuHt9byXiJJMrMNZnZq0nHE\nwcyeNbNZKYhjRHWI0bxW9Y+hRvxLl2xw94viODYpZnYPsMLdv5V0LCISLzObDjwD7OPuu5ONRgTc\n/aikY5Bk5KX+oRGGHDKzMUnHICIiIiNTS+96M7yXpJ8aDBlhZm8zs3vMrC8cGj27aN93zezfzew2\nM9sBnFY63GZmnzGz581ss5l9vHhqQPGxZnaqmfWY2cVmtiV8zf8oOs8HzOxBM3vFzDaZ2RdH8DMc\nb2YPmNl2M7sBGF+070Az+w8z6zWzbeH308J9XwZOAb5mZq+a2dfC5/81jOEVM1tnZqfU+OsVaRpm\n9lkzey7MoyfM7L3h82PM7O/M7Klw3zozaw/3Rc4VMzvJzO4Ny5qHi6dhmNkMM/v/w/PfCUwaJtZL\ni8qdvyrZV60s+Xn4tS/M+Xea2VvM7C4ze9HMtprZSjObOKJfnkiNiqfthFPxbjKzFWEurDezI8zs\n8vBzc5OZnVH02nvM7B/N7H4ze9nMfmRmbwj3FabSXGBmvwPuCp8/O/ys7wtf/7aSWC43s0fDz8v/\nz8yKP0/PMrOHwtfea2bHlrz2s2b2a2CHFTUazOyNZrbTzA4qeq4j/Fzep8zv5EQz6w5z+PdmtqRo\n38lF5cgmMzs/fD5yHcLMDjCzb4dlyHNm9g8WdoiG5V1XWBY8DXxgmL+f6h/DcXdtTb4B+wAbgb8D\n9gXeA2wH/jTc/13gZeBdBI3E8eFz/xDunw28ABwFTACuAxx4a9HrC8eeCuwGrgrf90xgJ3Bg0f5j\nwvc5Fvg9MCfcNz0879gyP8O+wG+BReF5zwP+WPS+BwFzw/jagJuAHxa9/h7g4yXn/Ej4urHAxeHP\nOD7pv5c2bXFtwJ8Cm4A3hY+nA28Jv78UWB8eY8BxwEHhvoq5AnyRYLgd4BDgxTDvW4DTw8eTw/2/\nBJYA44A/C8uhFRVinR2WD0cDrcAPSsqdEZUlwFvDeMYBkwkaFcuS/ptoy8cGPAvMCr//IvAa8L4w\np75PMIXuivDz7a+BZ4peew/wXFEu3FyUc4X/9e+H+/YDjgB2hP/v+wCfIagD7FsUyyNAO/AG4Bfs\n/Sw9AdgCvAMYA3wsPH5c0WsfCl+7X5mf7TbgE0WxLwX+rcLv5JfAR8Pv/wQ4Kfz+0LBsmB/GfxAw\nM9wXOe+BHwLfCH8vU4D7gYXhvouAx4t+B3eXlhlFcar+EeV/POkAtNXhjxi0bl8AWoqeWwV8Mfz+\nu8D3S17z3aJk+A7wj0X73kr1BsMuBn9QbykUBGViWwYsDb8flOwlx/0ZsBmwoufuLbxvmeNnAtuK\nHg9J2DKv2QYcl/TfS5u2uLYwd7cAswjm9xfvewI4J+J59uQKgxsMnwWuKzn2pwSVjkMJOhNai/b9\ngMoNhu8AXyl6fERxuVPm+EhlSdHxc4AHk/6baMvHxtAGw51F+z4IvAqMCR+3hf+/E8PH95TkwpHA\nHwgq9IX/9cOK9l8J3Fj0uIWgwXFqUSwXFe0/E3gq/P7fgS+VxP4E8O6i1/5VlZ/tL4BfhN+PIah7\nnFjhd/Jz4O+BSSXPXw6sifh7LZv3wFTgdcJGTbh/PnB3+P1dJb+DMyqVGaj+EWnTlKRseBOwyd0H\nip77LUFvYMGm4V4f8ViAF33whYY7CXoPMLN3mNnd4dDdywSt/KrTEopieM7DzAr9tvCNmU0ws2+Y\n2W/N7BWCgmiiVbkew4JpU4+FQ7x9wAERYxFpSu6+EfhfBBWWLWZ2vZm9KdzdDjxV7nUjyJU3Ax8K\npxH0hceeDBxMkMPb3H1H0fG/LXOOgtJyZ9CxIy1LzGxK+PM+F5YRK6odLxKz3xd9vwvY6u79RY8h\n/NwMlebCPgz+/y3e/yaK8iX87N9E5c/834avgSCHLy7J4fai/aWvLfUj4EgzO4xghONld7+/wrEX\nEHQEPG5mvzKzs8Lnq5VFUfP+zQS/o+eLfo5vEIw0wDDlSwnVPyJQgyEbNgPtZlb89zyUoMehwKns\neWBa0eP2UcTyA+BWoN3dDwCuJZj+MJzngUPMrPjYQ4u+v5hgKsU73H1/gh4Bis496OcL5wt+Fvgw\nwXSpiQTTsqLEItK03P0H7n4ywQeqA/8U7toEvKX0+BHmyiaCEYaJRVuru3+FIIcPNLPWouMPLXOO\ngucZXNaUHlutLClXnv1j+PyxYRnxkQo/g0galebCH4GtRc8V/89vJshvAMLPzXYGf+aXnm9z+P0m\n4MslOTzB3VdVeK9B3P014Ebg/wU+SjCFudKxT7r7fIJK/D8Bq8PyoWxZFIpah9hEMMIwqejn2N/3\nrlY1XPlSTPWPCNRgyIb/JpjP+Bkz28eCixA/CFwf8fU3Av/DggunJwCfH0UsbcBL7v6amZ0ILIj4\nul8STGf4WzMba2bnAieWnHcXwUWObwC+UPL63wOHlRy/G+gFxprZ54H9R/zTiDQRM/tTM3uPmY0j\nmEO9Cyj0an4L+JKZHW6BYy24eHEkubIC+KCZvS+8qHC8BQshTHP33wLdwN+b2b5mdjJBOVTJjcD5\nZnZkWO6U5nS1sqQXGGBozr9KUEYcQnDNhkiz+EhRLlwFrC4akSh1I/ABM3uvBRcbX0xQeb636JhP\nmtm08PPy74Abwue/CVwU9uSbmbVacKFx2whi/T5wPnA2QZlQlpl9xMwmhyMgfeHT/cBKYJaZfTj8\nvD/IzGaG+yPVIdz9eeAO4F/MbH8za7Fg4YN3F/2O/jb8HRwIXFbl51H9IwI1GDLA3f9AkLjvJ+iR\n+Drwl+7+eMTX3w5cTXBR0EaC5IGgABqp/wlcZWbbCRoeN0aM4Q/AuQSF0DaCeZK3FB2yjOBir63A\nfcBPSk7xr8B5FqxgcDXBvOrbgd8QDC2+xvBTrUSa3TjgKwR58gJBz97fhfuWEOTjHcArwLcJcipy\nrrj7JuCc8Jy94XGXsvezZAHBxZQvEXyofr9SoGG5s4xgrvHG8GuximWJu+8Evgz8IpyOcBLBXOkT\nCHryfszg8kMk7a4juF7wBYKFSf620oHu/gTBCNq/EeT6B4EPhp+jBT8gyPWnw+0fwtd2E1x0/TWC\nz9qNBJ+7kbn7Lwga7A+4+7NVDp0NbDCzVwk+o+e5+2vu/juC6youJigrHiJYhAFGVof4S4ILlh8N\nf5bVBNMjIWgY/RR4GHiAKuWB6h/R2OApWyLBEq0EKyyMc90USUREJDZW5xt/mdmzBBfhrq3H+Sq8\nx13AD+oVs6SfRhgEADP783AawYEEcw3/jxoLIiIiUszM3k4wmnfDcMdKdqjBIAULCaYYPEUwx/AT\nyYYjIiIiaWJm3wPWAv/L3bcnHY80jqYkiYiIiIhIRRphEBERERGRisYmHUAtJk2a5NOnT086DJHM\nWLdu3VZ3n5x0HFEo/0XqS/kvkl9R878pGwzTp0+nu7s76TBEMsPMqt0FM1WU/yL1pfwXya+o+a8p\nSSIiIiIiUpEaDCIiIiIiUpEaDCIiIiIiUlFTXsNQzh//+Ed6enp47bXXkg4lF8aPH8+0adPYZ599\nkg5FRERERGKUmQZDT08PbW1tTJ8+HTNLOpxMc3defPFFenp6mDFjRtLhSJGBAVi1CpYuhU2boL0d\nFi2C+fOhReOJIiIiUoPMNBhee+01NRYaxMw46KCD6O3tTToUKTIwAOeeC2vXwo4dwXNbtsDChbB6\nNdx8sxoNIiIiMnKZqj6osdA4zfK7HhiAlSuhsxOmTg2+rlwZPJ81q1YNbiwU7NgBd94J11+fTFwi\nIiLS3DLVYBApVuhxX7gQ1q0LetvXrQsez507fKOhtLFx2GEwYwZMmZLOhsfSpUMbCwU7dsCSJY2N\nR0RERLJBDYY66evr4+tf/3pNrz3zzDPp6+uresznP/951q5dW9P5R+OHP/whjz76aMPftx5G0+Ne\nrrHxzDPw7LPQ2zuyhkejbNpUfX9PT2PiKDCz75jZFjN7pMJ+M7OrzWyjmf3azE5obIQizS9Po6gi\nsldp7p86s4/nj57FwEvV65O1ymWDIY4CtlqDob+/v+prb7vtNiZOnFj1mKuuuopZs2bVHF+tmrnB\nMJoe90qNjdJzpGmqT3t79f3TpjUmjiLfBWZX2f9+4PBwuxD49wbEJDmRh4r0aEdR46QOA5H4lMv9\n9z7cxdQNd3HT/7MkltzPXYMhrgL2sssu46mnnmLmzJlceuml3HPPPZx22mksWLCAY445BoA5c+bQ\n0dHBUUcdxfLly/e8dvr06WzdupVnn32Wt73tbfz1X/81Rx11FGeccQa7du0C4Pzzz2f16tV7jv/C\nF77ACSecwDHHHMPjjz8OQG9vL6effjonnHACCxcu5M1vfjNbt24dFGd/fz/nn38+Rx99NMcccwxL\nly4F4KmnnmL27Nl0dHRwyimn8Pjjj3Pvvfdy6623cumllzJz5kyeeuqp2n45CRlNj3u1xkaxNE31\nWbQIWlvL72tthcWLGxuPu/8ceKnKIecA3/fAfcBEMzu4MdFJltVzOuIBBwT5c8AB0NGRrkZHyq9b\n+i7qMJAE5KGzoDT3D6CPRSyjBecDTyzh5m/HMMrg7k23dXR0eKlHH310yHPlrFjh3trqDkO31lb3\nlSsjnWaIZ555xo866qg9j++++26fMGGCP/3003uee/HFF93dfefOnX7UUUf51q1b3d39zW9+s/f2\n9vozzzzjY8aM8QcffNDd3T/0oQ/5dddd5+7uH/vYx/ymm27ac/zVV1/t7u7XXHONX3DBBe7u/slP\nftL/9//+3+7ufvvttzvgvb29g+Ls7u72WbNm7Xm8bds2d3d/z3ve47/5zW/c3f2+++7z0047bcj7\nlor6O09KR0f5v3NhK/NvtMeUKdVfW7xNndq4n6ma/n73c84Z+v/d2uo+Z06wvxKg22PIVWA68EiF\nff8BnFz0+GdA53DnLJf/IsVGU85XyqPCNmHC8PnUKKMp44ollP/fAOYXPX4COHi4cyr/pZrRfA4W\nXr9iRZA7U6a4z5jhPn26++TJwXMrVqQz96/iCt/Bfu7gO9jPl7/xysjnipr/uRthaOSFoSeeeOKg\n+xRcffXVHHfccZx00kls2rSJJ598cshrZsyYwcyZMwHo6Ojg2WefLXvuc889d8gx//Vf/8W8efMA\nmD17NgceeOCQ1x122GE8/fTT/M3f/A0/+clP2H///Xn11Ve59957+dCHPsTMmTNZuHAhzz///Gh+\n9FQYTY/7cNN7iiUw1aeslha45RZYvjzoCZ06Nfi6fHlql1Qtt9SWlz3Q7EIz6zazbi3nK8OJczri\nzp2p6L0H0nfd0ggdAhT/BD3hc0Mo/yWqvFy7WJz7hdGFCQQzUiawiwW/XwLDXBs7UumrQsSskQVs\na1Ft9Z577mHt2rX88pe/5OGHH+b4448ve1fqcePG7fl+zJgx7N69u+y5C8cVHxM0FKs78MADefjh\nhzn11FO55ppr+PjHP87AwAATJ07koYce2rM99thjI/pZ02j+fJg1a2ijobUVTj8d5s2rPHT56U9X\nbmyUnqvRU32qaWmBBQuguxteeCH4umBBKhsLEFQQiptm04DN5Q509+Xu3ununZMnT25IcNK84p6O\nmJapiCm8bmkkIncYKP8lqrxcu1ic+xfTRQuDWzBjGKh7IZXOakSM4ipg29ra2L59e8X9L7/8Mgce\neCATJkzg8ccf57777qvtjao4+eSTufHGGwG444472LZt25Bjtm7dysDAAHPnzuVLX/oSDzzwAPvv\nvz8zZszgpptuAoKGx8MPPxzp50q7uXODZVDHjg226dPh2muDHneoPM/55pvLNzaKFTc8pCa3An8Z\nXvx4EvCyuzf/0JYkbjTl/HCNjYI09N6n7bqlEYrcYSASVV6uXSzkfunoQsF43xUEWcdRhtw1GOIq\nYA866CDe9a53cfTRR3PppZcO2T979mx2797Nsccey5VXXslJJ51U2xtV8YUvfIE77riDE044gdtv\nv52DDz6Ytra2Qcc899xznHrqqcycOZPzzz+ff/zHfwRg5cqVfPvb3+a4447jqKOO4kc/+hEA8+bN\n46tf/SrHH398U130XBha/MQngiHF3buDrbd3b2Oh2tDl2rVw3nl7p/dMmRLcg6FwH4aUT/VJBTNb\nBfwS+FMz6zGzC8zsIjO7KDzkNuBpYCPwTeB/JhSqZEwjpiOmofc+yihqiqnDQOquEZ0FkHyHQSH3\nL9+ni7GUn4nC7t31bdlEudAhbdtoLnoe7QUxafbaa6/5H//4R3d3v/fee/24446L9f3SfNFzlIse\n63XBYBYQ00WPcWy66FGGE6WcL724sXBB4/e/X7nsqMcCGfXW37+3PJs6Nfi6cuXIPsviyH9gFfA8\n8EeC0YQLgIuAi8L9BlwDPAWsJ8KCB678l2FEXfCgXP7PmFE979NWP+jvd/9dxxx/aewk32qT/KWx\nk3xX2yQfmDTJvbDNmTPseaLm/9j6NT2aQ+HC0OuvDxpePT1Bi3Px4qA3ppl7i3/3u9/x4Q9/mIGB\nAfbdd1+++c1vJh1SYqLMY2zyCwZFpIq5c+HXv96b59OmwZe+FFzTA8EIZPEI45YtwXTEWbOCrdJc\n5gkT0tV7X7huqfBzpYW7zx9mvwOfbFA4khPz58ONN8JPfwqvv773+XHjgrwuXLtYLv/HjYMxY2CY\nW2elZrpfSwu0d69p2PvF3mAws2eB7UA/sNvdO0v2G/CvwJnATuB8d38gzpjSWsCO1uGHH86DDz6Y\ndBipEKUx0N4eFBKVpGHKgYiMTLnKAOydjrhgwfDTEa+9Fj784aBj4ckng5H9sWPhrW+Fiy9u/s4l\nkSyzcpfTFz1fKf9ffz1oMIwbN7ixUaxJpvvFolEjDKe5+9YK+4pv3vIOgpu3vKNBcUlGRWkMLFoU\n9CiW60VMSw+CiIxMlGUVhxuBXLZs7wpjItI8CvlfWuF//fVo+d/fD4ceCm94Q9DxWLg+aMeOoF6R\nhdkotUrDlKQ9d3sF7jOziWZ2sOviJxmFKI2BefPgppuGVi7y3IMg0uw0HVEkv+qR/zt3wtNP1z+2\nZteINpIDd5jZOjO7sMz+SDdv0Y1bZCSirB7ShDc6E5FhRJ2OWI2mI4o0J+V/fBpRJXqXu59AMPXo\nk2b2ZyX7I928xXXjFhmBqI2BJrvRmYgMI0ploMnvXyAiFSj/4xN7tcjdN4dftwBrgBNLDsnEzVv6\n+vr4+te/XvPrly1bxs6dO0cdxz333MO999476vNkgRoDIvkTpTLQ5PcvEJEKlP/xibXqZGatZtZW\n+B44A3ik5LDkbt7S1xf819ThTnhqMIiIJE/TEUXyS/kfn7h/LVOB/zKzh4H7gR+7+09Sc7fXri64\n66663Anvsssu46mnnmLmzJl77vT81a9+lbe//e0ce+yxfOELXwBgx44dfOADH+C4447j6KOP5oYb\nbuDqq69m8+bNnHbaaZx22mllz33kkUdy7LHHcskllwDQ29vL3Llzefvb387b3/52fvGLX/Dss89y\n7bXXsnTpUmbOnMl//ud/jvrnEhFpJpqOKJJfyv/4xLpKkrs/DRxX5vlri75P5uYtfX3B2nnuQYNh\n8WKYOLHm033lK1/hkUce4aGHHgLgjjvu4Mknn+T+++/H3Tn77LP5+c9/Tm9vL29605v48Y9/DMDL\nL7/MAQccwJIlS7j77ruZNGnSoPO+9NJLrFmzhscffxwzoy8cDfn0pz/NokWLOPnkk/nd737H+973\nPh577DEuuugi/uRP/mRPwyJPBgaCJdWWLg0ufGpvD4Yn589XISCSJ1m9146IDE/5H480LKuajK6u\noIYJwdclS+Cqq+p2+jvuuIM77riD448/HoBXX32VJ598klNOOYVLLrmEz372s5x11lmccsopVc+z\n//77M378eD7+8Y/zgQ98gLPOOguAtWvX8uijj+457pVXXmH79u11i7/ZVLpz48KFsHq1hhlFRERE\napXPKlRhdGHXruDxrl1Bg6EO1zIUuDuXX345Dz30EA899BAbN27kggsu4IgjjmDdunUcc8wxXH75\n5Vw1TCNl7Nix3H///cydO5cf/vCHzJ49G4CBgQF++ctf7jn/c889R1tbW93ibzZRbtZUzsAArFwJ\nnZ3B0GVnZ/C40JYUkfRTHovkl/K/MfLZYCgeXSgojDLUqK2tbVAP//ve9z6+853v8OqrrwLw3HPP\nsWXLFjZv3syECRP4yEc+wiWXXMIDDzxQ9vUFr776Ki+//DJnnnkmy5Yt2zPl6YwzzuBrX/vanuMK\nz1c6T9ZFuVlLqcKoxMKFsG5dMCKxbl3weO5cFTYizUB5LJJfyv/GyV+DoXR0oWCUowwHHXQQ73rX\nuzj66KO59NJLOeOMM1iwYAHvfOc7OeaYYzjvvPPYvn0769ev58QTT2TmzJl8+ctf5nOf+xwAF154\nIe9///uHXPS8fft2zjrrLI499lje/e53s3TpUgCuvvpquru7OfbYYznyyCO59trgspAPfvCDrFmz\nJncXPddy59ZaRyVEJD2UxyL5Vdf8r+PKmZnk7k23dXR0eKlHH310yHNlXXGF+7hx7sHlzoO3cePc\nr7wy2nkk+u+8ATo6yv9JC1uZf5maXpNVQLenILejbOXyX/Kr1jzu73dfsSLYP2VK8HXFiuD5vFH+\nS7OqJf8r5v7fXeFulrt6YNT8z99Fzxs2QFtbsJWzfn1j45G6WLQoGIIsNy2p0p0baxmVEJF0qSWP\ntUiCSDaMNP8r5f5nLuxj7uvLGO/1WTkzi/JXJK5ZA729lbc1a5KOUGpQy50bo9xCXkTSrZY81jQm\nkWwYaf5Xyv2LdnYx0F+ycqYMkqkGQzCyIo2Qtt91LXdujHILeRFJt1ryuJZFEkQkfUaa/+Vy/wD6\nWMQyJhDfyplZkJkGw/jx43nxxRdTV5HNInfnxRdfZPz48UmHMshI79xYy6iEiKRLLXms6Ygi2TDS\n/C+X+xfTRQv1XTkzizJzDcO0adPo6emht7c36VByYfz48Uxr8jk7hVGJ668PyoWenmD4cvHioJDR\nHGaR9Kslj9vbg3nLlTR50SaSGyPN/9LcHzK6UFAYZdC1DHtkpsGwzz77MGPGjKTDkCajW8iLNL+R\n5nEtiySISDqNJP9Lc/9iuhjL7vIH794dNBqGucFuXqgPVUREckXTEUXyqTT3j2YD22ljK5N4ed9J\n+KRJUNja2rRyZpHMjDCIiIhEoemIIvlUmvuf6FkzKPdNuV+RGgwiIpI7mo4okk/K/dqoLSUiIiIi\nIhWpwSAiIiIiIhWpwSAiIiIiIhWpwSAiIiIiIhWpwSAiIiIiIhWpwSAiIiIiIhXF1mAws3Yzu9vM\nHjOzDWb26TLHnGpmL5vZQ+H2+bjiEZHGM7PZZvaEmW00s8vK7D80LCceNLNfm9mZScQpIvWn/BfJ\njjjvw7AbuNjdHzCzNmCdmd3p7o+WHPef7n5WjHGISALMbAxwDXA60AP8ysxuLSkDPgfc6O7/bmZH\nArcB0xserIjUlfJfJFtiG2Fw9+fd/YHw++3AY8Ahcb2fiKTOicBGd3/a3f8AXA+cU3KMA/uH3x8A\nbG5gfCISH+W/SIY05BoGM5sOHA/8d5nd7zSzh83sdjM7qso5LjSzbjPr7u3tjSlSyZOBAVi5Ejo7\nYerU4OvKlcHzUheHAJuKHvcwtNPgi8BHzKyHoHfxb8qdSPkv0nSU/yIZEnuDwcz+BLgZ+F/u/krJ\n7geAN7v7ccC/AT+sdB53X+7une7eOXny5PgCllwYGIBzz4WFC2HdOtiyJfi6cCHMndsEjYa+Ppg1\nK/iaXlbmOS95PB/4rrtPA84ErjOzIeWS8l+k6Sj/RTIk1gaDme1D0FhY6e63lO5391fc/dXw+9uA\nfcxsUpwxiQCsWgVr18KOHYOf37ED7rwTrr8+mbgi6+qCu+6CJUuSjqSaHqC96PE0hk45uAC4EcDd\nfwmMB1QGSKyacnSxOToJiin/JZWaMv9TIM5Vkgz4NvCYu5et1ZjZG8PjMLMTw3hejCsmkYKlS4c2\nFgp27Eh5PbyvD5YtA/cg0PRWIH4FHG5mM8xsX2AecGvJMb8D3gtgZm8jqDBozoHEpmlHF5ujk6CY\n8l9Sp2nzPwXiHGF4F/BR4D1Fy6aeaWYXmdlF4THnAY+Y2cPA1cA8dy8dshSpu02bqu/v6WlMHDXp\n6tpbqg0MpLYC4e67gU8BPyVY9OBGd99gZleZ2dnhYRcDfx2WAauA81UGSJyacnSxeToJ9lD+Sxo1\nZf6nhDVjbnZ2dnp3d3fSYUgT6+wMehUq6eiAVP6L9fXBtGmDS7vW1qCFM3EiELQhVq0KRlE2bYL2\ndli0CObPh5YKXQRmts7dOxvwE4ya8l9Goylz/3OfCxoKu3bBfvvBJZfAVVfV7fTKf8mLpsz/mEXN\nf93pWTJpuDmKixYF9exyWlth8eL6v+doDQzA+vO7eG3n4BN60SiDhltFqmu60cXC6MKuXcHjXbuG\njDJoTrZINE2X/xE0Kv/VYJDMiVJpnj8/uH6wtNHQ2gqnnw7z5tX/PUf7M330g30c9qNljPddg/bZ\nrl14WIHQcKvk3XAfnu3t1V8/bVp932/UiqcgFr+pOglEBomSi/XO/6Q1NP/dvem2jo4OF6lkxQr3\n1lb3YMLv4K211X3lyuC4/v4PTgUTAAAgAElEQVTg+44O96lTg68rVwbPx/Weo/mZvrLPFb6LcWXf\nZPfYce5XXukdHeVjKGyVUgfo9hTkdpRN+S+V9Pe7n3PO0FxsbXWfMyfYX89cjfJ+o/p5XtzmfxhX\nJdht2+ry8yj/pdlFzcV6f1YXypSODvcpU4KvK1aMPvejnruR+Z948teyqcCQamqtNKf5PTs63G9h\njm9hUtntpbGT3OfM8SlTqscxdWr586vCIFkQ5cOznpX8ODsK+vvdbziicifBwLjRdRIUU/5LsxtJ\nR2G98j/ODoOo525k/mtKkmROEnMU437PTZvgXNYwhd6y29sO6oU1azI33CoyElGWS25pgVtugeXL\ngwscp04Nvi5fDjffXHlhgFrfr1arVsH4pzawnTZ6mTRo28okXt+3Ddavz+ScbJGRipqL9cz/OKcA\nRz13I/N/bP1OJZIO7e3BPL5K4qg0x/2eUc+/aFEwd7FcwVnrxdwizSLqh2dLCyxYEGyNeL9aLF0K\n6/rXVNzfcQR0r4H2zsaXdyJpM5JcrFf+R2mk1PoeUc/dyPqORhgkc6qtgATw0kv1X0Gg2ntOmADv\neMfoLoqMuqpTvS/mFmkmjR5hi/P9olaA4ljxTaTZJDG6HmeHQRrzXw0GyZxKleaCZ56p/woCld5z\nwgTYf3/43vdGt4JB1IZAPYdbRZpNoyvPcb5f1AqQOglEkmk4x9lISWP+q/ogmVNcaZ4+HcyGHlPv\nZUYrVdTPPx+2bx/9HMeRNAQKw63d3fDCC8HXBQvUWJDsq/Th2dICu3cHw/j1HF2s9mE9axb099c+\nshi1AqROApHKuThuHOyzT5BP9V7yuFqOjhsXzGaIe1ZBQ/M/ypXRadu0SoJElcSKSWl6/6jQKimS\nEYXlkk84wX3cOPeWlvqvYFLu/YqXZ77uutGvnhL3kq3FlP+SBcW5OGWK+wEHBGVAXPlTKUfHjAm2\n0bxvGvNffQ+SaUmvILJpExxAH3cyiwPoG7JfK5iI1FdhhG3xYhg7dmivXhyji6UjemajXz1FIwci\nI1Oci0uWBKOKr78++Jh65n+5HJ0+PSh3+vtH975pzH8VOZJpSS8z2t4OF9PFe7iLxQxdY1ErmIjE\nI84lT6O899gd5TsKRvLeml4oUkVfXzAPqW9oZ1yj8r80Rw86aGgjpdb3TVv+q9iRTEt6BZHPXNjH\nYpbRgrOYJYMqD1rBRCQ+SY4ubtpUvaNAI4siddDVBXfdVbYWnlT+Jz2rIU5qMEimJb2CyHm/7WJs\nSzAnooWBPZUHrWAiEq8kRxffdnAfiyp0FMT93iK50NcHy5YFU/uXLBkyypBU/ic9qyFOajBIpiU6\nD7Cvj5Z/Xca4gV0ATGAXF9sS3n1cn+Yhi8QsydHFf5veRQtDOwoa8d4iudDVtfcCpYGBIaMMSeV/\n0rMa4qTqimReYvMAiwu0UOv4Ae45e4nmIYvELLHRxb4+jl67jAns7SgojDJoZFGkDgqjC7uCHGPX\nriGjDEnlf9KzGuKkKotIHEoLtIIyBZuI1F9io4tdXVhJR8EYBvjqG5doZFGkHsp0xpWOMiSV/2lc\n3aheLFiCtbl0dnZ6d3d30mGIVPa5zwWFWrnlEsaNg898Bq66qvFxVWBm69y9M+k4olD+S2r19QWT\nlMstz9LaGlzxOHFi4+MahvJfmkaT5liaRc3/Jm7rpM/AQHA3v1rv7CkZsmEDtLXBpElDt7Y2WL8+\n6QhFpN66uoLF38sp3GpaRGqnHEvM2LjfwMxmA/8KjAG+5e5fKdk/Dvg+0AG8CPyFuz8bd1z1NjAA\n5547+GY9W7bAwoWwenXzD0XJCK1Zk3QEkpCBAVi1KlgHfNOmYNWMRYuCua0qAzKu0FHQ1lZ+vzoK\nckFlQIyUY4mJtcFgZmOAa4DTgR7gV2Z2q7s/WnTYBcA2d3+rmc0D/gn4izjjisOqVcPf2XPBgmRi\nE5HGUMdBzqmjIPdUBsRMOZaYuP9tTwQ2uvvT7v4H4HrgnJJjzgG+F36/GnivmVnMcdXdcHcV/NjH\nNEVJJOuidByISHapDJCsirvBcAhQfN+7nvC5sse4+27gZeCg0hOZ2YVm1m1m3b29vTGFW7vh7u63\nezesWxf0Msydq0aDSBap40Ak31QGSFbF3WAoN1JQuixTlGNw9+Xu3ununZMnT65LcPU03N39CtTL\n0Px0cbtUoo4DkXxTGSBZFXeDoQcorkpPAzZXOsbMxgIHAC/FHFfdVbu7X6kdO3Qhf7MqzE9duDAo\n9LdsUeEve6njINvUWSDDURmQTcr9+BsMvwION7MZZrYvMA+4teSYW4GPhd+fB9zlTXhziEp396uk\npyfeeCQemp8q1ajjILvUWSBRqAzIHuV+INYGQ3hNwqeAnwKPATe6+wYzu8rMzg4P+zZwkJltBBYD\nl8UZU1xK7+43dpj1p6ZNa0xcUl/DzU9V4Z9v6jjILnUWSBQqA7JHuR+IfXEvd7/N3Y9w97e4+5fD\n5z7v7reG37/m7h9y97e6+4nu/vRo3i/JYaOWlmDp1O5u+O53KxcYra2weHH88Uj9DTc/VYV/eiRR\nFqjjILvUWSBRqAzIHuV+IFOrAadp2KhSL0NrK5x+Osyb17hYpH6Gm5+qwj8dkiwL1HGQTeosaC7q\nPJR6Ue4HMtVgqOew0WgLm9JehqlTg6/Ll+vGLc2s2vxUFf6DmdlsM3vCzDaaWdmphmb2YTN71Mw2\nmNkP6vXeaSkL1HGQHeosGJkk81+dh1JPyv2Quzfd1tHR4eV0dLhD5a3Cy4bo73c/5xz31tbBr29t\ndZ8zJ9gv+ZTV/w2g2+uYo8AY4CngMGBf4GHgyJJjDgceBA4MH0+Jcu5K+V8sTWVBf7/7ypXBe06d\nGnxdubJ5/1fyasWKof8Hxf8PK1cmHWHtspb/9fxb9fcH5+vocJ8yJfi6YsXI8ldlQHPLcu67R8//\nhlXy67lVKjCmTKleSZg6NdovL+v/HDI6WSz8Y6gwvBP4adHjy4HLS475Z+DjIz13lAqDygKpt6x2\nFrhnL//T1GEgzS/r/wdR8z9TE2PqNWykC1ykmuL5qS+8EHxdsEDTzEpEucv7EcARZvYLM7vPzGZX\nOtlI7/SuskDqTdNMRyTR/K/XnHOtjiOg3C/I1I9Zr/nlusBFZNSi3MF9LMG0hFOB+cC3zGxiuZP5\nCO/0rrJA4qDOgsgSzX91GEi9Kfcz1mCo18VFusBFRkp3gRwi6l3ef+Tuf3T3Z4AnCCoQo6ayQBpB\neV9RovmvDgOJWx5zP1MNhnoNG2klHImsrw+fNYuPfrAvFStypEiUu7z/EDgNwMwmEUxRGNV9WApU\nFkjc0rQSTwolmv/qMJA45TX3M9VggPoMG420sMljS1NCXV3ws7s4+s4lmudaxKPd5f2nwItm9ihw\nN3Cpu79YrxgaXRaoHMiX1d/q49P/ZxZjd/QNej7PeV+QdP4n0WGg/M+P3F7bEuXK6LRtUVZJqCTq\nEmlRV8KpdvV8R4f7CSfUvhSbpNy2bXv+8Ntp9QPYNqoVOZJEnVdJiXMbTf4Xq2dZkPVVNGSob77x\nCu/H/O+5smnzvkD5Xz7/o+a18j9f6rUKV1pEzf/Ek7+WrdYCI46krrbsYrllGKu9Tz3We5YGuuIK\n9/32cwffwX4VKw5Rl/BMUt4qDPUuC6qVA+PGuc+YET2nVQ40gW3b/FWqdxY0Q94XKP8r53+UDgPl\nf77Ua9nutFCDoYw41lQfrqUZ9X3UQ9FkikYXClulikMz9DbkrcJQ77JgJOVAtZxWOdAkrrjCd1n1\nzoJmyPsC5b/yX6LL6whD5q5hqCaOJdKGW0Uh6vvkdk5cs+rqGjI5tYUBFjP4j6sLY9Op3mXBSMqB\najmtcqAJ9PXBsmWM910ATGAXi1nCAey9lkF5n27KfxmNvC6GkasGQxxLpA23ikLU99F6z00krDCw\na9egp0srDiNdkUMap95lwUjLgUo5rXKgCQzTWaC8Tz/lv4xGvVbhaja5ajDUukRatdUPqrU0R/I+\nWu+5iXR1we7dZXftY7u5snVJLu8C2UzqXRZ8+tMjLwfK5bTKgZSr0llwsS3h3cf1Ke+bgPJfRiOv\nd34em3QAjbRoUbBObrkWfKVhpMJ6u8XDhFu2BOdZvRpuuinYyg0jllPpfdrbg/NWovWeU2TDBmhr\nC7YS44CLT17PxWsaH5ZEV++yYNasYItaDkD5nFY5kHJVOgta993NPWcvgQVXNTgoGSnlv4xWYdnu\nBQuSjqRxMtoOKq+WYaTh5hTeeGP5lmZHB0yYEP198jonrimtWQO9vZW3NWotpF29y4K1a+G88waX\nAzNmwLhx5d+/Uk6rHEi5QmfBpElDt7Y2WL8+6QglAuW/SA2iXBmdtm2092GIcn+Fglqvhh/p+2h1\nBEkSOVslxT3+sqCWnFY5IElQ/iv/Jb+i5r8FxzaXzs5O7+7ubsh7TZ1afYhw6tTgLrL1MDAQrIKw\nZEkwV3HatKBHYd687M6Jk3Qws3Xu3pl0HFE0Mv+L1VIW1JLTKgek0ZT/w1P+S1ZFzf9cXcNQi0bO\nKczjnDiRZlFLWVBLTqscEEkf5b/kXSztVTP7qpk9bma/NrM1ZjaxwnHPmtl6M3vIzBrfZRCB5hSK\nCKgsEMkz5b/kXVwDXHcCR7v7scBvgMurHHuau89M63BoXtfbFZHBVBaI5JfyX/IulgaDu9/h7oW1\n5+4DmnYxsLyutysig6ksEMkv5b/kXSOuYfgr4IYK+xy4w8wc+Ia7L690EjO7ELgQ4NBDD617kNVo\nTqGIgMoCkTxT/kue1dxgMLO1wBvL7LrC3X8UHnMFsBtYWeE073L3zWY2BbjTzB5395+XOzBsTCyH\nYJWEWuMWEREREZHoam4wuPusavvN7GPAWcB7vcLare6+Ofy6xczWACcCZRsMIiIiIiLSeHGtkjQb\n+CxwtrvvrHBMq5m1Fb4HzgAeiSMeERERERGpTVyX6XwNaCOYZvSQmV0LYGZvMrPbwmOmAv9lZg8D\n9wM/dvefxBSPiIjEaGAAVq6Ezs7ggtDOzuDxwEDSkYlI3JT/2RfLRc/u/tYKz28Gzgy/fxo4Lo73\nl2QMDMCqVbB0KWzaFNzoZtGiYDk6rSAhkl0DA3DuubB2LezYETy3ZQssXAirV2sVGZEsU/7ng/6E\nUheFAmPhQli3Ligs1q0LHs+dq14GkSxbtWpwZaFgxw648064/vpk4hKR+Cn/80ENBqkLFRgi+bV0\n6dDcL9ixA5YsaWw8ItI4yv98UINB6kIFhkh+bdpUfX9PT2PiEJHGU/7ngxoMUhcqMETyq729+v5p\n0xoTh4g0nvI/H9RgkLpQgSGSX4sWQWtr+X2trbB4cWPjEZHGUf7ngxoMUhcqMETya/58mDVraBnQ\n2gqnnw7z5iUTl4jET/mfD2owSF2owBDJr5YWuOUWWL4cTjgB9t8fJkyAMWOC6YqrVmmlNJGsUv7n\ngxoMUhcqMETyraUl6Bhob4f+fti5E155Rcsri+SB8j/71GCQulGBIZJvWl5ZJL+U/9mmBoPUlQoM\nkfzS8soi+aX8zzY1GKSuVGBIMTObbWZPmNlGM7usynHnmZmbWWcj45P60vLKUkz5ny/K/2zLVYNh\nYABWroTOTpg6Nfi6cqWmydSTCgwpMLMxwDXA+4EjgflmdmSZ49qAvwX+u1GxqSyIh5ZXlgLlf/4o\n/7MtNw2GgQE499xgLv26dbBli+bWx0EFhhQ5Edjo7k+7+x+A64Fzyhz3JeCfgdcaEZTKgvhoeWUp\novzPGeV/tuWmwaC59YPF1cOiAkOKHAIUjzn1hM/tYWbHA+3u/h/VTmRmF5pZt5l19/b2jioolQXx\n5b+WV5Yiyv+UUv5LTdy96baOjg4fqY4Od6i81XDKptXf737OOe6trYN/B62t7nPmBPvTeG6JD9Dt\ndc5T4EPAt4oefxT4t6LHLcA9wPTw8T1A53DnrSX/i+W9LIg7R/v73VeuDH6PU6cGX1euVO6nmfJf\n+a/8z6+o+Z+bEQbNrd8rzh6W4vsxdHQEvRcdHcHjm28O9ktu9ADFk9SmAZuLHrcBRwP3mNmzwEnA\nrXFf+Jj3siDuHtaWFliwALq74YUXgq8LFij3c0j5n0LKf6lVbv6Emlu/V9wrGanAkNCvgMPNbIaZ\n7QvMA24t7HT3l919krtPd/fpwH3A2e7eHWdQeS8LtJKZNIjyP4WU/1Kr3FThNLd+r7z3sEhjuPtu\n4FPAT4HHgBvdfYOZXWVmZycVV97LAuX/8LSKzugp/9NJ+V+dcr+y3DQYdDHOXnnvYYlKBcfouftt\n7n6Eu7/F3b8cPvd5d7+1zLGnxt27CCoL0pj/aco1raJTP8r/9FH+V49DuV9FlAsdatmALwLPAQ+F\n25kVjpsNPAFsBC6Lcu5aL3rSxTiBFSuGXvBUfOHTypWNj6m/P4iro8N9ypTg64oVyf1t8nbxNjFc\n9BjXNtqLHt3zXRakLf/Tlmtp+/00gvJf+a/8T9/vplGi5n9sSR02GC4Z5pgxwFPAYcC+wMPAkcOd\nux4FRp6lKUHTGI97/gqOvFUY8ixt+Za2XMvjKjrK//xQ/leWx9x3j57/SU9JinpjF6mjtK1klMZ1\nsXVhmGRVrfkf17SBtOWa5nhLlin/K1PuVzc25vN/ysz+EugGLnb3bSX7y93Y5R3lTmRmFwIXAhx6\n6KExhJovhZWMFiyIdvzAQFCxX7o0SKr29uDisfnzR9/AiFJgRI2zXlRwSJbVkv/nnju4Yb9lSzC3\nd/Xq0XU0pC3X2tuDn60SXePVZPr64Lzzgn/UiROTjiYVlP/lKferG1VVz8zWmtkjZbZzgH8H3gLM\nBJ4H/qXcKco85+Xey92Xu3unu3dOnjx5NGHLCMV9IVCaCoyCNF4YJpKUOEcB05ZreV9FJ3O6uuCu\nuzQsPAp5yX/lfnWjajC4+yx3P7rM9iN3/72797v7APBNgulHpYa7sYukQNxThtJUYBSo4BDZqy7T\nBvr6guVp+voGPZ22XMv7KjqZ0tcHy5YFU9CXLBnyvyfRxDltKE35r9yvLrbZ6mZ2cNHDPwceKXNY\n1Ru7SDrUtbAoU2lIU4FRoIJDZK+6jAJW6OlNW66l7RovGYWurr1D4AMDGmWoUZyzANKU/8r9YUS5\nMrqWDbgOWA/8mqARcHD4/JuA24qOOxP4DcFqSVdEObdWSWisKVOqrxwwdeoITnbFFe5m7ldeueep\ntK3aUBxXXpbeQ6ukSBWjXj1k27a9Cd7aGjwukqdcS6NM5n/x/1zxh0rJ/54ML+7Vg+LK/7Qt155W\nUfM/8eSvZVOFobHqVlhUqTSowpCsTFYYpG5GvfThFVe477df8IL99hvUYRCnuCoMWauIZDL/i//n\nClsD//eyJE1Ln0YVZ0dkXvM/8eSvZVOFobHqVlhkrNKQJZmsMEjdjOrDN6Ge3rgqDGkdER2NzOV/\nuf85jTLUrBn/5+Nq5DTj72I4UfM/7zOyJIK6zDEsXHy2a1fweNeuhlyEFvcKT2m5pb1InEY1t7d4\nHnlBA+aTx7VYQxrvGyMlurpg9+7y+3bv1rUMI9SMc/vjulA71/kfpVWRtk09jI036ilDCQ0PxzmU\nmqWeBrLWwyjpkGBPb1zzrrN4N9jM5f+cOe6TJlXe5syp9VclTaKu114WyXP+p7BdKGlUuNFLdze8\n8ELwdcGCiD0LpaMLBQ0YZYhzObhc9zSIRJFgT29cK7uk8b4xUmLNGujtrbytWZN0hBKzuJZrz3P+\nq8Eg8ctgpQHSdUt7kVTasAHa2mDSpKFbWxusXx/bW8dVYUjjfWNEZLC4lmvPc/6rwSDxy2ClAfLd\n0yASSYI9vXFVGNJ43xgRGSyu+zvkOf/VYJD4ZbDSAPnuaRBJu7gqDGm60ZSIlBfXhdp5zn81GCTT\n4kzuPPc0iKRdXBWGZlwxRiSPRnXtZZVz5jX/LbhAurl0dnZ6d3d30mFIkxgYCC5AXrIkmCY0bVpQ\nmZ83b3TJXViytfTC50JjpJkKDzNb5+6dSccRhfJfpL6U/yL5FTX/xzYiGJEkFXoZFiyo/3lvuSWe\nxoiIiIhIWqjBIDIKcTVGRERERNJCfaAiIiIiIlKRGgwiIiIiIlKRGgwiIhKrgQFYuRI6O4NVRTo7\ng8cDA0lHJiJxU/5ng65hEBGR2JRbTWzLFli4EFavbq7VxERkZJT/2aE/kzSEehhE8mnVqqFLD0Pw\n+M47g1XGRCSblP/ZoQaDxK7Qw7BwIaxbF/QurFsXPJ47V40GkSxbunRoZaFgx45gSWIRySblf3ao\nwSCxUw+DSH5t2lR9f09PY+IQkcZT/meHGgwSO/UwiORXe3v1/S++qCmKIlml/M8ONRgkduphEMmv\nRYugtbXy/t27NUVRJKuU/9kRS4PBzG4ws4fC7Vkze6jCcc+a2frwuO44YpHkqYchn8xstpk9YWYb\nzeyyMvsXm9mjZvZrM/uZmb05iTglXvPnw6xZ1SsNoCmKWaP8F1D+Z0ksDQZ3/wt3n+nuM4GbgVuq\nHH5aeGxnHLFI8tTDkD9mNga4Bng/cCQw38yOLDnsQaDT3Y8FVgP/3NgopRFaWuCWW2D5cujogLFV\nFvPWFMVsUP5LgfI/O2KdkmRmBnwYWBXn+0i6qYchl04ENrr70+7+B+B64JziA9z9bnffGT68D5jW\n4BilQVpaYMEC6O6GN7yh+rGaopgJyn/ZQ/mfDXFfw3AK8Ht3f7LCfgfuMLN1ZnZhtROZ2YVm1m1m\n3b29vXUPVOKjHoZcOgQovnqlJ3yukguA2yvtVP5nx3BTFKep2pgFyn8pS/nfvGpuMJjZWjN7pMxW\n3Iswn+qjC+9y9xMIhi0/aWZ/VulAd1/u7p3u3jl58uRaw5aEqIchd6zMc172QLOPAJ3AVyudTPmf\nHdWmKLa2wuLFjY1HYqH8l7KU/82r5gaDu89y96PLbD8CMLOxwLnADVXOsTn8ugVYQzCMKRmnHoZc\n6AGK/9LTgM2lB5nZLOAK4Gx3f71BsUmCKk1RbG2F00+HefOSiUvqSvkvZSn/m1ecU5JmAY+7e9n+\nYjNrNbO2wvfAGcAjMcYjKaEehlz4FXC4mc0ws32BecCtxQeY2fHANwgqC1sSiFESUDpFcerU4Ovy\n5XDzzcF+aXrKfylL+d+8qswmH7V5lExHMrM3Ad9y9zOBqcCa4LpoxgI/cPefxBiPpMT8+XDTTUPv\n/qwehuxw991m9ingp8AY4DvuvsHMrgK63f1WgikIfwLcFJYDv3P3sxMLWhqmMEVxwYKkI5E4KP+l\nGuV/c4qtweDu55d5bjNwZvj908Bxcb2/pFehh+H664MLnHt6gmlIixcHjQX1MGSDu98G3Fby3OeL\nvp/V8KBEpCGU/yLZEucIg0hF6mEQERERaQ7qyxURERERkYrUYBARERERkYrUYBARERERkYrUYBAR\nERGRzBoYgJUrobMzWMq1szN4PDCQdGTNQw0GERHJPFUYRPJpYADOPRcWLoR162DLluDrwoUwd67K\ngKjUYBARkUxThUEkv1atGnrfJwge33lnsMS7DE8NBskV9TKK5I8qDCL5tXTp0Nwv2LEjuB+UDE8N\nBskN9TKK5JMqDCLNpZ6de5s2Vd/f01NbjHmjBoPkhnoZRZpHrioMfX0wa1bwVSTn6t25195eff+0\nabXHmidqMEhuqJdRpDnkrsLQ1QV33aVCSIT6d+4tWgStreX3tbbC4sW1xZk3ajBIquWql7FAvY2S\nc7mqMPT1wbJl4B40GJT3knP17tybPz/4SC0tA1pb4fTTYd682uLMGzUYJLVy18tYoN5GyblcVRi6\nuvYWZgMDynvJvXp37rW0wC23wPLl0NERdD52dASPb7452C/D069JUitXvYwF6m0UyU+FoZDvu3YF\nj3ftUt5L7sXRudfSAgsWQHc3vPBC8HXBgvhzP0srM6rBIKmVq17GAvU2imSqwgBVKg1f7Rpac1De\nS841RedeBFlbmVENBkmt3PQyFqi3UQTIToUBKlcaPnNhH3/4p6J8L9i1i51fXsLhk/uaujdSpFZN\n0bkXwUhnSaR9NCLpKpJIRVnrZRxWl3obRSA7FQaoXGm4aGcX9O8u+5qWgd18dOuSpu6NFKlV6jv3\nIhrJLIlmGI1okl+75FGWehkLKvYgvFQyulCgUQbJoaxUGKBypeFoNrCdNraNnQSTJvFa2yS2Mole\nJrGdNo5hPaD7xEg+pbpzL6KRzJJohvtENdGvXvImS72MUL0H4eZ3duG7y/c2vr5zN/9yyJLUDU+K\nxCkLFQaoXGk4lzVMoZe3HdQLvb2cfEQvk+llSridy5o9x+o+MSLNZySzJJrhPlGjKnrN7ENmtsHM\nBsyss2Tf5Wa20cyeMLP3VXj9DDP7bzN70sxuMLN9RxOPZEuWehmheg/CuKc28Pq+bTAp6G30SZN4\ned+gx/EVb+OwnetTNzwpIsOLWmlomvvEiEgkI5kl0Qz5P9oq1yPAucDPi580syOBecBRwGzg62Y2\npszr/wlY6u6HA9uAC0YZj2RMVnoZoXoPwjn9azj5iKCnkd5efrCsl0P22dvjWOhtTNPwpIgML2ql\noWnuEyMikYxklkQz5P+oql3u/pi7P1Fm1znA9e7+urs/A2wETiw+wMwMeA+wOnzqe8Cc0cQjkmYj\n6UFohuFJERle1EpDFq/ZEsmz0lkSU6bA9OnB13vvhRNP3DvNuBnyP65+2kOA4upRT/hcsYOAPnff\nXeWYPczsQjPrNrPu3t7eugYr0ggj6UFohuFJERlecaXhhBNg//1hwgQYMybI81WrggpD1q7ZEpG9\nsyTuvx/e+c5gEsEzzwxdBekv/iL9+T9sg8HM1prZI2W2c6q9rMxzXsMxe3e4L3f3TnfvnDx58nBh\ni6TOSHoQmmF4UkSiaWkJPvDb26G/H3buhFdeGVxhgGxdsyUiew23CtKNN6Y//8cOd4C7z6rhvD1A\ncZVnGrC55JitwEQzGxwNMYAAAAqISURBVBuOMpQ7RiQz5s+Hm24aWmiU60FYtCioSJSblpSW4UkR\niS7KsokLFuzdRCQ7okwzTnv+x9VmuRWYZ2bjzGwGcDhwf/EB7u7A3cB54VMfA34UUzwiiRvJfEZN\nTxDJFl2XJNI4abtrchamGY92WdU/N7Me4J3Aj83spwDuvgG4EXgU+AnwSXfvD19zm5m9KTzFZ4HF\nZraR4JqGb48mHpG0izqfEdI/PCmSZqowiORTGu+anIVpxqNdJWmNu09z93HuPtXd31e078vu/hZ3\n/1N3v73o+TPdfXP4/dPufqK7v9XdP+Tur48mHpFmEWV6QpaWlBVpJFUYRNIvrkZ9Gu+a3AyrIA1H\nVQ+RBGh6gogqDAXNUmEQqZc4G/Vp/HwtnWZ8AH3cySzeNKGP008PFkNIy2hoJWowSOalbWoC5Gd6\ngpnNDu/2vtHMLiuzf1x4l/eN4V3fpzc+SklC3isMBYXrkpqhwjBSyn+pJM5GfRo/X0uvYfxCaxfv\n4S5uP30JAwPwiU+kZzS0EjUYJNPSODUB8jE9Iby7+zXA+4EjgfnhXeCLXQBsc/e3AksJ7v4uOZD3\nCkPhuqRrr6VpKgwjofyXauJs1Kf183XPNOO1fSxiGS04b/vJErrX9qVqNLQSNRgkUXH3/qdxagLk\nZnrCicDG8FqlPwDXE9wFvtg5BHd5h+Cu7+8N7wIvGZfrCkPRdUlm8LOfpa+MqgPlv1QUZ6M+9Z+v\nXV17Kjn9fxhg4c7yhV3apierwSCJaUTvfxqnJkBupidEueP7nmPC+7G8TLBimmRcrisMRdJaRtVB\n3fLfzC40s24z6+7t7Y0pXGmkOBv1qV6WvK8Pli2DXbsAGO+7WMwSDqCv7OFpmp6sBoMkphG9/2mc\nmgC5mZ5Qtzu+q8KQPbmtMJRIaxlVB3XLf3df7u6d7t45efLkugQnyYqzUV/p8zUVy5IXjS4UtDDA\nYsr3DKRperIaDJKYRvSspXVqAuRiekKUO77vOcbMxgIHAC+VnkgVhuzJbYWhRJrLqFGqW/5L9sTd\nqE/lsuQlowsFEyg/ypC20dAUFZuSN43oWWumqQmQuekJvwION7MZZrYvMI/gLvDFbiW4yzsEd32/\nK7wLvGRcLisMZTRbGTUCyn+pqJka9XXT1QW7d5fdNZbdg0YZ0jgaOjbpACS/2tuDKTeV1KNnbf58\nuOmmoVOf0piMkK3pCe6+28w+BfwUGAN8x903mNlVQLe730pwd/frwru9v0RQqZAcKFQYrr8+aAj3\n9AQ5v3hxkJeZrDCU0WxlVFTKfxlOoVG/YEHSkTTIhg3Q1hZsRRzgdTilZT1Tx6e3HLRmbMx3dnZ6\nd3d30mHIKK1cGczNL9ej3toa9DTUoyAZGGieSklnZ3DNQiUdHUFPab2Z2Tp376z/metP+S9Zk3QZ\npfwXya+o+a8RBklMo3rWmqkXY9Gi6o2oJp6eICIVNFMZJSL5lLL+VcmTXM5hHEYzre4iIiIi+aAR\nBkmUetYG07xuERERSRs1GERSRo0oERERSRP1V4qIiIiISEVqMIiIiIiISEVqMIiIiIiISEVqMIiI\niIiISEVNeeM2M+sFftugt5sEbG3Qe9WbYk9GM8b+ZnefnHQQUdSY/2n8m6QxJkhnXGmMCdIZVy0x\nKf+Tkca4FFM0aYwJYsz/pmwwNJKZdTfLHTBLKfZkNHPsWZXGv0kaY4J0xpXGmCCdcaUxpqSl9XeS\nxrgUUzRpjAnijUtTkkREREREpCI1GEREREREpCI1GIa3POkARkGxJ6OZY8+qNP5N0hgTpDOuNMYE\n6YwrjTElLa2/kzTGpZiiSWNMEGNcuoZBREREREQq0giDiIiIiIhUpAaDiIiIiIhUpAbDMMzsi2b2\nnJk9FG5nJh3TcMxstpk9YWYbzeyypOMZCTN71szWh7/r7qTjqcbMvmNmW8zskaLn3mBmd5rZk+HX\nA5OMMW+G+983s3FmdkO4/7/NbHoKYlpsZo+a2a/N7Gdm9uakYyo67jwzczNryPKBUeIysw+Hv68N\nZvaDpGMys0PN7G4zezD8G8b+GVGu7CnZb2Z2dRjzr83shLhjSgPlf/3iKjquYWWA8j9yTMnkv7tr\nq7IBXwQuSTqOEcQ7BngKOAzYF3gYODLpuEYQ/7PApKTjiBjrnwEnAI8UPffPwGXh95cB/5R0nHnZ\novzvA/8TuDb8fh5wQwpiOg2YEH7/iTTEFB7XBvwcuA/oTMnf73DgQeDA8PGUFMS0HPhE+P2RwLMN\n+F0NKXtK9p8J3A4YcBLw33HHlPSm/K9vXOFxDSsDlP8jiiuR/NcIQ/acCGx096fd/Q/A9cA5CceU\nSe7+c+ClkqfPAb4Xfv89YE5Dg8q3KP/7xX+f1cB7zcySjMnd73b3neHD+4BpMcYTKabQlwgawK/F\nHM9I4vpr4Bp33wbg7ltSEJMD+4ffHwBsjjmmSmVPsXOA73vgPmCimR0cd1wJU/7XMa5QI8sA5X9E\nSeW/GgzRfCoc1vlOE0wxOQTYVPS4J3yuWThwh5mtM7MLkw6mBlPd/XmA8OuUhOPJkyj/+3uOcffd\nwMvAQQnHVOwCgp6hOA0bk5kdD7S7+3/EHMuI4gKOAI4ws1+Y2X1mNjsFMX0R+IiZ9QC3AX8Tc0xR\nNPvnQC2U/9GlsQxQ/tdPLPk/drQnyAIzWwu8scyuK4B/J2hle/j1X4C/alx0I1aut6SZ1s59l7tv\nNrMpwJ1m9njYmhYZTpT//UbnR+T3M7OPAJ3Au2OMB4aJycxagKXA+THHUSrK72oswbSEUwl6Yv/T\nzI52974EY5oPfNfd/8XM3glcF8Y0EFNMUTT750AtlP/RpbEMUP7XTyz/52owAO4+K8pxZvZNoJE9\nbrXoAdqLHk+jAUNk9eLum8OvW8xsDcGQYDM1GH5vZge7+/PhEGDcQ6ayV5T//cIxPWY2lmAIudrQ\nbiNiwsxmEXRQvNvdX48xnigxtQFHA/eEszXeCNxqZme7e5wLEUT9+93n7n8EnjGzJwgqEL9KMKYL\ngNkA7v5LMxsPTCLZ3G/qz4EaKf/rF1cSZYDyv35iyX9NSRpGybyvPwfKXpWeIr8CDjezGWa2L8GF\nXbcmHFMkZtZqZm2F74EzSP/vu9StwMfC7z8G/CjBWPImyv9+8d/nPOAuD68SSyqmcOj/G8DZDZiT\nO2xM7v6yu09y9+nuPp1gXnXcjYVh4wr9kOAiUcxsEsEUhacTjul3wHvDmN4GjAd6Y4wpiluBvwxX\nSzkJeLkwVTLDlP91iiuhMkD5Xz/x5H89rpzO8gZcB6wHfh3+EQ5OOqYIMZ8J/Ibg6v4rko5nBHEf\nRrAKwcPAhrTHDqwCngf+SNCiv4BgPuzPgCfDr29IOs48beX+94GrCD7sICjMbwI2AvcDh6UgprXA\n74GHwu3WpGMqOfYeGrBKUsTflQFLgEfDcnleCmI6EvhFWG49BJzRgJjKlT0XARcV/Z6uCWNe36i/\nX9Kb8r9+cZUc25AyQPkfOaZE8t/Ck4uIiIiIiAyhKUkiIiIiIlKRGgwiIiIiIlKRGgwiIiIiIlKR\nGgwiIiIiIlKRGgwiIiIiIlKRGgwiIiIiIlKRGgwiIiIiIlLR/wWOc6gyAKD9SAAAAABJRU5ErkJg\ngg==\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x109de6a20>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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\ngg==\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x1c1a685ba8>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"print (\"---------Scaling training and test data same------\")\n",
|
|
"from sklearn.datasets import make_blobs\n",
|
|
"from sklearn.preprocessing import MinMaxScaler\n",
|
|
"# make synthetic data\n",
|
|
"X, _ = make_blobs(n_samples=50, centers=5, random_state=4, cluster_std=2)\n",
|
|
"# split it into training and test set\n",
|
|
"X_train, X_test = train_test_split(X, random_state=5, test_size=.1)\n",
|
|
"# plot the training and test set\n",
|
|
"fig, axes = plt.subplots(1, 3, figsize=(13, 4))\n",
|
|
"axes[0].scatter(X_train[:, 0], X_train[:, 1],\n",
|
|
" c='b', label=\"training set\", s=60)\n",
|
|
"axes[0].scatter(X_test[:, 0], X_test[:, 1], marker='^',\n",
|
|
" c='r', label=\"test set\", s=60)\n",
|
|
"axes[0].legend(loc='upper left')\n",
|
|
"axes[0].set_title(\"original data\")\n",
|
|
"# scale the data using MinMaxScaler\n",
|
|
"scaler = MinMaxScaler()\n",
|
|
"scaler.fit(X_train)\n",
|
|
"X_train_scaled = scaler.transform(X_train)\n",
|
|
"X_test_scaled = scaler.transform(X_test)\n",
|
|
"# visualize the properly scaled data\n",
|
|
"axes[1].scatter(X_train_scaled[:, 0], X_train_scaled[:, 1],\n",
|
|
" c='b', label=\"training set\", s=60)\n",
|
|
"axes[1].scatter(X_test_scaled[:, 0], X_test_scaled[:, 1], marker='^',\n",
|
|
" c='r', label=\"test set\", s=60)\n",
|
|
"axes[1].set_title(\"scaled data\")\n",
|
|
"# rescale the test set separately, so that test set min is 0 and test set max is 1\n",
|
|
"# DO NOT DO THIS! For illustration purposes only\n",
|
|
"test_scaler = MinMaxScaler()\n",
|
|
"test_scaler.fit(X_test)\n",
|
|
"X_test_scaled_badly = test_scaler.transform(X_test)\n",
|
|
"# visualize wrongly scaled data\n",
|
|
"axes[2].scatter(X_train_scaled[:, 0], X_train_scaled[:, 1],\n",
|
|
" c='b', label=\"training set\", s=60)\n",
|
|
"axes[2].scatter(X_test_scaled_badly[:, 0], X_test_scaled_badly[:, 1], marker='^',\n",
|
|
" c='r', label=\"test set\", s=60)\n",
|
|
"axes[2].set_title(\"improperly scaled data\")\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"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.7.0"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|