{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 9 - Support Vector Machines" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [Lab: 9.6.1 Support Vector Classifier](#9.6.1-Support-Vector-Classifier)\n", "- [Lab: 9.6.2 Support Vector Machine](#9.6.2-Support-Vector-Machine)\n", "- [Lab: 9.6.3 ROC Curves](#9.6.3-ROC-Curves)\n", "- [Lab: 9.6.4 SVM with Multiple Classes](#9.6.4-SVM-with-Multiple-Classes)\n", "- [Lab: 9.6.5 Application to Gene Expression Data](#9.6.5-Application-to-Gene-Expression-Data)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# %load ../standard_import.txt\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "from sklearn.preprocessing import label_binarize\n", "from sklearn.model_selection import train_test_split, GridSearchCV\n", "from sklearn.svm import SVC, LinearSVC\n", "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\n", "from sklearn.metrics import confusion_matrix, roc_curve, auc, classification_report\n", "\n", "%matplotlib inline\n", "plt.style.use('seaborn-white')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## LAB" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 9.6.1 Support Vector Classifier" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Define a function to plot a classifier with support vectors." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def plot_svc(svc, X, y, h=0.02, pad=0.25):\n", " x_min, x_max = X[:, 0].min()-pad, X[:, 0].max()+pad\n", " y_min, y_max = X[:, 1].min()-pad, X[:, 1].max()+pad\n", " xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n", " Z = svc.predict(np.c_[xx.ravel(), yy.ravel()])\n", " Z = Z.reshape(xx.shape)\n", " plt.contourf(xx, yy, Z, cmap=plt.cm.Paired, alpha=0.2)\n", "\n", " plt.scatter(X[:,0], X[:,1], s=70, c=y, cmap=plt.cm.Paired)\n", " # Support vectors indicated in plot by vertical lines\n", " sv = svc.support_vectors_\n", " plt.scatter(sv[:,0], sv[:,1], c='k', marker='|', s=100, linewidths='1')\n", " plt.xlim(x_min, x_max)\n", " plt.ylim(y_min, y_max)\n", " plt.xlabel('X1')\n", " plt.ylabel('X2')\n", " plt.show()\n", " print('Number of support vectors: ', svc.support_.size)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEBCAYAAACe6Rn8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzt3XmcXFWB9vHfra27ek0nnXSHrATCIQmLiIRFIggEBEWWjzoqyMiIC3584R1GGUTQwcFRmUFckRck48gy4MYYECGKbAmLDGsgcCBkIXsnnfRa1bXe949uoNJLdQLd91bVfb5/ddUpqp4QuE/fc+uc67iui4iIBFPI7wAiIuIflYCISICpBEREAkwlICISYCoBEZEAi/gdYE8ZY6qAI4AtQM7nOCIi5SIMTAWestamBg+WTQnQXwCP+h1CRKRMLQKWD36ynEpgC8Btt91Ga2ur31lERMrC1q1bOeecc2DgGDpYOZVADqC1tZXp06f7nUVEpNwMO42uC8MiIgGmEhARCTCVgIhIgJXTNQER2QvdqSy2rZu2nhQhx2FmU5z9JtVRFdHvfvI2lYBIBVq/s5cn3+gg77q8uU9wV1+WVdu6OWnuFCbEo77mk9KhXwlEKkx3KsuTb3SQKygAgJzrksm5PLh6O3ltIS8DVAIiFca2dRc9yGfzLps6+zxMJKVMJSBSYbZ1pyj2e34279LWM2T3AAkoz64JGGOiwBJgNlAFXG2tXVowfgnwOWD7wFNftNZar/KJVIqQ4+zBazwIImXBywvD5wLt1trPGGMmAc8CSwvG3wucZ6192sNMIhVnZlOc7q0ZciOcDkRCDtMb496GkpLl5XTQb4ArCx5nB40fDnzdGLPcGPN172KJVJb9m2tHPBtwgPqqCM21MW9DScnyrASstT3W2m5jTD3wW+CKQS+5A/gScAJwrDHmI15lE6kkVZEwJ8ydTFU4RKRg3icScpgQj/LB/Ztx9mDKSILB03UCxpgZwF3A9dba2wued4AfWms7Bx7/ETgMuMfLfCKVYmJNjDMPnsrGjuRbi8WmT4gzuTamApDdeHlhuAVYBnzFWvvAoOEG4EVjzDygl/6zgSVeZROpRP2rhGuY2VTjdxQpYV6eCVwONAFXGmPevDZwE1Brrb3RGHM58CCQAh6w1t7rYTYRkUDyrASstRcDFxcZvwW4xas8IiKivYNEZC9l8y7dfRlCjkN9dWSP1iVI6VIJiMgeyeVdnt/cyevtvW89Fw45HNTawNzmWl1wLlMqAREZleu6PPz6Dnb0pnZbhJbNuzy3qZNkOsuh0yb4F1DeMe0dJCKj2tzVR3siPewq5Jzr8sr2HhLpwes/pRyoBERkVK9u7yGbL7799JqdCY/SyFhSCYjIqBKZXNHxvAuJdPHXSGlSCYjIqOpixS8fhhyoqwp7lEbGkkpAREZ1wOS63fYhGs6+E2s9SiNjSSUgIqNqra+ipa6K8DBfAw07/V8TjUd1JlCOVAIiMirHcTh2ziTmt9QTCzuEQw5hB2pjYY6YOYEFrQ1+R5R3SOsERGSPhByHg6Y2ML+1nkQ6h+NATTSsRWJlTiUgInsl5DjUVenQUSk0HSQiEmAqARGRAFMJiIgEmEpARCTAVAIiIgGmEhARCTCVgIhIgKkEREQCTCUgIhJgKgERkQDzbO23MSYKLAFmA1XA1dbapQXjpwPfBLLAEmvtTV5lExEJKi/PBM4F2q21i4BTgZ++OTBQENcBJwPHAV8wxrR6mE1EJJC8LIHfAFcWPC68K/U8YLW1dpe1Ng0sBxZ5mE1EJJA8mw6y1vYAGGPqgd8CVxQMNwCdBY+7gUavsomIBJWnF4aNMTOAB4FbrLW3Fwx1AfUFj+uBDi+ziYgEkZcXhluAZcBXrLUPDBp+GZhrjJkI9AAfAP7Dq2wiIkHl5Z0hLgeagCuNMW9eG7gJqLXW3miMuQS4n/6zkyXW2k0eZhMRCSQvrwlcDFxcZPxu4G6v8ojInult28iGh39PYsdmaqfMYMZxZ1HTvI/fsWSM6B5xIjIs13VZdfu/s3bZ7bj5PG4uQygS47WlN7HfR/6BeR+/yO+IMga0YlhEhrV22W2s+8sd5DMp3FwGgHw2TT6TYs29v+SNh37nc0IZCyoBERnCzed49a6fk0slhx3PpZK88tuf4Lqux8lkrKkERGSIns1ryaX6ir4m09NJcsdmjxLJeFEJiMgQbj4PjlP8RY5DPpct/hopeSoBERmidupsRqkAQpEoNZOneZJHxo9KQESGCEdjzD7504Ri1cOPx6rZ78PnEwrrC4blTiUgIsM68GP/h+b5CwlX1RQ86xCuijPl0EXM/ejnfcsmY0c1LiLDCkWiHPm1G9jx4uOsXXYbiR1bqJ0ynX1POZdJ847AGe2aQZlr607x0rYu2nvTOA7s0xhn/pR6GuNRv6ONKZWAiIzIcRwmH3wMkw8+xu8onlq1rZsXt3SRK/gK7PqdCTbsSrJoziSmNgw/TVaONB0kIlKgI5kZUgAALpBzXZavbSeby/sTbhyoBERECrzS1k1+lEVw6zuGX0RXjlQCIiIFdibSFKuAbN6lvTftWZ7xphIQESkQCY1+WIyFK+eiuEpARKTAfs21REIjH+TDjsOsppoRx8uNSkACJ5vspXfbBjKJbr+jSAma1RQnFg4Nu2I67MDkuhhNNTHPc40XfUVUAiOxfRMv3XYN2555CCccwc1lmXzw0Sw49zLqps72O56UiEgoxOIDpvDImh109WXp/16Qg4vL1IZqjp490e+IY0olIIGQ2L6Jh7/xMTK9XeDmIdt/YW/bc4/Q/srTLPr2ndRPm+NzSikVNbEwHzqwhV2JNDsGFotNbaimNlZ5h0xNB0kgvHTr998ugEKuSzbZywtLrvInmJS0ppoYcyfXsX9zXUUWAKgEJACyyV62Pfvw0AJ4i8uu1c/Tt6vN01wipUAlIBWvr3MHzii7XYYiUZWABJJKQCpeVX0T7ig3P8lnM1Q1NnuUSKR0eD7JZYw5Evi+tfb4Qc9fAnwO2D7w1BettdbjeFKBorUNTJq/kO0vrIAR1oI2zDLEJ7V6G0ykBHhaAsaYS4HPAL3DDL8XOM9a+7SXmSQYDj7vch658hNkk70MLoJwVZxDzv+mP8FEfOb1dNDrwNkjjB0OfN0Ys9wY83UPM0kA1O2zL4uu+m8mmvcSisaIxOsIRauYsN/BvP+btzBh3wV+RxTxhadnAtba3xljZo8wfAfwM6ALuMsY8xFr7T2ehZOKVz99f4791q307WojuXMb1ROaiU+a6ncsEV+VxBdfjTEO8ENrbefA4z8ChwEqARlz1U1TqG6a4ncMkZJQEiUANAAvGmPm0X+94ARgib+RREQqn68lYIz5NFBnrb3RGHM58CCQAh6w1t7rZzYRkSDwvASsteuAowZ+vr3g+VuAW7zOIyISZFosJiISYCoBEZEAUwmIiASYSkBEJMBUAiIiAaYSEAmIZCZHRzJDKjvSfRUkiEplsZiIjJNdiTRPb+ygPZEm5DjkXZfW+moOnz6BuiodAoJOZwIiFWxnIs2fX9vO9t40eReyeZe8C1u6+rjfbqM3Xfw+C1L5VAIiFexvb+wilx96DwUXSOdcntvU6X0oKSkqAZEK1ZPK0tVX/Df9jZ1JssOUhASHSkCkQiUzOUJO8dc4OKR1oTjQVAIiFSoeDTPaL/kuLrGIDgNBpr99kQpVVxWhobr4t3+mN8aJjHa6IBVNJSBSwRbObBr2IO8AsbDDe6Y1eh9KSopKQKSCTayJcdLcyUyujRFyIBJyCDkwtaGaU0wLtTGtEwg6/RcgUuGaamKcdMAUkpkcqWyeeDRMla4DyACVgEhAxKNh4tGw3zGkxOjXARGRAFMJiIgEmEpARCTAVAIiIgGmEhARCTDPS8AYc6Qx5qFhnj/dGPOUMeZxY8znvc4lIhJEnpaAMeZS4BdA9aDno8B1wMnAccAXjDGtXmYTEQkir88EXgfOHub5ecBqa+0ua20aWA4s8jSZiEgAeVoC1trfAZlhhhqAwrtbdAPa1EREZJyNWALGmMnGmGuNMVcbYyYVPP+tccjRBdQXPK4HOsbhc0QEyObz7Eqm6erL4Lq6qUyQFds24lfAXQOvecQYc5q1dj39c/Zj7WVgrjFmItADfAD4j3H4HJFAy+Zdnt3YwZqdvW/da8ABZk6oZuHMiUTC+sJg0BQrgSpr7Y0AxpjngD8YY46n/7+ZMWGM+TRQZ6290RhzCXA//WcnS6y1m8bqc0QE8q7LA6+1sTOx+4ysC6zv6GNL9xZOnz9VN5kJmGIlEDHGHGytXWmtfcwY811gKVD3bj7QWrsOOGrg59sLnr8buPvdvLeIjOyNXUl2JYa7JNcvnXN58o2dLJrT7GEq8Vuxyr8M+LExpgXAWnsncCMw04tgIjK27PZuRpv939TZp3sOB0yxErgBuNpauw3AGOMAc4GdXgQTkbGVSOf26HXdqew4J5FSUmw66EPAHcaYo4FfArcB64HDPcglImOsJhqmb5Tf8p2Bu49JcIx4JmCt3QycABxN/yKv31trz7PWdnsVTkTGzryW+lFfUxUOjXpzeqksxdYJVAE/BCYBXwYuNMac4lUwERlb0yfEmVDkAO8Ah01rxHF0JhAkxa4JPEn/d/aPtdbeDJwCXGWMucaTZCIypkKOw8mmhWkN1UPHgMNnTGDWxFrvg4mvip33fdVa+5c3H1hr1xtjtIhLpIyFQw4f2K+ZdDbPul299GXy1FdFmDEhroViATViCRQWQMFzaeCicU0kIuMuFglxwOTRrxFI5VP1i4gEmEpARCTAVAIiIgGmEhARCTCtCingui6bHr+X1X+4ke7NawiFI7QcfgLmrAupn76/3/FExk0u77KpM0l3KkssHGL6hDjxaNjvWOIBlcAA13V5/sYr2PTEn8ilkgDkclk2P3Ef2555kCO/dgPN8xf6nFJk7G3p6mPFunZct/9+A2HH4ZlNHcxtrtPisQDQdNCAtucf3a0A3uLmyaWSPHXdReSzI2/DKyNzXZf2l5/i1f+5gdeW3kTn+lf8jiQDdiXSPLqmnUzOJTtwl5mc65J3YfWOXlZu6fI5oYw3nQkMWH3PzUMLoICby7Lt2YeYesRiD1OVv8T2TTz+vQvo29lGLt2HEwrx6u+vp3H2fBZ+9WfE6ib4HTHQVm7tIjfC7SVzrssrbT3Mb6nXQrIKpr/ZAT2b1hQdz6aSdG963aM0lSGbSrL8Xz5N79Y3yKUS4OZxc1ly6T52rVnJ49+9wJf7227t6uOB19r49fOb+M3zm1ixtp2OZPDO8lzXZXNXX9HXOA5s60l5lEj8oBIYEKmuKToeikSJxrXCcm9seuweMolucIduX+xmM/RsWUv7K095munFrV08sradtp40uXz/FMiGjiTLbBubO0c+E6xUe9LBubxuRF/JVAIDZn7wY4RiVUVe4TJ1oaaC9saGR5cWnWLL9SXZ/Ph9nuXZlUizamv3kIOaS//Ux4p1O8nkgnNXLcdxqK8qPiPsui5NNTGPEokfVAIDZp3wCaLxepzQ0H8l4apqZhx3NtVNU3xIVr5y6eJTDeCSTSU8yQLwSlsP+VF+9X1jV7DOBua31BMe4SYyDjCxJjZqUUh5UwkMiNU1suhf76Rh9nzCsWrC1TVE4rWEolXMPvFTHPLZK/yOWHYmmcNxIiMfQMJVcSYa725UtyuZLnqP3WzepT2R9ixPKdh3Yg3TG6uH3E0s7DhUR0Mcs+8kn5KJV1TxBWqa9+G4q39D18bX6Fy7inCsmskHH0O0RtcC3ol9TzmXdQ/cgcvw96x1nBDTj/mwZ3kiw5zlDRYL2LdgHMfh6FkT2dzVx8vbuulOZYmGQ+w3qZb9mmsD9+8jiDwrAWNMCLgeOBRIARdYa1cXjP8YeD/w5u0rz7DWdnqVr1DD9Lk0TJ/rx0dXlNop0zn0H/6FF5ZcRT6bwc333+jciUQIhaMs/Or1o16QH0v7NdfSuTHz1vfhBws7DrMmxj3LUyocx2FaY5xpjcH7s4u3ZwJnAtXW2qONMUcB1wJnFIy/FzjFWrvDw0wyzmZ84EwaZ89n9R+XsOPFJ3DCYaa+70TmnPr31Eye5mmWWU1xXtraRS6dGzItFHagpb6KprgugkqweFkCxwL3AVhrnzDGvO/NgYGzhLnAjcaYFuBma+0SD7PJOGqYeQDvvfB7fscgEgqx+IApPLrm7XUBjgN512VaY5yjZk30OaGI97wsgQagcHonZ4yJWGuzQC3wE+AHQBh40Bjzv9baFzzMJwEQj4Y52UyhM5lhe2+KkOPQ2lBNjTZLk4DysgS6gMIrrKGBAgBIAD+y1iYAjDF/pf/agUpAxkVjPEpjPOp3DBHfeXnpfwVwGsDANYGVBWMHAMuNMWFjTJT+qaNnPMwmIhJIXp4J3AUsNsY8Rv86lPONMZcAq621S40xtwFPABngV9balzzMJiIValciTXsijeM4TK2vpiamqb9CnpWAtTYPfGnQ068UjF8DXONVHhGpbIl0lkfWtNPVlwVccBxc12XGhDhHzpw44krpoNFKEBGpOJlcnmWvbqcjmSHnuuTc/o3w8i5s7EiyYl273xFLhkpARCrOup0J0tmh60EAci5s7UrRGcDtw4ejEhCRivN6ey+5IhtF5V2X9R3ebV5YylQCIlJxsvniW4K7EKhtw4tRCYhIxWmKxyh22TcScrRFyACVgIhUnANb6gk5xb/9M7PJu80LS5lKQEQqzqSaGPNa6oZ8DdShf7fYY/edNOQeCkGl+wmISEU6eGojzbVVrNrWxc5EBseBaQ1x5rfW01itLUPepBIQkYo1taGaqQ3VfscoaZoOEhEJMJWAiEiAqQRERAJM1wSk4mzt6uOlgYuBIQemNcaZ31JPgy4GigyhEpCKsnJLJy9v6yHnvr1nwLqdCd7oSHLcnEm01OsioUghTQdJxWjvTfNy2+4FAP1bBOTyLo+uaSeXL7KhjEgAqQSkYrzc1l30IO8CGzqS3gUSKQMqAakYuxLpouPZvDvqa0SCRiUgFSMSLv6fswNEwtoqQKSQSkAqxpyJNRQ7xoccmKVNw0R2oxKQijFnUi2xcGjYLYTDTv8WAvqaqMjuVAJSMaLhEIvNFBrjUcKOQ9iBcMgh5MD0CXGOmT3J74giJUfrBKSi1MYinHpgCzsTadp704RCDlPrq6mJhf2OJlKSPCsBY0wIuB44FEgBF1hrVxeMfx74IpAFrrbW3uNVNqk8E2tiTKzRnaNERuPldNCZQLW19mjgMuDaNweMMa3ARcD7gVOA7xpjqjzMJiISSF6WwLHAfQDW2ieA9xWMLQRWWGtT1tpOYDVwiIfZREQCycsSaAA6Cx7njDGREca6gUavgomIBJWXJdAF1Bd+trU2O8JYPdDhVTARkaDysgRWAKcBGGOOAlYWjP0NWGSMqTbGNALzgBc9zCYiEkhefkX0LmCxMeYx+lfwn2+MuQRYba1daoz5MfAo/cX0DWttn4fZREQCybMSsNbmgS8NevqVgvGbgJu8yiMiIloxLCISaCoBEZEAUwn4IJdOke7ehZvP+R1FRAJOewd5qGvDq7x8x3W0vbAcxwkRisaYdeLfYc6+kEh1rd/xRCSAVAIe2bX6BR77zvnkUknAxQXy2TRr77uFtuceZtG37yRSrb3uRcRbmg7ygOu6PP3Tr5JLJei/0+3b8tk0vds28Pq9v/Qlm4iUrmwqSbt9hp2vPksuPT7fmteZgAc61rxIqnPHiOP5TIq1y27DnP1lD1OJSKnKZzOsuuMHrH/gTpxQ/zbobj7Pvqecw4Efv4hQeOwO3SoBDyTaNuA4xU+60l07cfN5nJBOzkSCzHVdnrruIra/9AT5Qb/9r73vFhJtG3jfRdeN2efpiOOBWMPEUV8Trq5RAYgIO199lh2rnhxSAAC5dB/bnnmIjjUvjdnn6ajjgeZ5RxCKjnxvWyccYcaiMz1MJCKlav0DdxSd/89l0qx/8Ndj9nmaDvKAEwpz8Gev5Ln/942hf7lOiEi8jgPO/KI/4QSAznWr2LjiHtI9nTTOOpAZi84gWtuw1+/jui477dNsX/kYbj5P80FH0Tz/SBzHGYfUUomSO7eB6478AjdPsn3bmH2eSsAj044+DScc4cX/+g6ZZA9OKEQ+k2HCnIM47MLvUd00xe+IgZRLp3jqhxfTvupJcpk0uHk2x6p5+Y4f8J4Lv8e0I0/Z4/fq29XG49+9gMT2TW99FXjN/bdQPWEyR3/9ZmomTxu/P4hUjPp95tD+ytMwwmJSJxyhbp99x+zzVAIe2mfhyUw9YjGda1eRSXRR2zJTBwafPf+Lb7Jj1RPk06m3nnvzbO25n19G7eRpTJhz0Kjv4+ZzrPj2eSS2b9xtJXiuL0Hvtg0sv+ocTrxuGeGo7nssxc1e/Ck2PPI/5NIjlEAozOyTPjlmn6drAh5zHIcJcxYw+aCjVQA+6+vcweYn79utAArlMileveuGPXqvbc8+TF/njuG3AnHzZBLdbHny/ncTVwKiYcYBzDrpk4Rj8SFj4Vg1+334fOpaZ43Z56kEJLB2vPgETnjkC/a4Lm0rV+zRe216/F5yfb0jjuf6EmxccffeRpSAWnDOpRz82SuIN+9DKBLFiUSpaZnBIRdcxbxPXDymn6XpIAksN5dl8AruIfL5PXqvPVnNmcsMf8YhMpjjOMw8/mxmHHcWmZ7+O+1G6yaMyxcMdCYggdV0wGG4ueI7uTbOWbBH79U8/0jCVUNP398UilYxecFRe5VPxHEcYvVNxOqbxu0bZioBCay61llMnPsenMjwU0LhqjjmrAv36L1mfOBMKPI/qeM4zDzh4+8op8h4UglIoB1+0XXUTJ5GuOrtHVydUJhQrJr9T7+AKYcu2qP3idbUs/Cffka4Kr5bqTiRKOFYNYdf9AOqG5vHPL/Iu6VrAhJoVQ1NHP+9P7Dlb8tY/9dfk0l00zhrHnNOPY/GWQfu1XtNXnAUH/z3e1h7/61sffqv4LpMOfQDzDn1PGpbZozTn0Dk3VEJSOCFozGmv/8jTH//R971e9U078OCcy5lwTmXjkEykfGn6SARkQDz7EzAGBMHbgWmAN3A31trtw96zVJgEpABktbaU73KJyISRF6eCVwIrLTWLgJ+BVwxzGv2B4611h6vAhARGX9elsCxwH0DP/8JOKlw0BjTAkwA7jbGLDfGvPsJWhERKWpcpoOMMZ8D/nHQ09uAzoGfu4HGQeMx4FrgR8BEYIUx5m/W2rbxyCgiIuNUAtbam4GbC58zxvweqB94WA90DPrHtgI3WGuzQJsx5lnAACqBIvp2tfH6n37FxuVLyaWS1E3dl/0/egFTj1isPexFZFReTgetAE4b+PlU4NFB4ycBvwYwxtQBBwEve5auDHVvWsODl57O2vt+RapjO9lkDx1rVvLszy/j2Z//M26xG1OIiOBtCfwcWGCMWQ58AbgKwBhzjTFmobX2T8BrxpgngGXA5dbaHR7mKyuu6/LUD75CJtFNPpvZbSyXSrLlqb+w+fF7fUonIuXCs6+IWmsTwJDNU6y1lxb8/H+9ylPuOl5fSXLn1hFvQ5dLJXnt7l8w7ZgPe5xMRMqJFouVqa4NdtTX9Gxe60ESESlnKoEyFa6qwXGK//WFo1UepRGRchWIvYNymTRtzz9KqmM78UmtTD7kWELh8v6jtxy6iHwuM+K4E46wz9Ef8jCRiJSj8j4S7oENy5ey8j+/DUA+lyMUCuOEIxz2pX+j9fATfE73zkVrG5hzymdY++fbyaWSQ8bD0Sr2P/3zPiQTkXJS0dNBW576C8//4ltkk71kk73k031k+3rJ9Hbyvz/5J3as+pvfEd+VeZ+8hNknfpJQtIpwVQ2haIxwdQ3VE1s55or/onbKdL8jikiJq9gzAdd1eenW75Mf4d6v+XQfL912Dcd957ceJxs7TijEgnMvZe4Zn2frMw+RTfZQP2MuzfOP1EIxEdkjFVsCvVvWkeosvsyge8NrpDrbqWqc5E2ocRKrb2LmcWf5HUNEylDFTgdl+xI4o1z8dcJhsn0JjxKJiJSeii2B2pYZQ1bSDuVQPbHFkzwiIqWoYksgWttA6+En4ISjw46HojFmHncW4WjM42QiIqWjYksA4JDzryQ+qZXQoEVToVg1ta2zmffJwbtdi4gES8VeGIb+C6bH/dvvWfvn21n35/8m3dNBVeMk5pxyLrNO/DsiVXG/I4qI+KqiSwAgWlPHAWd8gQPO+ILfUURESk5FTweJiEhxKgERkQBTCYiIBJhKQEQkwMrpwnAYYOvWrX7nEBEpGwXHzPBw4+VUAlMBzjnnHL9ziIiUo6nA64OfLKcSeApYBGwBcj5nEREpF2H6C+Cp4QYdd4QblYuISOXThWERkQArp+kgKWCMOQv4uLX2035nKSXGmBBwPXAokAIusNau9jdV6TLGHAl831p7vN9ZSpExJgosAWYDVcDV1tqlvoYaYzoTKEPGmB8B30V/f8M5E6i21h4NXAZc63OekmWMuRT4BVDtd5YSdi7Qbq1dBJwK/NTnPGNOB5Hy9Bhwod8hStSxwH0A1tongPf5G6ekvQ6c7XeIEvcb4MqCx1m/gowXTQeVMGPM54DB+12fb6290xhzvA+RykED0FnwOGeMiVhrK+5/3nfLWvs7Y8xsv3OUMmttD4Axph74LXCFv4nGnkqghFlrbwZu9jtHmekC6gseh1QA8m4YY2YAdwHXW2tv9zvPWNN0kFSaFcBpAMaYo4CV/saRcmaMaQGWAf9srV3id57xoDMBqTR3AYuNMY8BDnC+z3mkvF0ONAFXGmPevDZwqrU26WOmMaXFYiIiAabpIBGRAFMJiIgEmEpARCTAVAIiIgGmEhARCTCVgMheMsYsNsY8b4yJDzzexxiz0hgzbeDxdcaYL/mbUmTPqARE9pK19s/A/cC1A7tM3glcAqSNMX8CPupnPpG9oRIQeWe+ARwO/AH4y0Ax1AH/AtziYy6RvaISEHkHrLUZ4CZgMfCfA8+ttdY+6Wswkb2kEhB5B4wxs4CvAZcCtxpjwj5HEnlHVAIie8kYEwN+DfyjtfY64A3gW/6mEnlnVAIie+9aYLkgnc7UAAAARUlEQVS19t6Bx18GPqV7PEg50gZyIiIBpjMBEZEAUwmIiASYSkBEJMBUAiIiAaYSEBEJMJWAiEiAqQRERAJMJSAiEmD/HwIen/PzJXCSAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Generating random data: 20 observations of 2 features and divide into two classes.\n", "np.random.seed(5)\n", "X = np.random.randn(20,2)\n", "y = np.repeat([1,-1], 10)\n", "\n", "X[y == -1] = X[y == -1] +1\n", "plt.scatter(X[:,0], X[:,1], s=70, c=y, cmap=plt.cm.Paired)\n", "plt.xlabel('X1')\n", "plt.ylabel('X2');" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Number of support vectors: 13\n" ] } ], "source": [ "# Support Vector Classifier with linear kernel.\n", "svc = SVC(C= 1.0, kernel='linear')\n", "svc.fit(X, y)\n", "\n", "plot_svc(svc, X, y)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Number of support vectors: 16\n" ] } ], "source": [ "# When using a smaller cost parameter (C=0.1) the margin is wider, resulting in more support vectors.\n", "svc2 = SVC(C=0.1, kernel='linear')\n", "svc2.fit(X, y)\n", "plot_svc(svc2, X, y)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'mean_fit_time': array([ 0.00041504, 0.00026286, 0.00026855, 0.00027678, 0.00026004,\n", " 0.00027893, 0.00039349]),\n", " 'mean_score_time': array([ 0.00026352, 0.00018048, 0.0001838 , 0.0001822 , 0.00018001,\n", " 0.00018055, 0.00017881]),\n", " 'mean_test_score': array([ 0.8 , 0.8 , 0.8 , 0.75, 0.75, 0.75, 0.75]),\n", " 'mean_train_score': array([ 0.79444444, 0.79444444, 0.75 , 0.77777778, 0.76666667,\n", " 0.76666667, 0.76666667]),\n", " 'param_C': masked_array(data = [0.001 0.01 0.1 1 5 10 100],\n", " mask = [False False False False False False False],\n", " fill_value = ?),\n", " 'params': [{'C': 0.001},\n", " {'C': 0.01},\n", " {'C': 0.1},\n", " {'C': 1},\n", " {'C': 5},\n", " {'C': 10},\n", " {'C': 100}],\n", " 'rank_test_score': array([1, 1, 1, 4, 4, 4, 4], dtype=int32),\n", " 'split0_test_score': array([ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]),\n", " 'split0_train_score': array([ 0.83333333, 0.83333333, 0.77777778, 0.77777778, 0.77777778,\n", " 0.77777778, 0.77777778]),\n", " 'split1_test_score': array([ 0.5, 0.5, 0.5, 0. , 0. , 0. , 0. ]),\n", " 'split1_train_score': array([ 0.83333333, 0.83333333, 0.83333333, 0.88888889, 0.88888889,\n", " 0.88888889, 0.88888889]),\n", " 'split2_test_score': array([ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]),\n", " 'split2_train_score': array([ 0.83333333, 0.83333333, 0.77777778, 0.83333333, 0.83333333,\n", " 0.83333333, 0.83333333]),\n", " 'split3_test_score': array([ 1., 1., 1., 1., 1., 1., 1.]),\n", " 'split3_train_score': array([ 0.77777778, 0.77777778, 0.72222222, 0.72222222, 0.72222222,\n", " 0.72222222, 0.72222222]),\n", " 'split4_test_score': array([ 1., 1., 1., 1., 1., 1., 1.]),\n", " 'split4_train_score': array([ 0.77777778, 0.77777778, 0.72222222, 0.77777778, 0.77777778,\n", " 0.77777778, 0.77777778]),\n", " 'split5_test_score': array([ 1., 1., 1., 1., 1., 1., 1.]),\n", " 'split5_train_score': array([ 0.77777778, 0.77777778, 0.72222222, 0.72222222, 0.72222222,\n", " 0.72222222, 0.72222222]),\n", " 'split6_test_score': array([ 1., 1., 1., 1., 1., 1., 1.]),\n", " 'split6_train_score': array([ 0.77777778, 0.77777778, 0.72222222, 0.77777778, 0.72222222,\n", " 0.72222222, 0.72222222]),\n", " 'split7_test_score': array([ 1., 1., 1., 1., 1., 1., 1.]),\n", " 'split7_train_score': array([ 0.72222222, 0.72222222, 0.72222222, 0.77777778, 0.72222222,\n", " 0.72222222, 0.72222222]),\n", " 'split8_test_score': array([ 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5]),\n", " 'split8_train_score': array([ 0.83333333, 0.83333333, 0.77777778, 0.77777778, 0.77777778,\n", " 0.77777778, 0.77777778]),\n", " 'split9_test_score': array([ 1., 1., 1., 1., 1., 1., 1.]),\n", " 'split9_train_score': array([ 0.77777778, 0.77777778, 0.72222222, 0.72222222, 0.72222222,\n", " 0.72222222, 0.72222222]),\n", " 'std_fit_time': array([ 1.29045113e-04, 2.34619509e-05, 4.18230226e-05,\n", " 3.99072322e-05, 4.80760882e-06, 2.40586557e-05,\n", " 4.76230235e-05]),\n", " 'std_score_time': array([ 1.05007676e-04, 1.09293532e-05, 1.94490093e-05,\n", " 1.08948682e-05, 1.90122934e-05, 1.49680733e-05,\n", " 2.26685797e-06]),\n", " 'std_test_score': array([ 0.24494897, 0.24494897, 0.24494897, 0.3354102 , 0.3354102 ,\n", " 0.3354102 , 0.3354102 ]),\n", " 'std_train_score': array([ 0.03557291, 0.03557291, 0.0372678 , 0.0496904 , 0.05443311,\n", " 0.05443311, 0.05443311])}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Select the optimal C parameter by cross-validation\n", "tuned_parameters = [{'C': [0.001, 0.01, 0.1, 1, 5, 10, 100]}]\n", "clf = GridSearchCV(SVC(kernel='linear'), tuned_parameters, cv=10, scoring='accuracy', return_train_score=True)\n", "clf.fit(X, y)\n", "clf.cv_results_" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'C': 0.001}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 0.001 is best according to GridSearchCV. \n", "clf.best_params_" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Generating test data\n", "np.random.seed(1)\n", "X_test = np.random.randn(20,2)\n", "y_test = np.random.choice([-1,1], 20)\n", "X_test[y_test == 1] = X_test[y_test == 1] -1\n", "\n", "plt.scatter(X_test[:,0], X_test[:,1], s=70, c=y_test, cmap=plt.cm.Paired)\n", "plt.xlabel('X1')\n", "plt.ylabel('X2');" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
-11
-126
1012
\n", "
" ], "text/plain": [ " -1 1\n", "-1 2 6\n", " 1 0 12" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# svc2 : C = 0.1\n", "y_pred = svc2.predict(X_test)\n", "pd.DataFrame(confusion_matrix(y_test, y_pred),index=svc.classes_, columns=svc.classes_)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
-11
-126
1012
\n", "
" ], "text/plain": [ " -1 1\n", "-1 2 6\n", " 1 0 12" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svc3 = SVC(C=0.001, kernel='linear')\n", "svc3.fit(X, y)\n", "\n", "# svc3 : C = 0.001\n", "y_pred = svc3.predict(X_test)\n", "pd.DataFrame(confusion_matrix(y_test, y_pred), index=svc3.classes_, columns=svc3.classes_)\n", "# The misclassification is the same" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Changing the test data so that the classes are really seperable with a hyperplane.\n", "X_test[y_test == 1] = X_test[y_test == 1] -1\n", "plt.scatter(X_test[:,0], X_test[:,1], s=70, c=y_test, cmap=plt.cm.Paired)\n", "plt.xlabel('X1')\n", "plt.ylabel('X2');" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=10.0, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svc4 = SVC(C=10.0, kernel='linear')\n", "svc4.fit(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Number of support vectors: 4\n" ] } ], "source": [ "plot_svc(svc4, X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=1, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Increase the margin. Now there is one misclassification: increased bias, lower variance.\n", "svc5 = SVC(C=1, kernel='linear')\n", "svc5.fit(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Number of support vectors: 5\n" ] } ], "source": [ "plot_svc(svc5, X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 9.6.2 Support Vector Machine " ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Generating test data\n", "np.random.seed(8)\n", "X = np.random.randn(200,2)\n", "X[:100] = X[:100] +2\n", "X[101:150] = X[101:150] -2\n", "y = np.concatenate([np.repeat(-1, 150), np.repeat(1,50)])\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=2)\n", "\n", "plt.scatter(X[:,0], X[:,1], s=70, c=y, cmap=plt.cm.Paired)\n", "plt.xlabel('X1')\n", "plt.ylabel('X2');" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma=1, kernel='rbf',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svm = SVC(C=1.0, kernel='rbf', gamma=1)\n", "svm.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Number of support vectors: 51\n" ] } ], "source": [ "plot_svc(svm, X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=100, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma=1.0, kernel='rbf',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Increasing C parameter, allowing more flexibility\n", "svm2 = SVC(C=100, kernel='rbf', gamma=1.0)\n", "svm2.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Number of support vectors: 36\n" ] } ], "source": [ "plot_svc(svm2, X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "{'mean_fit_time': array([ 0.00057094, 0.00040917, 0.00044692, 0.00046566, 0.0004539 ,\n", " 0.00037632, 0.00042117, 0.00052576, 0.00053477, 0.00054688,\n", " 0.00039585, 0.00043306, 0.00058219, 0.00061436, 0.00059385,\n", " 0.00039713, 0.00043871, 0.00058134, 0.0006536 , 0.00065069,\n", " 0.00043354, 0.00047519, 0.0005713 , 0.00062847, 0.00062041]),\n", " 'mean_score_time': array([ 0.00028653, 0.00020535, 0.00020931, 0.00020568, 0.00019453,\n", " 0.00019224, 0.00019584, 0.0002043 , 0.00020387, 0.00020037,\n", " 0.0001987 , 0.00019855, 0.00020149, 0.00020573, 0.00021515,\n", " 0.0001905 , 0.00019574, 0.00020428, 0.00020165, 0.00020831,\n", " 0.00020461, 0.00019076, 0.0001929 , 0.00019503, 0.00019488]),\n", " 'mean_test_score': array([ 0.77, 0.77, 0.77, 0.77, 0.77, 0.77, 0.77, 0.77, 0.77,\n", " 0.77, 0.92, 0.92, 0.9 , 0.88, 0.85, 0.92, 0.89, 0.86,\n", " 0.86, 0.87, 0.84, 0.83, 0.86, 0.87, 0.87]),\n", " 'mean_train_score': array([ 0.77002017, 0.77002017, 0.77002017, 0.77002017, 0.77002017,\n", " 0.77002017, 0.77002017, 0.77002017, 0.77002017, 0.77002017,\n", " 0.93557504, 0.94777366, 0.95998477, 0.96333059, 0.98112195,\n", " 0.95113224, 0.9666642 , 0.99112277, 0.99112277, 0.99112277,\n", " 0.9688989 , 0.99112277, 0.99112277, 0.99112277, 0.99112277]),\n", " 'param_C': masked_array(data = [0.01 0.01 0.01 0.01 0.01 0.1 0.1 0.1 0.1 0.1 1 1 1 1 1 10 10 10 10 10 100\n", " 100 100 100 100],\n", " mask = [False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False],\n", " fill_value = ?),\n", " 'param_gamma': masked_array(data = [0.5 1 2 3 4 0.5 1 2 3 4 0.5 1 2 3 4 0.5 1 2 3 4 0.5 1 2 3 4],\n", " mask = [False False False False False False False False False False False False\n", " False False False False False False False False False False False False\n", " False],\n", " fill_value = ?),\n", " 'params': [{'C': 0.01, 'gamma': 0.5},\n", " {'C': 0.01, 'gamma': 1},\n", " {'C': 0.01, 'gamma': 2},\n", " {'C': 0.01, 'gamma': 3},\n", " {'C': 0.01, 'gamma': 4},\n", " {'C': 0.1, 'gamma': 0.5},\n", " {'C': 0.1, 'gamma': 1},\n", " {'C': 0.1, 'gamma': 2},\n", " {'C': 0.1, 'gamma': 3},\n", " {'C': 0.1, 'gamma': 4},\n", " {'C': 1, 'gamma': 0.5},\n", " {'C': 1, 'gamma': 1},\n", " {'C': 1, 'gamma': 2},\n", " {'C': 1, 'gamma': 3},\n", " {'C': 1, 'gamma': 4},\n", " {'C': 10, 'gamma': 0.5},\n", " {'C': 10, 'gamma': 1},\n", " {'C': 10, 'gamma': 2},\n", " {'C': 10, 'gamma': 3},\n", " {'C': 10, 'gamma': 4},\n", " {'C': 100, 'gamma': 0.5},\n", " {'C': 100, 'gamma': 1},\n", " {'C': 100, 'gamma': 2},\n", " {'C': 100, 'gamma': 3},\n", " {'C': 100, 'gamma': 4}],\n", " 'rank_test_score': array([16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 1, 1, 4, 6, 13, 1, 5,\n", " 10, 10, 7, 14, 15, 10, 7, 7], dtype=int32),\n", " 'split0_test_score': array([ 0.72727273, 0.72727273, 0.72727273, 0.72727273, 0.72727273,\n", " 0.72727273, 0.72727273, 0.72727273, 0.72727273, 0.72727273,\n", " 0.90909091, 0.90909091, 0.81818182, 0.81818182, 0.81818182,\n", " 0.90909091, 0.81818182, 0.72727273, 0.72727273, 0.72727273,\n", " 0.81818182, 0.81818182, 0.72727273, 0.72727273, 0.72727273]),\n", " 'split0_train_score': array([ 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 ,\n", " 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 ,\n", " 0.94382022, 0.95505618, 0.96629213, 0.96629213, 0.98876404,\n", " 0.95505618, 0.97752809, 1. , 1. , 1. ,\n", " 0.97752809, 1. , 1. , 1. , 1. ]),\n", " 'split1_test_score': array([ 0.72727273, 0.72727273, 0.72727273, 0.72727273, 0.72727273,\n", " 0.72727273, 0.72727273, 0.72727273, 0.72727273, 0.72727273,\n", " 1. , 0.90909091, 0.90909091, 0.90909091, 0.81818182,\n", " 0.90909091, 0.81818182, 0.90909091, 0.90909091, 0.90909091,\n", " 0.81818182, 0.81818182, 0.90909091, 1. , 1. ]),\n", " 'split1_train_score': array([ 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 ,\n", " 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 ,\n", " 0.92134831, 0.93258427, 0.95505618, 0.96629213, 0.97752809,\n", " 0.96629213, 0.96629213, 0.98876404, 0.98876404, 0.98876404,\n", " 0.97752809, 0.98876404, 0.98876404, 0.98876404, 0.98876404]),\n", " 'split2_test_score': array([ 0.72727273, 0.72727273, 0.72727273, 0.72727273, 0.72727273,\n", " 0.72727273, 0.72727273, 0.72727273, 0.72727273, 0.72727273,\n", " 1. , 1. , 1. , 0.90909091, 0.81818182,\n", " 1. , 1. , 1. , 0.90909091, 0.90909091,\n", " 1. , 1. , 1. , 0.90909091, 0.90909091]),\n", " 'split2_train_score': array([ 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 ,\n", " 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 , 0.7752809 ,\n", " 0.93258427, 0.94382022, 0.95505618, 0.95505618, 0.97752809,\n", " 0.94382022, 0.95505618, 0.98876404, 0.98876404, 0.98876404,\n", " 0.95505618, 0.98876404, 0.98876404, 0.98876404, 0.98876404]),\n", " 'split3_test_score': array([ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 1. ,\n", " 1. , 1. , 1. , 1. , 0.9, 0.9, 1. , 1. , 1. , 0.9, 0.9,\n", " 1. , 1. , 1. ]),\n", " 'split3_train_score': array([ 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.94444444, 0.95555556, 0.95555556, 0.95555556, 0.97777778,\n", " 0.94444444, 0.95555556, 0.98888889, 0.98888889, 0.98888889,\n", " 0.95555556, 0.98888889, 0.98888889, 0.98888889, 0.98888889]),\n", " 'split4_test_score': array([ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,\n", " 0.8, 0.8, 0.8, 0.8, 0.9, 0.7, 0.7, 0.7, 0.8, 0.7, 0.7,\n", " 0.7, 0.7, 0.7]),\n", " 'split4_train_score': array([ 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.93333333, 0.94444444, 0.95555556, 0.97777778, 0.98888889,\n", " 0.95555556, 0.97777778, 0.98888889, 0.98888889, 0.98888889,\n", " 0.98888889, 0.98888889, 0.98888889, 0.98888889, 0.98888889]),\n", " 'split5_test_score': array([ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 1. ,\n", " 1. , 1. , 1. , 0.9, 1. , 1. , 1. , 1. , 1. , 0.9, 1. ,\n", " 1. , 1. , 1. ]),\n", " 'split5_train_score': array([ 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.94444444, 0.94444444, 0.95555556, 0.95555556, 0.97777778,\n", " 0.94444444, 0.96666667, 0.98888889, 0.98888889, 0.98888889,\n", " 0.96666667, 0.98888889, 0.98888889, 0.98888889, 0.98888889]),\n", " 'split6_test_score': array([ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.7,\n", " 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.7, 0.7, 0.7, 0.7, 0.6,\n", " 0.7, 0.7, 0.7]),\n", " 'split6_train_score': array([ 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.76666667, 0.76666667, 0.76666667, 0.76666667, 0.76666667,\n", " 0.95555556, 0.96666667, 0.96666667, 0.96666667, 0.98888889,\n", " 0.95555556, 0.96666667, 1. , 1. , 1. ,\n", " 0.96666667, 1. , 1. , 1. , 1. ]),\n", " 'split7_test_score': array([ 0.77777778, 0.77777778, 0.77777778, 0.77777778, 0.77777778,\n", " 0.77777778, 0.77777778, 0.77777778, 0.77777778, 0.77777778,\n", " 0.77777778, 0.77777778, 0.77777778, 0.77777778, 0.77777778,\n", " 0.77777778, 0.88888889, 0.77777778, 0.88888889, 0.88888889,\n", " 0.77777778, 0.77777778, 0.77777778, 0.88888889, 0.88888889]),\n", " 'split7_train_score': array([ 0.76923077, 0.76923077, 0.76923077, 0.76923077, 0.76923077,\n", " 0.76923077, 0.76923077, 0.76923077, 0.76923077, 0.76923077,\n", " 0.94505495, 0.95604396, 0.96703297, 0.96703297, 0.97802198,\n", " 0.95604396, 0.95604396, 0.98901099, 0.98901099, 0.98901099,\n", " 0.95604396, 0.98901099, 0.98901099, 0.98901099, 0.98901099]),\n", " 'split8_test_score': array([ 0.77777778, 0.77777778, 0.77777778, 0.77777778, 0.77777778,\n", " 0.77777778, 0.77777778, 0.77777778, 0.77777778, 0.77777778,\n", " 1. , 1. , 0.88888889, 0.88888889, 0.88888889,\n", " 1. , 1. , 0.88888889, 0.88888889, 0.88888889,\n", " 0.88888889, 0.88888889, 0.88888889, 0.88888889, 0.88888889]),\n", " 'split8_train_score': array([ 0.76923077, 0.76923077, 0.76923077, 0.76923077, 0.76923077,\n", " 0.76923077, 0.76923077, 0.76923077, 0.76923077, 0.76923077,\n", " 0.91208791, 0.93406593, 0.96703297, 0.96703297, 0.97802198,\n", " 0.94505495, 0.96703297, 0.98901099, 0.98901099, 0.98901099,\n", " 0.96703297, 0.98901099, 0.98901099, 0.98901099, 0.98901099]),\n", " 'split9_test_score': array([ 0.77777778, 0.77777778, 0.77777778, 0.77777778, 0.77777778,\n", " 0.77777778, 0.77777778, 0.77777778, 0.77777778, 0.77777778,\n", " 1. , 1. , 1. , 0.88888889, 0.88888889,\n", " 1. , 1. , 0.88888889, 0.88888889, 0.88888889,\n", " 0.88888889, 0.77777778, 0.88888889, 0.88888889, 0.88888889]),\n", " 'split9_train_score': array([ 0.76923077, 0.76923077, 0.76923077, 0.76923077, 0.76923077,\n", " 0.76923077, 0.76923077, 0.76923077, 0.76923077, 0.76923077,\n", " 0.92307692, 0.94505495, 0.95604396, 0.95604396, 0.97802198,\n", " 0.94505495, 0.97802198, 0.98901099, 0.98901099, 0.98901099,\n", " 0.97802198, 0.98901099, 0.98901099, 0.98901099, 0.98901099]),\n", " 'std_fit_time': array([ 1.29946046e-04, 2.37428996e-05, 3.44466995e-05,\n", " 4.06270366e-05, 1.08891275e-05, 9.16545024e-06,\n", " 3.26168903e-05, 4.05703804e-05, 3.52196780e-05,\n", " 5.12081594e-05, 4.58430076e-05, 5.77187892e-05,\n", " 6.30817400e-05, 5.33768882e-05, 3.02056298e-05,\n", " 1.66381495e-05, 2.50651415e-05, 3.66048308e-05,\n", " 4.32769062e-05, 1.73285536e-05, 2.26485603e-05,\n", " 3.73201545e-05, 1.64487395e-05, 2.56888689e-05,\n", " 2.57250885e-05]),\n", " 'std_score_time': array([ 5.44625275e-05, 1.39864760e-05, 2.87118636e-05,\n", " 1.88631289e-05, 2.26798611e-06, 3.38697068e-06,\n", " 9.65003433e-06, 1.13169492e-05, 1.33860726e-05,\n", " 8.99264819e-06, 1.90952892e-05, 1.06008097e-05,\n", " 9.35649405e-06, 1.96293797e-05, 3.91622674e-05,\n", " 4.30343884e-06, 8.26594154e-06, 2.02857086e-05,\n", " 1.05884695e-05, 2.38947401e-05, 4.54962125e-05,\n", " 2.53767431e-06, 1.47145025e-06, 2.89460186e-06,\n", " 1.58220864e-06]),\n", " 'std_test_score': array([ 0.03128559, 0.03128559, 0.03128559, 0.03128559, 0.03128559,\n", " 0.03128559, 0.03128559, 0.03128559, 0.03128559, 0.03128559,\n", " 0.10933222, 0.08867145, 0.09000561, 0.07563869, 0.06384166,\n", " 0.07656779, 0.10140926, 0.11898561, 0.10832051, 0.09712535,\n", " 0.09132028, 0.11988631, 0.11898561, 0.11629378, 0.11629378]),\n", " 'std_train_score': array([ 0.00360388, 0.00360388, 0.00360388, 0.00360388, 0.00360388,\n", " 0.00360388, 0.00360388, 0.00360388, 0.00360388, 0.00360388,\n", " 0.01280087, 0.01001371, 0.00553851, 0.00712229, 0.00506044,\n", " 0.0072475 , 0.00861247, 0.00443945, 0.00443945, 0.00443945,\n", " 0.01086333, 0.00443945, 0.00443945, 0.00443945, 0.00443945])}" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Set the parameters by cross-validation\n", "tuned_parameters = [{'C': [0.01, 0.1, 1, 10, 100],\n", " 'gamma': [0.5, 1,2,3,4]}]\n", "clf = GridSearchCV(SVC(kernel='rbf'), tuned_parameters, cv=10, scoring='accuracy', return_train_score=True)\n", "clf.fit(X_train, y_train)\n", "clf.cv_results_" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'C': 1, 'gamma': 0.5}" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.best_params_" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[67, 6],\n", " [ 9, 18]])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "confusion_matrix(y_test, clf.best_estimator_.predict(X_test))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.84999999999999998" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 15% of test observations misclassified\n", "clf.best_estimator_.score(X_test, y_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 9.6.3 ROC Curves" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comparing the ROC curves of two models on train/test data. One model is more flexible than the other." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=1, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma=2, kernel='rbf',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svm3 = SVC(C=1, kernel='rbf', gamma=2)\n", "svm3.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=1, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma=50, kernel='rbf',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# More flexible model\n", "svm4 = SVC(C=1, kernel='rbf', gamma=50)\n", "svm4.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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3/6Gy+VyOo6IeAE1QFIgOXfNjo6OJiYmxulIIiIiubz77rs8+OCD3H777cybN4+AgACnI4mIF1ADJBctMzOTp556ipdeeomePXsyf/58LrvsMqdjiYiIAO4P6V577TX69u1LREQEK1asoFKlSk7HEhEvoXuA5KKdOXOGTZs28fTTT/PGG29o4zgRkSLS5pcYWh6MhfAcLyYlgRaeySUzM5P169fTrVs3PvjgA4KDg52OJCJeRA2Q5NupU6fIyMigXLlyfPXVV5QuXVrTCUREilDLg7HceCIJyNHwhIZC9+6OZfImaWlpHD9+nMqVKzNnzhyCgoL0IZ2I/IEaIMmXI0eO0LZtW8qWLUtcXBxlypRxOpKIiF/aHRJKaHy80zG8TkpKCp07d+bHH3/kX//6F6VKlXI6koh4KTVAckE///wzUVFR7Ny5k9jYWI36iIiIVzl27Bht27YlMTGRKVOmqPkRkTypAZI87dq1i1atWnH48GGWLFnCvffe63QkERGRbPv37ycyMpLt27cze/ZsunTp4nQkEfFyaoDkvFwuF126dOHkyZOsWrWKBg0aOB1JREQkl759+7Jnzx6++OILIiIinI4jIj5ADZCcV0BAADNnzqRkyZIYY5yOIyIi8gfTpk3jl19+oVGjRk5HEREfoaVR5A8WLFjAsGHDcLlc1K1bV82PiIh4lYSEBPr27UtGRgZXX321mh8RuShqgCSX9957j44dO5KQkEBKSorTcURERHI5O9UtISGBI0eOOB1HRHyQGiDJNnbsWPr06ZO9a/Zll13mdCQREZFsH374Ie3bt6devXqsXbuWqlWrOh1JRHyQGiABYMSIEQwfPpxu3bqxcOFCypYt63QkERGRbFOmTKFXr140b96cr776iipVqjgdSUR8lBogAaBhw4YMGjSIjz76iODgYKfjiIiI5BIaGkrPnj354osvKFeunNNxRMSHqQHyYykpKaxYsQKA9u3bM2nSJEqU0L8SIiLiHdLT01myZAkAYWFhzJgxQ5ucisgl02+7furYsWNERkYSHR3NDz/84HQcERGRXE6fPk3nzp2Jjo5m06ZNTscRkWJE+wD5of379xMVFcW2bduYOXMm1157rdORREREsh0/fpz27duzatUqJk6cqI24RaRQqQHyM3v27CEiIoL9+/dr12wREfE6Bw8e/P/27jyuqmr///gL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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "y_train_score3 = svm3.decision_function(X_train)\n", "y_train_score4 = svm4.decision_function(X_train)\n", "\n", "false_pos_rate3, true_pos_rate3, _ = roc_curve(y_train, y_train_score3)\n", "roc_auc3 = auc(false_pos_rate3, true_pos_rate3)\n", "\n", "false_pos_rate4, true_pos_rate4, _ = roc_curve(y_train, y_train_score4)\n", "roc_auc4 = auc(false_pos_rate4, true_pos_rate4)\n", "\n", "fig, (ax1,ax2) = plt.subplots(1, 2, figsize=(14,6))\n", "ax1.plot(false_pos_rate3, true_pos_rate3, label='SVM $\\gamma = 1$ ROC curve (area = %0.2f)' % roc_auc3, color='b')\n", "ax1.plot(false_pos_rate4, true_pos_rate4, label='SVM $\\gamma = 50$ ROC curve (area = %0.2f)' % roc_auc4, color='r')\n", "ax1.set_title('Training Data')\n", "\n", "y_test_score3 = svm3.decision_function(X_test)\n", "y_test_score4 = svm4.decision_function(X_test)\n", "\n", "false_pos_rate3, true_pos_rate3, _ = roc_curve(y_test, y_test_score3)\n", "roc_auc3 = auc(false_pos_rate3, true_pos_rate3)\n", "\n", "false_pos_rate4, true_pos_rate4, _ = roc_curve(y_test, y_test_score4)\n", "roc_auc4 = auc(false_pos_rate4, true_pos_rate4)\n", "\n", "ax2.plot(false_pos_rate3, true_pos_rate3, label='SVM $\\gamma = 1$ ROC curve (area = %0.2f)' % roc_auc3, color='b')\n", "ax2.plot(false_pos_rate4, true_pos_rate4, label='SVM $\\gamma = 50$ ROC curve (area = %0.2f)' % roc_auc4, color='r')\n", "ax2.set_title('Test Data')\n", "\n", "for ax in fig.axes:\n", " ax.plot([0, 1], [0, 1], 'k--')\n", " ax.set_xlim([-0.05, 1.0])\n", " ax.set_ylim([0.0, 1.05])\n", " ax.set_xlabel('False Positive Rate')\n", " ax.set_ylabel('True Positive Rate')\n", " ax.legend(loc=\"lower right\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the more flexible model scores better on training data but worse on the test data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 9.6.4 SVM with Multiple Classes" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Adding a third class of observations\n", "np.random.seed(8)\n", "XX = np.vstack([X, np.random.randn(50,2)])\n", "yy = np.hstack([y, np.repeat(0,50)])\n", "XX[yy ==0] = XX[yy == 0] +4\n", "\n", "plt.scatter(XX[:,0], XX[:,1], s=70, c=yy, cmap=plt.cm.prism)\n", "plt.xlabel('XX1')\n", "plt.ylabel('XX2');" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=1, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "svm5 = SVC(C=1, kernel='rbf')\n", "svm5.fit(XX, yy)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Number of support vectors: 133\n" ] } ], "source": [ "plot_svc(svm5, XX, yy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 9.6.5 Application to Gene Expression Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In R, I exported the dataset from package 'ISLR' to csv files." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "X_train = pd.read_csv('Data/Khan_xtrain.csv').drop('Unnamed: 0', axis=1)\n", "y_train = pd.read_csv('Data/Khan_ytrain.csv').drop('Unnamed: 0', axis=1).as_matrix().ravel()\n", "X_test = pd.read_csv('Data/Khan_xtest.csv').drop('Unnamed: 0', axis=1)\n", "y_test = pd.read_csv('Data/Khan_ytest.csv').drop('Unnamed: 0', axis=1).as_matrix().ravel()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 8\n", "2 23\n", "3 12\n", "4 20\n", "dtype: int64" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# y_train counts\n", "pd.Series(y_train).value_counts(sort=False)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 3\n", "2 6\n", "3 6\n", "4 5\n", "dtype: int64" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# y_test counts\n", "pd.Series(y_test).value_counts(sort=False)" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n", " decision_function_shape='ovr', degree=3, gamma='auto', kernel='linear',\n", " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", " tol=0.001, verbose=False)" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# This model gives identical results to the svm() of the R package e1071, also based on libsvm library.\n", "svc = SVC(kernel='linear')\n", "\n", "# This model is based on liblinear library and gives 100 score on the test data. \n", "#svc = LinearSVC()\n", "\n", "svc.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True 1 2 3 4\n", "Predicted \n", "1 8 0 0 0\n", "2 0 23 0 0\n", "3 0 0 12 0\n", "4 0 0 0 20\n" ] } ], "source": [ "cm = confusion_matrix(y_train, svc.predict(X_train))\n", "cm_df = pd.DataFrame(cm.T, index=svc.classes_, columns=svc.classes_)\n", "cm_df.index.name = 'Predicted'\n", "cm_df.columns.name = 'True'\n", "print(cm_df)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True 1 2 3 4\n", "Predicted \n", "1 3 0 0 0\n", "2 0 6 2 0\n", "3 0 0 4 0\n", "4 0 0 0 5\n" ] } ], "source": [ "cm = confusion_matrix(y_test, svc.predict(X_test))\n", "cm_df = pd.DataFrame(cm.T, index=svc.classes_, columns=svc.classes_)\n", "cm_df.index.name = 'Predicted'\n", "cm_df.columns.name = 'True'\n", "print(cm_df)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 1 }