{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SVM 多项式核" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "张**" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "source": [ "%pylab inline\n", "\n", "import numpy as np\n", "import skimage.io as SKimg\n", "import matplotlib.pyplot as plt\n", "from sklearn.cluster import KMeans\n", "from sklearn import mixture\n", "from sklearn import metrics\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits import mplot3d\n", "from skimage import io,data" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def MyStand(img,cof):\n", " roi1=copy(img)\n", " roi1[roi1!=255]=0\n", " roi1[roi1==255]=1\n", "# # roi1[roi1==255]=1\n", " roi1=roi1*cof\n", " return roi1\n", " " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(191L, 1280L, 307L)\n", "(191L, 500L, 307L)\n", "[ 0.86881155 0.11072629 0.01735181]\n", "(3L, 153500L)\n" ] } ], "source": [ "from sklearn.decomposition import PCA\n", "img=SKimg.imread(\"G:\\\\test\\\\Hyperspectral_Project\\\\dc.tif\")\n", "print(img.shape)\n", "# img = np.transpose(img,(1,2,0))#(1280, 307,191)\n", "# print(img.shape)\n", "\n", "# img=[:,0:500,100:200]\n", "img=img[:,0:500,:]#(191,500, 100)\n", "print(img.shape)\n", "\n", "X =img.reshape(191,153500)\n", "# X2 =X.reshape(191,1280,307)\n", "\n", "# # plt.imshow(X2[50,:,:])\n", "# plt.imshow(img[50,:,:])\n", "\n", "# X_pca=X[(59,26,16),:]\n", "pca = PCA(n_components=3) \n", "pca.fit(X) \n", "print(pca.explained_variance_ratio_)\n", "\n", "X_pca=pca.components_\n", "\n", "print(X_pca.shape)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nr2ZYAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# import Image\n", "from PIL import Image\n", "roof = imread('G:\\\\test\\\\Hyperspectral_Project\\\\1roof.bmp')\n", "roi1=MyStand(roof,1)\n", "\n", "\n", "street = imread('G:\\\\test\\\\Hyperspectral_Project\\\\2street.tif')\n", "roi2=MyStand(street,2)\n", "\n", "\n", "path = imread('G:\\\\test\\\\Hyperspectral_Project\\\\3path.tif')\n", "roi3=MyStand(path,3)\n", "\n", "grass = imread('G:\\\\test\\\\Hyperspectral_Project\\\\4grass.tif')\n", "roi4=MyStand(grass,4)\n", "\n", "street = imread('G:\\\\test\\\\Hyperspectral_Project\\\\5tree.tif')\n", "roi5=MyStand(street,5)\n", "\n", "street = imread('G:\\\\test\\\\Hyperspectral_Project\\\\6water.tif')\n", "roi6=MyStand(street,6)\n", "\n", "street = imread('G:\\\\test\\\\Hyperspectral_Project\\\\7shadow.tif')\n", "roi7=MyStand(street,7)\n", "\n", "# street = imread('G:\\\\test\\\\Hyperspectral_Project\\\\8other.tif')\n", "# roi8=MyStand(street,0)\n", "\n", "roi=roi1+roi2+roi3+roi4+roi5+roi6+roi7\n", "roi_=roi[0:500,:]\n", "\n", "plt.imshow(roi_)#[0:500,100:200])\n", "# plt.savefig('G:\\\\roi.tif') \n", "# roi_img=Image.fromarray(roi)\n", "# roi_img.save('G:\\\\roi2.tif')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(500L, 307L)\n", "(3L, 153500L)\n" ] } ], "source": [ "# X_pca=X_pca[:,0:500,100:200]\n", "# plt.imshow(X_pca[1,0:500,100:200])\n", "print(roi_.shape)\n", "print(X_pca.shape)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(153500L, 3L)\n", "(153500L,)\n" ] } ], "source": [ "X_pn = np.transpose(X_pca,(1,0))\n", "X=X_pn\n", "Y=roi_new.flatten();\n", "print(X_pn.shape)\n", "print(roi_new.shape)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.metrics import accuracy_score\n", "from ipywidgets import interact,interact_manual" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "D:\\Anaconda2\\lib\\site-packages\\sklearn\\model_selection\\_split.py:2026: FutureWarning: From version 0.21, test_size will always complement train_size unless both are specified.\n", " FutureWarning)\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X,\n", " Y,\n", " train_size=0.75)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(38375L, 3L)\n" ] } ], "source": [ "print(X_test.shape)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "#训练模型\n", "from sklearn.svm import SVC\n", "\n", "clf = SVC(C=1E2,kernel='rbf',gamma='auto').fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.62461889250814329" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.score(X,Y)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.62538110749185671" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.62538110749185671" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_model = clf.predict(X_test)\n", "accuracy_score(y_test, y_model)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQoAAAEKCAYAAADqyxvJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xd8zdf/wPHXuUnIkIjYEXvUqr2V\nUntWqX7rVzpQWqNUSyml1KgqNVq7tXftTe0t9t6jhIgdkiDj/P64VyQkPjfJvVei7+fjkYebz3qf\nEzfvfD6fez7nrbTWCCHEy5hedQOEEMmfJAohhCFJFEIIQ5IohBCGJFEIIQxJohBCGJJEIYQwJIlC\nCGFIEoUQwpDzq25AfMJvXXDYkFE33yqOCvXaGpm5ukPjfXtzq8Ni5fLK7LBY5+5dc1gsgIgnAcqa\n7eSMQghhSBKFEMKQJAohhCFJFEIIQ5IohBCGJFEIIQxJohBCGJJEIYQwlCISxYz5S2jS8gve/ag9\nM+YtBmDMxOm89/GXNPukI593/Z6gm7dj7XP05GmKVWnAuk3bANi7/zDNPukY/VWqemM2bN2ZqPbU\nqV2N48e2curEdnp075i0ziWzeLaI5ZTahebL+/Ph2kG0+OdnynVrGmt91QEf0+7U5Bf2y1u/LJ2u\nzCRTsdzRy9IXzM77S/rR4p+fabF+CE6pXeKNO2HCMP799wD796+PXtanz9ecP7+XPXtWs2fPaurU\neTYwrHv3jhw/vpUjRzZRs2bVBPez1ecfsmzLXJZvncfH7VoA0Kn752w5vJLFG2exeOMsqtaoFGuf\nrNkys//iFlp3aJngePFxxPsj2Y7MfOrshUssXLaGOZNH4uLswhff9KFqpXJ89lEzOrf7GICZC5Yy\nbsps+vXoDEBkZCS/jZ1C5XKloo9TrnRxFk77A4D7wQ+o90FrKsVYby2TycToUYOoW78FV69eZ/eu\nVSxfsY6TJ8/aoLevNp6tYkU+DmfJ/wYTHvoYk7MTTRf9wOVNh7lx8DyZiuUmlZf7C/u4eLhSrHUd\nAg+ci16mnEzUGv0l67uM5/bJf3H1TkNUeES8cWfMWMC4cdP488/fYi0fM2YyI0dOjLWsYMH8NG/e\niJIla+Lrm5lVq2ZTtOjbREVFWdXH/AXz0rxlEz6o+wnhTyKYNG80W9ZvB2DahDn8NXZmnPv1+qkb\n2zYk7g9UXBz1/kj2ZxQXLl2hWJGCuLm64uzsRJkSb7Jh607SeHhEbxMW9ggVYyDq7L+XUataZXzS\necd5zHWbtlGlQhncXF0T3J5yZUty/vwlLl78l/DwcObPX0rjRnUSfJzkGM+WscJDHwNgcnbC5OwM\nGpRJUal3C3YOnvvC9uW/fZ+D41YQ+Tg8elmOqm9y++QVbp/8F4BH9x6io+If2b99+17u3r1nVfsa\nNarNggXLefLkCZcuXeH8+UuULVvC6v7lyZ+Lw/uP8ijsMZGRkfjvPEDNBtVeuk+Nem9z5XIA505f\nsDqOEUe9P+yWKJRSBZVS3ymlRiulRlleF0rocfLlycn+w8e4dz+YsEeP2LbLn8AbNwEYNWEqNd5r\nxcp1m+jUthUAN27eYsPWnXzQpH68x1z9z1bq1aqWqH75ZsvClavPxuNfDbiOr2+WRB0rucWzZSxl\nUvxvzSBaHxrLlW1HuXHoPG9+WpuL6w8QGhT7lzlDkZx4+vpwacOhWMu982RBa03jmT34YNVASn7R\nIFFt+fLLT/D3X8uECcPw9k4LgK9vZq7G6GtAAvt69tR5ylYsiXe6tLi6pebtmpXI6mt+JuSj1s1Z\nunk2g0b+gFdaTwDc3F35vPPH/PHrpET1IT6Oen/YJVEopb4D5gIK2Av4W17PUUr1TMix8ubKQeuP\nmvN51+/5otsPFMiXBycnJwC6tP+UDYtn0KB2dWYvXA7A0FET+PrL1tHbPO/mrTucvXCRyuVLJ7Zv\nLyyzZ8kDR8azZSwdpZlXtzdTy31F5hJ58S3/BvkalOPIlHXPB6VKv5Zs/2n2C8cwOTvhW7YA6zqP\nZVHTAeStWwa/ykUS1I6JE2dQqFAVypWrS2BgEEOH9rGETVpfL5y9xKQx0/lzwe9MmjuaU8fPEhER\nyZypC6lV7j2aVP+Imzdu8V3/rgB07tGeqePnEBoSlqD2G3HU+8Ne9yjaAEW01uExFyqlRgDHgZ/j\n2kkp1Q5oBzB2+EDafmy+QdSsUR2aWU6nRo6fSpZMGWLt16B2NTp8249ObVtx/NRZuvczH/7u/WC2\n7fLHycmJGlXNN5XWbNxKjaqVcHFOXNcDrl4nu59v9Pd+2bJy/fqNRB0rucWzR6wnwaEE7DpJtoqF\nSZsrM622DQfAxS0VLbcNZ379Pvi84cd783sD4J4xLQ3+6sbK1iN4eP0OAXtO8ejuQwAubTpMxqK5\nuLrjuNXxg4JuRb/+6685LFo0xdzXgED8YvQ1WyL6unD2MhbOXgbA1993IPB6ELdv3olev2DmEsbN\nNN8vKVaqCHUavkP3vp3xTOtJVFQUjx89ZtZfCxIU83mOen/YK1FEAb7A5eeWZ7Wsi5PWeiIwEWI/\nZn777j3Sp/PmemAQG7bsYOaEEVy+EkDO7NkA2LRtN7lz+gGw9u+p0cfrPXA4b1cuF50kAFav30zX\nLz5LdMf89x0iX77c5MqVnYCAQD744F1afWy/TyIcGc9WsVx9PImKiORJcChOri5kr1KUA2OXM6V0\np+ht2p2azMwq3wDwZ/Evo5e/N783OwbOJujIRe5fvkHJLxri7JqKyPAIspUvyKHJaxLUlixZMhEY\nGARA48Z1OH78NAArVqxn2rTRjBo1CV/fzOTLlxt//0MvO9QLfDKk486tu2TNlplaDarzYf3WZMyU\nnptB5k/gatavxtlT5wFo2bhd9H6dun9OaEhYkpMEOO79Ya9E0RXYoJQ6C1yxLMsB5AM6xbtXPL7+\nfiD3goNxdnam9zcdSOvlSb+fR3Hp36sok8I3Syb6du9seJyA6zcIDLpFmZJvJrQJ0SIjI+nStQ+r\nVs7GyWRi6rR5nDhxJtHHS07xbBXLI5M3NX9rj3IyoUyKc8v3vHD/wRqP74dyaNJqmq8YAGgubzzM\n5Y3xH2f69DFUqVKRDBnSce7cHgYOHEHVqhUpVqwwWmsuX75Kp069ADh58gwLF67g0KENRERE0KVL\nH6s/8Xhq9F9D8U6XloiICAb0/IXg+w8Y+kd/ChUpgEYT8O91+n07OMH9TghHvT+UHa93TUA5IBvm\n+xNXAX+tdaQ1+8vENSmLTFxjG8l14hq7jaPQWkcBu+11fCGE4yT7cRRCiFdPEoUQwpAkCiGEIUkU\nQghDkiiEEIYkUQghDEmiEEIYkkQhhDBkt5GZSZU2TV6HNSzkySNHhRIpkIuT4+Z3Co+Mf2Iee5CS\ngkIIm5FEIYQwJIlCCGFIEoUQwpAkCiGEIUkUQghDkiiEEIYkUQghDKWoRJE6dSo2bl7E9l0r2O2/\nml69uwDw+x9D2L5rBTt2r2T6zN/x8DBXomrdpgU796xi287lrFk3jzcK5rNJO6SkYNL5+fnyz7oF\nHD2ymcOHNtK5Uxu7xQLb92v8+GFcvryfffuelR94881CbN68GH//tfz99594eqaJXle0aEE2b17M\n/v3r8fdfS+rUqZPchqcc8X+W4kZmeni4ExISirOzM2vXz+O7Hj9x+tQ5HjwwT+k+aMj33Lp5m99G\nTMDTM0308nr1a9D285Y0e+/FGbgTMjLTZDJx8vi2WCXcWrbqYNeSgo6K58hYWbJkImuWTBw8dIw0\naTzYu2cNzd5vnSz7FdfIzMqVyxESEsrkySMoU6Y2ANu3L6Nnz0Fs376Hjz/+gFy5sjNgwHCcnJzY\ntWslbdp8zdGjJ/Hx8ebeveA4J/NN6MjMpPbttR2ZGRISCoCLizMuLs5oraOTAYCbm2t0AZSYy909\n3G1SGEVKCtpGYGAQBw8dA+DhwxBOnTpLNjtVQLNHv3bs2MudO7ErnuXPn4ft2/cAsHHjNpo0qQdA\nzZpVOXbsFEePngTgzp17CZ7xOz4pvqSgvZhMJrbtXM65i3vZtHEH+/cdBuCPcUM5e2EP+QvkZcL4\n6dHbt23XkkNHNjLgp+/o0X1AkuNLSUHby5nTjxLFi7Jn70G7HN9R/Tpx4gwNG9YCoGnTBvj5ZQUg\nf/7caK1Ztmw6O3eupFu39jaLmaJLCr6MUirx1XeAqKgoqlRqROE3KlOqTHEKFS4AQMcvv+ONfBU5\nc/ocTZs9q1E5eeJMShR7h34/DKV7j6Rfv0lJQdvy8HBn/rxJdPu2X6wzQFtyVL/at+9O+/Yfs2PH\nCtKk8eDJE3OhPGdnZypVKstnn3WhRo1mNG5cl2rVKtskpqP69irOKPrHt0Ip1U4ptU8pte9JePBL\nD3L//gO2b9tNzZpVo5dFRUWxaOFKGr9b94XtF/69ggaWbJ8UUlLQdpydnVkwbxJz5ixmyZLVdovj\nqH6dOXOeRo1aUblyQ+bPX8bFi+ZCeQEB19m2bTe3b98lLOwRa9ZsomTJojaJ6ai+2atI8ZF4vo4C\n8VZT0VpP1FqX0VqXSeXi9cL69Bl8SGupDu3qmppq1Stz9uwF8uTJGb1NvXo1OHvGXFY+T95c0cvr\n1K3OhfOXkty3mCXcXFxc+OCDd1m+Yp3xjikgnqP7NmnicE6eOsfIURPtFgMc16+MGdMD5r/yPXt2\nZtKkWQCsX7+FokUL4ebmipOTE1WqlLfZTVtH9c1eD9pnBuoAd59broCdiT1olswZGT9xGCYnJ0wm\nE4sXrWTtmk2sWTcPT680KKU4dvQk3br2BaBd+1ZUq16J8PAI7t0L5ov23RPdoaekpKBtVK5UllYt\n3+fI0RPs8ze/sX/44WdWr9lo81j26Ne0aaNjlC/czU8//UaaNO60b/8xAEuXrmH69PkA3LsXzOjR\nk9m+fTlaa9au3cQaG/UzRZcUVEr9CUzRWm+PY91srfX/GR1DJq4RyYVMXJMCx1HYgyQK8TKSKFLg\nx6NCCMeTRCGEMCSJQghhSBKFEMKQJAohhCFJFEIIQ5IohBCGJFEIIQw5biRJAqVxcXVYLBlwJV4m\np2cmh8U6d++a8UavgJxRCCEMSaIQQhiSRCGEMCSJQghhSBKFEMKQJAohhCFJFEIIQ5IohBCGJFEI\nIQyluETh5eXJxKm/sWXPcjbvXkbpssXpM+AbtuxZzvrti5g8YxReXuaZutOlS8uCZVM4c8Wfgb/0\ntlkbpPaoxAJo9fmHLNsyl+Vb5/FxuxYAjJg4mMUbZ7F44yw27FvK4o3mmbizZc/Kocvbotf9OKyn\nTdoA//Hao9nSFYmzYSPHDmbPrv3MmbEQFxcX3NxcKVH6TXZs3UNkZCTf/9gNgME/jsDN3Y2ixQpR\nsFA+3iiUnz49BsUZ60bIvTiXx0Vqj/73YuXz9n1hWf6CeRk+YRAf1P2E8CcRTJo3mv7df+byxSvR\n23zXvysPgh8ydvhksmXPyriZv9H47Q9fGiuhQ7hTfO1RpVRBpVQNpVSa55a/WJ3HSmk8PShfqTRz\nZiwEIDw8nODgB2zdtJPIyEgADvgfJquvuXRIWGgY/rsP8PjRk0T343lSe1RiAeTJn4vD+4/yKOwx\nkZGR+O88QM0G1WJtU7dxTVYuWpukOEZSdO1RpdRXwFKgM3BMKfVujNWDE3vcnDmzc/vWXX77YxBr\nt/zNsFH9cXN3i7XNhy2bsumfbYkNYUhqj0osgLOnzlO2Ykm806XF1S01b9esFP0HCqBMhZLcvnk7\n1hmGXw5fFm2YyYwlEyhdvkSS4j+V0muPfg6U1lo3AaoBPyiluljWxXuqE7OkYMjj52sHgZOzE28W\nL8T0v+ZS5+33CQ0No1PXttHrv/qmHRERESyav8KmnXmujS8sk9qj/71YF85eYtKY6fy54HcmzR3N\nqeNniYiIjF7foGltVi5+VrEr6MYt3inViKY1WvJz39/4dfxAPNJ4JKkNkPJrjzpprR8CaK0vYU4W\n9ZRSI3hJoohZUtAjdboX1l+/doPr125wcP9RAFYuW8ebxQsB0PzDd6lZ+206tfvO1n2JRWqPSqyn\nFs5eRrOarWj1bnvu3w2OPntwcnKiVoPqrFqyPnrb8Cfh3Lt7H4DjR05x5dJVcufNkeQ2pOjao0Cg\nUir63MqSNBoCGYA3E3vQm0G3uBYQSN58uQB4q2oFzpw+T7Uab9GhSxs+/b9OPAqz79wSUntUYj3l\nk8H8xyxrtszUalA9+n5ExarluHj2MjeuB0Vvmy69NyaT+dfNL2c2cubJzpXLAUluQ0qvPfoxEKvk\nkdY6AvhYKTUhKQf+ocdgxkwciksqF/69dJVuHfuwcuM8Uqd2Ye7iyQAc2HeYnt0GALD78DrSeKYh\nlYsLdeu/Q4tm7Th7+nyi40vtUYn11Oi/huKdLi0REREM6PkLwfcfANDgvdqsWBz7JmbZiiXp3OML\nIiMjiIyM4sfuP3P/XnCS25Cia4/aQnwfj9pDQj4eFf89cX08ai+OnuHqlX88KoR4fUiiEEIYkkQh\nhDAkiUIIYUgShRDCkCQKIYQhSRRCCEOSKIQQhpJtScG4HnYRQrwackYhhDAkiUIIYUgShRDCkFWJ\nQin1llLqM8vrjEqp3PZtlhAiOTFMFEqpfsB3QC/LIhdgpj0bJYRIXqw5o3gPaAyEAGitrwGe9myU\nECJ5sSZRPNHmSSs0gFIq6RP9CSFSFGsSxXzLrFTeSqnPgX+ASfZtlhAiOTEccKW1/lUpVQsIBt4A\n+mqt1xvsJoR4jVj1qYfWer3WurvW+ttXnSS8vDyZMHUEm3cvY9PuZZQqW5zCRd9g2bpZrN3yNys3\nzKNEqaKx9ilesiiXbx6mQeNaNmmDlBRMukkTh3Pt6mEOHdxgtxgxOaqkIEDLNh+weuffLN86j2/7\ndgbA2dmJn8f0Y9nmOazcPp92X31qkzaAY/7PDM8olFIPsNyfAFJh/tQjRGvtZZcWGeg/pCebN+yg\n/afdcHFxxs3NjXFThvPbL+PY9M923qlZhd4/fkPzxp8B5pJr3/f7mi0bd9gkvslkYvSoQbFKuC1f\nsc6uJQUdFc+RsaZPn8/YsVOYMmWUzY/9PHv0K3/BvDRv2SRWScEt67eTxTcT79R7m8bVWhD+JDx6\npu66jWvikioVjau1wNUtNSu3zWfl4rUEXLme7PoWZxyjDbTWnlprL8uXK9AM+N1oP6VUOaVUWcvr\nwkqpbkqp+klp7IslBSMIDn6A1po0nubKhZ5eabgR+Gya9M/a/R+rlq/n1s07SQkdTUoK2sa27Xu4\nc9cxkxo7sqTgh582Y9LoaYQ/CQfgzi1zISutNe7ubjg5OeHq6kp4eDgPH4Qky77FJcEjM7XWS4B3\nXraNZezFaGCcUmoI5sSSBuiplEp0WfEcOf24c+suI34fyJrNC6JLCv74/VD69P+GvUf/4YcB3zJk\nwEgAsmTNRL0GNZgxZX5iQ75ASgqmPI4sKZgrb07KVCjBvNVTmLFkAkVLFAZg7fINhIaGse3oajYe\nWM5fY2fZZLp+R/2fWXPp0TTGtyagDM8uReLzPlACSA0EAn5a62Cl1DBgDxBnWXGlVDugHYC3e1Y8\nUvvEbqyzM0WLF+KHnoM5uP8o/Yf0pGPXNnh5etK/91BWLf+Hhk3q8OvoAbRo+jk/Dv6Owf1/Iyoq\nyqibVpOSgimPvUsKhoaERpcUdHJywiutJ/+r9xlvlizMyEmDqVm2CW+WKkJUVBRVi9XDy9uLWcsm\nsXPrXq4msQiQo/7PrHnMvFGM1xHAJeDduDd9tp3WOhIIVUqd11oHA2itw5RS8f7Waq0nAhMB/HyK\nvtDb69cCY5cUXLqOjl3bUrZCSfr2GgLAiiVrGTaqPwDFShThj8nDAPDxScc7taoQERHJ2lUbreh2\n3KSkYMpjz5KCC2cvA+Dr7zsQeD2IvAVys37lJgCOHjxBlNakS+9Nw6Z12bZxJxERkdy5dZcDew9T\ntHihJCeKZFNSUGv9WYyvz7XWg7TWQQa7PVFKuVtel366UCmVFkj0n/ebQbe5FhBInqclBd+uwNnT\n57kReJOKlcsCULlqeS6evwxApZJ1qViiDhVL1GHlsnX07j4wSUkCpKRgSuTIkoL/rN5M+Srm92Ku\nPDlwcXHh7u17XA8IpMJb5uVu7q4UL12UC+cuJbkNr7ykoFJqDC+5xNBaf/WS41bVWj+2bBczMbgA\nnyS0kTH98N1gxkwYSqpULly+dIVvOv3A2lUb6T+kJ87Ozjx+/Jjvvu6flBAvJSUFbWPmjD94u2pF\nMmTw4dKFffQf8CtTps61SyxHlhRcNHsZg0b1ZdmWuYSHh9Oz848AzP5rAYNH9WX51nkoBYvmLufM\niXNJbsMrLymolHrpL7TWeprNWxNDXJce9hL48K6jQokUSEoKvuSMwt6JQAiRcljzqUdGzI+ZFwZc\nny7XWr/0I1IhxOvDmnEUs4CTQG6gP+ZPPfzt2CYhRDJjTaJIr7X+EwjXWm/RWrcGKti5XUKIZMSa\ncRThln+vK6UaANcAP/s1SQiR3FiTKAZaxj98A4wBvICv7doqIUSyYk2i2KO1vg/cB6rbuT1CiGTI\nmnsUO5VS65RSbZRS6ezeIiFEsmPNEO78QB+gCLBfKbVCKdXS7i0TQiQb8Y7MjHNjpTIAI4CPtNZO\ndmsVUCxLRYeNzDxx519HhXptPZj9pUPjpf1ovMNiRb0GT9DGx9qRmdbU9fBSSn2ilFoN7ASuA+WS\n2D4hRApizc3Mw8ASYIDWeped2yOESIasSRR59Oswe4kQItGsuZkpSUKI/zipZi6EMCSJQghhyJpP\nPQoopTYopY5Zvi+mlOpj/6YJIZILa84oJgG9sDwcprU+Anxoz0YJIZIXaxKFu9Z673PLIuzRmLj0\n/603m4+tZNHmmdHLajV6h0VbZnHo2g4KFy8YvTxtOi8mL/yd3ec30GvwN9HL3T3cmf/PtOivLcdX\n02NA10S3SUoKvtylm/f5YMyK6K/KA+Yyc8dJTl27Q6vxq/lgzAr+74+VHL1yCzBPLz90xV4aDV9C\n89HLORlwO/pY1++F8MWUf3hv5FKajlxGwN2HVrejU6c2HDzwD4cObqBz5zYApEvnzapVszl+fBur\nVs3G2zttovr4vJeVSOz2dXsingSQPr19noBwxPvDmkRxSymVF8tEu0qp9zEPunKIZfNW8mWL2A+r\nnjt1nm6te7F/96FYy588fsIfQycyvH/sQmahIaF8UPOT6K/rVwPZsGpzotrztIRbw0YtebN4df73\nvyYUKpQ/UcdKbvFsFStXxrTM79yQ+Z0bMqdjfVxdnHincHZGrj1A++rFmN+5IV/WLMHItQcA2H7m\nGv/eesCybu/yQ5MKDFq2J/pYff7ewSdVCrO467vM/LIePh6u8YWNpUjhN2jTugWVKjekdJna1K9f\nk3z5ctOje0c2bdxBkSJV2LRxh81+saZPn0+Dhh+9sNzPz5eaNapy+fJVm8R5nqPeH9Ykio7ABKCg\nUioA6AokeLyuUmp6QvcB2L/70AsVlS6evcyl8y8Ouw4LfcTBvUd4/PhxvMfLkdsPnwzpXkgy1pKS\nggmz53wgfj6e+KZLgwJCHpunN3n46AkZPd0A2HzyCg1L5kEpRbEcGXnwKJybwaGcD7pHZFQUFfOZ\nJ7d1T+2CWyprhv5AwYL52LPnIGFhj4iMjGTb1t28+25dGjWqzYyZCwCYMXMBjRvb5mcZX4nE4b/+\nSM/vB9mtkJKj3h+GP3Wt9QWgplLKAzBprR8Y7aOUWvb8IqC6UsrbcszGiWmsLdR7rzZrlyW+gnZc\nJdzKlS1pi6a98nj2iLX2yCXqFcsFQPcGZekw9R9GrNlPVJRmWvu6AAQFh5IlrUf0Ppm93AkKDuNG\ncAierqnoNmszAXcfUj5vVrrUKYmTyfjv2/ETpxkw4Dt8fLwJC3tE3brvsP/AETJlykCgpTZtYGAQ\nGTOmT1L/XqZhw1oEBFznyJETdovhqPeHNZPr9n3uewC01gNespsfcAKYjPmSRWEuRTg8sQ21lbpN\navJ9p8TX/ZCSgtYLj4hky6mrfFXH/MZdsPc039YvQ82iOVl79BL9F+9iQutaxBVCKYiM0hy8FMTc\nTg3IktaD7+ZtY9mB87xXxvjU+tSpcwz7dSyrV83h4cMQjhw9QUSEw26t4ebmyvc9v6Ju/f+zaxxH\nvT+sufQIifEVCdQDchnsUwbYD/QG7mutNwNhljk3t8S3k1KqnVJqn1Jq351Q25dFK1A4H05OTpw8\ncjrRx5CSgtbbfuYaBX19SJ/GfImx/MAFahTJAUDtojk5dtV80zJzWncC7z+r7H0jOJSMnm5k9nLn\nDV8f/Hw8cXYyUb1Qdk5es74q/dSpcylfoR41ar7P3Tv3OHfuIkFBt8iSJRMAWbJk4ubN2wZHSZy8\neXORK1cODuxbz7kzu/Hzy4r/nrVkzpzRpnGSU0nB4TG+BgHVgGwG+0RprX8DPgN6K6V+x7rLnIla\n6zJa6zI+7pmt60EC1HuvFmuWrE/SMaSkoPXWHLlIXctlB0BGLzf2XTS/ifdeCCRHek8A3i7ox4qD\nF9Bac+Tfm6RJ7UJGL3eK+KXnQdgT7oQ8it4nTyZvq+M/vazInt2XJk3qMW/eUpavWE+rls0BaNWy\nOcuX2+dneezYKXz9ipOvQAXyFajA1avXKVu+Djdu3LRpnFdeUvAl3IE81myotb4KNLdMypuoGu9D\nx/WnTKVSePt4s/7AUsYOm8z9e8H0GtSNdOm9+WPmcE4dOxP9ychq/0WkSeOBSypn3qlblfYfduHC\nmUsA1Glcgw4fffOSaMakpKB1wp5EsPvcdfo0eTZhe98mFfllpT+RUZpUziZ+sKyr8kY2tp8JoNGI\nJbi6ONO/aSUAnEwmvq5XivZ/rkcDhXx9aFYmn9VtmDd3IunTpyM8PIKvuvTm3r37DBv2O7Nnj+fT\nzz7kypUAWrT4IlH9e54jSyTG9MpLCkZvoNRRntUgdQIyYn7k/Pf490o6mbgmZZGJa1KmJJcUjKFh\nzOMCN7TWjrsrJIR45V6aKJRSJmCl1rqog9ojhEiGXnozU2sdBRxWSuVwUHuEEMmQNZceWYHjSqm9\nmD8iBV7toCkhhGNZkygSPzqsAChpAAAWR0lEQVRJCPFasCZR1NdafxdzgVJqKBDvwCkhxOvFmpGZ\nteJYVs/WDRFCJF/xnlEopb4EOgB5lFJHYqzyBHbYu2FCiOTjZZces4HVwBCgZ4zlD7TW1g+4F0Kk\neAkqKehIqzJ/6LCGNb67zVGhXluuzqkcGi+VU2KePkicsIgnDosVHunYsYw2KykohBCSKIQQhiRR\nCCEMSaIQQhiSRCGEMCSJQghhSBKFEMKQJAohhKGUkyhMisr/DKHMzB4A5Gxdh7d3j6T+jbm4+HhG\nb+ac1oNSU7rx1qahVFozkDQF/aLXZahenKo7RvD27pHk6Zz4p+SlpKD1smXLyqrVs9l/YD3++9bS\nocOnALxZrBAbNy9i5+6VbN2+lNJligNQpUp5Aq4fZufulezcvZKevTonOKbJZGLz9qXMWTARgNF/\nDGbrzmVs27WcqTPG4OHhDsCgId+zZccytuxYxt6D67h4Zb/VMfz8srJmzVwOHtzA/v3r6djxMwCa\nNq3P/v3rCQm5SKlSb0Zv/847b7Fjxwr8/deyY8cK3n67UoL7FR9HvD8cN7wtiXJ/Xo+Qs9dwtlSX\nurv3NEHrD1B+UayyI+Tr0oTgY5c58NkIPPL5UuTn1ux9fyCYlPn1B4N4dO02ldcOJmjtfh6eCUhQ\nO56WcKtbvwVXr15n965VLF+xjpMnz9qsr68qnj1iRURG0KvXIA4fOk6aNB5s27GcjRu3M3BgL4YM\nHsX6dVuoXacaAwf2pF7dFgDs3OlP82ZtEx3ziw6fcOb0eTy90gDQu+dgHjww1ywdOKQXbdu3ZNSI\nifTuNTh6n8/bt6JY8cLW9ysikp49B3Lo0DHSpPFg584VbNiwnePHz/Dhh+35/ffBsba/ffsu77/f\nmuvXgyhcuADLl88gb97yie7jU456f6SIMwrXrD5krFWKK7M2Ri8LPnaJsCsvTn2epkA2bm87BkDI\nuWu4Zc9Iqoxp8S6Vj9CLgYRdDkKHR3J9yU4y1y2T4LZIScGEuRF4k8OHjgPw8GEIp0+fI6tvFrTW\neHmaf5HTennarBaFr28WatWpxoxp86OXPU0SAK6urnEWHGrWvCELF6ywOk5gYBCHDpnfZw8fhnDq\n1Dl8fTNz+vQ5zp698ML2hw8f5/p1c4WyEyfOkDp1alKlSvqwd0e9PxySKJRSbymluimlaidm/0I/\nfcKpAbPQUcaPfwSf+JcsDcoBkLZkXtz8MuCa1QfXLD48uvas2EvYtTukzuKT4LbEVcLN1zdLgo+T\nHOPZO1aOHNkoXrww+/wP8V2PAQwc3ItTZ3YwaMj39Os7LHq7cuVKsWv3KhYtmZLggruDh/bmxx9+\nISoqKtby38f9zKnzu8hfIA+Txscug+uX3ZccOf3YumVXIvvlR4kSRfD3t66e7Xvv1efw4eM8eZL0\nZ0gc9f6wS6KwTJv39PXnwO+YH0/vp5TqGe+OcchUqxRPbt0n+MhFq7a/MHopLmk9eGvDz+RqU5fg\no5fQEZHmooYvSPhzZ1JSMHE8PNyZNWcc3/X4iQcPHtL285b07DGQggUq07PHQMaO+xmAQ4eOU7jg\nW1SsUJ/x46YxZ94Eq2PUrludmzdvR5/BxNTpy54Uzl+ZM6fP816zBrHWNX2/IcuWrHkhuVjbrzlz\nxtO9+4BYZy7xKVQoPwMH9qRTp14JjhWX5FRSMDFcYrxuB9TSWvcHagMv1oa3iFlScHXYeQDSlStA\npjqlqeY/hpITviJ95SIU/yP+GzYRD8M40nU822v05HCnP0iV3ouwf2/y6PodXH2fFaR18/XhceDd\nBHdMSgomnLOzM7Nmj2Pe3KUsW7oWgP/7qClLl64BYNGildE3Mx88eEhISCgA69ZuxsXFhfTp01kV\np3yFUtSrX4NDxzYxeepIqlStwPhJv0avj4qKYvHCVTR6N/apedNmDVj0t/WXHTH7NWfOeObNWxLd\nl5fJli0L8+ZNpG3bbly8aJtaMsmmpGBij6uUSqeUSo/5UfabAFrrEMy1QeIUs6RgPbe8AJweNJdN\nJTuyuWxnDrYfze0dxznc8Y94Azt7uaNcnADI3vId7uw+ScTDMO4fPI9Hniy45ciIcnEia5NK3Fhr\n/V3up6SkYMKNHTeU06fP8fuYP6OXBV4PokoV8828atUqcf78JQAyZc4QvU3pMsUxmRS3b1uX0H/6\ncThFC1ahRNHqtP20K9u27uaLz78ld55nk8jXrV+ds2fOR3+fL39uvL292LvnYIL7NX78L5w+fY7R\noycbbps2rReLFk2hb99f2LVrX4JjxSc5lxS0RlrMRYoVoJVSWbTWgUqpNMRzEZBQOdvWJU/HRqTO\n5E2VTUO5ueEQR7tNJE2BbBQf0wEdGcXDMwEc+dp86qojozjeawrl5n4PTiauztnEw9NXExxXSgom\nTMWKZfi/j5py7Ogpdu5eCcCP/YbRqWMvfvm1L85Ozjx6/JjOnb4HzNfvbdt+REREJGGPHvHpx18l\nKb5SirETfsHTMw1KKY4dPcW3X/eLXt/s/YYsWrgywcetVKkMH33UjKNHT7J79yoA+vUbRurUqRgx\noj8ZMviwaNEUjhw5QePGH/PFF5+QN28uevbsTM+e5o98GzVqleQiycmmpKBNgynlDmTWWhvecJCJ\na1IWmbjGNpLrxDUOHUehtQ4FrLsrKYRINlLEOAohxKsliUIIYUgShRDCkCQKIYQhSRRCCEOSKIQQ\nhiRRCCEMSaIQQhhKtiUFU6X2c1jDopLpz0AkD3fbFnNYrHSTjxhvZENSUlAIYTOSKIQQhiRRCCEM\nSaIQQhiSRCGEMCSJQghhSBKFEMKQJAohhKEUnSg6dWrDwQP/cOjgBjp3bgNAunTerFo1m+PHt7Fq\n1Wy8vdPaPK6UFPwPx3LzwLVtb9z7TsS97wRMuQtGr3Kp2QzPsatRHl7Ry1I3/wKPH//EvfdYTNnz\nRi9P1aQ17n3G4d5nHM6lqya+PTjm55hiE0WRwm/QpnULKlVuSOkytalfvyb58uWmR/eObNq4gyJF\nqrBp4w6b/+CelnBr2Kglbxavzv/+1yTBRWqSazyJZcy1+RdEnthH6IB2hA7qSFTgFQBUugw4FyxJ\n1O1nU+U7FSmLKZMvIT+24dGs0bh+2Mm8vGhZnLLnJXRwR0J/6Uqqms3A1f2V9+2lcWx+RAcpWDAf\ne/YcJCzsEZGRkWzbupt3361Lo0a1mTFzAQAzZi6gcWPblleTkoL/4Viu7jjlK0r4TnNtEiIjICwE\ngNTN2vN48Z+xNncuVoHwPRsAiLp0CuWeBuWVDlOWHESePQpRUfDkMZEBF3EuXPrV9s2AvSqFlVdK\neVleuyml+iulliulhiqlbHItcPzEaapUKY+Pjzdubq7UrfsOfn6+ZMqUgcBAc43HwMAgMmZMb3Ck\nhJGSgv/dWKYMWdAP7+PaqhvuvX4n9UddIFVqnN4sj75/i6iA2PNGm7zTo+/eiv4+6u4tlHcGogIu\n4lykDLikRnl44VygGCpdxlfaNyP2moX7L6C45fUoIBQYCtQApgBNkxrg1KlzDPt1LKtXzeHhwxCO\nHD1BRIT9pzqXkoL/4VgmJ0zZ8/Fo/jiiLp0mdfP2pG7QEqd8RQkd0zuuwC8u05rIkweIyFkA92+H\nox/eJ/LCKYiKTHh7SPklBU1a66e/tWW01l211tstZQXzxLdTzJKCUZEhhkGmTp1L+Qr1qFHzfe7e\nuce5cxcJCrpFliyZAMiSJVOSC6w8T0oK/ndj6Xu30PduEXXpNAARB7Zjyp4PlSELHr3H4vHTVJR3\nBtx7jUF5pTOfQaR7VvnMlC4D+r75/fhkzVxCh3QibExvUBAVdC3OmI7qmxF7JYpjSqnPLK8PK6XK\nACilCgDh8e0Us6SgycnDMMjTy4rs2X1p0qQe8+YtZfmK9bRq2RyAVi2bs3y5bcurSUnB/24sHXyX\nqLs3UZmyAeBUsARRV84R8l0LQn74lJAfPkXfu0XokM7o4LtEHN2NS/kaAJhyFUSHhaCD74IygYen\neXm2XJiy5SbyZMLLW9qyb0bsdenRFhillOoD3AJ2KaWuAFcs62xi3tyJpE+fjvDwCL7q0pt79+4z\nbNjvzJ49nk8/+5ArVwJo0eILW4UDpKTgfz3W4/njcPusBzi7EHXrOo+m/xZ/3GP+RBUpi0f/v9BP\nHvFohmVbJyfcu1mKJz8K5dHUYeYbm4nwWpQUVEp5Yr7UcAauaq2tPieSiWtEciET19i5pKDW+gFw\n2J4xhBD2l2LHUQghHEcShRDCkCQKIYQhSRRCCEOSKIQQhiRRCCEMSaIQQhiSRCGEMJRsSwo6p8qW\nPBsm/nOsGrpoI45+00tJQSGEzUiiEEIYkkQhhDAkiUIIYUgShRDCkCQKIYQhSRRCCEOSKIQQhiRR\nCCEMvRaJInXq1OzasYL9+9Zz+NBG+vX9xq7xpPaoxIqLyWTCf+9aliyeBsCfk3/jzOld7PNfxz7/\ndRQvXsQucR3Rt9dmCLeHhzshIaE4OzuzdfNivu7Wjz17D9i8XSaTiZPHt1G3fguuXr3O7l2raNmq\nAydPnrV5LEfHk1hxs3YId9cu7ShVuhhenp40ee8T/pz8GytX/cOiRSutbmtCfxuT2rdXOoRbKfWV\nUiq7PY4dn5CQUABcXJxxdnGxW9UpqT0qseKSLVtW6tWrwV9/zbHpcY2k6NqjwE/AHqXUNqVUB6VU\n4gorJoDJZGKf/zquBxxhw4at7PU/aJc4UntUYsVl+PD+9Oo1kKjn6nMMGPAdB/av59dhP5IqVSqb\nxgTH/RztlSguAH6YE0Zp4IRSao1S6hNLrY84xSopGGVcUjCmqKgoypStTc7cZShbpiRFiryRpA68\npI0vLJPao//tWPXr1+Rm0C0OHDwaa3nvPkMoWrQqFSo2wMfHm+7dO9gs5lMpvfao1lpHaa3Xaa3b\nAL7AWKAu5iQS307PSgqajEsKxuX+/WC2bN1JndrVErW/Eak9KrGeV6lSGRo2rM3ZM7uZNXMs1atX\nZtrU0QQGBgHw5MkTpk6bR9kyJW0W86mUXns0VprTWodrrZdprVsAOWwdLEMGH9Km9QLA1dWVGu9U\n4fTp87YOA0jtUYn1oj59fiZ3njLkL1CBj1p2YNOmHXzy6VfRxbIB3m1cl+MnTtks5lMpvfbo/+Jb\nobUOs3WwrFkz89efI3FyMmEymfj77+WsXPWPrcMAUntUYllv+rTfyZjRB5TiyOHjdOjY0+YxXova\no0khM1yJ5EJmuHpNBlwJIexLEoUQwpAkCiGEIUkUQghDkiiEEIYkUQghDEmiEEIYkkQhhDAkiUII\nYUxr/Vp9Ae0kVsqJ9Tr37XWK9TqeUbSTWCkqlqPjSaxEeB0ThRDCxiRRCCEMvY6JYqLESlGxHB1P\nYiVCsn3MXAiRfLyOZxRCCBt7bRKFUqquUuq0UuqcUsr2UwnFjvWXUipIKXXMnnEssbIrpTYppU4q\npY4rpbrYMZarUmqvUuqwJVZ/e8WKEdNJKXVQKbXCznEuKaWOKqUOKaX22TmWt1Lqb6XUKcv/W0U7\nxnrD0qenX8FKqa42j/M6XHoopZyAM0At4CrgD7TQWp+wU7yqwENguta6qD1ixIiVFciqtT5gmcF8\nP9DEHn1T5imdPbTWD5VSLsB2oIvWeretY8WI2Q0oA3hprRvaMc4loIzW+pa9YsSINQ3YprWerJRK\nBbhrre85IK4TEACU11pftuWxX5czinLAOa31Ba31E2Au8K69gmmttwJ37HX852Jd11ofsLx+AJwE\nstkpltZaP7R862L5sttfEqWUH9AAmGyvGI6mlPICqgJ/AmitnzgiSVjUAM7bOknA65MosgFXYnx/\nFTv9Mr1KSqlcQElgjx1jOCmlDgFBwHqttd1iASOBHkCU0YY2oIF1Sqn9Sil7Dk7KA9wEplguqSYr\npRJXeyLhPgTsUqrsdUkUcU0QmvKvqWJQSqUBFgJdtdbB9oqjtY7UWpfAXMCpnFLKLpdWSqmGQJDW\ner89jh+HylrrUkA9oKPl8tEenIFSwDitdUkgBLDrPTMAyyVOY2CBPY7/uiSKq0DMWqd+wLV4tk1x\nLPcLFgKztNaLHBHTcrq8GXPRJnuoDDS23DuYC7yjlJppp1hora9Z/g0CFmO+XLWHq8DVGGdif2NO\nHPZWDzigtbZLFaXXJVH4A/mVUrktmfVDYNkrbpNNWG4w/gmc1FqPsHOsjEopb8trN6AmYPuqNYDW\nupfW2k9rnQvz/9dGrXVLe8RSSnk8LWVpuQyoDdjlEyutdSBwRSn1tKZlDcAuN9Wf0wI7XXaA/QoA\nOZTWOkIp1QlYCzgBf2mtj9srnlJqDlANyKCUugr001r/aadwlYFWwFHLvQOA77XWq+wQKyswzXL3\n3ATM11rb9WNLB8kMLLbU6XQGZmut19gxXmdgluWP1gXgMzvGQinljvkTv/Z2i/E6fDwqhLCv1+XS\nQwhhR5IohBCGJFEIIQxJohBCGJJEIYQwJIlCoJR6aPnXVyn1t8G2XS0fxyXk+NVs8XSorY4jEk4S\nxWvKMhYiQbTW17TW7xts1hVIUKIQKZ8kihRGKZXLMs/BNKXUEcu8B+6WdZeUUn2VUtuB5kqpvEqp\nNZYHobYppQpatsutlNqllPJXSv303LGPWV47KaV+tczhcEQp1Vkp9RXgC2xSSm2ybFfbcqwDSqkF\nlmdSns4PcsrSlqbx9GWPUqpIjO83K6VKK6XKKaV2Wh6q2hljlGPMfX9USn0b4/tjlofmUEq1VOZ5\nNQ4ppSYkJmmK2CRRpExvABO11sWAYKBDjHWPtNZvaa3nYp5HsbPWujTwLTDWss0ozA8tlQUC44nR\nDsgNlLTEmaW1Ho35GZrqWuvqSqkMQB+gpuWBq31AN6WUKzAJaARUAbLEE2Mu8AFEz7vha3lI7BRQ\n1fJQVV9gsLU/GKVUIeB/mB8CKwFEAh9Zu7+I22sxhPs/6IrWeofl9UzgK+BXy/fzIPpp00rAAsvQ\nZYDUln8rA80sr2cAQ+OIURMYr7WOANBaxzX/RgWgMLDDEiMVsAsoCFzUWp+1tGUmcdedmA+sB/ph\nThhPn3xMi3koeX7MTwG7xPVDiEcNoDTgb2mTG+ZH5kUSSKJImZ4fdx/z+xDLvybgnuWvqjXHeJ6y\ncpv1WusWsRYqVcKKfdFaByilbiulimE+C3j6rMJPwCat9XuWy4nNceweQewzYtcYbZqmte5lFF9Y\nTy49UqYc6tk8jC0wT1kXi2XOiotKqeZgfgpVKVXcsnoH5ic2If7T8nXAF0opZ8v+PpblDwBPy+vd\nQGWlVD7LNu5KqQKYLx1yK6XyxmhjfOZinrwmrdb6qGVZWsxTugF8Gs9+l7A8vq2UKoX5MglgA/C+\nUirT03YrpXK+JL6wgiSKlOkk8IlS6gjgA4yLZ7uPgDZKqcPAcZ5ND9gF8+Qt/ph/KeMyGfgXOGLZ\n//8syycCq5VSm7TWNzH/Is+xtGU3UFBr/QjzpcZKy83Ml03N9jfmpDU/xrJfgCFKqR2YnwaOy0LA\nx/JE7ZeY50zFMpdoH8yzWR3BfGmT9SXxhRXk6dEUxnIqvsLek/oKEZOcUQghDMkZhRDCkJxRCCEM\nSaIQQhiSRCGEMCSJQghhSBKFEMKQJAohhKH/B/UW6q0OaME4AAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "from sklearn.metrics import confusion_matrix\n", "\n", "mat = confusion_matrix(y_test,y_model)\n", "\n", "sns.heatmap(mat, square=True, annot=True,fmt='d', cbar=False)\n", "plt.xlabel('predicted value')\n", "plt.ylabel('true value');" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.14" } }, "nbformat": 4, "nbformat_minor": 2 }