{ "cells": [ { "cell_type": "code", "execution_count": 19, "id": "576e1f39-f380-46db-babc-8474586a6c99", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 0 1 1]\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIEVJREFUeJzt3X9sVfX9x/FXe0tvcdKC67ht8boGnIIKdBa5K0gcy51NMDiSGTtxtBDRqegc3SZUflRFKaIyMqkSUYbLVFAixkhTh52NU7qwFZqo/HAISKe7Fxpnbyna0t7z/aNfr1ba2lva++bW5yO5f3j6Ofe8e9p4n5z7owmO4zgCAAAwkmg9AAAA+HYjRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgKkk6wF6IxwO6+OPP9awYcOUkJBgPQ4AAOgFx3HU1NSkrKwsJSZ2f/0jLmLk448/ltfrtR4DAAD0QX19vc4///xuvx4XMTJs2DBJHd9Mamqq8TQAAKA3QqGQvF5v5HG8O3ERI188NZOamkqMAAAQZ77pJRa8gBUAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgKm4+NCzgdDUJO3YIZ04IY0bJ02aJPFnbwAA3yqffCK9/rrU0iLl5Ejjx5uMEfWVkTfffFMzZ85UVlaWEhIS9PLLL3/jPtXV1br88svldrt14YUXatOmTX0YtX+Ew9Ly5ZLHI/3851JRkTR5csfPYM8es7EAAIid1lbp17+WMjOlggKpsFCaMEGaMkX6979jPk7UMdLc3KyJEyeqvLy8V+sPHz6sa665RtOnT1ddXZ1+85vfaP78+XrttdeiHrY/LFwoPfCA9Nlnnbe/9540bZq0b5/JWAAAxIbjdMRHeXlHlHzVP//ZESQffRTTkRIcx3H6vHNCgrZt26ZZs2Z1u2bRokXavn273n333ci2X/ziF/r0009VWVnZq+OEQiGlpaWpsbHxjP42zeHD0pgxHT+HriQlSdddJz3/fJ8PAQDA2W3XLsnn6/7rSUnSHXdIf/jDGR+qt4/fA/4C1pqaGvn9/k7b8vPzVVNT0+0+LS0tCoVCnW794S9/kRJ7+I7b2qStWzteRwIAwKD05z93BEd32tqkjRu7/5f7ABjwGAkEAvJ4PJ22eTwehUIhffb150r+X1lZmdLS0iI3r9fbT7P0HCNSx8/gk0/65XAAAJx9AgGpvb3nNaGQdOpUbObRWfrW3pKSEjU2NkZu9fX1/XK/o0Z1vIC1J0OGSN/9br8cDgCAs09WluRy9bxm+HApOTkm40gxiJGMjAwFg8FO24LBoFJTUzV06NAu93G73UpNTe106w+//GXPMZKU1PGi4u98p18OBwDA2Wfu3I6nAbrjcknz58dsHCkGMZKXl6eqqqpO23bs2KG8vLyBPvRpLrhAWrSo66+5XB0RUloa25kAAIipyy/vCJKuPlwrKanjsy9++9uYjhR1jJw4cUJ1dXWqq6uT1PHW3bq6Oh09elRSx1MshYWFkfW33nqrDh06pLvvvlv79+/X448/rhdeeEELFy7sn+8gSitXSg89JKWldd7u80k7d0oXXmgyFgAAsfPUU1JJyelPBUyfLtXUSBkZMR0n6rf2VldXa/r06adtLyoq0qZNmzR37lwdOXJE1dXVnfZZuHCh9u7dq/PPP1/Lli3T3Llze33M/npr71d9/rn05ptffgLruHH9crcAAMSPEyekv/+940FxwoSOz7/oR719/D6jzxmJlYGIEQAAMLDOms8ZAQAA6AkxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAVJ9ipLy8XNnZ2UpJSZHP59OuXbt6XL927VpdfPHFGjp0qLxerxYuXKjPP/+8TwMDAIDBJeoY2bJli4qLi1VaWqrdu3dr4sSJys/P17Fjx7pc/9xzz2nx4sUqLS3Vvn379PTTT2vLli265557znh4AAAQ/6KOkTVr1ujmm2/WvHnzdMkll2j9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tW644Qa98cYbqqmpkdfr1dVXX62PPvrojIcHAADxL8FxHCeaHXw+n6644gqtW7dOkhQOh+X1enXnnXdq8eLF37h/e3u7RowYoXXr1qmwsLBXxwyFQkpLS1NjY6NSU1OjGRcAABjp7eN3VFdGWltbVVtbK7/f/+UdJCbK7/erpqamV/dx8uRJnTp1Suedd163a1paWhQKhTrdAADA4BRVjDQ0NKi9vV0ej6fTdo/Ho0Ag0Kv7WLRokbKysjoFzdeVlZUpLS0tcvN6vdGMCQAA4khM302zatUqbd68Wdu2bVNKSkq360pKStTY2Bi51dfXx3BKAAAQS0nRLE5PT5fL5VIwGOy0PRgMKiMjo8d9H3nkEa1atUqvv/66JkyY0ONat9stt9sdzWgAACBORXVlJDk5Wbm5uaqqqopsC4fDqqqqUl5eXrf7rV69WitWrFBlZaUmTZrU92kBAMCgE9WVEUkqLi5WUVGRJk2apMmTJ2vt2rVqbm7WvHnzJEmFhYUaNWqUysrKJEkPPfSQli9frueee07Z2dmR15ace+65Ovfcc/vxWwEAAPEo6hgpKCjQ8ePHtXz5cgUCAeXk5KiysjLyotajR48qMfHLCy5PPPGEWltbdd1113W6n9LSUt17771nNj0AAIh7UX/OiAU+ZwQAgPgzIJ8zAgAA0N+IEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaSrAcw09Qk7dghnTghjRsnTZokJSRYTwUAQMx88on0+utSS4uUkyONH28zR5+ujJSXlys7O1spKSny+XzatWtXj+tffPFFjR07VikpKRo/frwqKir6NGy/CIel5csl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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "X = np.array([[0,0],\n", " [0,1],\n", " [1,0],\n", " [1,1]])\n", "y = np.array([0, 1, 1, 0])\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.scatter(X[:,0], X[:,1], color=list(map(lambda f: 'blue' if f == 1 else 'red', y)))\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 25, "id": "27eb6bd0-cd86-43cb-8812-5a6eb6509a90", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAISZJREFUeJzt3W1Q1WX+x/EPoBxkErRlPaCdIt1KTdMNg0VzWncpVhtbH+yE2ajxL9uKdl2ZrSRvsCyxO9emMCbLtdmpxWqyaVeH1tic1qRlQ5mpvBtTk9KDshXHhRLlXP8HbLgkKAeBLwffr5nzoN+5fvDlGuy8/Z0bI5xzTgAAAEYirQcAAADnN2IEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACY6mM9QHsEg0EdOnRI/fv3V0REhPU4AACgHZxzOnbsmAYPHqzIyLavf4RFjBw6dEg+n896DAAA0AFVVVW66KKL2rw/LGKkf//+kqQ1a6oUGxtnPA2ATlXxoSanHLWeAkAXCNTXy/d//9f8ON6WsIiR756aiY2NI0aA3sZzgeJi66ynANCFzvYSC17ACgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMBUH+sBeoN//1v6+GMpGJSGD5eSkqwnAgD0Wg0NUmWldOyY5PVKI0dKkeF9bSHkGHnvvff0xBNPqKKiQocPH9b69es1bdq0M56zefNm5ebm6pNPPpHP59PChQt12223dXDknqO+Xlq1SvrHPyTnTh1PSZF++1tp4EC72QAAvYxz0oYN0ssvS3V1p457vVJOjjR2rNlo5yrklKqrq9OYMWNUWFjYrvX79+/XjTfeqEmTJqmyslK/+93vdMcdd+jtt98Oedie5ORJackSacuWliEiSdu3S3l5TbECAECneOst6fnnW4aIJB050vSA9PHHJmN1hpCvjEyePFmTJ09u9/qioiJdeumleuqppyRJI0aM0JYtW/SHP/xBmZmZoX77HuODD6Rdu1q/LxiUDh+WNm2SfvnL7p0LANAL1ddLf/pT6/d99zfitWulJ5/stpE6U5c/yVRWVqaMjIwWxzIzM1VWVtbmOcePH1cgEGhx62lKS8/8FJ1zTTECAMA5++c/m14r0hbnpD17pEOHum+mTtTlMeL3++X1elsc83q9CgQC+uabb1o9p6CgQPHx8c03n8/X1WOG7Msvm66AnMlXX3XPLACAXu6rr9r3ItUwfeDpkS+/zcvLU21tbfOtqqrKeqTTJCSc/ffiBz/onlkAAL3chRee/W/AUtg+8HT5W3sTExNVXV3d4lh1dbXi4uLUr1+/Vs/xeDzyeDxdPdo5uf566V//OvOaG27onlkAAL3cT34ixcRI337b+v2RkdIVV0iJid07Vyfp8isj6enpKi0tbXFs06ZNSk9P7+pv3aWuuUYaPVqKiDj9vshI6ZJLpO+9VAYAgI6JiZGys1u/LyKi6YGnrfvDQMgx8p///EeVlZWqrKyU1PTW3crKSh08eFBS01Mss2bNal5/1113ad++fbr//vu1a9curVq1Sq+++qrmzZvXOT+BkagoafHipqsfUVGnjkdESOPHS8uWNf3uAADQKSZPlubOlQYMaHn84oulRx5p+tTNMBXy0zQffvihJk2a1Pzfubm5kqTZs2dr7dq1Onz4cHOYSNKll16qDRs2aN68eXr66ad10UUX6YUXXgjrt/V+x+Np+pyZmTOb3uYbDEqXXRa2T9kBAHq6n/9c+ulPpR07Tn0C69ChrV+mDyMRzn3/I7t6nkAgoPj4eBUX1yo2Ns56HACdqbxcU1Orz74OQNgJ1Ncrfvp01dbWKi6u7cfvHvluGgAAcP4gRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmOpQjBQWFio5OVkxMTFKS0tTeXn5GdevXLlSV1xxhfr16yefz6d58+bp22+/7dDAAACgdwk5RtatW6fc3Fzl5+dr27ZtGjNmjDIzM3XkyJFW17/yyiuaP3++8vPztXPnTr344otat26dHnzwwXMeHgAAhL+QY2TFihWaM2eOsrOzNXLkSBUVFSk2NlZr1qxpdf3WrVs1YcIEzZgxQ8nJybrhhht0yy23nPVqCgAAOD+EFCMNDQ2qqKhQRkbGqS8QGamMjAyVlZW1es748eNVUVHRHB/79u3Txo0bNWXKlDa/z/HjxxUIBFrcAABA79QnlMU1NTVqbGyU1+ttcdzr9WrXrl2tnjNjxgzV1NTo2muvlXNOJ0+e1F133XXGp2kKCgr00EMPhTIaAAAIU13+bprNmzdr2bJlWrVqlbZt26Y33nhDGzZs0NKlS9s8Jy8vT7W1tc23qqqqrh4TAAAYCenKSEJCgqKiolRdXd3ieHV1tRITE1s9Z9GiRZo5c6buuOMOSdLo0aNVV1enO++8UwsWLFBk5Ok95PF45PF4QhkNAACEqZCujERHRyslJUWlpaXNx4LBoEpLS5Went7qOfX19acFR1RUlCTJORfqvAAAoJcJ6cqIJOXm5mr27NkaN26cUlNTtXLlStXV1Sk7O1uSNGvWLA0ZMkQFBQWSpKlTp2rFihX68Y9/rLS0NO3du1eLFi3S1KlTm6MEAACcv0KOkaysLB09elSLFy+W3+/X2LFjVVJS0vyi1oMHD7a4ErJw4UJFRERo4cKF+uKLL/TDH/5QU6dO1aOPPtp5PwUAAAhbES4MnisJBAKKj49XcXGtYmPjrMcB0JnKyzU1tfrs6wCEnUB9veKnT1dtba3i4tp+/ObfpgEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApjoUI4WFhUpOTlZMTIzS0tJUXl5+xvVff/21cnJylJSUJI/Ho8svv1wbN27s0MAAAKB36RPqCevWrVNubq6KioqUlpamlStXKjMzU7t379agQYNOW9/Q0KDrr79egwYN0uuvv64hQ4bos88+04ABAzpjfgAAEOZCjpEVK1Zozpw5ys7OliQVFRVpw4YNWrNmjebPn3/a+jVr1ujLL7/U1q1b1bdvX0lScnLyuU0NAAB6jZCepmloaFBFRYUyMjJOfYHISGVkZKisrKzVc9566y2lp6crJydHXq9Xo0aN0rJly9TY2Njm9zl+/LgCgUCLGwAA6J1CipGamho1NjbK6/W2OO71euX3+1s9Z9++fXr99dfV2NiojRs3atGiRXrqqaf0yCOPtPl9CgoKFB8f33zz+XyhjAkAAMJIl7+bJhgMatCgQXr++eeVkpKirKwsLViwQEVFRW2ek5eXp9ra2uZbVVVVV48JAACMhPSakYSEBEVFRam6urrF8erqaiUmJrZ6TlJSkvr27auoqKjmYyNGjJDf71dDQ4Oio6NPO8fj8cjj8YQyGgAACFMhXRmJjo5WSkqKSktLm48Fg0GVlpYqPT291XMmTJigvXv3KhgMNh/bs2ePkpKSWg0RAABwfgn5aZrc3FytXr1aL730knbu3Km7775bdXV1ze+umTVrlvLy8prX33333fryyy81d+5c7dmzRxs2bNCyZcuUk5PTeT8FAAAIWyG/tTcrK0tHjx7V4sWL5ff7NXbsWJWUlDS/qPXgwYOKjDzVOD6fT2+//bbmzZunq666SkOGDNHcuXP1wAMPdN5PAQAAwlaEc85ZD3E2gUBA8fHxKi6uVWxsnPU4ADpTebmmplaffR2AsBOor1f89Omqra1VXFzbj9/82zQAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAVB/rAUJS8aHkucB6CgCd7C/lXusRAHSB+uP/ade6sIqRySlHFRdbZz0GgE7UHCKpqbaDAOh89YF2LeNpGgD2CBHgvEaMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMNWhGCksLFRycrJiYmKUlpam8vLydp1XXFysiIgITZs2rSPfFgAA9EIhx8i6deuUm5ur/Px8bdu2TWPGjFFmZqaOHDlyxvMOHDig3//+95o4cWKHhwUAAL1PyDGyYsUKzZkzR9nZ2Ro5cqSKiooUGxurNWvWtHlOY2Ojbr31Vj300EMaOnToOQ0MAAB6l5BipKGhQRUVFcrIyDj1BSIjlZGRobKysjbPe/jhhzVo0CDdfvvt7fo+x48fVyAQaHEDAAC9U0gxUlNTo8bGRnm93hbHvV6v/H5/q+ds2bJFL774olavXt3u71NQUKD4+Pjmm8/nC2VMAAAQRrr03TTHjh3TzJkztXr1aiUkJLT7vLy8PNXW1jbfqqqqunBKAABgqU8oixMSEhQVFaXq6uoWx6urq5WYmHja+k8//VQHDhzQ1KlTm48Fg8Gmb9ynj3bv3q1hw4addp7H45HH4wllNAAAEKZCujISHR2tlJQUlZaWNh8LBoMqLS1Venr6aeuHDx+ujz76SJWVlc23m266SZMmTVJlZSVPvwAAgNCujEhSbm6uZs+erXHjxik1NVUrV65UXV2dsrOzJUmzZs3SkCFDVFBQoJiYGI0aNarF+QMGDJCk044DAIDzU8gxkpWVpaNHj2rx4sXy+/0aO3asSkpKml/UevDgQUVG8sGuAACgfSKcc856iLMJBAKKj49XbXGx4mJjrccB0In+Uu6VUlOtxwDQBerrA5o+PV61tbWKi4trcx2XMAAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAqQ7FSGFhoZKTkxUTE6O0tDSVl5e3uXb16tWaOHGiBg4cqIEDByojI+OM6wEAwPkl5BhZt26dcnNzlZ+fr23btmnMmDHKzMzUkSNHWl2/efNm3XLLLXr33XdVVlYmn8+nG264QV988cU5Dw8AAMJfhHPOhXJCWlqarrnmGj377LOSpGAwKJ/Pp9/85jeaP3/+Wc9vbGzUwIED9eyzz2rWrFnt+p6BQEDx8fGqLS5WXGxsKOMC6OH+Uu6VUlOtxwDQBerrA5o+PV61tbWKi4trc11IV0YaGhpUUVGhjIyMU18gMlIZGRkqKytr52D1OnHihC688MI21xw/flyBQKDFDQAA9E4hxUhNTY0aGxvl9XpbHPd6vfL7/e36Gg888IAGDx7cImi+r6CgQPHx8c03n88XypgAACCMdOu7aZYvX67i4mKtX79eMTExba7Ly8tTbW1t862qqqobpwQAAN2pTyiLExISFBUVperq6hbHq6urlZiYeMZzn3zySS1fvlzvvPOOrrrqqjOu9Xg88ng8oYwGAADCVEhXRqKjo5WSkqLS0tLmY8FgUKWlpUpPT2/zvMcff1xLly5VSUmJxo0b1/FpAQBArxPSlRFJys3N1ezZszVu3DilpqZq5cqVqqurU3Z2tiRp1qxZGjJkiAoKCiRJjz32mBYvXqxXXnlFycnJza8tueCCC3TBBRd04o8CAADCUcgxkpWVpaNHj2rx4sXy+/0aO3asSkpKml/UevDgQUVGnrrg8txzz6mhoUG/+tWvWnyd/Px8LVmy5NymBwAAYS/kzxmxwOeMAL0XnzMC9F5d8jkjAAAAnY0YAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYKqP9QC9wr//LX38sRQMSsOHS0lJ1hMBAHqphgapslI6dkzyeqWRI6XIML+00KEYKSws1BNPPCG/368xY8bomWeeUWpqapvrX3vtNS1atEgHDhzQZZddpscee0xTpkzp8NA9Rn29tGqV9I9/SM6dOp6SIv32t9LAgXazAQB6FeekDRukl1+W6upOHfd6pZwcaexYs9HOWcgttW7dOuXm5io/P1/btm3TmDFjlJmZqSNHjrS6fuvWrbrlllt0++23a/v27Zo2bZqmTZumjz/++JyHN3XypLRkibRlS8sQkaTt26W8vKZYAQCgE7z1lvT88y1DRJKOHGl6OArnh9WQY2TFihWaM2eOsrOzNXLkSBUVFSk2NlZr1qxpdf3TTz+tX/ziF7rvvvs0YsQILV26VFdffbWeffbZcx7e1AcfSLt2NT01833BoHT4sLRpU/fPBQDoderrpT/9qfX7nGu6rV3brSN1qpBipKGhQRUVFcrIyDj1BSIjlZGRobKyslbPKSsra7FekjIzM9tcL0nHjx9XIBBocetxSkvP/CSdc8QIAKBT/POfTa8VaYtz0p490qFD3TdTZwopRmpqatTY2Civ19viuNfrld/vb/Ucv98f0npJKigoUHx8fPPN5/OFMmb3+PLL1q+K/K+vvuqeWQAAvdpXX7XvRarh+rDTI19/m5eXp9ra2uZbVVWV9UinS0g4+2/GD37QPbMAAHq1Cy88+99/pfB92Anp3TQJCQmKiopSdXV1i+PV1dVKTExs9ZzExMSQ1kuSx+ORx+MJZbTud/310r/+deY1N9zQPbMAAHq1n/xEiomRvv229fsjI6UrrpDO8NDao4V0ZSQ6OlopKSkqLS1tPhYMBlVaWqr09PRWz0lPT2+xXpI2bdrU5vqwcc010ujRUkTE6fdFRkqXXCJ977UyAAB0REyMlJ3d+n0REU0PO23dHw5CfpomNzdXq1ev1ksvvaSdO3fq7rvvVl1dnbL/uwuzZs1SXl5e8/q5c+eqpKRETz31lHbt2qUlS5boww8/1L333tt5P4WFqChp8eKmqx9RUaeOR0RI48dLy5Y1/fYAANAJJk+W5s6VBgxoefzii6VHHmn6zM1wFfKHnmVlZeno0aNavHix/H6/xo4dq5KSkuYXqR48eFCR//NaivHjx+uVV17RwoUL9eCDD+qyyy7Tm2++qVGjRnXeT2HF42n6pJmZM0+9zfeyy8L3STsAQI/2859LP/2ptGPHqU9gHTq09Yv04STCue9/YlfPEwgEFB8fr9riYsXFxlqPA6AT/aXcK53hE5wBhK/6+oCmT49XbW2t4uLi2lzXI99NAwAAzh/ECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTfawHaA/nnCQpUF9vPAmAzlZ//D9SfcB6DABdoP6/f7a/exxvS4Q724oe4PPPP5fP57MeAwAAdEBVVZUuuuiiNu8PixgJBoM6dOiQ+vfvr4iICOtxWhUIBOTz+VRVVaW4uDjrccIae9k52MfOw152Hvayc4TLPjrndOzYMQ0ePFiRkW2/MiQsnqaJjIw8Y1H1JHFxcT36FyOcsJedg33sPOxl52EvO0c47GN8fPxZ1/ACVgAAYIoYAQAApoiRTuLxeJSfny+Px2M9SthjLzsH+9h52MvOw152jt62j2HxAlYAANB7cWUEAACYIkYAAIApYgQAAJgiRgAAgCliJASFhYVKTk5WTEyM0tLSVF5efsb1r732moYPH66YmBiNHj1aGzdu7KZJe75Q9nL16tWaOHGiBg4cqIEDByojI+Ose3++CPV38jvFxcWKiIjQtGnTunbAMBLqXn799dfKyclRUlKSPB6PLr/8cv6M/1eoe7ly5UpdccUV6tevn3w+n+bNm6dvv/22m6btmd577z1NnTpVgwcPVkREhN58882znrN582ZdffXV8ng8+tGPfqS1a9d2+ZydxqFdiouLXXR0tFuzZo375JNP3Jw5c9yAAQNcdXV1q+vff/99FxUV5R5//HG3Y8cOt3DhQte3b1/30UcfdfPkPU+oezljxgxXWFjotm/f7nbu3Oluu+02Fx8f7z7//PNunrxnCXUfv7N//343ZMgQN3HiRPfLX/6ye4bt4ULdy+PHj7tx48a5KVOmuC1btrj9+/e7zZs3u8rKym6evOcJdS9ffvll5/F43Msvv+z279/v3n77bZeUlOTmzZvXzZP3LBs3bnQLFixwb7zxhpPk1q9ff8b1+/btc7GxsS43N9ft2LHDPfPMMy4qKsqVlJR0z8DniBhpp9TUVJeTk9P8342NjW7w4MGuoKCg1fU333yzu/HGG1scS0tLc7/+9a+7dM5wEOpeft/Jkydd//793UsvvdRVI4aFjuzjyZMn3fjx490LL7zgZs+eTYz8V6h7+dxzz7mhQ4e6hoaG7hoxbIS6lzk5Oe5nP/tZi2O5ubluwoQJXTpnOGlPjNx///3uyiuvbHEsKyvLZWZmduFknYenadqhoaFBFRUVysjIaD4WGRmpjIwMlZWVtXpOWVlZi/WSlJmZ2eb680VH9vL76uvrdeLECV144YVdNWaP19F9fPjhhzVo0CDdfvvt3TFmWOjIXr711ltKT09XTk6OvF6vRo0apWXLlqmxsbG7xu6ROrKX48ePV0VFRfNTOfv27dPGjRs1ZcqUbpm5twj3x5yw+IfyrNXU1KixsVFer7fFca/Xq127drV6jt/vb3W93+/vsjnDQUf28vseeOABDR48+LQ/eOeTjuzjli1b9OKLL6qysrIbJgwfHdnLffv26e9//7tuvfVWbdy4UXv37tU999yjEydOKD8/vzvG7pE6spczZsxQTU2Nrr32WjnndPLkSd1111168MEHu2PkXqOtx5xAIKBvvvlG/fr1M5qsfbgygrCyfPlyFRcXa/369YqJibEeJ2wcO3ZMM2fO1OrVq5WQkGA9TtgLBoMaNGiQnn/+eaWkpCgrK0sLFixQUVGR9WhhZ/PmzVq2bJlWrVqlbdu26Y033tCGDRu0dOlS69HQjbgy0g4JCQmKiopSdXV1i+PV1dVKTExs9ZzExMSQ1p8vOrKX33nyySe1fPlyvfPOO7rqqqu6csweL9R9/PTTT3XgwAFNnTq1+VgwGJQk9enTR7t379awYcO6dugeqiO/k0lJSerbt6+ioqKaj40YMUJ+v18NDQ2Kjo7u0pl7qo7s5aJFizRz5kzdcccdkqTRo0errq5Od955pxYsWKDISP7O3B5tPebExcX1+KsiEldG2iU6OlopKSkqLS1tPhYMBlVaWqr09PRWz0lPT2+xXpI2bdrU5vrzRUf2UpIef/xxLV26VCUlJRo3blx3jNqjhbqPw4cP10cffaTKysrm20033aRJkyapsrJSPp+vO8fvUTryOzlhwgTt3bu3Oegkac+ePUpKSjpvQ0Tq2F7W19efFhzfRZ7jn05rt7B/zLF+BW24KC4udh6Px61du9bt2LHD3XnnnW7AgAHO7/c755ybOXOmmz9/fvP6999/3/Xp08c9+eSTbufOnS4/P5+39v5XqHu5fPlyFx0d7V5//XV3+PDh5tuxY8esfoQeIdR9/D7eTXNKqHt58OBB179/f3fvvfe63bt3u7/+9a9u0KBB7pFHHrH6EXqMUPcyPz/f9e/f3/35z392+/btc3/729/csGHD3M0332z1I/QIx44dc9u3b3fbt293ktyKFSvc9u3b3Weffeacc27+/Plu5syZzeu/e2vvfffd53bu3OkKCwt5a29v9cwzz7iLL77YRUdHu9TUVPfBBx8033fddde52bNnt1j/6quvussvv9xFR0e7K6+80m3YsKGbJ+65QtnLSy65xEk67Zafn9/9g/cwof5O/i9ipKVQ93Lr1q0uLS3NeTweN3ToUPfoo4+6kydPdvPUPVMoe3nixAm3ZMkSN2zYMBcTE+N8Pp+755573FdffdX9g/cg7777bqv/3/tu72bPnu2uu+66084ZO3asi46OdkOHDnV//OMfu33ujopwjutgAADADq8ZAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYOr/AZR1VXNnQPmoAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.tree import DecisionTreeClassifier\n", "model = DecisionTreeClassifier(max_depth=2)\n", "model.fit(X, y)\n", "model.predict(X)\n", "\n", "# Create a meshgrid for plotting decision boundaries\n", "x_min, x_max = X[:,0].min() - 0.1, X[:,0].max() + 0.1\n", "y_min, y_max = X[:,1].min() - 0.1, X[:,1].max() + 0.1\n", "xx, yy = np.meshgrid(np.linspace(x_min, x_max, 200),\n", " np.linspace(y_min, y_max, 200))\n", "\n", "# Predict on the grid\n", "Z = model.predict(np.c_[xx.ravel(), yy.ravel()])\n", "Z = Z.reshape(xx.shape)\n", "\n", "# Plot decision boundary\n", "plt.contourf(xx, yy, Z, alpha=0.3, levels=1, colors=['red', 'blue'])\n", "plt.scatter(X[:,0], X[:,1], color=list(map(lambda f: 'blue' if f == 1 else 'red', y)))\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 44, "id": "2ff7b0de-6a94-47c4-8e46-66b7ae876b73", "metadata": {}, "outputs": [ { "data": { "image/png": "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j280RpvNpttvv91VY9I+3LlzpyZPnqzw8HDZbDZt3bq11XUKCgp0ww03yNfXV9dee61ycnIa1Xh6XHcUT8f36quvauLEierXr58CAwMVFxent99+263miSeeaLT/hg0b1oGjaJ6n4ysoKGjy59PhcLjVmbL/JM/H2NTxZbPZNHLkSFeNSfswIyND//Ef/6HevXurf//+Sk5O1uHDh1tdr6vfC3tcYNm0aZNSU1OVnp6uffv2KTo6WgkJCTp16lST9bt27dL06dN17733av/+/UpOTlZycrIOHDjgqnn66af13HPPKSsrS3v27NGVV16phIQEfffdd501LBdPx1dQUKDp06dr+/btKiwsVEREhCZNmqSvvvrKrS4xMVEnT550TRs3buyM4TTi6fikhm9m/GnvX375pdtyk/af5PkYX331VbfxHThwQN7e3rrjjjvc6kzZh9XV1YqOjlZmZuYl1ZeWlur222/XhAkTVFJSogULFmj27Nlub+pt+bnoKJ6Ob+fOnZo4caLeeustFRcXa8KECZo8ebL279/vVjdy5Ei3/ff+++93RPut8nR8Fxw+fNit//79+7uWmbT/JM/HuHr1arexHTt2TEFBQY2OQVP24Y4dOzRv3jzt3r1b27Zt0/fff69Jkyapurq62XWMeC+0epiYmBhr3rx5rsd1dXVWeHi4lZGR0WT9nXfead1+++1u82JjY63777/fsizLqq+vt0JDQ61nnnnGtbyiosLy9fW1Nm7c2AEjaJmn47vYDz/8YPXu3dtav369a97MmTOtKVOmtHerbeLp+F566SXLbrc3uz3T9p9lXf4+XLlypdW7d2+rqqrKNc+kffhTkqzXXnutxZqHH37YGjlypNu8qVOnWgkJCa7Hl/v/rKNcyviaMmLECGvx4sWux+np6VZ0dHT7NdZOLmV827dvtyRZ33zzTbM1pu4/y2rbPnzttdcsm81mffHFF655pu5Dy7KsU6dOWZKsHTt2NFtjwnthjzrDcv78eRUXFys+Pt41z8vLS/Hx8SosLGxyncLCQrd6SUpISHDVl5aWyuFwuNXY7XbFxsY2u82O0pbxXaympkbff/+9goKC3OYXFBSof//+ioyM1Ny5c3X27Nl27f1StHV8VVVVGjhwoCIiIjRlyhQdPHjQtcyk/Se1zz5ct26dpk2bpiuvvNJtvgn7sC1aOwbb4/+ZSerr63Xu3LlGx+CRI0cUHh6uwYMH66677lJZWVkXddg2o0ePVlhYmCZOnKgPPvjANb+77T+p4RiMj4/XwIED3eabug8rKyslqdHP3E+Z8F7YowLLmTNnVFdXp5CQELf5ISEhjT5PvcDhcLRYf+G/nmyzo7RlfBd75JFHFB4e7vZDl5iYqA0bNig/P1/Lli3Tjh07lJSUpLq6unbtvzVtGV9kZKSys7P1+uuv6y9/+Yvq6+s1duxYHT9+XJJZ+0+6/H1YVFSkAwcOaPbs2W7zTdmHbdHcMeh0OvXtt9+2y8+9SZYvX66qqirdeeedrnmxsbHKyclRXl6e1qxZo9LSUt188806d+5cF3Z6acLCwpSVlaVXXnlFr7zyiiIiIjR+/Hjt27dPUvu8bpnkxIkT+sc//tHoGDR1H9bX12vBggUaN26crrvuumbrTHgv7BZ/rRntY+nSpcrNzVVBQYHbhanTpk1z/XvUqFGKiorSNddco4KCAt16661d0eoli4uLU1xcnOvx2LFjNXz4cP3xj3/UkiVLurCzjrFu3TqNGjVKMTExbvN/zvuwJ3n55Ze1ePFivf76627XeCQlJbn+HRUVpdjYWA0cOFCbN2/Wvffe2xWtXrLIyEhFRka6Ho8dO1afffaZVq5cqT//+c9d2FnHWL9+vfr06aPk5GS3+abuw3nz5unAgQNddj2NJ3rUGZbg4GB5e3urvLzcbX55eblCQ0ObXCc0NLTF+gv/9WSbHaUt47tg+fLlWrp0qd555x1FRUW1WDt48GAFBwfr6NGjl92zJy5nfBdcccUVuv766129m7T/pMsbY3V1tXJzcy/pxa+r9mFbNHcMBgYGyt/fv11+LkyQm5ur2bNna/PmzY1OvV+sT58+Gjp06M9i/zUlJibG1Xt32X9Sw10y2dnZuueee+Tj49NirQn7cP78+fr73/+u7du3a8CAAS3WmvBe2KMCi4+Pj8aMGaP8/HzXvPr6euXn57v9Fv5TcXFxbvWStG3bNlf9oEGDFBoa6lbjdDq1Z8+eZrfZUdoyPqnhyu4lS5YoLy9PN954Y6vPc/z4cZ09e1ZhYWHt0velauv4fqqurk4ff/yxq3eT9p90eWPcsmWLamtrdffdd7f6PF21D9uitWOwPX4uutrGjRuVkpKijRs3ut2O3pyqqip99tlnP4v915SSkhJX791h/12wY8cOHT169JJ+aejKfWhZlubPn6/XXntN7733ngYNGtTqOka8F7bLpbs/I7m5uZavr6+Vk5NjffLJJ9Z9991n9enTx3I4HJZlWdY999xjPfroo676Dz74wOrVq5e1fPly69NPP7XS09OtK664wvr4449dNUuXLrX69Oljvf7669ZHH31kTZkyxRo0aJD17bffGj++pUuXWj4+Ptb//d//WSdPnnRN586dsyzLss6dO2c9+OCDVmFhoVVaWmq9++671g033GANGTLE+u6774wf3+LFi623337b+uyzz6zi4mJr2rRplp+fn3Xw4EFXjUn7z7I8H+MFN910kzV16tRG803bh+fOnbP2799v7d+/35JkrVixwtq/f7/15ZdfWpZlWY8++qh1zz33uOo///xzKyAgwHrooYesTz/91MrMzLS8vb2tvLw8V01r/89MHt9f//pXq1evXlZmZqbbMVhRUeGq+cMf/mAVFBRYpaWl1gcffGDFx8dbwcHB1qlTp4wf38qVK62tW7daR44csT7++GPrgQcesLy8vKx3333XVWPS/rMsz8d4wd13323FxsY2uU2T9uHcuXMtu91uFRQUuP3M1dTUuGpMfC/scYHFsizr+eeft371q19ZPj4+VkxMjLV7927XsltuucWaOXOmW/3mzZutoUOHWj4+PtbIkSOtN9980215fX299fjjj1shISGWr6+vdeutt1qHDx/ujKE0yZPxDRw40JLUaEpPT7csy7JqamqsSZMmWf369bOuuOIKa+DAgdacOXO67IXEsjwb34IFC1y1ISEh1m233Wbt27fPbXum7T/L8vxn9NChQ5Yk65133mm0LdP24YXbXC+eLoxp5syZ1i233NJondGjR1s+Pj7W4MGDrZdeeqnRdlv6f9aZPB3fLbfc0mK9ZTXcxh0WFmb5+PhYv/zlL62pU6daR48e7dyB/Zun41u2bJl1zTXXWH5+flZQUJA1fvx467333mu0XVP2n2W17We0oqLC8vf3t/70pz81uU2T9mFTY5PkdlyZ+F5o+3fzAAAAxupR17AAAICfJwILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIz3/wHHBg6E7hyaEAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn.tree import DecisionTreeClassifier\n", "X3 = np.array([[0,0],\n", " [0,1],\n", " [1,0],\n", " [1,1],\n", " [2,0],\n", " [0,2],\n", " [2,1],\n", " [1,2],\n", " [2,2]])\n", "y3 = np.array([0, 1, 1, 0, 0, 0, 1, 1, 0])\n", "\n", "plt.scatter(X3[:,0], X3[:,1], color=list(map(lambda f: 'blue' if f == 1 else 'red', y3)))\n", "\n", "model = DecisionTreeClassifier(max_depth=4,criterion='entropy')\n", "model.fit(X3, y3)\n", "model.predict(X3)\n", "\n", "# Create a meshgrid for plotting decision boundaries\n", "x_min, x_max = X3[:,0].min() - 0.1, X3[:,0].max() + 0.1\n", "y_min, y_max = X3[:,1].min() - 0.1, X3[:,1].max() + 0.1\n", "xx, yy = np.meshgrid(np.linspace(x_min, x_max, 200),\n", " np.linspace(y_min, y_max, 200))\n", "\n", "# Predict on the grid\n", "Z = model.predict(np.c_[xx.ravel(), yy.ravel()])\n", "Z = Z.reshape(xx.shape)\n", "\n", "# Plot decision boundary\n", "plt.contourf(xx, yy, Z, alpha=0.3, levels=1, colors=['red', 'blue'])\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 45, "id": "88881aa0-06f3-455b-a8bb-87575d3296ba", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from sklearn import tree\n", "\n", "fnames = X\n", "tname = y\n", "tree.plot_tree(model, feature_names=fnames, class_names=['red', 'blue'], filled=True)\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "f9e537a9-a34f-4ee4-ab00-cce1eb1ae85d", "metadata": {}, "source": [ "note the **redundancy** above. identical subtrees constructed. **great expressiveness**, but inefficient." ] }, { "cell_type": "markdown", "id": "6154848c-2d90-449c-8685-84ca635e244c", "metadata": {}, "source": [ "furthermore, realise that decision trees are not good with k classes if each k class contains the same number of training samples. because if this is the case then there is no real way to put the higher entropy decisions at the top, all k classes would have the same (low) entropy, i.e. low uncertainty.\n", "\n", "## gini\n", "is faster, formula contains only squares. better for high depth, many features.\n", "\n", "## entropy\n", "contains log calculations. slower. works better on smaller datasets." ] }, { "cell_type": "code", "execution_count": null, "id": "78e36bd9-ead0-4694-a182-de45cfa36a8b", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }