{ "metadata": { "kernelspec": { "name": "python", "display_name": "Pyolite", "language": "python" }, "language_info": { "codemirror_mode": { "name": "python", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8" }, "toc-showcode": false }, "nbformat_minor": 4, "nbformat": 4, "cells": [ { "cell_type": "markdown", "source": "

\n \n \"Skills\n \n

\n", "metadata": {} }, { "cell_type": "markdown", "source": "# **Softmax Regression ,One-vs-All & One-vs-One for Multi-class Classification**\n", "metadata": {} }, { "cell_type": "markdown", "source": "Estimated time needed: **1** hour\n", "metadata": {} }, { "cell_type": "markdown", "source": "In this lab, we will study how to convert a linear classifier into a multi-class classifier, including multinomial logistic regression or softmax regression, One vs. All (One-vs-Rest) and One vs. One\n", "metadata": {} }, { "cell_type": "markdown", "source": "## **Objectives**\n", "metadata": {} }, { "cell_type": "markdown", "source": "After completing this lab you will be able to:\n", "metadata": {} }, { "cell_type": "markdown", "source": "* Understand and apply some theory behind:\n * Softmax regression\n * One vs. All (One-vs-Rest)\n * One vs. One\n", "metadata": {} }, { "cell_type": "markdown", "source": "## **Introduction**\n", "metadata": {} }, { "cell_type": "markdown", "source": "In Multi-class classification, we classify data into multiple class labels . Unlike classification trees and k-nearest neighbour, the concept of Multi-class classification for linear classifiers is not as straightforward. We can convert logistic regression to Multi-class classification using multinomial logistic regression or softmax regression; this is a generalization of logistic regression, this will not work for support vector machines. One vs. All (One-vs-Rest) and One vs. One are two other multi-class classification techniques can covert any two-class classifier to a multi-class classifier.\n", "metadata": {} }, { "cell_type": "markdown", "source": "***\n", "metadata": {} }, { "cell_type": "markdown", "source": "## **Install and Import the required libraries**\n", "metadata": {} }, { "cell_type": "markdown", "source": "For this lab, we are going to be using several Python libraries such as scit-learn, numpy and matplotlib for visualizations. Some of these libraries might be installed in your lab environment, others may need to be installed by you by removing the hash signs. The cells below will install these libraries when executed.\n", "metadata": {} }, { "cell_type": "code", "source": "import piplite\nawait piplite.install(['pandas'])\nawait piplite.install(['matplotlib'])\nawait piplite.install(['numpy'])\nawait piplite.install(['scikit-learn'])\nawait piplite.install(['scipy'])\n", "metadata": { "trusted": true }, "execution_count": 1, "outputs": [] }, { "cell_type": "code", "source": "\nfrom pyodide.http import pyfetch\n\nasync def download(url, filename):\n response = await pyfetch(url)\n if response.status == 200:\n with open(filename, \"wb\") as f:\n f.write(await response.bytes())\n", "metadata": { "trusted": true }, "execution_count": 2, "outputs": [] }, { "cell_type": "code", "source": "import numpy as np\nimport matplotlib.pyplot as plt\nfrom sklearn import datasets\nfrom sklearn.svm import SVC\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.metrics import accuracy_score\nimport pandas as pd", "metadata": { "trusted": true }, "execution_count": 3, "outputs": [] }, { "cell_type": "markdown", "source": "## Utility Function\n", "metadata": {} }, { "cell_type": "markdown", "source": "This functions Plots different decision boundary\n", "metadata": {} }, { "cell_type": "code", "source": "plot_colors = \"ryb\"\nplot_step = 0.02\n\ndef decision_boundary (X,y,model,iris, two=None):\n x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1\n y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1\n xx, yy = np.meshgrid(np.arange(x_min, x_max, plot_step),\n np.arange(y_min, y_max, plot_step))\n plt.tight_layout(h_pad=0.5, w_pad=0.5, pad=2.5)\n \n Z = model.predict(np.c_[xx.ravel(), yy.ravel()])\n Z = Z.reshape(xx.shape)\n cs = plt.contourf(xx, yy, Z,cmap=plt.cm.RdYlBu)\n \n if two:\n cs = plt.contourf(xx, yy, Z,cmap=plt.cm.RdYlBu)\n for i, color in zip(np.unique(y), plot_colors):\n \n idx = np.where( y== i)\n plt.scatter(X[idx, 0], X[idx, 1], label=y,cmap=plt.cm.RdYlBu, s=15)\n plt.show()\n \n else:\n set_={0,1,2}\n print(set_)\n for i, color in zip(range(3), plot_colors):\n idx = np.where( y== i)\n if np.any(idx):\n\n set_.remove(i)\n\n plt.scatter(X[idx, 0], X[idx, 1], label=y,cmap=plt.cm.RdYlBu, edgecolor='black', s=15)\n\n\n for i in set_:\n idx = np.where( iris.target== i)\n plt.scatter(X[idx, 0], X[idx, 1], marker='x',color='black')\n\n plt.show()\n", "metadata": { "trusted": true }, "execution_count": 4, "outputs": [] }, { "cell_type": "markdown", "source": "This function will plot the probability of belonging to each class; each column is the probability of belonging to a class the row number is the sample number.\n", "metadata": {} }, { "cell_type": "code", "source": "def plot_probability_array(X,probability_array):\n\n plot_array=np.zeros((X.shape[0],30))\n col_start=0\n ones=np.ones((X.shape[0],30))\n for class_,col_end in enumerate([10,20,30]):\n plot_array[:,col_start:col_end]= np.repeat(probability_array[:,class_].reshape(-1,1), 10,axis=1)\n col_start=col_end\n plt.imshow(plot_array)\n plt.xticks([])\n plt.ylabel(\"samples\")\n plt.xlabel(\"probability of 3 classes\")\n plt.colorbar()\n plt.show()", "metadata": { "trusted": true }, "execution_count": 5, "outputs": [] }, { "cell_type": "markdown", "source": "In ths lab we will use the iris dataset, it consists of 3 different types of irises’ (Setosa y=0, Versicolour y=1, and Virginica y=2) petal and sepal length, stored in a 150x4 numpy.ndarray\n\nThe rows being the samples and the columns being: Sepal Length, Sepal Width, Petal Length and Petal Width.\n\nThe below plot uses the secoond two features\n", "metadata": {} }, { "cell_type": "code", "source": "pair=[1, 3]\niris = datasets.load_iris()\nX = iris.data[:, pair]\ny = iris.target\nnp.unique(y)", "metadata": { "trusted": true }, "execution_count": 6, "outputs": [ { "execution_count": 6, "output_type": "execute_result", "data": { "text/plain": "array([0, 1, 2])" }, "metadata": {} } ] }, { "cell_type": "code", "source": "plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.RdYlBu)\nplt.xlabel(\"sepal width (cm)\")\nplt.ylabel(\"petal width\")", "metadata": { "trusted": true }, "execution_count": 7, "outputs": [ { "execution_count": 7, "output_type": "execute_result", "data": { "text/plain": "Text(0, 0.5, 'petal width')" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "## **Softmax Regression**\n", "metadata": {} }, { "cell_type": "markdown", "source": "SoftMax regression is similar to logistic regression, the softmax function convernts the actual distances i.e. dot products of $x$ with each of the parameters $\\theta_i$ for the $K$ classes. This is converted to probabilities using the following :\n", "metadata": {} }, { "cell_type": "markdown", "source": "$softmax(x,i) = \\frac{e^{ \\theta_i^T \\bf x}}{\\sum\\_{j=1}^K e^{\\theta_j^T x}} $\n", "metadata": {} }, { "cell_type": "markdown", "source": "The training procedure is almost identical to logistic regression. Consider the three-class example where $y \\in {0,1,2}$ we would like to classify $x\\_1$. We can use the softmax function to generate a probability of how likely the sample belongs to each class:\n", "metadata": {} }, { "cell_type": "markdown", "source": "$\\[softmax(x\\_1,0),softmax(x\\_1,1),softmax(x\\_1,2)]=\\[0.97,0.2,0.1]$\n", "metadata": {} }, { "cell_type": "markdown", "source": "The index of each probability is the same as the class. We can make a prediction using the argmax function:\n", "metadata": {} }, { "cell_type": "markdown", "source": "$\\hat{y}=argmax_i {softmax(x,i)}$\n", "metadata": {} }, { "cell_type": "markdown", "source": "For the above example, we can make a prediction as follows:\n", "metadata": {} }, { "cell_type": "markdown", "source": "$\\hat{y}=argmax_i {\\[0.97,0.2,0.1]}=0$\n", "metadata": {} }, { "cell_type": "markdown", "source": "sklearn does this automatically, but we can verify the prediction step, we fit the model:\n", "metadata": {} }, { "cell_type": "code", "source": "lr = LogisticRegression(random_state=0).fit(X, y)", "metadata": { "trusted": true }, "execution_count": 8, "outputs": [] }, { "cell_type": "markdown", "source": "We generate the probability using the method predict_proba\n", "metadata": {} }, { "cell_type": "code", "source": "probability=lr.predict_proba(X)\n", "metadata": { "trusted": true }, "execution_count": 9, "outputs": [] }, { "cell_type": "markdown", "source": "We can plot the probability of belonging to each class; each column is the probability of belonging to a class the row number is the sample number.\n", "metadata": {} }, { "cell_type": "code", "source": "plot_probability_array(X,probability)", "metadata": { "trusted": true }, "execution_count": 10, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAABkFElEQVR4nO3deZyWdb3/8df3urfZh01mQEEwcMEFzAUJT7lQHDOTsNQ0IyxNE1zGNEllMdPSk5JKUqaobXZcTz/tYB7KPBqigponFTcEQmYAZWaY5d6u6/v7Y+C2YbsZ7vt7z3DP+3ke1+Nx5rrv63N9gR6PeftdjbXWIiIiIiK9htfdDRARERGRwlIAFBEREellFABFREREehkFQBEREZFeRgFQREREpJdRABQRERHpZRQARURERHoZBUARERGRXkYBUERERKSXUQAUERER6WUUAEVERER6GQVAERERkV5GAVBERESkl1EAFBEREellFABFREREehkFQBEREZFeRgFQREREpJdRABQRERHpZRQARURERHoZBUARERGRXkYBUERERKSXUQAUERER6WUUAEVERER6GQVAERERkV5GAVBERESkl1EAFBEREellFABFREREehkFQBEREZFeRgFQREREpJdRABQRERHpZRQARURERHoZBUARERGRXkYBUERERKSXUQAUERER6WUUAEVERER6GQVAERERkV5GAVBERESkl1EAFBEREellFABFREREehkFQBEREZFeRgFQREREpJdRABQRERHpZRQARURERHoZBUARERGRXkYBUERERKSXUQAUERER6WUUAEVERER6GQVAERERkV5GAVBERESkl1EAFBEREellFABFREREehkFQBEREZFeRgFQREREpJdRABQREebNm8ewYcMoKSlh7NixvPDCC93dJBFxSAFQRKSX+/3vf09dXR2zZs1i2bJljB49mokTJ7Ju3brubpqIOGKstba7GyEiIt1n7NixHHXUUdxxxx0ABEHAkCFDmD59OldddVU3t05EXAh3dwNERKT7JJNJli5dyowZMzL3PM9jwoQJLF68eJdqBEHABx98QGVlJcYYV03d41lr2bRpE4MHD8bz3A3AxeNxkslkznWi0SglJSV5aJH0RAqAIiK92IYNG/B9n5qamk73a2pqePPNN7f7TCKRIJFIZH5es2YNo0aNctrOYrJ69Wr22WcfJ7Xj8TjD962gfp2fc63a2lpWrFihEFikFABFRKRLbrzxRubMmbPN/edfPIOmxslccdXqrDVGfCLEFz54Bv/ZvwMQrg0Y8T+J7X43sIZznj+XEbfG8Zo25db4HbGWoKmZoLXNTX0gTYpn+SOVlZXO3pFMJqlf57Ni6b5UVe5+L2PzpoDhR6wkmUwqABYpBUARkV5swIABhEIhGhoaOt1vaGigtrZ2u8/MmDGDurq6zM/Nzc0MGTKEwUNO5IYbmwiFSrO+d8X7MD88ga+VrKF/vBHTJ0RL6faDRoCHKSnFqwwTCkK7/ofriiAg1J7Gb0u5qQ+wecZ9IYbJyys6rt3la3VA0dMqYBGRXiwajXLEEUewaNGizL0gCFi0aBHjxo3b7jOxWIyqqqpOF8CKd2Os/ueuB6hUGh495DQAyk+FqPG3e0VMGgATWAgCJ5fxAwiUeqT3UA+giEgvV1dXx5QpUzjyyCM5+uijmTt3Lq2trUydOrVLddat2wR0rXer0atgXZ9+jDhjDeEddEn4GIyxmGQaE899ccN2WYv1c58311MEWAJ2P9Dm8qzsGRQARUR6uTPOOIP169czc+ZM6uvrGTNmDAsXLtxmYUg24bJXgTFdfv/6bw4n2v+fO/zcw3bkygBwtXOZte5qd4OAgCDH56W4KQCKiAjTpk1j2rRpOdWoql3I7gRAM9CQsjuekeRjOubPhQyEHM1cCixoCxvpRRQARUQkL3zjcfSn6nnhb9tfPLIjhx71Dim748Ud/uZhZet54Gr/PGPd1e4GvrX4OfRo5vKs7BkUAEVEJC9KvRTnXbyAF/52Fbs6FzASSXDAJz7I/kUDJuV3rBxxwfc7riKhOYCSjQKgiIjkxaCQT2XUctH5TzDvFyeTPQRarrnyYQaHdh68AsB4Fq+1HdvsaB9AwLoKlyI9kAKgiIjkRdh4RIzH5JP+TpCKcueCz7LjEGi5cOqfOPbI98m2I1mwZTjS9UpdWzwLHwIsvnoAZScUAEVEJC+stZmwNvmUF/nCxKXc9ovP8uSfD+fjkGcZvm89V9f9F/sO+ajrW++5mqcXFE/4Aw0BS3YKgCIi4kQ0GvDdaU/y3WlPdndTRGQrCoAiIpIXcRsQcdVxZA02HMKEHf3asgE26fAYuALTKmDJRgFQRETyosUasPnfS8+3pmOP5kgYE4vmvT50DF+beAJbJBkw2Hzl8rwUNwVAERHJC98afAcBMMMYZ5s1GzbvM1gk/BwXgeTyrOwZFABFRCQvYiagxFH+MwZI+9i0o1XANiiqs4BFslEAFBGRvIiYjssZayFwFNK6vBy5Z/Ntx5XL81LcFABFRCQvPvQjJPz8D6P6GGwAtjSKV1aW9/oAWItJJrGJhJv6BaY5gJKNAqCIiOTFitQAylI7PtM3FzYw+JUlTmoDGN9i2tuhtdXZO0R6EgVAERGRItv2JMDg7+J5zDt6XoqbAqCIiOTFPpGPKI+4WUlrPEuoNYnX3OakPn5AUET7AAY2t2mNRTYlUrZDAVBERPKi2ktS4WArFd8aMGASKYi7maNnrYVU8QRAkWwUAEVEJC9KjaXMOOg6MvbjbWBchbTAdoTAIuHnOAScy7OyZ1AAFBGRvKj2wlS56AHEdoTAZIqgPZ73+h+/qHj2AVQAlGwUAEVEZM/h6CSQYlsEIpKNAqCIiORFu/UJOwhSvrUdZwyHQpiIo19bgcWm0m5qd4PAGoIcjuXL5VnZMygAiohIXiStJemwJ82GPAi52WcQY8ErntCjIWDJRgFQRETyot0aQo56jqwFwiFMJOKovsW0G4plINjHw2f352MWz2xI2REFQBERyYu2IIwXuNkHEMBG3AVAYy3WVe+iSA+kACgiIj2aj6FouuYKxOY4B9BqDmDRUwAUEREpMpoDKNm466sXERHJgxAW5RGR/FIPoIiI5MXAUIrKkIuNoDu2/zNtCWybo7OAA4tNF882ML718G0Oi0A05F70FABFRCQv+odKqXIQAAGMsZjWdvzmFif1sQG2iE4CCTAEOQzyBZp0WfQUAEVEJC88DJ6DsdpOYcQGea8v0hspAIqISI/mIlQWOy0CkWwUAEVERIpM7nMANQRc7BQARUQkLxI2TSKH0LEzFjrOAg67+bVlrYXAgi2eeYAiO6MAKCIieZF0GAABCIfA1UkgQQC+XzRTDDsWgez+MG4uz8qeQQFQRETywsfiO1g9mslkxmCMo2ASCmFN8WyNG+R4FrBWARc/BUAREcmLNmsJuZo7Zg02HIKomx5ArIVE8fR6aQ6gZFM8/7kjIiJFKbMpsaveP5FeSD2AIiKSFyXGUOIipBnAWEzad3daR7B5EUiRCPC0EbTslAKgiIjkRdR4xFzOo/N9bMpRALS2qDaZ9q3BtznsA5jDs7Jn0BCwiIiISC+jACgiUqRuvPFGjjrqKCorKxk4cCCTJk1i+fLlnb5jrWXmzJkMGjSI0tJSJkyYwNtvv91NLZZ88TevAs7lkuKmf2ERkSL117/+lYsuuojnn3+ep556ilQqxec+9zlaW1sz37npppu47bbbmD9/PkuWLKG8vJyJEycSj8e7seWSq8B6OV9S3DQHUESkSC1cuLDTz/feey8DBw5k6dKlfPrTn8Zay9y5c7nmmms49dRTAbj//vupqanhscce48wzz+zS+5I2IOFy7UAohIk4+rUVWHfzC0V6IAVAEZFeoqmpCYB+/foBsGLFCurr65kwYULmO9XV1YwdO5bFixfvMAAmEgkSiUTm5+bmZgCS1pJ0uQ9gyINQyE19Y8ErnoUPuQ7jutjQW3oW9fGKiPQCQRBw6aWXMn78eA455BAA6uvrAaipqen03Zqamsxn23PjjTdSXV2duYYMGeKu4fzLSSCyywI+Xgm8O5f+zoufAqCISC9w0UUX8X//93888MADOdeaMWMGTU1NmWv16tV5aOEuMsbNVUS9fyK7QkPAIiJFbtq0aTz++OM888wz7LPPPpn7tbW1ADQ0NDBo0KDM/YaGBsaMGbPDerFYjFgs5qy9O+VqiLmINoGGfGwErf6hYqcAKCJSpKy1TJ8+nUcffZSnn36a4cOHd/p8+PDh1NbWsmjRokzga25uZsmSJVx44YVdfp+rk0AC+PgkEEcLNawtrpNAcj8LWAGw2CkAiogUqYsuuojf/va3/Nd//ReVlZWZeX3V1dWUlpZijOHSSy/l+uuvZ+TIkQwfPpxrr72WwYMHM2nSpC6/L2w8Ig5OAgm29PpZi/X9vNfPKKKTQAIMAbsfxnN5VvYMCoAiIkXqzjvvBOC4447rdH/BggV84xvfAODKK6+ktbWV888/n8bGRo499lgWLlxISUlJl9+3MuVRkXLTc2QDQ1BRhuc7CmlBQNDY5O6sYZEeRgFQRKRI2V2YL2eM4brrruO6667L+X2vJIZQ6mifPpv2SO1VRrjE0a8t3+IlU/Avm2TvyTQELNkoAIqISF6ETEDIOBxGdThFz7haXNJNct8HUAGw2CkAiohIXoyKfkBFzE1wMKGAyMY4XmOLk/r4AUFbm5vaIj2QAqCIiOTFwFCSypCjAOiBaUtgWxwN0Qa2qOb/BdYQ2BwWgeTwrOwZFABFRCQvNgZhUoGjRSAWiEYwpaVO6uP7mESiaA5AC3IcAtY+gMVPAVBERPJig19Gu5//s3p963WsAi6L4qUdBcAgwLS3g0aBpZdQABQRkbzIdeVpNhqV3HWB9Qhy+LfI5VnZMygAiohIXkSNT9RhSDOBhcDNKmPjB9hiOgkEg5/DZs65PCt7BgVAERHJi4jxiZj8hygfD2Ms+BbjaiPoItsGRiQbBUAREcmLai9Bhedo6NCAl0xDIummvu8X2SpgDQHLzikAiohIXgwIBVTmfw0IvrUYA6Y9gXV1UkdgsaniCYA+uQ3jOjxxWXoIRXwREenRQsaAg6HlYralBzCXa3fMmzePYcOGUVJSwtixY3nhhRd2+v3f/OY3jB49mrKyMgYNGsS5557Lhx9+uFvvlq5RABQRkbzwrXVyJa0Fa7Ce2bwjtIPL06KHXP3+97+nrq6OWbNmsWzZMkaPHs3EiRNZt27ddr//3HPP8fWvf51vfvOb/OMf/+DBBx/khRde4Lzzzitwy3snBUAREckL39GVWfZhTEdQc3EVWQjcsiVPLldX3XLLLZx33nlMnTqVUaNGMX/+fMrKyrjnnnu2+/3FixczbNgwLr74YoYPH86xxx7Lt7/97ay9hpIfCoAiIpIXSQsJB1fcmo5FuuEQhMPOLmOKJwBaDEEOl908f7C5ubnTlUgktvu+ZDLJ0qVLmTBhQuae53lMmDCBxYsXb/eZcePGsXr1av74xz9iraWhoYGHHnqIz3/+8/n/C5FtaBGIiIjkRdyGCDtYPZpZzOB5mEgk7/U7XuJjXa1g3oMNGTKk08+zZs1i9uzZ23xvw4YN+L5PTU1Np/s1NTW8+eab2609fvx4fvOb33DGGWcQj8dJp9OccsopzJs3L2/tlx1TABQRkbxIWY+U05NAjLteOs/rGGIuErmeyrLl2dWrV1NVVZW5H4vFcm7bFq+//jqXXHIJM2fOZOLEiaxdu5YrrriCCy64gLvvvjtv75HtUwAUEZG8SOGRdDCzKLAeWCDsQchRwPRMRwgsEoE1BDmcnbfl2aqqqk4BcEcGDBhAKBSioaGh0/2GhgZqa2u3+8yNN97I+PHjueKKKwA47LDDKC8v59/+7d+4/vrrGTRo0G63X7Irnv+1i4hIt8rH1iPbu7YMAVtjOnrpXF2y26LRKEcccQSLFi3K3AuCgEWLFjFu3LjtPtPW1oa3VegOhTo2krQ6mcU59QCKiEhe5Hr+7C5xFdSKLHD4ePg59PHszrN1dXVMmTKFI488kqOPPpq5c+fS2trK1KlTAZgxYwZr1qzh/vvvB+CUU07hvPPO484778wMAV966aUcffTRDB48eLfbLrtGAVBERHq0TBhxOWblcn5hN8jXEHBXnHHGGaxfv56ZM2dSX1/PmDFjWLhwYWZhyNq1a1m1alXm+9/4xjfYtGkTd9xxB5dffjl9+vThhBNO4Mc//vFut1t2nQKgiIjkRYWXdHsWcDwNyZSb+kV2FnB3mTZtGtOmTdvuZ/fee+8296ZPn8706dMdt0q2RwFQRETyYmQkRFXEwTYw1uJ5FtPUQrDBzTFh1hbXWcABHkEOXaa5PCt7BgVAERHJi5iJEDMOgsOW0ch0msBVD6ANimoeoG8Nfg5DwLk8K3sGBUARERHjgfW7uxV50x1zAGXPoj5eERERkV5GPYAiIpIXTUE7NnCxEbTFAsSieKUlea+/hU0kimYhiN28h2Iuz0txUwAUEZG8WJnyqEi5OQvY+oaguhwvcDRPz1qCjY1FEwBz3ZPR+X6O0u0UAEVEJC8SNkzYZc+R50E45KZ2EBTVUXAi2SgAiohIXsRMmhIHq4AzvVFBAGlHCzWs7ahfJAKb20IOVx2t0nMoAIqISF54xuKZ/CcHD9uxFUyAu61afL+otoEJcpwDmMuzsmdQABQRkbwoMT4lDgLgFsb3wdEcPVtkPYAi2SgAiohIXlR7UOmg48i3FmPAJFLYeDz/L9jM+sUTAAMMQQ4LOXJ5VvYMCoAiIpIXHm42l/WMAWM3z9Nz08Noi2j4F3QSiGSnACgiInkRMyFHi0A2h7MgcLtNiy2eHkCRbBQARUQkL7zN/5f/upuPA/YDZ/P0rLXYIlr6qkUgko0CoIiI5MWHQZKkg5NAfAvWGmxZCaaiPO/1AYy1BC2t2ERxnAcckONZwJoDWPQUAEVEJC/eTVVRnnKzUXPgG4LqMncH2AcBXiqNn0i4ekNB2RwXgVgFwKKnPl4RERGRXkY9gCIivcSPfvQjZsyYwSWXXMLcuXOBjrlvs2bN4q677qKxsZHx48dz5513MnLkyC7XHxRqoSKU/36FAIPxLF5rArOpNe/1gY6zgIvkHGDoOAUkt5NA1ANY7BQARUR6gRdffJGf//znHHbYYZ3u33TTTdx2223cd999DB8+nGuvvZaJEyfy+uuvU1JS0qV3VHiBk30AAYwBUmlsMunmBYHF+sUx/w+0CESy07+wiEiRa2lp4eyzz+auu+6ib9++mfvWWubOncs111zDqaeeymGHHcb999/PBx98wGOPPdbl9wQOrwxj3Fyeerykd1EAFBEpchdddBEnn3wyEyZM6HR/xYoV1NfXd7pfXV3N2LFjWbx48Q7rJRIJmpubO13QsVrX1QVsDmueo6u4AuCWIeBcLiluGgIWESliDzzwAMuWLePFF1/c5rP6+noAampqOt2vqanJfLY9N954I3PmzNnm/jupfpQ5XAXs9ykj5GCOIQB+gJcunlXAOgpOslEAFBEpUqtXr+aSSy7hqaee6vJ8vp2ZMWMGdXV1mZ+bm5sZMmQIc5Z/gVBZLG/v2cJag20NUz++BC9Vmff6AF7SMnBJFBqbnNQX6WkUAEVEitTSpUtZt24dn/zkJzP3fN/nmWee4Y477mD58uUANDQ0MGjQoMx3GhoaGDNmzA7rxmIxYrFtg17j2iq80vwFzX9lkh7tNRYcHdYRihvSlbGimRelVcCSjQKgiEiROvHEE3nttdc63Zs6dSoHHngg3/ve99hvv/2ora1l0aJFmcDX3NzMkiVLuPDCC7v8vgP3X0OkPJqPpncSWMMbb+1N9athQkk3CdBLWSLrWyiWdcAKgJKNAqCISJGqrKzkkEMO6XSvvLyc/v37Z+5feumlXH/99YwcOTKzDczgwYOZNGlSl9935T4LKXe0D8zZ//wWA5a14jU52gcwCAg+anRTW6QHUgAUEenFrrzySlpbWzn//PNpbGzk2GOPZeHChbs1Z9AzgZPdVDrtSWcdjQEXGfUASjYKgCIivcjTTz/d6WdjDNdddx3XXXddzrVXpvo7WwVsA0O6IkrYljupb9IBpsVR72I3UACUbBQARUQkL9ptFIL8/1rxrQfWYMMeNuImYGIMxnNUuxtYctvKRf2sxU8BUERE8mJYZAPlUTdzAE0oILwpSWiju7OAbZHsASiyKxQARUQkLz4RbqEy7CgAeuA1tWE3OtqnzwYE7XE3tbuBhoAlGwVAERHJixZrwEFw8K3pWPsRCWNi+d9mBjrORTbxBDblpHzBKQBKNgqAIiKSF39PDKIs6mgRiG9I9S8nHHXza8ukA0w6DfHi6QUU2RkFQBERyQvni0Ai7haBWM/DK6JFIOoBlGwUAEVEJC9GRT+gIuZuEUjkozheY4uT+vgBQVubm9rdQAFQslEAFBGRvDggAlURN7W9kMX7sJlgw4dO6ltrsam0k9oiPZECoIiI5EXSpklYNz2AFiAcgoibhGmCAHwfGzgpX3DWGmwOvXi5PCt7BgVAERHJiw2BJR7kfwth3xpsYLClMbzysrzXh44eQHwfmy6OXsAAk9NG0Lk8K3sGBUAREcmLlPVIOegB9LeEEc+DkJuFGiYIsJ6b3kuRnkgBUERE8qKv51PpOegBBIwBEklsW3ve6wNgg6KaA6hFIJKNAqCIiORFhRem0lUvmrGYRIrA1XFtQYD1fTe1u4HmAEo2CoAiIpIXaRuQyn8HID6bi4bcDQETCmHS6aJZBKIeQMlGAVBERPKiMQjwXQUoa7DRCKakxFH9AJtMQpEsAhHJRgFQRETy4p1UP8pS+e+h8zEEKY+gsgQvcJMwTWDx/IDAwSrmzDusgQKdNawhYMlGAVBERPLiqge+TshRD13MwqrPx4BqJ/VNGvotr6F8haOTRgD8BLzqrvy/sjkOASsAFj8FQBERyYthD60jHIo5qb3uMwNpm7iJ8pKkk/ptiQgbg2q8VLmT+gDpVKhgAVAkGwVAERHJC5NOYwJH+/SlIZ32SKTd1Pd9j5AH6VJ3ewGmw4XbZ9ACNofRbHcD4dJTKACKiEh+xJPgIuN4HuGEJZ0IE3dQHsBPhzBRSFS7G/r0k4UbVg0wGJ0EIjuhACgiIvlhbW7dTjvi+2DpOA4ucNSLZgEDjo4y7niFDhqRHkQBUERE8sL6AdbFRnpeR2+U8SzGc7TPTBCimNY9aBWwZKMAKCIi+WEDnOyk7IPZ3ENnHOUSV3W7S2BNx7YzOTwvxU0BUERE8sNPg4shWuPhRw3V1W1Ul7qZBdiajNISlBJrcrf8Ie3imBSR3aQAKCIieWGTKayjrrR0KYypWcPeJY1O6q+NV7M4PYDyf7paZgLptLvaW8t1OqaLqZzSsygAiohIfgQBGBdzAD2w4Oe4ufHOZFa9hgy4Os6ugOPMmgMo2SgAiohIfngeGDdLXSNtln9sqGVNaR8n9VuTUYIotOztZiNrAL+AQ8AKgJKNAqCIiPRsxuClYFNLKSnfzUbQqVQYG7IkK4tjH0CRbBQARUQkL0wshjFRJ7XTJYaK8rjTRSCbkpWUbHQ1/lvYRSBaBSzZKACKiEhemFgM4zkKgGUwuKqZmpJNTuqvT1TQltiLsg+0CGTL81LcFABFRKTHMz60pqJs9Eqd1N+UjGE98MvCELhJP76jc4xFdocCoIiI5IVNpbCeg6FD41GyMeD99wayssTPf33A+h7RMsuHo9z0YAL4CQt/cVa+k44ewFwWgeSxMdIjKQCKiEh+uDoL2PqE2y2h5jBBws0qYy8w2Agk+jopD4BfuBFgrQKWrBQARUQkL0w06mYOoOfRPiBEySeaKYsl818fiKfCpF/sS9+3XS4CCXjPWXWRrlEAFBGR/CiNgedmH732gYZJ+/2dfaIfOam/IrEXT/75U/R5ZoWT+gDpwE143R67+crleSlubvrSRURE8mTLvMLAGnw8J1dm2xNj3F6F+jvbPAScy7U75s2bx7BhwygpKWHs2LG88MILO/1+IpHg6quvZt999yUWizFs2DDuueee3Xq3dI16AEVEJD+CABfnqBlrCMXhnda9aE67WQVcH68kiEBQ089JfYDAT0C9s/Ld7ve//z11dXXMnz+fsWPHMnfuXCZOnMjy5csZOHDgdp85/fTTaWho4O6772bEiBGsXbuWIHA3DC8fUwAUEZGezVqMDy2pGCWhlJNXtKWjm7eBiTgb//TTblYwb1c3jAHfcsstnHfeeUydOhWA+fPn88QTT3DPPfdw1VVXbfP9hQsX8te//pX33nuPfv06gvewYcNyaLR0hYaARUSK2Jo1a/ja175G//79KS0t5dBDD+Wll17KfG6tZebMmQwaNIjS0lImTJjA22+/vVvvsu0JbHs87xfxBF7KkgpCJIOwk8sPPIIwpMvC+A6vgsl1+LeLQ8DJZJKlS5cyYcKEzD3P85gwYQKLFy/e7jN/+MMfOPLII7npppvYe++92X///fnud79Le3t7Tn902TXqARQRKVIbN25k/PjxHH/88fz3f/83e+21F2+//TZ9+36818lNN93Ebbfdxn333cfw4cO59tprmThxIq+//jolJSVde2E8Dib/w3fW6zgLOOWHSDo6CzgZhLBhSJe726w5nSrcRtD5Ogmkubm50/1YLEYstu1Cnw0bNuD7PjU1NZ3u19TU8Oabb273He+99x7PPvssJSUlPProo2zYsIHvfOc7fPjhhyxYsGD3Gy+7RAFQRKRI/fjHP2bIkCGdfpkOHz488/9ba5k7dy7XXHMNp556KgD3338/NTU1PPbYY5x55pkFb/N2BRYbhj6xdvYqaXH2moYAIi3uhmlNIYeA82TIkCGdfp41axazZ8/OS+0gCDDG8Jvf/Ibq6mqgYxj5y1/+Mj/72c8oLXUz31M6KACKiBSpP/zhD0ycOJGvfOUr/PWvf2XvvffmO9/5Dueddx4AK1asoL6+vtOwXXV1NWPHjmXx4sVdD4Ceu5WuqQrDp/u/zX6xdU7qv52o4e3kSErecVMfIB0knNXeWr42gl69ejVVVVWZ+9vr/QMYMGAAoVCIhoaGTvcbGhqora3d7jODBg1i7733zoQ/gIMOOghrLf/85z8ZOXLkbrdfslMAFBEpUu+99x533nkndXV1fP/73+fFF1/k4osvJhqNMmXKFOrrO5akbm/Ybstn25NIJEgkPg4zWw8T5p3pmJ/XL9xCv5CbHsDqUBUmANvm7rgOW8B9ANmNeXzbPA9UVVV1CoA7Eo1GOeKII1i0aBGTJk0COnr4Fi1axLRp07b7zPjx43nwwQdpaWmhoqICgLfeegvP89hnn312v+2ySxQARUSKVBAEHHnkkdxwww0AHH744fzf//0f8+fPZ8qUKbtd98Ybb2TOnDn5auYuiTZZHmn4JDUlm5zU/zBRhh+DxKFDndQHSKfj8Fdn5btdXV0dU6ZM4cgjj+Too49m7ty5tLa2ZlYFz5gxgzVr1nD//fcDcNZZZ/GDH/yAqVOnMmfOHDZs2MAVV1zBueeeq+HfAlAAFBEpUoMGDWLUqFGd7h100EE8/PDDAJmhuYaGBgYNGpT5TkNDA2PGjNlh3RkzZlBXV5f5ubm5eZu5YvkWa7a8/s9BvFvS30n9VCqEV2JpHOHgKLvN/GRQsACYr0UgXXHGGWewfv16Zs6cSX19PWPGjGHhwoWZHua1a9eyatWqzPcrKip46qmnmD59OkceeST9+/fn9NNP5/rrr9/9hssuUwAUESlS48ePZ/ny5Z3uvfXWW+y7775Ax4KQ2tpaFi1alAl8zc3NLFmyhAsvvHCHdXe0EhQv1HE5kI4ZqirbqCpxM4+uNRmlJV1BSWOQW3LaiXSqgBscd9NZcNOmTdvhkO+99967zb0DDzyQp556avdeJjlRABQRKVKXXXYZn/rUp7jhhhs4/fTTeeGFF/jFL37BL37xCwCMMVx66aVcf/31jBw5MrMNzODBgzPzuLokHAYv/79WjDHE+xu+OPR1hsY+zHt9gPfjA3i89Vj6vFTvLgAWcBGISDYKgCIiReqoo47i0UcfZcaMGVx33XUMHz6cuXPncvbZZ2e+c+WVV9La2sr5559PY2Mjxx57LAsXLuz6HoB0BDXjaBWwDUNNpJnacKOT+i2Rko5FIJtandSHwi4CydcqYCleCoAiIkXsC1/4Al/4whd2+Lkxhuuuu47rrrsu53dZa7GOes/CrbC4cT/edzQHcG28Gj8K/vDtb1mSD346Dhucld+WoyPtpDgoAIqISH4EuU4827Fwu+W9pv58lChzUn9TMkYQhvZB7lafplPqVZOeQwFQRETywoQ8jOfgiHljsCEIewFhz81CipCxmAC8pLtuMy9VuC45DQFLNgqAIiKSH7EIeG62UfEjhvJIkqqIm42aU34Iz4fIppST+gAm7a72NrppFbDsORz8p5qIiOzMfffdxxNPPJH5+corr6RPnz586lOfYuXKld3YshwZ4/ACY9ylEmMsWDAWTGCdXYVj8nBJMVMPoIhIgd1www3ceeedACxevJh58+Zx66238vjjj3PZZZfxyCOPdHMLex4vbWmMlzobmmxOxrAhSFW4+7WYTvvOaot0lQKgiEiBrV69mhEjRgDw2GOPcdppp3H++eczfvx4jjvuuO5tXC5yPX5iR4zB+NCWjBByNAcwnoxgDfgl7gbG/FQBB900BCxZKACKiBRYRUUFH374IUOHDuVPf/pT5li1kpIS2tvbu7l1OUj74Lnp5fLSkE6HSKbd/NpK+SFsCNIOA2A6pAAoPYcCoIhIgX32s5/lW9/6FocffjhvvfUWn//85wH4xz/+wbBhw7q3cTmw8QTWc5McQglLMhFxNg8wlQrhRSBZ5W7um5/UvDrpORQARUQKbN68eVxzzTWsXr2ahx9+mP79OzY3Xrp0KV/96le7uXU52LJgI+91PawHnhfgOQqYnmc7FoCknZQH3NbehjUdVy7PS1FTABQRKbA+ffpwxx13bHN/zpw53dCa/LE1A7ChWP4Le9C+l8feAxrpG2vLf33go3g5Gxsr6f/3Zif1AdJ+4c4CznU6pqMDXaQHUQAUEekG//u//8vPf/5z3nvvPR588EH23ntvfvWrXzF8+HCOPfbY7m7ebvGrYphw188QzsYaSJXD3uVN1MTcBLSwF9DSavHe+8BJfQDPFu4sYJFsFABFRArs4Ycf5pxzzuHss89m2bJlJBIdPUNNTU3ccMMN/PGPf+zmFu6e8MY2wiE3i0AiLWVsiJc7qQ3QlCglVWEIhg129o7AT8BGZ+U70yIQyUIBUESkwK6//nrmz5/P17/+dR544IHM/fHjx3P99dd3Y8tyE7z/TwITyXtdYwylG/rTsKmSeDr/9QFak1ESfS0bD61yUh/AT8bhVWflO9McQMlCAVBEpMCWL1/Opz/96W3uV1dX09jYWPgG5Uuw+SiNPLObu6M8LyDiqIdxS8+ly9M6CnsSiMjOKQCKiBRYbW0t77zzzjZbvjz77LPst99+3dOoPPD6VuM5Ogs40dfj0AH1DCpxMwdwbbyKZa019Hlzk5P6AGnfzTnG22NyzOIOT92THkIBUESkwM477zwuueQS7rnnHowxfPDBByxevJjvfve7XHvttd3dvN1mSqIYz8EqYCBdCkNLN7JP9CMn9QFCCQjVb3S2BNYGhVsFrDmAko0CoIhIgV111VUEQcCJJ55IW1sbn/70p4nFYnz3u99l+vTp3d283WZb27EuTgIxHuUfBPznG58kVpLKf306NoI2fWDdZ4c6qQ+b5wD+2ln5zjQHULJQABQRKTBjDFdffTVXXHEF77zzDi0tLYwaNYqKiorublpOguYWJ4tAAPosbyFVUYkfdRNMvDBsGuETOqzFSX0Avy1RuAAokoUCoIhIN4lGo4waNaq7m5E/nqOTQIAgEiJdYgjc5EtsGAggHnf0AiCIu1nAsl0aApYsFABFRApg8uTJu/zdRx55xGFL3PEqyt0sAjEejZ8oJf6pFspK3GymnEiFib1WReVLpU7qQ8dZwCudVd+KAqBkoQAoIlIA1dXV3d0E50zM3SKQRJXHQbUN7FXiZoh2fbyCd+JV9HnbzVFzAOl04VYBi2SjACgiUgALFizo7iY4Z9vjWBM4qR2OWza0lxPgZoi5OVFCEIH4Xm4CLEA6VcBuNfUAShYKgCIi3WTdunUsX74cgAMOOICBAwd2c4tyE7S0ERgHq3Q9Q6TNsrG1lHTg5b8+0J6M4JdY2vYKOakP4Cfd1d6GVgFLFgqAIiIF1tzczEUXXcQDDzyA73csDAiFQpxxxhnMmzdvjx0uNtEwxtEq4CAM4VBA1NFJIKmQh/EN4bibHkwAk1S3mvQcCoAiIgV23nnn8fLLL/P4448zbtw4ABYvXswll1zCt7/97U7nA+9JvP598VzNAezjsW/fjewVczQHMFHBipYBVL9THHMAdRKIZKMAKCJSYI8//jhPPvkkxx57bObexIkTueuuu/j3f//3bmxZbmw0ig25OQrOj0JVJE6fiJuA1upH8VIQ2uguAFpfJ4FIz6EAKCJSYP3799/uMG91dTV9+/bthhblh/F9jM3/EK31DMaHtnSE9oibgJn0Q1gPbKmb+gDWV6qSnkMBUESkwK655hrq6ur41a9+RW1tLQD19fVcccUVe/RZwAQBkP85dCYAz4e4H6El7Sagxf0INgR+qbuNoP10ATeCFslCAVBEpMDuvPNO3nnnHYYOHcrQoR1nz65atYpYLMb69ev5+c9/nvnusmXLuquZXWdtx+VCAKkgRDJw82srFYTAgA27WWUMYHFXe2uGHOcA5q0l0lMpAIqIFNikSZO6uwlupP2Orrp8M4ZQ0tIUL8FzNDmtJRklCEGqyt2vxXSqgL9ytQ2MZKEAKCJSYLNmzeruJrgRWFwMAeN5YMEPDMnAzV56ab+jBzAIuws+gUKV9CAKgCIi3ailpYUg6Byaqqqquqk1ubFpH+uiBxAfYzfvA+ikPoRDfnF1emkVsGShACgiUmArVqxg2rRpPP3008TjH+8NZ63FGJPZHHqP46fBxUkdXkcyC3kBEUcbQUe8YPPEOYoj/CgAShYKgCIiBfa1r30Nay333HMPNTU1GFMkXU++D8ZBQPMh3G7Z0FRBW8LNKuBEKkwQtbT1L5Kj4ESyUAAUESmwV199laVLl3LAAQd0d1PyKkgkCRwdIVG2LsVHb5fTEil3Uh8DQYVl46FuygME8cJ1q+kkEMlGAVBEpMCOOuooVq9eXXQBkCDH1LETXjog1G6cdDACWM8SRCEoczf8Hrhq/PZoCFiyUAAUESmwX/7yl1xwwQWsWbOGQw45hEik8+bDhx12WDe1LDcmEsIYN79WkpUR4rU+NupglTGANYSbQkQ3OtwIOr6Hzu2UoqQAKCJSYOvXr+fdd99l6tSpmXvGmD1/EUgoBCb/89yMMaTKPbz+cUpKUnmvD5BKhWB9OaUN7rq+/GQBu9XUAyhZKACKiBTYueeey+GHH87vfvc7p4tAfN9n9uzZ/PrXv6a+vp7BgwfzjW98g2uuuSbzTmsts2bN4q677qKxsZHx48dz5513MnLkyC6/zysrw/McLNIwhlSZobI8TmVJIv/1gdZkhPZ4BWXrfWfz39IpR72X26E5gJKNAqCISIGtXLmSP/zhD4wYMcLpe3784x9z5513ct9993HwwQfz0ksvMXXqVKqrq7n44osBuOmmm7jtttu47777GD58ONdeey0TJ07k9ddfp6SkpEvvC/bqQxCKufijEN/LcPjAD6iJbXJSf017H95oGkD1Sx84qQ+QDtyEV5HdoQAoIlJgJ5xwAq+++qrzAPi3v/2NU089lZNPPhmAYcOG8bvf/Y4XXngB6Oj9mzt3Ltdccw2nnnoqAPfffz81NTU89thjnHnmmV17oed1XHlmjSEIQZ9IO33DbXmvD9AcKcH4FtvSuvlEk/yzNumk7vZfpqPgZOcUAEVECuyUU07hsssu47XXXuPQQw/dZhHIF7/4xby851Of+hS/+MUveOutt9h///159dVXefbZZ7nllluAjg2p6+vrmTBhQuaZ6upqxo4dy+LFi7scAE1LOyaU/2FOA5igmqpwnH7hlrzXB9gYLiOIGEwkgrWOxj8dBcvt0hxAyUIBUESkwC644AIArrvuum0+y+cikKuuuorm5mYOPPBAQqEQvu/zwx/+kLPPPhuA+vp6AGpqajo9V1NTk/lsexKJBInEx8OZzc3NHW1vi2M8N/PcjA9lXpLKUDz7l3dDRSiBDQGhEK76vkxQuMU9mgMo2SgAiogU2NZn/7ryn//5n/zmN7/ht7/9LQcffDCvvPIKl156KYMHD2bKlCm7XffGG29kzpw5234Q8sBzcNqFMWxJZb7LoUlLx2kmrhTo311kVygAiogUqSuuuIKrrroqM5R76KGHsnLlSm688UamTJlCbW0tAA0NDQwaNCjzXENDA2PGjNlh3RkzZlBXV5f5ubm5mSFDhkA0Ap6bffRsCAJnfXMdtY0PNuVmmxkAG7irve3L0BCw7JQCoIhIN2htbeWvf/0rq1atIpnsvDhgywrdXLW1teFttSgjFApleiCHDx9ObW0tixYtygS+5uZmlixZwoUXXrjDurFYjFjMzWrf7bFeR/DzrUdA/heZbKkNdPQ2ulLIM59zPZRFAbDoKQCKiBTYyy+/zOc//3na2tpobW2lX79+bNiwgbKyMgYOHJi3AHjKKafwwx/+kKFDh3LwwQfz8ssvc8stt3DuuecCHfMNL730Uq6//npGjhyZ2QZm8ODBTJo0qesvtLbjyjPjW0waNqbLKAtV5r0+QGOqDBsCU+HorGHABGH40Fl5kS5RABQRKbDLLruMU045hfnz51NdXc3zzz9PJBLha1/7Gpdcckne3nP77bdz7bXX8p3vfId169YxePBgvv3tbzNz5szMd6688kpaW1s5//zzaWxs5Nhjj2XhwoVd3gMQcBYAATwfWtMxWsK70a5d0O5HsB7YmIONrDezvlYBS89hrLP17iIisj19+vRhyZIlHHDAAfTp04fFixdz0EEHsWTJEqZMmcKbb77Z3U3skubmZqqrqzlx4LcIuzgJBFh3yieIfbmBviXtTuo3J0r48K+D2OtVd/P00qk4i5+cRVNTE1VVVU7eseXfYr+rbyC0OyF+Mz8e570fft9pW6V7qQdQRKTAIpFIZm7ewIEDWbVqFQcddBDV1dWsXr26m1u3+4KmZgLjZhFI2Xqf1e8PYG2Jm1W61jeEqyzrR0ec9X75CR+edFNbpKsUAEVECuzwww/nxRdfZOTIkXzmM59h5syZbNiwgV/96lcccsgh3d283RfkuvJgB7yOFboEHUHNiaBjqxnrYBebLWzhtgHUPoCSlQKgiEiB3XDDDWza1HGm7Q9/+EO+/vWvc+GFF7L//vvzy1/+sptbt/tMSRRj3AwB+yUGStOEY25SVOAbvHSYSLOT8gB4OgpYehAFQBGRAjv44IMzx40NHDiQ+fPn8+ijjzJq1Kid7r/X05mQhzEOtmkxHkHY4EUCItF0/usD6VQI40MoYZ31fpmkutWk51AAFBEpsFNPPZXJkydzwQUX0NjYyDHHHEMkEmHDhg3ccsstO92Dr0fzQm5OAgG8tCVoiRBPu9kH0PqGqAfpMnd79fnhwu4DqFXAsjMKgCIiBbZs2TJuvfVWAB566CFqamp4+eWXefjhh5k5c6YC4DZ1DaGEJdwUIoi7CYDGdsz/Szlc8Oq7OcZ4uzQHULJRABQRKbC2tjYqKzs2NP7Tn/7E5MmT8TyPY445hpUrV3Zz63om64ENWaznKJlY09Hr5fK43kKHKoU42QkFQBGRAhsxYgSPPfYYX/rSl3jyySe57LLLAFi3bt2eveeaDTqufAs8/KjBr/IxDreBMc1Rok1OygPgaxGI9CAKgCIiBTZz5kzOOussLrvsMk488UTGjRsHdPQGHn744d3cuh7IBtiQwZT4REvcbNScTocwgSEcd9dtVtBFIJoDKFkoAIqIFNiXv/xljj32WNauXcvo0aMz90888US+9KUvdWPLcuSnIXAzRy8dMwzov8ndSSDJGI1+GaUfuhsDTqdcji93pjmAko0CoIhIN6itraW2trbTvaOPPrqbWpMfNpnCGjcrXdOlcMSAD9inZKOT+h8kqnk2XUPZ2oSz84zT6QKuAhHJQgFQRETywoTDGOPg14rXcUpHYA0pR0d1pIPQ5kUgDru+CtmrpiFgyUIBUERE8sL0rcZ4MSe1bciwtr2KlHUzxLwhXoHnZo/pbtFdQ8Dz5s3j5ptvpr6+ntGjR3P77bfvUs/2c889x2c+8xkOOeQQXnnlld17uXSJAqCIiOSFjUSwoYiz+gk/TFvazVFzCT+MKdwUvaL0+9//nrq6OubPn8/YsWOZO3cuEydOZPny5QwcOHCHzzU2NvL1r3+dE088kYaGhgK2uHdTABQRkbwwbe0Yz0GKMh179FVGEvSPtea/Ph1DwOvcjC53j24YAr7llls477zzmDp1KgDz58/niSee4J577uGqq67a4XMXXHABZ511FqFQiMcee2w3GyxdpQAoIiJ5YVtascbBNi2ewQSWvrE2+kfcBMBkECZQAOz8PNDc3NzpdiwWIxbbdpg/mUyydOlSZsyYkbnneR4TJkxg8eLFO3zNggULeO+99/j1r3/N9ddfn0ODpasUAEVEJD9CITBuUpQ1Bg9LxHOzEXTYBBgLXtrdOLDn73nbwAwZMqTT/VmzZjF79uxtvr9hwwZ836empqbT/ZqaGt58883tvuPtt9/mqquu4n//938JhxVHCk1/4yIikhcmGsV4buboBREoDaWIGTcrNSKej/HBa0s6qQ/g+W42sXZp9erVnU6n2V7v3+7wfZ+zzjqLOXPmsP/+++elpnSNAqCIiOSHMR1XvnkeuNlesDMLBA576VzW3lqehoCrqqp26XjCAQMGEAqFtlnE0dDQsM1+lwCbNm3ipZde4uWXX2batGkABEGAtZZwOMyf/vQnTjjhhBz+AJKNAqCIiPR4oYTlvZb+tPpuehjXxyuwIUgNqHBSHyCdLuCv3AIvAolGoxxxxBEsWrSISZMmAR2BbtGiRZmA96+qqqp47bXXOt372c9+xp///Gceeughhg8fvrstl12kACgiIj2el4SGlgra0262mWlNRrEhSPRzt41NOuVm/mJPUVdXx5QpUzjyyCM5+uijmTt3Lq2trZlVwTNmzGDNmjXcf//9eJ7HIYcc0un5gQMHUlJSss19cUMBUEREejwbgvJoiuqom+PUrDW0Wgi3OxymdbjAZGvdsRH0GWecwfr165k5cyb19fWMGTOGhQsXZhaGrF27llWrVu1+oySvFABFRKTH80sMI6vXM6ikyUn9NfE+fJgeTKzBzTYzACE/4az2NrrpKLhp06Ztd8gX4N57793ps7Nnz97uCmNxQwFQRETywzMdCzYcsB6UhxNUh9uc1G8MlWECMPEUWDcH4Rrf3Qpjka5SABQRkfxwtQoYCMLQP9JKv5CbHrqmyOYA2NrupD6ACQrXA9hdZwHLnkMBUERE8sNhALQhqAzF6RNy0wNYGYpDALa9HQI36cfaAvYAdtMQsOw5FABFRCQ/ggBwcxaw8aHJL+VD3802LU3pUvDAlJU5qQ9ggjBsdFZepEsUAEVEJC9s2sd6bk7qCMdhRVt/4oGbbVrWtPfBj4Jf08dJfQDfj8M/nZXvTD2AkoUCoIiI5IUxBuNoCBgLcT9Cazo/R5FtLRl0nGFsw24WsQBY3NXemiG3w1MKcfCKdC8FQBERyQvbtwobchPQgujmAOjoJJCWVIxQoojOAlYPoGShACgiInkRlEcJHARAazpWASfSYdrDboaAE34YL7V5GxhHTCEDoEgWCoAiIpIXJuljQvmfA2gA44MxFs9R15RnLDYENuruKDjrF/dJILJnUQAUEZG88Fra8Tw3ISeU7ItnLJ6jZBIyAX4Uggo3Q8wAQQGPgtMQsGSjACgiIvnhahsYyAQSz7ip7xkLBqyrRSy4rS3SVQqAIiIixUi9eLITCoAiIiJFRnMAJRsFQBER6fGCMPSJtrNXtMVJ/WQQxgQQakuCdXQUnF/Ao+BEslAAFBGR/LDWWXgKIjCkbCNDYx86qe8Zyxs+eB9tclIfwAsSzmpvQ4tAJAsFQBER2WME1s1pGoHdvEDDc7lQo3CLQDQELNkoAIqI7KGeeeYZbr75ZpYuXcratWt59NFHmTRpUuZzay2zZs3irrvuorGxkfHjx3PnnXcycuTIzHfi8TiXX345DzzwAIlEgokTJ/Kzn/2MmpqarjfID8C62gam47zeTFDLs4ZEFUEYgr6VTuoDBH4UVjkrL9IlCoAiInuo1tZWRo8ezbnnnsvkyZO3+fymm27itttu47777mP48OFce+21TJw4kddff52SkhIALrvsMp544gkefPBBqqurmTZtGpMnT+a5557reoMcDgGbdMdxbY2hMif1W1IxbAj8MncbQftp31ntbWgIWLJQABQR2UOddNJJnHTSSdv9zFrL3Llzueaaazj11FMBuP/++6mpqeGxxx7jzDPPpKmpibvvvpvf/va3nHDCCQAsWLCAgw46iOeff55jjjmmS+2xbW1Yk/+TQAD6vpNk+V8+wesxd8kkGGB598ul7urHDSxxVr4TDQFLNgqAIiJFaMWKFdTX1zNhwoTMverqasaOHcvixYs588wzWbp0KalUqtN3DjzwQIYOHcrixYt3GAATiQSJxMcLGpqbmwHwmzZhjJsetNizrzP81QqMo82Ubf8+vHNNCY+Om+/suLmWTQHHzHBSelvqAZQsFABFRIpQfX09wDZz+WpqajKf1dfXE41G6dOnzw6/sz033ngjc+bM2fYDm2vq2DHr+5h02t1pGkEAxlLpuRumDRwdkyeyOxQARUSkS2bMmEFdXV3m5+bmZoYMGeL0naG9BpAcPhAbdhMAU+Vh0ok09zce6aQ+QLwlBTzprH4n6gGULBQARUSKUG1tLQANDQ0MGjQoc7+hoYExY8ZkvpNMJmlsbOzUC9jQ0JB5fntisRixWMxJu3fElsZI9IsQOAqA6RKDTXu81TrQSX2AVFvhNoLWHEDJRgFQRKQIDR8+nNraWhYtWpQJfM3NzSxZsoQLL7wQgCOOOIJIJMKiRYs47bTTAFi+fDmrVq1i3Lhx3dX07TLtCWKNKYKQm30AQ+UhTMjyibINTuoDJIKUs9oiXaUAKCKyh2ppaeGdd97J/LxixQpeeeUV+vXrx9ChQ7n00ku5/vrrGTlyZGYbmMGDB2f2Cqyuruab3/wmdXV19OvXj6qqKqZPn864ceO6vALYNdveTmR9K9ZzEwC9PiV4EcPoMncb9bX52gZGeg4FQBGRPdRLL73E8ccfn/l5y7y8KVOmcO+993LllVfS2trK+eefT2NjI8ceeywLFy7M7AEIcOutt+J5HqeddlqnjaB7nHCYoCyKdXRSh18SIvAt9alqPEfjn+2+my1ytsdYi8lhT8ZcnpU9g7FW/8oiIrL7mpubqa6u5jgzibCjbWBCB46g8bD+BI66LfyYYcMxaQ7e/59uXgCkWpP8z+d/TlNTE1VVVU7eseXfYsw5PyQULcn+wA74yTiv/Opqp22V7qUeQBER6fFsNEyq3BA4OqgjiBgIDBvayt28APDbCvgrV0PAkoUCoIiI5IerfQCNwWtsoWplmbtVwOUhGo/w+bfad53UB0i0pFjmrHpnWgUs2SgAiohIz2YtwUeNlLwDONoI2u9bSTgW4St9X3BSH6A1HDDPWXWRrlEAFBER2by4OLAenimCEzs0BCxZKACKiEiPZ8JhbCzqrAcwiIax1tAYlOHhJgC2FnAbGA0BSzYKgCIi0vOFPIiEsSE3AdCGPayF1sDdCSdtgfYBlJ5DAVBERHo2Y2BgfzYe1tfZIhA/BkFbmrv++W9O6gOkWxPAq87qi3SFAqCIiOSHMc6GaFP9y2ka4eHH3HRNWQ9M3GP5O4Od1AcI2uPOam9NQ8CSjQKgiIj0eCaweCmwjgImHqQNmKi7BSDGL+DiEg0BSxYKgCIi0uN58RSxjRY/6mgRSATiNZaqPm1O6gP40YSz2iJdpQAoIiI9nvEtJo2zc3o7hq8hGna3UMN3WHt7NIwrO6MAKCIiewYPrOdoFfDmsoHD0OSy9jas3XwySw7PS1FTABQRkfxweBScNQbrkdmwOe+2bAQduHqB29oiXaUAKCIiPZu1eC3tlDeUuzsLuMTQfHDAQQManA0zp1qT/MNJ5W1pFbBkowAoIiI9nl1TT0VzC8bRKmDbvw8fnVzC7H0ed1IfoGVTwEPOqm9Fq4AlCwVAERHp8WwyCZtanG0D45WWYLwYNSF3w7SlIWelRbpMAVBERHo8r7ISBvQFz01AS/ctw0+HWBzv4+4s4LgPrHVSe2sm6LhyeV6KmwKgiIj0eKYkRrpvOTbsJgCmKiMEfsCbiUFO6gPEk2ngLWf1O9EQsGShACgiIj1fOExQGiZwNEQbRD0ILBvT5U7qAyTSKWe1t6ZFIJKNAqCIiPR4NhYhWRkhiLhbBWz9gH+293VSHyDZnnRWW6SrFABFRKTHM4HFWOuwZ+rjYOlqGxhnp5hsjzaCliwUAEVEpOdraye2Po51NAQcqopgIgFjKlc7qQ8QJ+2s9tY0BCzZKACKiEiPZxNJQk3t4GqbFs/ghQz7RtcTcrQEti1Z2LOARXZGAVBERHq+cBhbEnG2CjiIetjA0uiXOakP0O4XrgdQq4AlGwVAERHp8Uw0Qro86mwIOF0awgY+DelqJ/UB4mkNAUvPoQAoIiI9XxBg0u52JzYBYKDEOAxpLmuLdJECoIiI9HhB8ybCH4SczQEMtVUSCkf5VNnbhByNf7b4BTxeQ6uAJQsFQBER6fFsMkXQ1IxxdBawiYTxQmH2DacI4eYdm8KFC4AaApZsFABFRGSPYIwBz004Y3OwDIDAUQ9gSisrpAdRABQRkZ7PMxBx+CvL87AW4tbiaKMZkoUcVtUqYMlCAVBERHo8LxbDVJSD5yae+RUxbODxQbrUSX2AVoeLWLamIWDJRgFQRETyw5jMUGre1Qxg06gBBGFHZwGXGtJtaW5bO8FJfYBUaxK4z1n9TgLbceXyvBQ1BUAREckP43VcDtiyGO39QgQRJ+UJogbSHu819XfzAsBvTTirLdJVCoAiIpIftmMJhQteUyuVq8ucnQSSKvdo/GTA+Jr3nNQHSLSkWOas+lY0B1CyUAAUEZH8sLmmjh0LPtxIadp3tg9g0LeScEmUs/o976Q+QEsk4E5n1Tsz5DgHMG8tkZ5KAVBERHo+34d0GnxH0SQdYIylxPh4rkKsKeBG0CJZuFrtLiIikj9BgPUDbODmMkFHOCsxPlETOLsKZstJILlcu2HevHkMGzaMkpISxo4dywsvvLDD7z7yyCN89rOfZa+99qKqqopx48bx5JNP7u6fWLpIAVBERHo+z8OEPIzn5rKbt5dJWs/pVShbtoHJ5eqq3//+99TV1TFr1iyWLVvG6NGjmThxIuvWrdvu95955hk++9nP8sc//pGlS5dy/PHHc8opp/Dyyy/n+KeXXWGs1YF/IiJ7omeeeYabb76ZpUuXsnbtWh599FEmTZoEQCqV4pprruGPf/wj7733HtXV1UyYMIEf/ehHDB48OFMjHo9z+eWX88ADD5BIJJg4cSI/+9nPqKmp2eV2NDc3U11dzXFmEmHjZpmuGTOKdWOrCCJuhoCDCGwamaZq0CYn9QH8tgRvfPUmmpqaqKqqcvKOLf8Wx54wm3C4ZLfrpNNxnv3z7C61dezYsRx11FHccccdAARBwJAhQ5g+fTpXXXXVLtU4+OCDOeOMM5g5c+Zut112jeYAiojsoVpbWxk9ejTnnnsukydP7vRZW1sby5Yt49prr2X06NFs3LiRSy65hC9+8Yu89NJLme9ddtllPPHEEzz44INUV1czbdo0Jk+ezHPPPdf1BjncBmbTyEriEzZRXpJ0Uj+RDhF5vQ+hV/s4qQ9AMu6u9tYKvAo4mUyydOlSZsyYkbnneR4TJkxg8eLFu1QjCAI2bdpEv379uvZy2S0KgCIie6iTTjqJk046abufVVdX89RTT3W6d8cdd3D00UezatUqhg4dSlNTE3fffTe//e1vOeGEEwBYsGABBx10EM8//zzHHHNM1xrkahsY4xHZ5BNfW057zNFJHYEhFLW07uNu/WtQwPxnrMXkMMC35dnm5uZO92OxGLFYbJvvb9iwAd/3t+k5rqmp4c0339yld/7Hf/wHLS0tnH766bvZaukKBUARkV6iqakJYwx9+vQBYOnSpaRSKSZM+Pj0iwMPPJChQ4eyePHi3QiAjraBsT7lr6xm5MaBWEfbwKQqI6w8K8l3Pvk0nqPFGvGWNFf/wElpZ4YMGdLp51mzZjF79uy8v+e3v/0tc+bM4b/+678YOHBg3uvLthQARUR6gXg8zve+9z2++tWvZuZ01dfXE41GM4Fwi5qaGurr63dYK5FIkEh8fKrF1r1ELgQbGwmlUs6GmMMD+hCOlvKlyr87qQ+wyQZc7az6VnLtjN387OrVqzvNAdxe7x/AgAEDCIVCNDQ0dLrf0NBAbW3tTl/1wAMP8K1vfYsHH3yw03+MiFsKgCIiRS6VSnH66adjreXOO3PfivjGG29kzpw5eWjZrjOlpdC/r7ONoNN9Sgl8j9dTA5zUB2hL+cD2V8TmW76GgKuqqnZpEUg0GuWII45g0aJFmYVIQRCwaNEipk2btsPnfve733HuuefywAMPcPLJJ+92e6XrFABFRIrYlvC3cuVK/vznP3f6ZV5bW0symaSxsbFTL2C2XpsZM2ZQV1eX+bm5uXmbocJ8MyUxUv3KsSE3c/RSlRGCtM/r8b0JOdoIOp5IA284qb2NbjgKrq6ujilTpnDkkUdy9NFHM3fuXFpbW5k6dSrQ8b+bNWvWcP/99wMdw75Tpkzhpz/9KWPHjs30OpeWllJdXZ1D42VXKACKiBSpLeHv7bff5i9/+Qv9+/fv9PkRRxxBJBJh0aJFnHbaaQAsX76cVatWMW7cuB3W3dFCAKc8b/P5Zo4WafxLWd/RQWiu6vYUZ5xxBuvXr2fmzJnU19czZswYFi5cmFkYsnbtWlatWpX5/i9+8QvS6TQXXXQRF110Ueb+lClTuPfeewvd/F5HAVBEZA/V0tLCO++8k/l5xYoVvPLKK/Tr149Bgwbx5S9/mWXLlvH444/j+36mh6Vfv35Eo1Gqq6v55je/SV1dHf369aOqqorp06czbty4ri8AkZ4lh9M8Ms/vhmnTpu1wyHfrUPf000/v1jskPxQARUT2UC+99BLHH3985uctw7JTpkxh9uzZ/OEPfwBgzJgxnZ77y1/+wnHHHQfArbfeiud5nHbaaZ02gu6JrGecDQFv6ZxLBe5+LaaCwp27sLunefzr81LcFABFRPZQxx13HDs7zGlXDnoqKSlh3rx5zJs3L59Nyy9jsBVltNfEnJ0Eko4ZbBKWNbmby5hqdbOJtcjuUAAUEZH8MMbZHD1bGiXe18OPujsKDt+wotHdKRR+WyL7l/Klm4aAZc+hACgiIj2eaU8SawoIwo56AEsMhCxDqpqc1AdIhZK85qx6ZybouHJ5XoqbAqCIiOSHq5NAAD5qourtqLM5gOmqGB+dYJlU8zKei+PsgPaWNAudVBbpOgVAERHp+WyASfkQuAmAJhWAMVR67g7sNcZ3VnsbGgKWLBQARUQkP7wQmJCb2n2qaBtW5W4RSIlHEE/z+EejndQHSLYkgVed1e+kGzaClj2LAqCIiOSF8QzG1SKQ8hLa9grjapcWP2og7fHGRzVuXgD4rQVcBCKShQKgiIjkhQ0s1tEGcgawBqybo4Bhc93AGrwi2AQvX2cBS/FSABQRkfywAThaQIExWM9dANxS11qDbx0dBecsvW6H5gBKFgqAIiKyZzBQ5Mfp5o8ltyyu/Ff0FABFRKRnMx09Z7nubbdTmwOPcTj867K2SFcpAIqISH4YLxPW9jTFls00B1CyUQAUEZH8cDgH0LTGKf2ogsDVRtClBsIBI/pscFIfIBVJ8oqz6lux5DgHMG8tkR5KAVBERPLD5UkgjZsofy+KDbnZZzBdHWN9ieXkAX93Uh+gvSTNI86qi3SNAqCIiPRsxmDCIfySCDbsZojZj3lYP2B9utJJfYB4Ou2s9ja0CliyUAAUEZG8MLEYxkSc1E7tV0v9MWX4USflO7aBafK5bekJbl4ABO1x4Gln9Tu/jNxWTLtabCM9hgKgiIjkhQl5GEdHwSX7RGjdJyAocTTHMDCEWjxCjTEn9QH8uHrVpOdQABQRkbywKR9r3AxzRppSlK2N4EfdDAFbDxIDfNID3Q3TBu1JZ7W3plXAko0CoIiI5IVNp3B0iAaRdZvo804MP+LolI6YYd2QgCNGrHRSHyDVmuSfzqpvRXMAJQsFQBER6fFM2icUDzC+o4RpPPAsfaPtbuoDyWThegBFslEAFBGR/HC5EXQyRbQxiQ25qe9VhjEhy/BSd/sAxv2Us9rbUA+gZKEAKCIiPZrxDPg+XiINnpsAGEQ9MJbqcJuT+gDRsLaBkZ5DAVBERPLD0Ukg1gebSuG1JZ0FwFA0hAkZasNNTuoDtIV8Z7W3oW1gJAsFQBERyQ+HJ4HYRBKvpR1cDQFHw3hehCGRD53UB2iNKFVJz6EAKCIi+WFMx+WAV1VJakh/rOemfqoygp/y+UvLKCf1AeKtKWC1s/r/StvASDYKgCIikhdeLIpn3BzV0Xbo3vzzhDB+zF0w8daF+eUTE5zVD+Jx4H+c1e9EcwAlCwVAERHJD8/RKmBjSFSHMEPaqCx1s5VKMhUmWF5BhcMOOl+7wEgPogAoIiL54XAIOIhAeVmC6tK4k/qtySib/EoiLe7m6XnJAvaqBRZMDu8L1ANY7BQARUSkx/Mjhj5l7fQvaXVSPxIqpcWHaKu7AJhOFXARiIaAJQsFQBERyQ/fB+Nmq5OSxoD3V+3F6pJ+TuoHviFcatk4wt2vRT+hX7nSc+h/jSIikhdBIkmQy7DjTlS9+E9GrtsLG3a0CrgixKqvJPn6yc85qQ8Qb0lx423Oym8lxx5AR9v5SM+hACgiIvnhcB9Af/0Gwu3tzuYYRvr3JVxSxtf7vOSkPsCmUMCNzqpvRUPAkoUCoIiI9HyB7RhidlY/wBgocRQwAVIOa4t0lQKgiIj0fDbAptydBez5HQs0Ijmdn7ZzLmtvI8ixN1argIueAqCIiPR4XkU5pl9frKOj4NJ9y/F9j2XJSif1AVqTBTwL2Aabz2bO4XkpagqAIiKSH14ITMhN7UEDaTykH4GjRSDpEoPfkuan//ysk/oAqdYk8I6z+p1oDqBkoQAoIiI9no2GSVZ4BBE39YOIgcCwrrXCzQsAvzXhrLZIVykAioiIbO5YDKy7eXqB5gBKD6IAKCIiPZ8xHSFNC2l3jYaAJQsFQBGRPdQzzzzDzTffzNKlS1m7di2PPvookyZN2u53L7jgAn7+859z6623cumll2bux+NxLr/8ch544AESiQQTJ07kZz/7GTU1NV1vkA0AN4sHTHuSWFPgcA4gELLsU9nopD5AykvyirPqIl2jACgisodqbW1l9OjRnHvuuUyePHmH33v00Ud5/vnnGTx48DafXXbZZTzxxBM8+OCDVFdXM23aNCZPnsxzz+3GiRgON4LmoyYq341iQ44CYFWMD0ssXxz4qpP6AO0taf7orPpWLDn2AOatJdJDKQCKiOyhTjrpJE466aSdfmfNmjVMnz6dJ598kpNPPrnTZ01NTdx999389re/5YQTTgBgwYIFHHTQQTz//PMcc8wxztreZek0pi2BcbSZshcNYzyP2nCTk/oAbaFCbgOjIWDZOQVAEZEiFQQB55xzDldccQUHH3zwNp8vXbqUVCrFhAkTMvcOPPBAhg4dyuLFi3tUALSJBKZpE8bRRtChSBjPi7FveKOT+gAtYe2tJz2HAqCISJH68Y9/TDgc5uKLL97u5/X19USjUfr06dPpfk1NDfX19Tusm0gkSCQ+3tKkubk5L+3dGZtMQksr1tVJIKUlGC9KraNtDAE2Oay9jSDH+ZiBwmqxUwAUESlCS5cu5ac//SnLli3L+7DpjTfeyJw5c/JaMyvjYUIh8NwMAW85YSSFxU3EBL+QE+s0BCxZuPrfuYiIdKP//d//Zd26dQwdOpRwOEw4HGblypVcfvnlDBs2DIDa2lqSySSNjY2dnm1oaKC2tnaHtWfMmEFTU1PmWr16tcM/yWaegUgYQiE3l+dhLcStdXqJ9BTqARQRKULnnHNOp7l9ABMnTuScc85h6tSpABxxxBFEIhEWLVrEaaedBsDy5ctZtWoV48aN22HtWCxGLBZz1/jtMKEQJhLp2A/QgSASBmvYFITwHPXUtRRyVFU9gJKFAqCIyB6qpaWFd975+GzZFStW8Morr9CvXz+GDh1K//79O30/EolQW1vLAQccAEB1dTXf/OY3qauro1+/flRVVTF9+nTGjRvXoxaAAHh9+5AaNhDraB/AVEWYdNLn8U2HOakPEG9JATueW5lXOglEslAAFBHZQ7300kscf/zxmZ/r6uoAmDJlCvfee+8u1bj11lvxPI/TTjut00bQPY0tKyE+IOpwI2iDTVte27Q3nnHTVZdqTTqpuz3WBli7+3+OXJ6VPYMCoIjIHuq4447DdmGo7v3339/mXklJCfPmzWPevHl5bFn+mbY4JesTmcUa+ZaqDGPCAYdWrnEWAOMm7aSuyO5QABQRkR4v2NhIxPedzQEM9+9DOBrji5XuTgJpsQGznVXfirW5DeNqDmDRUwAUEZEez/o+NpF0tg2MSabARKn0HA59uqy9tVyP5VMALHoKgCIi0vP5fsdm0I54qTTGQKXnbrdm6yi8iuwOBUAREenxbGA7zgN2NARMEGCMJYK7ABihgAEwCCCXuYxaBFL0FABFRKTHM57BhMPg6Cg4QiGsNSSsu4UayUKGKg0BSxYKgCIi0vOFQpiSmLNFIDYSxlrYZANnR2S1qldNehAFQBER6fFMOIwpLQVH28AEpVFs4LHejzqpD9DiFy4A2iDA5jAErH0Ai58CoIiI9Hhev74kRgwkCDnaCLoihJ/0ebjxSDzjZvgz0ZIC/umk9jY0BCxZKACKiEiPZ0uiJPpEsI7WaKRKPWw64P22/tm/vLvvaCvcSSAi2SgAiohIj2dSaSKtvrOj4AAIWQaWbHJWPplOOau9jcBCLj2Z6gEsegqAIiLS86XShDelsI6GgLERjGfZO7bRTX0gnirgUXDWArlsA6MAWOwUAEVEpMez6TRePA1hR4tAYiGMZ+kXanVSH6A9VLgAaAOLzaEHsCtnTMueSQFQRER6PNvSSmidu30ATbISLxTjiJKVTuoDtKS0slZ6DgVAERHp+Xwfm0g4K2+SpRgvQrXnbp6eV9CzgANyGwJWWC12CoAiIpIfxjjbqNkb0J/ksL2wjoaA0+Uh0vGA3zQd6aQ+QLwlBTzprP6/0hCwZKMAKCIi+WG8jsuBoH8VTSNKCSJOyuNHDTae5ok1B7t5AeC3JihUABTJRgFQRERysqW3KG0dDp8GSdLpOIGjRcCBMQTtaZIt7v4MfltH7UL0rqVtIqdh3DQF3LJGuoUCoIiI5GTTpo698561/y+nwyd26u+bL8cKcU7Hpk2bqK6udlI7Go1SW1vLs/V/zLlWbW0t0ai7o/GkexmrgX4REclBEAR88MEHVFZWYhzNASwG1lo2bdrE4MGD8RytZgaIx+Mkk7mfOhKNRikpKclDi6QnUgAUERER6WXc/SeIiIiIiPRICoAiIiIivYwCoIiIiEgvowAoItJLDRs2jLlz5+ZU495776VPnz47/c7s2bMZM2ZM5udvfOMbTJo0KfPzcccdx6WXXppTO3bXc889x6GHHkokEunUJteMMTz22GMFe5/I1hQARUTEqe9+97ssWrRoh58/8sgj/OAHP8j8nI9guqvq6uoYM2YMK1as4N57793ud2bPns2BBx5IeXk5ffv2ZcKECSxZsqQg7RNxRQFQRKTI5GMLkHyqqKigf//+O/y8X79+VFZWFrBFH3v33Xc54YQT2GeffXbYk7n//vtzxx138Nprr/Hss88ybNgwPve5z7F+/frCNlYkjxQARUR6sOOOO45p06Yxbdo0qqurGTBgANdee22n0ySGDRvGD37wA77+9a9TVVXF+eefD8DDDz/MwQcfTCwWY9iwYfzkJz/Zpv6mTZv46le/Snl5OXvvvTfz5s3r9Pktt9zCoYceSnl5OUOGDOE73/kOLS0t29R57LHHGDlyJCUlJUycOJHVq1dnPtt6CHh7f8YtQ8DHHXccK1eu5LLLLsMYgzGG1tZWqqqqeOihh7Z5Z3l5eWYj6q0lEgkuvvhiBg4cSElJCcceeywvvvgiAO+//z7GGD788EPOPfdcjDE77AE866yzmDBhAvvttx8HH3wwt9xyC83Nzfz97zvfmfqee+7J/P0PGjSIadOm7fC73/ve99h///0pKytjv/3249prryWV+vg0jldffZXjjz+eyspKqqqqOOKII3jppZcAWLlyJaeccgp9+/alvLycgw8+mD/+8eONoP/v//6Pk046iYqKCmpqajjnnHPYsGFD5vOHHnqIQw89lNLSUvr378+ECRNobW3d6Z9N9nwKgCIiPdx9991HOBzmhRde4Kc//Sm33HILv/zlLzt95z/+4z8YPXo0L7/8Mtdeey1Lly7l9NNP58wzz+S1115j9uzZXHvttduEnJtvvjnz3FVXXcUll1zCU089lfnc8zxuu+02/vGPf3Dffffx5z//mSuvvLJTjba2Nn74wx9y//3389xzz9HY2MiZZ565W3/WRx55hH322YfrrruOtWvXsnbtWsrLyznzzDNZsGBBp+8uWLCAL3/5yzvsPbzyyit5+OGHue+++1i2bBkjRoxg4sSJfPTRRwwZMoS1a9dSVVXF3LlzWbt2LWeccUbW9iWTSX7xi19QXV3N6NGjd/i9O++8k4suuojzzz+f1157jT/84Q+MGDFih9+vrKzk3nvv5fXXX+enP/0pd911F7feemvm87PPPpt99tmHF198kaVLl3LVVVcRiXQcjHzRRReRSCR45plneO211/jxj39MRUUFAI2NjZxwwgkcfvjhvPTSSyxcuJCGhgZOP/10ANauXctXv/pVzj33XN544w2efvppJk+eXJDj6qSbWRER6bE+85nP2IMOOsgGQZC5973vfc8edNBBmZ/33XdfO2nSpE7PnXXWWfazn/1sp3tXXHGFHTVqVKfn/v3f/73Td8444wx70kkn7bA9Dz74oO3fv3/m5wULFljAPv/885l7b7zxhgXskiVLrLXWzpo1y44ePTrz+ZQpU+ypp57a6c94ySWXdGrXrbfe2um9S5YssaFQyH7wwQfWWmsbGhpsOBy2Tz/99Hbb2dLSYiORiP3Nb36TuZdMJu3gwYPtTTfdlLlXXV1tFyxYsMM/7xb/7//9P1teXm6NMXbw4MH2hRde2On3Bw8ebK+++uodfg7YRx99dIef33zzzfaII47I/FxZWWnvvffe7X730EMPtbNnz97uZz/4wQ/s5z73uU73Vq9ebQG7fPlyu3TpUgvY999/fyd/GilG6gEUEenhjjnmmE5HrI0bN463334b3/cz94488shOz7zxxhuMHz++073x48dv89y4ceM6fWfcuHG88cYbmZ//53/+hxNPPJG9996byspKzjnnHD788EPa2toy3wmHwxx11FGZnw888ED69OnTqU6ujj76aA4++GDuu+8+AH7961+z77778ulPf3q733/33XdJpVKd/g4ikQhHH330brXr+OOP55VXXuFvf/sb//7v/87pp5/OunXrtvvddevW8cEHH3DiiSfucv3f//73jB8/ntraWioqKrjmmmtYtWpV5vO6ujq+9a1vMWHCBH70ox/x7rvvZj67+OKLuf766xk/fjyzZs3qNDT96quv8pe//IWKiorMdeCBBwIdf0ejR4/mxBNP5NBDD+UrX/kKd911Fxs3buzqX4/sgRQARUSKQHl5ed5rvv/++3zhC1/gsMMO4+GHH2bp0qWZOYLdsdDkW9/6VmYIe8GCBUydOrVgZw+Xl5czYsQIjjnmGO6++27C4TB33333dr9bWlrapdqLFy/m7LPP5vOf/zyPP/44L7/8MldffXWnv+PZs2fzj3/8g5NPPpk///nPjBo1ikcffRTo+Ht57733OOecc3jttdc48sgjuf322wFoaWnhlFNO4ZVXXul0vf3223z6058mFArx1FNP8d///d+MGjWK22+/nQMOOIAVK1bs5t+U7CkUAEVEerittxx5/vnnGTlyJKFQaIfPHHTQQTz33HOd7j333HPsv//+nZ57/vnnt6l90EEHAbB06VKCIOAnP/kJxxxzDPvvvz8ffPDBNu9Kp9OZBQkAy5cvp7GxMVOnq6LRaKdeyi2+9rWvsXLlSm677TZef/11pkyZssMan/jEJ4hGo53+DlKpFC+++CKjRo3arXb9qyAISCQS2/2ssrKSYcOG7XTrm3/1t7/9jX333Zerr76aI488kpEjR7Jy5cptvrf//vtz2WWX8ac//YnJkyd3mhM5ZMgQLrjgAh555BEuv/xy7rrrLgA++clP8o9//INhw4YxYsSITteW/2gwxjB+/HjmzJnDyy+/TDQazYRLKV4KgCIiPdyqVauoq6tj+fLl/O53v+P222/nkksu2ekzl19+OYsWLeIHP/gBb731Fvfddx933HEH3/3udzt977nnnuOmm27irbfeYt68eTz44IOZ2iNGjCCVSnH77bfz3nvv8atf/Yr58+dv865IJML06dNZsmQJS5cu5Rvf+AbHHHMMRx999G79eYcNG8YzzzzDmjVrOq1W7du3L5MnT+aKK67gc5/7HPvss88Oa5SXl3PhhRdyxRVXsHDhQl5//XXOO+882tra+OY3v7nLbWltbeX73/8+zz//PCtXrmTp0qWce+65rFmzhq985Ss7fG727Nn85Cc/4bbbbuPtt99m2bJlmV65rY0cOZJVq1bxwAMP8O6773Lbbbd1CmDt7e1MmzaNp59+mpUrV/Lcc8/x4osvZgL2pZdeypNPPsmKFStYtmwZf/nLXzKfXXTRRXz00Ud89atf5cUXX+Tdd9/lySefZOrUqfi+z5IlS7jhhht46aWXWLVqFY888gjr16/f7fAue5DunoQoIiI79pnPfMZ+5zvfsRdccIGtqqqyffv2td///vc7LQrZ3qIJa6196KGH7KhRo2wkErFDhw61N998c6fP9913Xztnzhz7la98xZaVldna2lr705/+tNN3brnlFjto0CBbWlpqJ06caO+//34L2I0bN1prOxaBVFdX24cfftjut99+NhaL2QkTJtiVK1dmanR1EcjixYvtYYcdZmOxmN3619SiRYssYP/zP/8z699de3u7nT59uh0wYICNxWJ2/Pjx2yzeyLYIpL293X7pS1+ygwcPttFo1A4aNMh+8YtfzLoIxFpr58+fbw844AAbiUTsoEGD7PTp0zOfsdUikCuuuML279/fVlRU2DPOOMPeeuuttrq62lprbSKRsGeeeaYdMmSIjUajdvDgwXbatGm2vb3dWmvttGnT7Cc+8Qkbi8XsXnvtZc855xy7YcOGTO233nrLfulLX7J9+vSxpaWl9sADD7SXXnqpDYLAvv7663bixIl2r732srFYzO6///729ttvz/pnkz2fsVZrvUVEeqrjjjuOMWPGFOxkjJ7uV7/6FZdddhkffPAB0Wi0u5sjsscKd3cDREREsmlra2Pt2rX86Ec/4tvf/rbCn0iONAdQRER6vJtuuokDDzyQ2tpaZsyY0d3NEdnjaQhYREREpJdRD6CIiIhIL6MAKCIiItLLKACKiIiI9DIKgCIiIiK9jAKgiIiISC+jACgiIiLSyygAioiIiPQyCoAiIiIivYwCoIiIiEgvowAoIiIi0ssoAIqIiIj0MgqAIiIiIr2MAqCIiIhIL6MAKCIiItLLKACKiIiI9DIKgCIiIiK9jAKgiIiISC+jACgiIiLSyygAioiIiPQyCoAiIiIivYwCoIiIiEgvowAoIiIi0ssoAIqIiIj0MgqAIiIiIr2MAqCIiIhIL6MAKCIiItLLKACKiIiI9DIKgCIiIiK9jAKgiIiISC+jACgiIiLSyygAioiIiPQyCoAiIiIivcz/B/OlSX+2+lcCAAAAAElFTkSuQmCC" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "Here is the output for the first sample:\n", "metadata": {} }, { "cell_type": "code", "source": "probability[0,:]", "metadata": { "trusted": true }, "execution_count": 11, "outputs": [ { "execution_count": 11, "output_type": "execute_result", "data": { "text/plain": "array([9.57671606e-01, 4.22321095e-02, 9.62845517e-05])" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "we see it sums to one\n", "metadata": {} }, { "cell_type": "code", "source": "probability[0,:].sum()", "metadata": { "trusted": true }, "execution_count": 12, "outputs": [ { "execution_count": 12, "output_type": "execute_result", "data": { "text/plain": "1.0" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "we can apply the $argmax$ function\n", "metadata": {} }, { "cell_type": "code", "source": "np.argmax(probability[0,:])", "metadata": { "trusted": true }, "execution_count": 13, "outputs": [ { "execution_count": 13, "output_type": "execute_result", "data": { "text/plain": "0" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can apply the $argmax$ function to each sample\n", "metadata": {} }, { "cell_type": "code", "source": "softmax_prediction=np.argmax(probability,axis=1)\nsoftmax_prediction", "metadata": { "trusted": true }, "execution_count": 14, "outputs": [ { "execution_count": 14, "output_type": "execute_result", "data": { "text/plain": "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,\n 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=int32)" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can verify that sklearn does this under the hood by comparing it to the output of the method predict .\n", "metadata": {} }, { "cell_type": "code", "source": "yhat =lr.predict(X)\naccuracy_score(yhat,softmax_prediction)", "metadata": { "trusted": true }, "execution_count": 15, "outputs": [ { "execution_count": 15, "output_type": "execute_result", "data": { "text/plain": "1.0" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can't use Softmax regression for SVMs let explore two methods of Multi-class Classification. that we can apply to SVM.\n", "metadata": {} }, { "cell_type": "markdown", "source": "## SVM\n", "metadata": {} }, { "cell_type": "markdown", "source": "Sklean performs Multi-class Classification automatically, we can apply the method and calculate the accuracy. Train a SVM classifier with the `kernel` set to `linear`, `gamma` set to `0.5`, and the `probability` paramter set to `True`, then train the model using the `X` and `y` data.\n", "metadata": {} }, { "cell_type": "code", "source": "model = SVC(kernel='linear', gamma=.5, probability=True)\n\nmodel.fit(X,y)", "metadata": { "trusted": true }, "execution_count": 17, "outputs": [ { "execution_count": 17, "output_type": "execute_result", "data": { "text/plain": "SVC(gamma=0.5, kernel='linear', probability=True)" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "
Click here for the solution\n\n```python\nmodel = SVC(kernel='linear', gamma=.5, probability=True)\n\nmodel.fit(X,y)\n\n```\n\n
\n", "metadata": {} }, { "cell_type": "markdown", "source": "Find the `accuracy_score` on the training data\n", "metadata": {} }, { "cell_type": "code", "source": "yhat = model.predict(X)\n\naccuracy_score(y,yhat)", "metadata": { "trusted": true }, "execution_count": 18, "outputs": [ { "execution_count": 18, "output_type": "execute_result", "data": { "text/plain": "0.96" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "
Click here for the solution\n\n```python\nyhat = model.predict(X)\n\naccuracy_score(y,yhat)\n\n```\n\n
\n", "metadata": {} }, { "cell_type": "markdown", "source": "We can plot the decision_boundary.\n", "metadata": {} }, { "cell_type": "code", "source": "decision_boundary (X,y,model,iris)", "metadata": { "tags": [], "trusted": true }, "execution_count": 19, "outputs": [ { "name": "stdout", "text": "{0, 1, 2}\n", "output_type": "stream" }, { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "Let's implement on vs One vs. All and One vs. One our self's.\n", "metadata": {} }, { "cell_type": "markdown", "source": "## One vs. All (One-vs-Rest)\n", "metadata": {} }, { "cell_type": "markdown", "source": "For one-vs-All classification, if we have K classes, we use K two-class classifier models—the number of class labels present in the dataset is equal to the number of generated classifiers. First, we create an artificial class we will call this \"dummy\" class. For each classifier, we split the data into two classes. We take the class samples we would like to classify; the rest of the samples will be labelled as a dummy class. We repeat the process for each class. To make a classification, we use the classifier with the highest probability, disregarding the dummy class.\n", "metadata": {} }, { "cell_type": "markdown", "source": "### Train Each Classifier\n", "metadata": {} }, { "cell_type": "markdown", "source": "Here we train three classifiers and place them in the list my_models. For each class we take the class samples we would like to classify, and the rest will be labelled as a dummy class. We repeat the process for each class. For each classifier, we plot the decision regions. The class we are interested in is in red, and the dummy class is in blue. Similarly, the class samples are marked in blue, and the dummy samples are marked with a black x.\n", "metadata": {} }, { "cell_type": "code", "source": "#dummy class\ndummy_class=y.max()+1\n#list used for classifiers \nmy_models=[]\n#iterate through each class\nfor class_ in np.unique(y):\n #select the index of our class\n select=(y==class_)\n temp_y=np.zeros(y.shape)\n #class, we are trying to classify \n temp_y[y==class_]=class_\n #set other samples to a dummy class \n temp_y[y!=class_]=dummy_class\n #Train model and add to list \n model=SVC(kernel='linear', gamma=.5, probability=True) \n my_models.append(model.fit(X,temp_y))\n #plot decision boundary \n decision_boundary (X,temp_y,model,iris)\n", "metadata": { "trusted": true }, "execution_count": 20, "outputs": [ { "name": "stdout", "text": "{0, 1, 2}\n", "output_type": "stream" }, { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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" }, "metadata": {} }, { "name": "stdout", "text": "{0, 1, 2}\n", "output_type": "stream" }, { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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" }, "metadata": {} }, { "name": "stdout", "text": "{0, 1, 2}\n", "output_type": "stream" }, { "output_type": "display_data", "data": { "text/plain": "", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAABI8klEQVR4nO3deXhU9d3//9dkDwlJCFkIJuwKKgKyhKJdpKCIWLV6e8l1c7uidUEr4i1KS1361Rt7e1ehvVWstFJ721K9LbSCgogN3vJDWTQsKrQsEpYkJAFmyDJZz++PMGMmmYScJGe283xc11xXM/M5J+/PORZenHM+73EYhmEIAAAAthEV7AIAAAAQWARAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABsJibYBYSzpqYmHTt2TL1795bD4Qh2OQAAoBMMw9Dp06fVv39/RUXZ81oYAbAbjh07pry8vGCXAQAAuuDw4cPKzc0NdhlBQQDsht69e0uS/jZgiJJs+i8IAADCTVVTk64pOuD9e9yOCIDd4LntmxQVpaSo6CBXAwAAzLDz41tctgIAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALAZAiAAAIDNEAABAABshgAIAABgMwRAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAAQAALCZiAiAL7/8skaNGqWUlBSlpKRo0qRJeu+99zrcpqCgQGPHjlV8fLyGDRum5cuXB6ZYAACAIIuIAJibm6tnn31W27dv17Zt2/T9739f1157rb744gu/4w8ePKgZM2Zo8uTJKiws1Ny5c3XnnXdq3bp1Aa4cAAAg8ByGYRjBLsIK6enpeu655zR79uw2nz366KNas2aNdu/e7X1v5syZOnXqlNauXdvp3+FyuZSamqoNg4YpKSq6R+oGAADWqmpq1JSv98npdColJSXY5QRFRFwBbKmxsVErVqxQVVWVJk2a5HfM5s2bNXXqVJ/3pk2bps2bN3e479raWrlcLp8XAABAuImYALhr1y4lJycrPj5e99xzj1auXKkLLrjA79iSkhJlZ2f7vJednS2Xy6Wampp2f8eiRYuUmprqfeXl5fXoHAAAAAIhYgLg8OHDVVhYqE8//VT33nuvbr31Vn355Zc9+jsWLFggp9PpfR0+fLhH9w8AABAIMcEuoKfExcVp2LBhkqRx48Zp69atWrJkiV555ZU2Y/v166fS0lKf90pLS5WSkqLExMR2f0d8fLzi4+N7tnAAAIAAi5grgK01NTWptrbW72eTJk3Shg0bfN5bv359u88MAgAARJKICIALFizQRx99pK+//lq7du3SggULVFBQoFmzZnk/v+WWW7zj77nnHh04cEDz58/Xnj179NJLL+nNN9/UQw89FKwpAAAABExE3AI+fvy4brnlFhUXFys1NVWjRo3SunXrdPnll0uSiouLVVRU5B0/ePBgrVmzRg899JCWLFmi3NxcLVu2TNOmTQvWFAAAAAImYvsABgJ9AAEACD/0AYyQW8AAAADoPAIgAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANgMARAAAMBmCIAAAAA2QwAEAACwGQIgAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANgMARAAAMBmCIAAAAA2QwAEAACwGQIgAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANgMARAAAMBmCIAAAAA2QwAEAACwGQIgAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANgMARAAAMBmIiIALlq0SBMmTFDv3r2V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227rcMyQIUPUr18/HT9+3Of9hoYGnThxwtTzfUOGDFFGRob27dunKVOm+B0THx/PQhEAABD2QjYAZmZmKjMz86zjJk2apFOnTmn79u0aN26cJOnDDz9UU1OTJk6c2Onfd+TIEVVUVCgnJ6fLNQMAAISDkL0F3Fnnn3++rrzySt11113asmWLNm3apPvvv18zZ870WQE8YsQIrVy5UpJUWVmpRx55RJ988om+/vprbdiwQddee62GDRumadOmBWsqAAAAARH2AVCS3njjDY0YMUJTpkzRVVddpW9/+9v6zW9+4zNm7969cjqdkqTo6Gjt3LlT11xzjc477zzNnj1b48aN0//93/9xixcAAES8kL0FbEZ6evpZmz4bhuH934mJiVq3bp3VZQEAAISkiLgCCAAAgM4jAAIAANgMARAAAMBmCIAAAAA2QwAEAACwGQIgAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANgMARAAAMBmCIAAAAA2QwAEAACwGQIgAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANgMARAAAMBmCIAAAAA2QwAEAACwGQIgAACAzRAAAQAAbIYACAAAYDMEQAAAAJshAAIAANhMTLALCGeGYUiSGupqglwJAADoLM/f256/x+3IYdh59t104MABDR06NNhlAACALjh8+LByc3ODXUZQcAWwG9LT0yVJRUVFSk1NDXI11nC5XMrLy9Phw4eVkpIS7HJ6XKTPT4r8OUb6/CTmGAkifX5SeM3RMAydPn1a/fv3D3YpQUMA7IaoqOZHKFNTU0P+P/buSklJieg5Rvr8pMifY6TPT2KOkSDS5yeFzxwj9cJNZ7EIBAAAwGYIgAAAADZDAOyG+Ph4PfHEE4qPjw92KZaJ9DlG+vykyJ9jpM9PYo6RINLnJ9ljjpGEVcAAAAA2wxVAAAAAmyEAAgAA2AwBEAAAwGYIgAAAADZDAGzHRx99pB/84Afq37+/HA6HVq1addZtCgoKNHbsWMXHx2vYsGFavny55XV2h9k5FhQUyOFwtHmVlJQEpmCTFi1apAkTJqh3797KysrSddddp7179551u3A6j12ZYzidx5dfflmjRo3yNpadNGmS3nvvvQ63CafzJ5mfYzidP3+effZZORwOzZ07t8Nx4XYeW+rMHMPtPD755JNtah0xYkSH24TzObQD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" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "For each sample we calculate the probability of belonging to each class, not including the dummy class.\n", "metadata": {} }, { "cell_type": "code", "source": "probability_array=np.zeros((X.shape[0],3))\nfor j,model in enumerate(my_models):\n\n real_class=np.where(np.array(model.classes_)!=3)[0]\n\n probability_array[:,j]=model.predict_proba(X)[:,real_class][:,0]", "metadata": { "trusted": true }, "execution_count": 21, "outputs": [] }, { "cell_type": "markdown", "source": "here is the probability of belonging to each class for the first sample.\n", "metadata": {} }, { "cell_type": "code", "source": "probability_array[0,:]", "metadata": { "trusted": true }, "execution_count": 22, "outputs": [ { "execution_count": 22, "output_type": "execute_result", "data": { "text/plain": "array([9.91899750e-01, 1.22918139e-01, 9.47223171e-12])" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "As each is the probability of belonging to the actual class and not the dummy class is does not sum to one.\n", "metadata": {} }, { "cell_type": "code", "source": "probability_array[0,:].sum()", "metadata": { "trusted": true }, "execution_count": 23, "outputs": [ { "execution_count": 23, "output_type": "execute_result", "data": { "text/plain": "1.1148178893185088" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can plot the probability of belonging to the class. The row number is the sample number.\n", "metadata": {} }, { "cell_type": "code", "source": "plot_probability_array(X,probability_array)", "metadata": { "trusted": true }, "execution_count": 24, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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Pv/Nb37DgQceSFFREQMHDmTKlCk0Nzfv8GeTXZ8CoIhInrvrrrsIh8M899xz/PSnP+WGG27gl7/8Zadz/uu//ouxY8fy4osvcvnll1NTU8NJJ53EKaecwssvv8y8efO4/PLLtwk5119/fcd1l156KRdeeCFPPPFEx+ee53HTTTfx73//m7vuuos///nPXHLJJZ1qtLS08MMf/pC7776bZ555hvr6ek455ZQe/awPP/www4YN48orr2TDhg1s2LCBkpISTjnlFBYv7rxPx+LFi/nKV76y3dbDSy65hIceeoi77rqLFStWsNdeezF16lTee+89hg8fzoYNGygvL2fBggVs2LCBk08+udvnSyaT/OIXv6CiooKxY8du97xbb72V8847j7PPPpuXX36Z3/3ud+y1117bPb+srIw777yTV155hZ/+9Kfcdttt3HjjjR2fn3baaQwbNoznn3+empoaLr30UiKRCADnnXceiUSCp556ipdffpkf//jHlJaWAlBfX89RRx3FwQcfzAsvvMCSJUuoq6vjpJNOAtonZnzta1/jzDPP5NVXX+XJJ5/khBNOyMl2ddLLrIiI5K3PfOYzdsyYMTYIgo5j3/ve9+yYMWM63u+xxx522rRpna479dRT7Wc/+9lOxy6++GK73377dbru85//fKdzTj75ZHvMMcds93kefPBBO3DgwI73ixcvtoB99tlnO469+uqrFrDLly+31lo7d+5cO3bs2I7Pp0+fbo8//vhOP+OFF17Y6bluvPHGTvddvny5DYVC9p133rHWWltXV2fD4bB98sknu3zOpqYmG4lE7L333ttxLJlM2qFDh9rrrruu41hFRYVdvHjxdn/eD/z+97+3JSUl1hhjhw4dap977rkdnj906FD7gx/8YLufA/aRRx7Z7ufXX3+9HT9+fMf7srIye+edd3Z57oEHHmjnzZvX5WdXXXWV/dznPtfp2Lp16yxgV65caWtqaixg33777R38NFKI1AIoIpLnDjvssE5bck2aNIk33ngD3/c7jk2YMKHTNa+++iqTJ0/udGzy5MnbXPfRRXcnTZrEq6++2vH+f//3fzn66KPZfffdKSsr4/TTT+fdd9+lpaWl45xwOMwhhxzS8X7fffelX79+nepk6tBDD2X//ffnrrvuAuC///u/2WOPPfj0pz/d5flvvfUWqVSq0+8gEolw6KGH9ui5jjzySF566SX+/ve/8/nPf56TTjqJjRs3dnnuxo0beeeddzj66KM/dv0HHniAyZMnU1VVRWlpKZdddlmnJVOqq6v51re+xZQpU/jRj37EW2+91fHZBRdcwNVXX83kyZOZO3dup67pf/zjH/zlL3+htLS047XvvvsC7b+jsWPHcvTRR3PggQfy1a9+ldtuu40tW7bs7K9HdkEKgCIiBaCkpCTrNd9++22++MUvctBBB/HQQw9RU1PTMUawNyaafOtb3+rowl68eDEzZszI2d7DJSUl7LXXXhx22GHcfvvthMNhbr/99i7P3dltzJYtW8Zpp53GF77wBf7whz/w4osv8oMf/KDT73jevHn8+9//5thjj+XPf/4z++23H4888gjQ/ntZtWoVp59+Oi+//DITJkzg5ptvBqCpqYnjjjuOl156qdPrjTfe4NOf/jShUIgnnniC//mf/2G//fbj5ptvZp999mH16tU9/E3JrkIBUEQkz310yZFnn32W0aNHEwqFtnvNmDFjeOaZZzode+aZZ9h77707Xffss89uU3vMmDEA1NTUEAQBP/nJTzjssMPYe++9eeedd7a5Vzqd7piQALBy5Urq6+s76uysaDTaqZXyA1//+tdZs2YNN910E6+88grTp0/fbo1PfOITRKPRTr+DVCrF888/z3777dej5/qwIAhIJBJdflZWVsbIkSN3uPTNh/39739njz324Ac/+AETJkxg9OjRrFmzZpvz9t57b2bPns2f/vQnTjjhhE5jIocPH84555zDww8/zEUXXcRtt90GwCc/+Un+/e9/M3LkSPbaa69Orw/+o8EYw+TJk5k/fz4vvvgi0Wi0I1xK4VIAFBHJc2vXrqW6upqVK1fyq1/9iptvvpkLL7xwh9dcdNFFLF26lKuuuorXX3+du+66i1tuuYXvfve7nc575plnuO6663j99ddZuHAhDz74YEftvfbai1Qqxc0338yqVau45557WLRo0Tb3ikQinH/++Sxfvpyamhq+8Y1vcNhhh3HooYf26OcdOXIkTz31FOvXr+80W7V///6ccMIJXHzxxXzuc59j2LBh261RUlLCueeey8UXX8ySJUt45ZVXOOuss2hpaeGb3/zmx36W5uZmvv/97/Pss8+yZs0aampqOPPMM1m/fj1f/epXt3vdvHnz+MlPfsJNN93EG2+8wYoVKzpa5T5q9OjRrF27lvvvv5+33nqLm266qVMAa21tZebMmTz55JOsWbOGZ555hueff74jYM+aNYvHH3+c1atXs2LFCv7yl790fHbeeefx3nvv8bWvfY3nn3+et956i8cff5wZM2bg+z7Lly/nmmuu4YUXXmDt2rU8/PDDbNq0qcfhXXYhvT0IUUREtu8zn/mM/c53vmPPOeccW15ebvv372+///3vd5oU0tWkCWut/c1vfmP3228/G4lE7IgRI+z111/f6fM99tjDzp8/3371q1+1xcXFtqqqyv70pz/tdM4NN9xghwwZYouKiuzUqVPt3XffbQG7ZcsWa237JJCKigr70EMP2T333NPGYjE7ZcoUu2bNmo4aOzsJZNmyZfaggw6ysVjMfvRraunSpRawv/71r7v93bW2ttrzzz/fDho0yMZiMTt58uRtJm90NwmktbXVfvnLX7ZDhw610WjUDhkyxH7pS1/qdhKItdYuWrTI7rPPPjYSidghQ4bY888/v+MzPjIJ5OKLL7YDBw60paWl9uSTT7Y33nijraiosNZam0gk7CmnnGKHDx9uo9GoHTp0qJ05c6ZtbW211lo7c+ZM+4lPfMLGYjG722672dNPP91u3ry5o/brr79uv/zlL9t+/frZoqIiu++++9pZs2bZIAjsK6+8YqdOnWp32203G4vF7N57721vvvnmbn822fVpKzgRkTzWm9uk5aN77rmH2bNn88477xCNRnv7cUR2WeHefgAREZHutLS0sGHDBn70ox/x7W9/W+FPJEMaAygiInnvuuuuY99996Wqqoo5c+b09uOI7PLUBSwiIiLSx6gFUERERKSPUQAUERER6WMUAEVERET6GAVAERERkT5GAVBERESkj1EAFBEREeljFABFRERE+hgFQBEREZE+RgFQREREpI9RABQRERHpYxQARURERPoYBUARERGRPkYBUERERKSPUQAUERER6WMUAEVERET6GAVAERERkT5GAVBERESkj1EAFBEREeljFABFRERE+hgFQBEREZE+RgFQREREpI9RABQRERHpYxQARURERPoYBUARERGRPkYBUERERKSPUQAUERER6WMUAEVERET6GAVAERERkT5GAVBERESkj1EAFBEREeljFABFRERE+hgFQBEREZE+5v8DZkkYwHMTCJYAAAAASUVORK5CYII=" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can apply the $argmax$ function to each sample to find the class\n", "metadata": {} }, { "cell_type": "code", "source": "one_vs_all=np.argmax(probability_array,axis=1)\none_vs_all", "metadata": { "trusted": true }, "execution_count": 25, "outputs": [ { "execution_count": 25, "output_type": "execute_result", "data": { "text/plain": "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,\n 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=int32)" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "we can calculate the accuracy\n", "metadata": {} }, { "cell_type": "code", "source": "accuracy_score(y,one_vs_all)", "metadata": { "trusted": true }, "execution_count": 26, "outputs": [ { "execution_count": 26, "output_type": "execute_result", "data": { "text/plain": "0.9466666666666667" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We see the accuracy is less than the one obtained by sklearn, and this is because for SVM sklearn uses one vs one; let's verify it by comparing the outputs.\n", "metadata": {} }, { "cell_type": "code", "source": "accuracy_score(one_vs_all,yhat)", "metadata": { "trusted": true }, "execution_count": 27, "outputs": [ { "execution_count": 27, "output_type": "execute_result", "data": { "text/plain": "0.9733333333333334" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "we see that the output are different, now lets implement one vs one\n", "metadata": {} }, { "cell_type": "markdown", "source": "## One vs One\n", "metadata": {} }, { "cell_type": "markdown", "source": "In One-vs-One classification, we split up the data into each class; we then train a two-class classifier on each pair of classes. For example, if we have class 0,1,2, we would train one classifier on the samples that are class 0 and class 1, a second classifier on samples that are of class 0 and class 2 and a final classifier on samples of class 1 and class 2.\n\nFor $K$ classes, we have to train $K(K-1)/2$ classifiers. So if $K=3$, we have $(3x2)/2=3 $classes.\n\nTo perform classification on a sample, we perform a majority vote and select the class with the most predictions.\n", "metadata": {} }, { "cell_type": "markdown", "source": "here we list each class.\n", "metadata": {} }, { "cell_type": "code", "source": "classes_=set(np.unique(y))\nclasses_\n ", "metadata": { "trusted": true }, "execution_count": 28, "outputs": [ { "execution_count": 28, "output_type": "execute_result", "data": { "text/plain": "{0, 1, 2}" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "determine the number of classifiers:\n", "metadata": {} }, { "cell_type": "code", "source": "K=len(classes_)\nK*(K-1)/2", "metadata": { "trusted": true }, "execution_count": 29, "outputs": [ { "execution_count": 29, "output_type": "execute_result", "data": { "text/plain": "3.0" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We then train a two-class classifier on each pair of classes. We plot the different training points for each of the two classes\n", "metadata": {} }, { "cell_type": "code", "source": "pairs=[]\nleft_overs=classes_.copy()\n#list used for classifiers \nmy_models=[]\n#iterate through each class\nfor class_ in classes_:\n #remove class we have seen before \n left_overs.remove(class_)\n #the second class in the pair\n for second_class in left_overs:\n pairs.append(str(class_)+' and '+str(second_class))\n print(\"class {} vs class {} \".format(class_,second_class) )\n temp_y=np.zeros(y.shape)\n #find classes in pair \n select=np.logical_or(y==class_ , y==second_class)\n #train model \n model=SVC(kernel='linear', gamma=.5, probability=True) \n model.fit(X[select,:],y[select])\n my_models.append(model)\n #Plot decision boundary for each pair and corresponding Training samples. \n decision_boundary (X[select,:],y[select],model,iris,two=True)\n \n \n ", "metadata": { "trusted": true }, "execution_count": 30, "outputs": [ { "name": "stdout", "text": "class 0 vs class 1 \n", "output_type": "stream" }, { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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i56cnBxt3LhRU6dOVUtLi8rKyjRz5kwdPnxYkydPdrq8HrW1tWnp0qUqKCjQ+PHju13n5v3Y22102348fvy48vPzdfnyZX3pS1/Sjh079Pd///dh17p1/9nZRrftP0natm2bfvOb3+jIkSO9Wu/G/Wh3G922H6dPn67NmzcrNzdXdXV1Wr16tb7+9a+rurpaaWlpXda7cR+ahgCIXsvNzVVubm7g+YwZM3Tq1CmtX79eW7dudbCyq1u8eLGqq6t77Flxu95uo9v2Y25uro4dO6bGxkb953/+pxYsWKADBw50G5DcyM42um3/nT17Vo888ojKy8vVv39/p8uJib5so9v246233hr45wkTJmj69On6yle+opdfflkPPvigg5WhrzgFHCXZ2dlqaGgIeq2hoUHp6eme/n8606ZN08mTJ50uo0dLlizRzp07VVFRoWHDhvW41q370c42hpPI+7Ffv34aPXq0pkyZotLSUk2cOFFPPfVU2LVu3X92tjGcRN5/R48e1fnz5zV58mSlpqYqNTVVBw4c0L//+78rNTVVra2tXd7jtv3Yl20MJ5H3Y6hBgwbpxhtv7LZet+1DE3EEMEry8/P12muvBb1WXl5+1T4etzt27JhycnKcLiMsy7L08MMPa8eOHaqsrNSIESOu+h637ce+bGM4ibwfQ7W1tamlpSXs79y2/7rT0zaGk8j7b/bs2Tp+/HjQaw888IDGjBmjlStXKiUlpct73LYf+7KN4STyfgx18eJFnTp1Svfdd1/Y37ttHxrJ6atQElVTU5P1zjvvWO+8844lyXryySetd955x/rjH/9oWZZlrVq1yrrvvvsC6z/44ANr4MCB1mOPPWa999571tNPP22lpKRYu3fvdmoTrsruNq5fv9569dVXrffff986fvy49cgjj1jJycnW3r17ndqEHv3gBz+wMjIyrMrKSquuri7w+OSTTwJr3L4f+7KNbtqPq1atsg4cOGCdPn3a+t3vfmetWrXKSkpKsvbs2RP4vZv3n2XZ30Y37b/uhF4h64X9GOpq2+i2/bh8+XKrsrLSOn36tHXw4EGrsLDQuvbaa63z589bluXNfeh1BMBudFyiH/pYsGCBZVmWtWDBAuub3/xml/dMmjTJ6tevnzVy5Ejrueeei3vddtjdxp/85CfWqFGjrP79+1uDBw+2Zs6cae3fv9+Z4nsh3LZJCtovbt+PfdlGN+3HhQsXWl/5ylesfv36WUOGDLFmz54dCEaW5f79Z1n2t9FN+687oeHIC/sx1NW20W37cd68eVZOTo7Vr18/6+/+7u+sefPmWSdPngz83ov70OuSLMuy4ne8EQAAAE7jIhAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMMQAAEAAAxDAAQAADAMARAAAMAwBEAAAADDEAABAAAMQwAEAAAwDAEQAADAMARAAAAAwxAAAQAADEMABAAAMMz/B3O9EUVWep5yAAAAAElFTkSuQmCC" }, "metadata": {} }, { "name": "stdout", "text": "class 0 vs class 2 \n", "output_type": "stream" }, { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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" }, "metadata": {} }, { "name": "stdout", "text": "class 1 vs class 2 \n", "output_type": "stream" }, { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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" }, "metadata": {} } ] }, { "cell_type": "code", "source": "pairs", "metadata": { "trusted": true }, "execution_count": 31, "outputs": [ { "execution_count": 31, "output_type": "execute_result", "data": { "text/plain": "['0 and 1', '0 and 2', '1 and 2']" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "As we can see, our data is left-skewed, containing greater number of '5' star reviews.\n", "metadata": {} }, { "cell_type": "markdown", "source": "Here, we are plotting the distribution of text length.\n", "metadata": {} }, { "cell_type": "code", "source": "pairs\nmajority_vote_array=np.zeros((X.shape[0],3))\nmajority_vote_dict={}\nfor j,(model,pair) in enumerate(zip(my_models,pairs)):\n\n majority_vote_dict[pair]=model.predict(X)\n majority_vote_array[:,j]=model.predict(X)", "metadata": { "trusted": true }, "execution_count": 32, "outputs": [] }, { "cell_type": "markdown", "source": "In the following table, each column is the output of a classifier for each pair of classes; the output is the prediction:\n", "metadata": {} }, { "cell_type": "code", "source": "pd.DataFrame(majority_vote_dict).head(10)", "metadata": { "trusted": true }, "execution_count": 33, "outputs": [ { "execution_count": 33, "output_type": "execute_result", "data": { "text/plain": " 0 and 1 0 and 2 1 and 2\n0 0 0 1\n1 0 0 1\n2 0 0 1\n3 0 0 1\n4 0 0 1\n5 0 0 1\n6 0 0 1\n7 0 0 1\n8 0 0 1\n9 0 0 1", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
0 and 10 and 21 and 2
0001
1001
2001
3001
4001
5001
6001
7001
8001
9001
\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "To perform classification on a sample, we perform a majority vote i.e. select the class with the most predictions. We repeat the process for each sample.\n", "metadata": {} }, { "cell_type": "code", "source": "one_vs_one=np.array([np.bincount(sample.astype(int)).argmax() for sample in majority_vote_array]) \none_vs_one\n ", "metadata": { "trusted": true }, "execution_count": 34, "outputs": [ { "execution_count": 34, "output_type": "execute_result", "data": { "text/plain": "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2,\n 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=int32)" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We calculate the accuracy:\n", "metadata": {} }, { "cell_type": "code", "source": "accuracy_score(y,one_vs_one)", "metadata": { "trusted": true }, "execution_count": 35, "outputs": [ { "execution_count": 35, "output_type": "execute_result", "data": { "text/plain": "0.96" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "we compare it to sklearn , it's the same!\n", "metadata": {} }, { "cell_type": "code", "source": "accuracy_score(yhat,one_vs_one)", "metadata": { "trusted": true }, "execution_count": 36, "outputs": [ { "execution_count": 36, "output_type": "execute_result", "data": { "text/plain": "1.0" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "***\n", "metadata": {} }, { "cell_type": "markdown", "source": "## Author\n", "metadata": {} }, { "cell_type": "markdown", "source": "Joseph Santarcangelo\n", "metadata": {} }, { "cell_type": "markdown", "source": "### Other Contributors\n", "metadata": {} }, { "cell_type": "markdown", "source": "Azim Hirjani\n", "metadata": {} }, { "cell_type": "markdown", "source": "## Change Log\n", "metadata": {} }, { "cell_type": "markdown", "source": "| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n| ----------------- | ------- | ---------- | ----------------------- |\n| 2020-07-20 | 0.2 | Azim | Modified Multiple Areas |\n| 2020-07-17 | 0.1 | Azim | Created Lab Template |\n", "metadata": {} }, { "cell_type": "markdown", "source": "Copyright © 2020 IBM Corporation. All rights reserved.\n", "metadata": {} } ] }