{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 190,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import svm\n",
    "\n",
    "sns.set(rc={'figure.figsize':(10,7.5)})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. This problem involves hyperplanes in two dimensions.\n",
    "\n",
    "(a) Sketch the hyperplane `1 + 3X1 − X2 = 0`. Indicate the set of points for which `1+3X1 −X2 > 0`, as well as the set of points for which `1 + 3X1 − X2 < 0`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x110255358>"
      ]
     },
     "execution_count": 171,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x540 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# points on the hyperplane\n",
    "x1 = np.linspace(0, 10, 2)\n",
    "x2 = (3 * x1) + 1\n",
    "\n",
    "# plot the hyperplane\n",
    "sns.lineplot(x=x1, y=x2, color='tab:gray')\n",
    "\n",
    "# plot the contours\n",
    "xx1 = np.linspace(x1.min(), x1.max(), 20)\n",
    "xx2 = np.linspace(x2.min(), x2.max(), 20)\n",
    "xx1, xx2 = np.meshgrid(xx1, xx2)\n",
    "zz = (1 + (3 * xx1.ravel()) - xx2.ravel()).reshape(xx1.shape)\n",
    "plt.contourf(xx1, xx2, zz, cmap='coolwarm')\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(b) On the same plot, sketch the hyperplane `−2 + X1 + 2X2 = 0`. Indicate the set of points for which `−2 + X1 + 2X2 > 0`, as well as the set of points for which `−2 + X1 + 2X2 < 0`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x1118ad358>"
      ]
     },
     "execution_count": 174,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x540 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# points on the hyperplane\n",
    "x1 = np.linspace(0, 10, 2)\n",
    "x2 = 1 - (x1 / 2)\n",
    "\n",
    "# plot the hyperplane\n",
    "sns.lineplot(x=x1, y=x2, color='tab:gray')\n",
    "\n",
    "# plot the contours\n",
    "xx1 = np.linspace(x1.min(), x1.max(), 20)\n",
    "xx2 = np.linspace(x2.min(), x2.max(), 20)\n",
    "xx1, xx2 = np.meshgrid(xx1, xx2)\n",
    "zz = (-2 + xx1.ravel() + (2 * xx2.ravel())).reshape(xx1.shape)\n",
    "plt.contourf(xx1, xx2, zz,cmap='coolwarm')\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2. We have seen that in `p = 2` dimensions, a linear decision boundary takes the form `β0 +β1X1 +β2X2 = 0`. We now investigate a non-linear decision boundary.\n",
    "\n",
    "(a) Sketch the curve `(1+X1)2 +(2−X2)2 = 4.`\n",
    "\n",
    "(b) On your sketch, indicate the set of points for which `(1+X1)2 +(2−X2)2 >4`,\n",
    "as well as the set of points for which `(1+X1)2 +(2−X2)2 ≤4`.\n",
    "\n",
    "(c) Suppose that a classifier assigns an observation to the blue class if `(1+X1)2 +(2−X2)2 >4` and to the red class otherwise. To what class are the observations classified:\n",
    "\n",
    "`(0, 0)`: R\n",
    "\n",
    "`(−1, 1)`: B\n",
    "\n",
    "`(2, 2)`: B\n",
    "\n",
    "`(3, 8)`: B\n",
    "\n",
    "(d) Argue that while the decision boundary in (c) is not linear in terms of `X1 and X2`, it is linear in terms of `X1, X1^2, X2, and X2`.\n",
    "\n",
    ".. observe its construction in code below from a linear combination of `X1, X1^2, X2, and X2`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x1102a9828>"
      ]
     },
     "execution_count": 185,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x540 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the contours\n",
    "x1 = np.linspace(-5, 5, 100)\n",
    "x2 = np.linspace(-3, 7, 100)\n",
    "xx1, xx2 = np.meshgrid(x1, x2)\n",
    "df = pd.DataFrame({'x1' : xx1.ravel(),\n",
    "                   'x2' : xx2.ravel(),\n",
    "                   'x1_sq' : xx1.ravel() ** 2,\n",
    "                   'x2_sq' : xx2.ravel() ** 2,\n",
    "                   'x1_i_sq' : np.repeat(1, xx1.ravel().shape[0]),\n",
    "                   'x2_i_sq' : np.repeat(4, xx1.ravel().shape[0])})\n",
    "coeff = pd.DataFrame([2,-4,1,1,1,1], index=df.columns)\n",
    "zz = (df @ coeff).values.reshape(xx1.shape)\n",
    "plt.contourf(x1, x2, zz,cmap='coolwarm', alpha=0.75)\n",
    "plt.colorbar()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3. Here we explore the maximal margin classifier on a toy data set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 251,
   "metadata": {},
   "outputs": [],
   "source": [
    "toy_df = pd.DataFrame({'obs': np.arange(1, 8),\n",
    "                       'x1' : [3,2,4,1,2,4,4],\n",
    "                       'x2' : [4,2,4,4,1,3,1],\n",
    "                       'y' : ['R','R','R', 'R', 'B','B','B']})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(a) We are given `n = 7` observations in `p = 2` dimensions. For each observation, there is an associated class label. Sketch the observations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 252,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1140cfeb8>"
      ]
     },
     "execution_count": 252,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmkAAAHNCAYAAABFFOy3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X903XWd7/tXkp229JdCSSt2VITFGZHjXfxQ5tS1hk5RaEvoLbbjADIXQQehB+2ALIYKxY51kF+9cGRVvGv1MihSYQpCUReCCEvPEXSQ6ngpdDhcPJxDaemPWCgJbdIk+/7BkGsnYBu6d/NJ8nj81f39pt/vJ2+/bp797r2Thmq1Wg0AAEVpHOwFAADQn0gDACiQSAMAKJBIAwAokEgDACiQSAMAKJBIAwAokEgDACiQSAMAKJBIAwAokEgDACiQSAMAKJBIAwAoUGWwF7Avtm3rSG9vta7nmDRpfNra2ut6jpHEPGvPTGvLPGvPTGvLPGuv3jNtbGzIgQeOG/DfG9KR1ttbrXukvXEeasc8a89Ma8s8a89Ma8s8a6/EmXq5EwCgQCINAKBAIg0AoEAiDQCgQCINAKBAIg0AoEAiDQCgQCINAKBAIg0AoEAiDQCgQCINAKBAIu2PaGxsGOwlAAxpnkcpXcnXaN0j7dprr82iRYv6bd+wYUPOOuuszJo1KwsWLEhHR0e9l7LXGpoaUm1qyv/Y1J71m19NmrQswEA0NjUmTU15fnNH/tdL2z2PUpzGpsak0pT/uaUj/3NjmddopZ4H/8UvfpF77703f/EXf9Fv31e+8pV86lOfSmtra77xjW/k5ptvzqWXXlrP5eyVSqUxG7ftzBX/12Pp7ulNkvzvJxyW0/78sOTfHgPw1pqaGtPW0ZUvfePRdO7qSZJ8/CPvyadO/lPPoxShqakxL+/YlcuW/zw7u16/RqcfOzWfnn1kUddo3bLx5Zdfzo033pgLLrig375du3blV7/6VWbOnJkkmTdvXh544IF6LWVAdvUm37zn/+kLtCT5/n/9XXqrg7gogCGkp5qsWL22L9CS5Ce/eiFd3eX8x4+RrSfJ/33fU32BliQ/+/WL2fEHj0tQtztpX/7yl3PxxRdn48aN/fZt27Yt48ePT6Xy+ulbWlqyadOmAZ9j0qTx+7zOf+/323em7ZUd/bZ3dvfmvVMm1Px8I1FLiznWmpnWlnnum21v8Tz62s7uTH3vgYOwouHHNbpvtr365tdo+45dee/7Jw3Cit5cXSLtrrvuyiGHHJJp06blnnvu6be/Wu1/W6qhYeBv3Gtra09vjW9xNVWa8hfHvic/+Pnv+rZNeseYHDCqKVu2vFrTc41ELS0TzLHGzLS2zHPfVSpNmXHce/JPP/nvfdsmjhuVd04YbbY14Brdd5VKU078yHty+4/+tW/buAOa0/LOA+oy28bGhrd1Y6kukXb//fdny5YtmTt3bl555ZW89tpr+drXvpbLL788SXLQQQelvb09PT09aWpqypYtWzJ58uR6LGXAerp7Mn/G4Rl/QHMefXJD3jtlQv6P2Uemqdqbsm6CApSpu7sns6cdmtHNjfnZb17MIQePy6dbP5imVD2PUoTu7p58/MPvTXNTYx554oVMOWhszjn1g2mqlnWNNlTf7LZWDd1zzz15/PHHc8011+y2/XOf+1zmzJmTOXPm5Jvf/GY2b96cJUuWDOjY9biT9oZKc2O6uquZOH50XuvorNt5Rhr/Aqw9M60t86ydSnNTunp6M2Hc6OzwPFozrtHaqVQa09VTzfhxo7Pztfpdo2/3Ttp+/bzpFVdckYcffjhJsmTJkqxatSqnnHJKnnjiiVx00UX7cyl71L2rN43Vag4Y0+yJBeBt6N7Vk8beasZ6HqVQ3d2v/7d+3AFlXqN1v5NWT/W8k/YG/2KpLfOsPTOtLfOsPTOtLfOsvXrPdEjcSQMAYO+INACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAok0AIACiTQAgAKJNACAAlXqefCvf/3refDBB9PQ0JC//Mu/zLnnnrvb/uXLl+d73/teJk6cmCT5q7/6q5x11ln1XBIAwJBQt0h7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\n",
      "text/plain": [
       "<Figure size 720x540 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(x='x1', y='x2', hue='y', data=toy_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(b) Sketch the optimal separating hyperplane, and provide the equation for this hyperplane (of the form (9.1))."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 276,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1153eaba8>"
      ]
     },
     "execution_count": 276,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x540 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# obtain the hyperplane\n",
    "clf = svm.SVC(kernel='linear', C=10^6)\n",
    "clf.fit(toy_df.drop(['y', 'obs'], axis=1), toy_df.y)\n",
    "\n",
    "# obtain the coefficients\n",
    "coefs = pd.DataFrame(clf.coef_, columns=['x1', 'x2'])\n",
    "coefs['i'] = pd.Series(clf.intercept_)\n",
    "\n",
    "# plot the hyperplane\n",
    "x1 = np.linspace(0, 5, 2)\n",
    "x2 = (-coefs['x1'][0] * x1 - coefs['i'][0]) / coefs['x2'][0]\n",
    "sns.scatterplot(x='x1', y='x2', hue='y', data=toy_df)\n",
    "sns.lineplot(x=x1, y=x2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(c) Describe the classification rule for the maximal margin classifier. It should be something along the lines of “Classify to Red if β0 + β1X1 + β2X2 > 0, and classify to Blue otherwise.” Provide the values for β0, β1, and β2."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 277,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>x1</th>\n",
       "      <th>x2</th>\n",
       "      <th>i</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-1.999414</td>\n",
       "      <td>1.999414</td>\n",
       "      <td>0.999707</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         x1        x2         i\n",
       "0 -1.999414  1.999414  0.999707"
      ]
     },
     "execution_count": 277,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coefs"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(d) On your sketch, indicate the margin for the maximal margin hyperplane.\n",
    "\n",
    "(e) Indicate the support vectors for the maximal margin classifier."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 292,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1167ae278>"
      ]
     },
     "execution_count": 292,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x540 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the points\n",
    "sns.scatterplot(x='x1', y='x2', hue='y', data=toy_df)\n",
    "\n",
    "# plot the hyperplane\n",
    "x1 = np.linspace(0.5, 5, 2)\n",
    "x2 = (-coefs['x1'][0] * x1 - coefs['i'][0]) / coefs['x2'][0]\n",
    "sns.lineplot(x=x1, y=x2, color='tab:gray')\n",
    "\n",
    "# plot the contours\n",
    "x1 = np.linspace(0, 5, 50)\n",
    "x2 = np.linspace(0, 5, 50)\n",
    "xx1, xx2 = np.meshgrid(x1, x2)\n",
    "df = pd.DataFrame({'i' : np.repeat(1, xx1.ravel().shape[0]),\n",
    "                   'x1' : xx1.ravel(),\n",
    "                   'x2' : xx2.ravel()})\n",
    "zz = df @ coefs.T\n",
    "plt.contourf(xx1, xx2, zz.values.reshape(xx1.shape), cmap='coolwarm', alpha=0.5)\n",
    "plt.colorbar()\n",
    "\n",
    "# plot the support vectors\n",
    "sns.scatterplot(x=clf.support_vectors_[:,0], \\\n",
    "                y=clf.support_vectors_[:,1], \\\n",
    "                color='black', marker='+', s=500)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(f) Argue that a slight movement of the seventh observation would not affect the maximal margin hyperplane."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 317,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x119b08a20>"
      ]
     },
     "execution_count": 317,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHNCAYAAAD2XMStAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xl81PW97/H3rEkmISwhCSHsyL6GPQESIKwCgiyK0HKqdalHsIdz20rVU623ttZW8fRavVeP7TmtWGu1ggvJJCxBMOxrENnXLGRfJ7PP7/4RicSwDZmZ33xm3s/How/MbL9PQ0he+f6W0SiKooCIiIgojGjVHoCIiIgo0BhAREREFHYYQERERBR2GEBEREQUdhhAREREFHYYQERERBR2GEBEREQUdhhAREREFHb8GkArV67E3LlzsWDBAixYsABHjhzx5+aIiIhIgIaGBsybNw+FhYUAgL///e+YN28e5s+fj5///OdwOBytnrNhwwZMmjSpuSnWrVvXphn0bXr2TSiKgnPnziEvLw96vd82Q0RERIIcOXIEzz77LC5cuAAAOH/+PN555x3885//RHR0NNauXYv33nsPP/jBD1o8r6CgAGvXrsW8efN8MoffVoDOnTsHjUaDRx55BPfccw/effddf22KiIiIhPjggw/w3HPPISEhAQBgNBrx/PPPIyYmBhqNBv3790dxcXGr5xUUFGDDhg2455578JOf/AS1tbVtmsNvSzN1dXVITU3F888/D5vNhpUrV6J3796YOHGivzZJREREKqmrq0NdXV2r22NjYxEbG9v88Ysvvtji/uTkZCQnJwMAqqqqsH79evzmN79p9Trx8fF49NFHMXz4cLz66qt44YUX8Morr9zxvH4LoJSUFKSkpAAATCYTlixZgu3btzOAiIiIVOa22aCLjPTpaxqNRixatKjVysyqVauwevXqWz6/tLQUDz/8MBYvXozx48e3uv+Pf/xj838//PDDmD59epvm9VsA7d+/H06nE6mpqQCajgny5ligix98CFeDxV/jtV3xeQBA7NhRKg9yZ6KiDLBanWqPoRpdbQkAQN9viF+3ExVphNXW+mA+ahutrem3THdCb0SajLA18nPsT778HLvdTd937DFdfPJ6oUCn0yIhsXNgtxkZiUv/+AjO+gafvJ6hXQx6LF2M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\n",
      "text/plain": [
       "<Figure size 720x540 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# move the 7th point\n",
    "toy_df_2 = pd.DataFrame({'obs': np.arange(1, 8),\n",
    "                         'x1' : [3,2,4,1,2,4,3.5],\n",
    "                         'x2' : [4,2,4,4,1,3,1.5],\n",
    "                         'y' : ['R','R','R', 'R', 'B','B','B']})\n",
    "# plot the points\n",
    "sns.scatterplot(x='x1', y='x2', hue='y', data=toy_df_2)\n",
    "\n",
    "# obtain the hyperplane\n",
    "clf = svm.SVC(kernel='linear', C=10^6)\n",
    "clf.fit(toy_df_2.drop(['y', 'obs'], axis=1), toy_df_2.y)\n",
    "\n",
    "# obtain the coefficients\n",
    "coefs = pd.DataFrame(clf.coef_, columns=['x1', 'x2'])\n",
    "coefs['i'] = pd.Series(clf.intercept_)\n",
    "\n",
    "# plot the hyperplane\n",
    "x1 = np.linspace(0.5, 5, 2)\n",
    "x2 = (-coefs['x1'][0] * x1 - coefs['i'][0]) / coefs['x2'][0]\n",
    "sns.lineplot(x=x1, y=x2, color='tab:gray')\n",
    "\n",
    "# plot the contours\n",
    "x1 = np.linspace(0, 5, 50)\n",
    "x2 = np.linspace(0, 5, 50)\n",
    "xx1, xx2 = np.meshgrid(x1, x2)\n",
    "df = pd.DataFrame({'i' : np.repeat(1, xx1.ravel().shape[0]),\n",
    "                   'x1' : xx1.ravel(),\n",
    "                   'x2' : xx2.ravel()})\n",
    "zz = df @ coefs.T\n",
    "plt.contourf(xx1, xx2, zz.values.reshape(xx1.shape), cmap='coolwarm', alpha=0.5)\n",
    "plt.colorbar()\n",
    "\n",
    "# plot the support vectors\n",
    "sns.scatterplot(x=clf.support_vectors_[:,0], \\\n",
    "                y=clf.support_vectors_[:,1], \\\n",
    "                color='black', marker='+', s=500)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(g) Sketch a hyperplane that is not the optimal separating hyperplane, and provide the equation for this hyperplane."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 311,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x118c7d4e0>"
      ]
     },
     "execution_count": 311,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x540 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# plot the points\n",
    "sns.scatterplot(x='x1', y='x2', hue='y', data=toy_df)\n",
    "\n",
    "# plot the hyperplane\n",
    "x1 = np.linspace(0.5, 5, 2)\n",
    "x2 = (-coefs['x1'][0] * x1 - coefs['i'][0]) / coefs['x2'][0]\n",
    "sns.lineplot(x=x1, y=x2, color='tab:gray')\n",
    "\n",
    "# plot the contours\n",
    "x1 = np.linspace(0, 5, 50)\n",
    "x2 = np.linspace(0, 5, 50)\n",
    "xx1, xx2 = np.meshgrid(x1, x2)\n",
    "df = pd.DataFrame({'i' : np.repeat(1, xx1.ravel().shape[0]),\n",
    "                   'x1' : xx1.ravel(),\n",
    "                   'x2' : xx2.ravel()})\n",
    "zz = df @ coefs.T\n",
    "plt.contourf(xx1, xx2, zz.values.reshape(xx1.shape), cmap='coolwarm', alpha=0.5)\n",
    "plt.colorbar()\n",
    "\n",
    "# plot the support vectors\n",
    "sns.scatterplot(x=clf.support_vectors_[:,0], \\\n",
    "                y=clf.support_vectors_[:,1], \\\n",
    "                color='black', marker='+', s=500)\n",
    "\n",
    "## END COPY PASTED FROM ABOVE #\n",
    "\n",
    "# plot another hyerplane that is not the optimal hyperplane\n",
    "\n",
    "b1 = 1.75\n",
    "b2 = 2\n",
    "i = 0\n",
    "x1 = np.linspace(0, 5, 2)\n",
    "x2 = (b1 * x1 - i) / b2\n",
    "sns.lineplot(x=x1, y=x2, color='tab:orange')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(h) Draw an additional observation on the plot so that the two classes are no longer separable by a hyperplane."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 320,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x1176b6160>"
      ]
     },
     "execution_count": 320,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x540 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# move the 7th point\n",
    "toy_df_2 = pd.DataFrame({'obs': np.arange(1, 9),\n",
    "                         'x1' : [3,2,4,1,2,4,4,3],\n",
    "                         'x2' : [4,2,4,4,1,3,1,3],\n",
    "                         'y' : ['R','R','R', 'R', 'B','B','B', 'B']})\n",
    "# plot the points\n",
    "sns.scatterplot(x='x1', y='x2', hue='y', data=toy_df_2)\n",
    "\n",
    "# obtain the hyperplane\n",
    "clf = svm.SVC(kernel='linear', C=10^6)\n",
    "clf.fit(toy_df_2.drop(['y', 'obs'], axis=1), toy_df_2.y)\n",
    "\n",
    "# obtain the coefficients\n",
    "coefs = pd.DataFrame(clf.coef_, columns=['x1', 'x2'])\n",
    "coefs['i'] = pd.Series(clf.intercept_)\n",
    "\n",
    "# plot the hyperplane\n",
    "x1 = np.linspace(0.5, 5, 2)\n",
    "x2 = (-coefs['x1'][0] * x1 - coefs['i'][0]) / coefs['x2'][0]\n",
    "sns.lineplot(x=x1, y=x2, color='tab:gray')\n",
    "\n",
    "# plot the contours\n",
    "x1 = np.linspace(0, 5, 50)\n",
    "x2 = np.linspace(0, 5, 50)\n",
    "xx1, xx2 = np.meshgrid(x1, x2)\n",
    "df = pd.DataFrame({'i' : np.repeat(1, xx1.ravel().shape[0]),\n",
    "                   'x1' : xx1.ravel(),\n",
    "                   'x2' : xx2.ravel()})\n",
    "zz = df @ coefs.T\n",
    "plt.contourf(xx1, xx2, zz.values.reshape(xx1.shape), cmap='coolwarm', alpha=0.5)\n",
    "plt.colorbar()\n"
   ]
  }
 ],
 "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.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}