{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Support Vector Machines" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "New R commands:\n", "- `svm(formula, data = , kernel = , cost = , scale = )` fit an SVM\n", "- `tune(svm, formula, data = ,kernel = , ranges = list(param = )` tune an SVM with cross-validation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use the `e1071` library in R to demonstrate the support vector classifier\n", "and the SVM.\n", "\n", "The `e1071` library contains implementations for a number of statistical\n", "learning methods. In particular, the svm() function can be used to fit a\n", "support vector classifier when the argument kernel=\"linear\" is used. This\n", "function uses a slightly different formulation from the slides (or equations (9.14) and (9.25) in the book) for the\n", "support vector classifier. A cost argument allows us to specify the cost of\n", "a violation to the margin. When the cost argument is small, then the margins will be wide and many support vectors will be on the margin or will\n", "violate the margin. When the cost argument is large, then the margins will\n", "be narrow and there will be few support vectors on the margin or violating\n", "the margin.\n", "We now use the svm() function to fit the support vector classifier for a\n", "given value of the cost parameter. Here we demonstrate the use of this\n", "function on a two-dimensional example so that we can plot the resulting\n", "decision boundary. We begin by generating the observations, which belong\n", "to two classes, and checking whether the classes are linearly separable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Support Vector Classifiers" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzdebzWc/7H4fdpOaWF4mhTaZWUtbJT2UIS2fdsw2AwwxhGJoMxI8NgCNmZ\nLJN1CCFU1kIpLdJiSWTXftrO7w/5peYoNXV/z/051/XHPPS57+5eM0aefe+toKSkJAAAyH8V\nsh4AAMDaIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewA\nABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHs\nAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh\n7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAAS\nIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAA\nEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewA\nABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHs\nAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh\n7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAElEp6wH5\n4d133120aFHWKwCAMqFSpUpbb7111itKIexW7a233urQoUPWKwCAMmTEiBHt27fPesWKhN2q\nLViwICKKi4sLCwuz3gIAZGzBggVVqlT5IQ/KGq+xAwBIhLADAEiEsAMASISwAwBIhLADAEiE\nsAMASISwAwBIhLADAEiEsAMASISwAwBIhLADAEiEsAMASISwAwBIhLADAEiEsAMASISwAwBI\nRKWsBwAArEujR8f998eYMRERW24ZRx8dW22V9aZ1xRU7ACBdf/tbbLddvP56tGkTbdrE66/H\ndtvF3/6W9ax1xRU7ACBRDz8cvXvHgAFx8MHLDh97LI48Mlq2jEMOyW7ZuuKKHQCQqCuvjLPP\nXq7qIuLgg+Pss+PKKzPatG4JOwAgRbNnx8iRpV+W69EjRo6MOXNyvmmdE3YAQIpmzYqI2HDD\nUm7acMMoKYmZM3O8KAeEHQCQoqKiqFo1Jk0q5aZJk6Jq1SgqyvmmdU7YAQApqlw5unaN66+P\nkpLlzpcsieuvj65do3LljJatQ8IOAEjUX/4Sb74Zxx4bn3++9OTzz+O442L4cG+eAADIK61a\nxYsvxujRUb9+NG0aTZtG/foxenS8+GJstlnW49YJn2MHAKRru+3i3Xdj1Kil3zzRtm1su21U\nSPbClrADAJJWoUJst11st13WO3Ih2WIFAChvhB0AQCKEHQBAIoQdAEAihB0AQCKEHQBAIoQd\nAEAihB0AQCKEHQBAIoQdAEAihB0AQCKEHQBAIoQdAEAihB0AQCKEHQBAIoQdAEAihB0AQCKE\nHQBAIoQdAEAihB0AQCKEHQBAIoQdAEAiKmU9AADKsUWL4sknY/jwmDYtWrSIjh2jU6esN5HH\nXLEDgIx89FF06BDHHx8jR0ZhYbz4Yuy9d3TvHnPmZL2MfOWKHQBkYeHC6No16tSJKVNi442X\nHo4fH926xSmnxAMPZDqOfOWKHQBk4cEHY/r0eOSRZVUXEa1bx0MPxUMPxdix2S0jjwk7AMjC\n4MGx//5Ru/aK5+3aRatWMXhwFpvIe8IOALLwzTdRr17pN9WvH998k9s1JELYAUAW6taNjz8u\n/aaPPoq6dXO7hkQIOwDIwv77x9NPx7RpK54PHhwffRRdumSxibwn7AAgC927x7bbRteuMX78\nssPBg+Poo+OMM6JZs+yWkceEHQBkoUKFeOKJaNgw2raNLbaIffaJpk1jn33i8MPj2muzHke+\n8jl2AJCRDTeMgQPj7bdj+PD49NM48sjo2DGaN896FnlM2AFAptq1i3btsh5BIjwVCwCQiHwL\nu8ULFy7OegMAQJmUL2E3d8LDfzps+8Y1CgsLC2s03uHIywZOXbjCXd65pFXVqu2uGJfJPgCA\nzOVF2M19408d2x12+cMjPplbqUb1inM+Gf5Q7wM6HNB3wqKf3mvJwuLi4uJFS7JaCQCQrXwI\nuym3nH3lW3M33O3iJ9+fOXfW7NlfDr/jxDbrff3cOYdeOqI463EAAGVFHoTdN4MHjVhcca8r\nB1xxwGY1KkYUFnU46c4X7jmizqKxV518xbuLVv0IAADlQR6E3Vdffhmx6fbbL/etefUO63vT\nEXUWjbn6rBsn/y8PPmXKlCpVqhSs1C677BIRixZJSACgTMuDz7HbcMMNIyZNm1Yc21b56fGh\n111zwKDjnvrT6bf1eO7UxgVr9uBNmzZ94YUXiotX9pTuU089df311y9Z4tV7AECZlgdhV9Sp\nU9sY/O/eF5+0U5+ORT+5xFjv2Jv+fv/QU54556DfNXv2mj3X6MELCgp22223ld9n8uT/6aIg\nAEBu5MFTsbH5WX1OaVI88po9mrfsdNip51w7+Ksfb2l88l33nNB0wcjr9t1299NufWtOlisB\nADKWD2EXtfa75fXnrjyqXY3Phjx8+w13Dvtq2U11D7rz1acu2a/ht6/2u33wVz//EAAAycuD\np2IjIirW2+ui+/f6w5wZU6Z8OLNm45/eVKH+vpc9PeWCj14bNOi1MZMWta+d1UYAgGzlSdj9\noEL1ui22rFvaLQU1Nt3lkF/tckiuFwEAlB158VQsAACrJuwAABIh7AAAEiHsAAASIewAABIh\n7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAASIewAABIh7AAAEiHsAAAS\nIewAABIh7AAAEiHsAAASIewA4EclJfHhh/Haa/H111lPgTUh7AAgoqQkrrsu6tWLpk1jl12i\nqCi22SZefDHrWbB6hB0ARJx1VvTuHb16xZQpMX9+vPtu7LxzdOkSTzyR9TJYDZWyHgAAWXv1\n1bj11hgyJHbZZenJVltF376x8cZx2mmx995RrVqm++CXcsUOgHKvf//Yd99lVff/LrwwZs+O\nF17IYhOsCWEHQLk3aVJss00p5+utF5tvHpMm5XwQrCFhB0C5V1gY8+eXftP8+VFYmNs1sOaE\nHQDlXrt28cILUVKy4vm0aTFhQrRrl8UmWBPCDoBy7+STY+LEuPrq5Q7nz49f/Sq22y522CGj\nWbDavCsWgHKvceO4++44/vh46aU48MCoXz8mTIh77ok5c+Kll6KCiyDkDf9nBYCIww+Pt96K\nunXjxhvjpJPiscfi4INj1Kho3jzrZbAaXLEDgIiIaNs27r476xHwP3HFDgAgEcIOACARwg4A\nIBHCDgAgEcIOACARwg4AIBHCDgAgEcIOACARwg4AIBHCDgAgEcIOACARwg4AIBHCDgAgEcIO\nACARwg4AIBHCDgAgEcIOACARwg4AIBHCDgAgEcIOACARwg4AIBHCDgAgEcIOACARwg4AIBHC\n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\nFpvy3SmnxIgRMXJkjBgR/fvH0KExaVIsXhzduillKA+EHZCZ6dOjWbNSzouKombNmD4954Py\n1Jw5cfXVse++0ahR3H9/7LTTcm8/adgwHn883n8/Hn00u4lAjgg7IDO1asVXX5VyPm9ezJkT\ntWrlfFA++vTTaNcubrghtt46dt016tSJqVNjq63imWeW3adu3ejSJZ5/PruVQI4IOyAznTrF\ngAGlnD/ySFStGu3b53xQPjr66KhTJ8aOjauuimbNYuut47XX4uyz44gj4rPPlt2tQYPSIxpI\ni7ADMvO738WoUXHBBcu9+uvNN+Pcc+P880t57R0reuutGDYs7ror1l8/IqJOnZg2LQoK4vLL\no1GjuP32ZfecNi3q1MlqJpAzwg7ITLNm8dhjcccdsdlmceKJce65sccesfPO0aNHXHJJ1uPy\nwvDh0apVNG++9IddusSECfH661GhQnTpEsOHLz2fPj0GDYouXbKaCeSMsAOytPfe8f778Zvf\nRER8+GHssEMMGxb9+kXFilkvywvz5kX16st+uPnm0bNnHH54vPlmVK8e8+ZFREyeHAccEFtv\nHd27ZzUTyBkfUAxkrKgozj036xF5qlmz+OCDKC6OKlWWntx8c5x22tI3xtauHe3bx7vvRqdO\n8cADUcGf5CF9/jkHyFt77x2VKsUNNyw7qVIl7r47Hnoo5syJ7baLo46Kl1+O55+PoqLsVgK5\n44odQN6qUSNuuCF69ozvvovTT49GjeK772LgwPjtb+Ooo+K++7LeB+SasAPIZ8ccE9WqxXnn\nxZVXRrVqMXdu1KgRv/udt59A+STsAPLcwQdH9+4xZUpMnBj160fr1lG1atabgGwIO4D8V6FC\ntGgRLVpkvQPImDdPAAAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEA\nJELYAQAkwleKwZp799245ZYYPTpmzYrWreOgg+LII6OgIOtZAJRXrtjBGurbN9q3jylT4oAD\n4tRTo0aN+NWvolu3KC7OehkA5ZUrdrAmXn89zj477rwzjj9+2eEf/xidOsUf/xjXXJPdMgDK\nMVfsYE1ce2306LFc1UVE8+Zx7bVx880xZ05GswAo34QdrIk33oiuXUs579o15s+P0aNzPggA\nhB2smblzo2bNUs7XWy8qVoy5c3M+CACEHayZpk1j3LhSzidOjEWLomnTnA8CAGEHa+aww+KW\n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\nSNgB5dR330WdOqXfVKdOfPttbtcArA3CDiin6tePqVNLv2nq1GjQILdrANYGYQeUUwccEMOH\nx9tvr3j+zjsxfHh07ZrFJoD/jbADyql27eLoo6N79+VeTjdkSHTvHkceGR06ZDYMYI0JO6D8\nuv326No19txz6RsmNtkk9tgj9tsvbr8962UAa8Tn2AHlV5UqceutceGF8cYbMXlyNGsWO+4Y\nzZplPQtgTQk7oLxr2jSaNs16BMDa4KlYAIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7\nAIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQI\nOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBE\nCDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCA\nRAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsA\ngEQIOwCARAg7AIBECDsAgEQIOwCARAg7AIBECDsAgEQIOwCARFTKesCqTep78EF9P/iFd255\nxuOPndFine4BACib8iDsqjdoWlT84tBJM0t+yb2/mL+u9wAAlE158FRs/YOufXniR6/22qFq\nRLS+6O1ZKzPij1tkvRcAIBt5cMUuIqKg1k6X9Drk+m79KxRWq1GjRtZzAADKoDwJu4go3Gmn\ndtH/y7X8qMXFxffff//ChQtXcp9hw4at5V8VAGAdyJ+wi40OvuqRut9vvslafdAvv/zymmuu\nmTdv3kruM3PmzLX6awIArBN5FHbRYPseh67tx2zYsOF777238vvceuutp59++tr+lQEA1rI8\nePMEAAC/RB6HXcm4R6644op+Q9f2y+4AAPJTHofd4tEPXHLJJTe8OCPrIQAAZUIehx0AAD8l\n7AAAEiHsAAASkU8fd7KCiu1O+ec/O220fYOshwAAlAl5HHYFLfc9q2XWIwAAygxPxQIAJELY\nAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC\n2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAk\nQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEA\nJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgBACRC2AEAJELYAQAkQtgB\nACRC2AEAJELYAQAkolLWAwBS88030a9fDB8en3wSzZtHp07Rs2dUrZr1LKAccMUOYG16551o\n2zZuvz0aNYojj4wNNojevaNDh5g+PetlQDngih3AWjN7dhx4YOy5Z9xxRxQWLj3829+ie/c4\n/PAYNiwKCjLdB6TOFTuAtaZ//1i8OPr1W1Z1EVG7dvzrX/Hmm/HKK9ktA8oHYQew1rz2Wuyz\nT6y33ornjRvHNtvEa69lsQkoT4QdwFoze3bUqlX6TRtsELNn53YNUP4IO4C1pnHjeP/9Us5L\nSmLixGjcOOeDgHJG2AGsNYccEi+8EO+8s+L5gw/GF19E165ZbALKE2EHsNbsumscdVTsv388\n9lgsXBgRMW9e3HxznHJKXHppNGiQ9T4gdT7uBGBtuuOO6NUrjjoqSkqibt2YPj1q1oy//jXO\nPjvrZUA5IOwA1qbCwujTJy66KEaNik8+iZYtY6utonr1rGcB5YOwA1j7ateOzp2zHgGUP15j\nBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAI\nYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQ\nCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcA\nkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEH\nAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkAhhBwCQCGEHAJAIYQcAkIhK\nWQ9YDYu+mzJq1ORvo3bzbbdptsF/LZ/zycgxn1ZsuPVWDdfLYh0AQMby5Ird3PH3nrV747rN\nO3TeZ5/OHZrXabLHBY9/vGj5+4y/6eCddjr69snZLAQAyFpeXLGbdvfhu5048Ouo0bj9rlvW\nWfzRW6+/99LVh+z+xaNv3d29KOtxACTju+9ixIj44INo2DDat48GDbIeBKspH67YDb/hTwO/\n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\niGotWzZY7nTTTTeN+ODDDz+MKMpmFzlVWLOoqGZERNUalbPeQu41O+eFL08tWW+Dgp+cLRn7\n7POfRNRu1apOZrtY5/yrHlJT8u2330fU33DD5Y/Xr127YsTMmTOzWQXkUsVqtYuq/fRgyWfP\nnHvUX0dFhZann763Z+sSJuxSsWj2V1/NXvYu9iob1K29XsFK7k+65s+ZsziicuUVLtMUVKlS\nOaKkxIstobyZPb7/xSef88/Xv446Xa5/+NIO/tWfMtWeigl/37X+Txx2j4+rK7eqrrdeQcSs\nWSu8PLpk3rziiPXXXz+bVUAWiqc8eUmXLbY59obXZzbc59JB7wz8zVaFq/5Z5DHZnorqTbbv\n2LHe//9w6wb+1pZbBZtsUj/iy6++WrTcP+Gff/ZZSUTjxo2zWwbk0uJPHv1NtxNufnd25U32\nPP/qf/7pqNY1s57Euuff/qlo2vPel3tmPYKyoc3WW1eMZ95+e3Qcsd3/Hy4ZM2ZcxCbt29fN\ncBmQMzNfOHvPw2/+oErbnnc/cMMJbTVdeeGpWEjO+vvsv2ulmPrYw+8s+wSzuc/9+6nvon73\nA9tnOAzImbHXnXPzB9H8V48PvUvVlSvCDtJT7/jfH1snJl174tkDPy6OWPLdu7cdd9pdX1bZ\n+cLzOlfMehyQA2P+/dC4kvWP/Pu1e9fOegq5JewgQet3vfZf525VcfRNBzTZoHZRrTrb/OrR\nafV73HL3Gc2yXgbkwpw33xwXMXvAMXVr/LeD7/EBxQnzGrvyo2rjdh071timgc8qLRdq7/2P\n10bu1e+Wh4ZO+HJJrabtDjjljCO2K3K5rjyqWG+rjh3nN21SbdV3JRlfV6rfsWPHn7mxZZGL\nOgkr8KlWAABpUO0AAIkQdgAAiRB2AACJEHYAAIkQdgAAiRB2AACJEHYAAIkQdgAAiRB2AACJ\nEHYAAIkQdgAAiRB2AACJEHYAAIkQdgAAiRB2AACJEHYAAIkQdgAAiRB2AACJEHYAAIkQdgAA\niRB2AACJEHYAAIkQdgAAiRB2AACJEHYAAIkQdgAAiRB2AACJEHYAAIkQdgAAiRB2AACJEHYA\nAImolPUAgLLnuw9eHfXpwoiIqN6kQ4cm1Vf1E+ZMHT7is9rb7Nyy1tKDxZ+PHjbhmx/+eqPN\nd9+ynj9GAzlQUFJSkvUGgDLm5bOKOt/0dURE/F97dxtaVR0HcPy4aVOXD5gTjVbetomlGSLp\nculVGiEJIb2pVKJwa4qsF5bzoXxAaytZJDhJ59QeVKI3ChO0rBxi3ZzWBB9IKrFmpfRA6ZzX\nh7leKEW65RZtuXM/n1eXc87/8Hv5/XPuuXfIogMHFw+9zvWnNz2SNqU6b+eJsnFXjtS9OaHH\n0+9f/jxx/dmtT3Vtq1kB/mIPCdC0+4q2x2KxTXkZ17vwTHVJ6bZzfz/WfeLyWCwWe/3hbm01\nHsC1PIoFaFrPyIjs7L7/cMGPu9esr6z+bEfl9pqTF686l5Q2ODstCH5Ls30G2pGwAxLPueNf\nxL4+FfTIyB6R/ucj0jPHqvceq0/uP2zM4D4tu82Rdxe8sPJkWw0J0Hr2kkDiSUmqWTZp/PiR\nE5bsvXDlUHzX/Nzs8Q9O3/JL9xbfJufVwz9dtvHxlLaZFKBVhB2QgG6dtro0t8elw6UFpYca\ngiA4v29JQdk3nTIL176U0/K3HLqk9ul7WU9dB9wQhB2QkNLz1izLTb1Qs3T6iqMXDpbkl37Z\neOez64pzvOsAdGTCDkhQAwvKS6KpZ3cvmJz7ZMn+ixkz1748puWPYQFuRMIOSFSdIjMrinO6\n1e3ZVXM+Mr3ilXGyDujohB2QuJL6ZkR6BUEQpAzISJd1QMcn7ICEdWrbczM2nOjar1/P+KcL\n81Ye9T88QEcn7IAEdfrDooJ1tV2Gz/vok+Ix3eur5uWVfyvtgI5N2AEJqW7n7Pzy2qRBs96Y\nMzRzxupFo26q21mUX17b7IJf92wsKytbu+v7dhwSoJWEHZCA6qvm5Zcfa7z9mZULR6UEQdJd\ns8rn3tv51I6ignXHm1nyQ+XSwsLCOe991a6DArSKsAMST+3mDYduG/vQ86uKc6+8MtF52Pzy\n4knR4fWVG6rjTa5JjYwcndkrOTm5qZO3DB4bjY7O6t1mEwO0iP+KBRJP+pSKj6dcdSxl5OzN\nVbObXxOZ9nbFd0Oe6DagqZP3z/2gau5/OCDAvyPsAFri7JG3Fr/T+dGtmf/3IADNE3YATdu/\n4rEJW7oMnLp61dQ7guDE50cGLd88/+4WLo7veHHSa/uCnw80/WAXoE0IO4Br9M7KiUZ/Dxri\n8YZzFy8FQRAEkcnFS1txh8aG8/F4PLg564Fo1j39fZ0ZaB+dGhv9bhMAQBjYRgIAhISwAwAI\nCWEHABASwg4AICSEHQBASAg7AICQEHYAACEh7AAAQkLYAQCEhLADAAgJYQcAEBLCDgAgJIQd\nAEBICDsAgJAQdgAAISHsAABCQtgBAISEsAMACAlhBwAQEsIOACAkhB0AQEgIOwCAkBB2AAAh\nIewAAEJC2AEAhISwAwAIiT8AKPOTmKZTVJYAAAAASUVORK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": { "image/png": { "height": 420, "width": 420 }, "text/plain": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "set.seed(1)\n", "x=matrix(rnorm(20*2), ncol=2)\n", "y=c(rep(-1,10), rep(1,10))\n", "x[y==1,]=x[y==1,] + 1\n", "plot(x, col=(3-y))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "They are not. Next, we fit the support vector classifier. Note that in order\n", "for the svm() function to perform classification (as opposed to SVM-based\n", "regression), we must encode the response as a factor variable. We now\n", "create a data frame with the response coded as a factor." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "dat=data.frame(x=x, y=as.factor(y))\n", "library(e1071)\n", "svmfit=svm(y~., data=dat, kernel=\"linear\", cost=10, scale=FALSE)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The argument scale=FALSE tells the svm() function not to scale each feature\n", "to have mean zero or standard deviation one; depending on the application,\n", "one might prefer to use scale=TRUE.\n", "\n", "We can now plot the support vector classifier obtained:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nSwAAAABJRU5ErkJggg==", "text/plain": [ "Plot with title “SVM classification plot”" ] }, "metadata": { "image/png": { "height": 420, "width": 420 }, "text/plain": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "plot(svmfit, dat)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the two arguments to the plot.svm() function are the output\n", "of the call to svm() , as well as the data used in the call to svm() . The\n", "region of feature space that will be assigned to the −1 class is shown in\n", "light yellow, and the region that will be assigned to the +1 class is shown in\n", "purple. The decision boundary between the two classes is linear (because we\n", "used the argument kernel=\"linear\" ), though due to the way in which the\n", "plotting function is implemented in this library the decision boundary looks\n", "somewhat jagged in the plot. (Note that here the second feature is plotted on the\n", "x-axis and the first feature is plotted on the y-axis, in contrast to the behavior of\n", "the usual plot() function in R.) The support vectors are plotted as crosses\n", "and the remaining observations are plotted as circles; we see here that there\n", "are seven support vectors. We can determine their identities as follows:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "