{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Effects of outliers on least squares vs logistic\n", "\n", "#### Additional note for CSCI-UA 9102, Introduction to Machine Learning\n", "\n", "#### Example 1 (in class)." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "\n", "from sklearn.datasets import make_blobs\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "X, y = make_blobs(n_samples=20, centers=2, n_features=2,random_state=42)\n", "\n", "plt.scatter(X[:,0], X[:,1], c = y)\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", "my_regression = LinearRegression()\n", "my_regression.fit(X, y)\n", "\n", "\n", "x1_min = np.min(X[:,0])\n", "x1_max = np.max(X[:,0])\n", "x2_min = np.min(X[:,1])\n", "x2_max = np.max(X[:,1])\n", "\n", "xx1, xx2 = np.meshgrid(np.linspace(x1_min, x1_max,100), np.linspace(x2_min, x2_max, 100))\n", "\n", "Xprediction = np.vstack((xx1.flatten(), xx2.flatten()))\n", "\n", "targets_prediction = my_regression.predict(Xprediction.T)\n", "\n", "\n", "plt.scatter(X[:,0], X[:,1], c = y)\n", "plt.contourf(xx1,xx2, np.reshape(targets_prediction>.5, np.shape(xx1)), levels=1, alpha=.2)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 148, "metadata": {}, "outputs": [], "source": [ "# adding an outlier\n", "outlier = np.array([-100, 100])\n", "y_outlier = 0\n", "\n", "X2 = np.vstack((outlier, X))\n", "y2 = np.append(y_outlier, y)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#### We first learn the " ] }, { "cell_type": "code", "execution_count": 149, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", "my_regression = LinearRegression()\n", "my_regression.fit(X2, y2)\n", "\n", "\n", "x1_min = np.min(X[:,0])\n", "x1_max = np.max(X[:,0])\n", "x2_min = np.min(X[:,1])\n", "x2_max = np.max(X[:,1])\n", "\n", "xx1, xx2 = np.meshgrid(np.linspace(x1_min, x1_max,100), np.linspace(x2_min, x2_max, 100))\n", "\n", "Xprediction = np.vstack((xx1.flatten(), xx2.flatten()))\n", "\n", "targets_prediction = my_regression.predict(Xprediction.T)\n", "\n", "\n", "plt.scatter(X[:,0], X[:,1], c = y)\n", "plt.contourf(xx1,xx2, np.reshape(targets_prediction>.5, np.shape(xx1)), levels=1, alpha=.2)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 150, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x1_min_0 = np.min(X[:,0])\n", "x1_max_0 = np.max(X[:,0])\n", "x2_min_0 = np.min(X[:,1])\n", "x2_max_0 = np.max(X[:,1])\n", "\n", "plt.scatter(X2[:,0], X2[:,1], c = y2)\n", "plt.contourf(xx1,xx2, np.reshape(targets_prediction>.5, np.shape(xx1)), levels=1, alpha=.2)\n", "axes = plt.gca()\n", "axes.set_xlim([x1_min_0,x1_max_0])\n", "axes.set_ylim([x2_min_0,x2_max_0])\n", "plt.show()\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Same idea with Logistic regression" ] }, { "cell_type": "code", "execution_count": 151, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from sklearn.linear_model import LogisticRegression\n", "\n", "myLogistic = LogisticRegression().fit(X, y)\n", "\n", "x1_min = np.min(X[:,0])\n", "x1_max = np.max(X[:,0])\n", "x2_min = np.min(X[:,1])\n", "x2_max = np.max(X[:,1])\n", "\n", "xx1, xx2 = np.meshgrid(np.linspace(x1_min, x1_max,100), np.linspace(x2_min, x2_max, 100))\n", "\n", "Xprediction = np.vstack((xx1.flatten(), xx2.flatten()))\n", "\n", "targets_prediction = myLogistic.predict(Xprediction.T)\n", "\n", "plt.scatter(X[:,0], X[:,1], c = y)\n", "plt.contourf(xx1,xx2, np.reshape(targets_prediction>.5, np.shape(xx1)), levels=1, alpha=.2)\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 153, "metadata": {}, "outputs": [], "source": [ "# adding an outlier\n", "outlier = np.array([-100, 100])\n", "y_outlier = 0\n", "\n", "X2 = np.vstack((outlier, X))\n", "y2 = np.append(y_outlier, y)\n" ] }, { "cell_type": "code", "execution_count": 154, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWoAAAD4CAYAAADFAawfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAY60lEQVR4nO3deZBddZ338ff3Lr2lk3QChJBFEkAMMRDADCCg8IAsIwhKQbnBjFIWPowKzDjFANZgOcszgzqo9TyOY4RxRmWkhojgMCgBFFAeUAMJSdhjDFnoQEICWfuu3/njdsdebnff7r7nnuV+XlVdlT7n3HO+fen+8L2/8zvnmLsjIiLRlQq7ABERGZmCWkQk4hTUIiIRp6AWEYk4BbWISMRlgtjptOnTffbsuUHsWgK0Zd1WSoXSkOWWMg6bP4NMSyC/LiKJUPACAC3j/DtZu3LNdnc/pNq6QP7yZs+ey7J7Hghi1/Xj8Ob2XWQyKTqndYZdTST8603/wdMPrWbwlM22SW3ccu9fk8kqqEUG6y5uOfDveXMOGvd+juic/8pw65ryL++V5zbzbzffyY7uneAwd8Fsrvz7jzH9sK6wSwvVBZ8+h7WPv0B+f/5AWGfbWrjoz85TSItU0RfSEwnoWlgQF7wsOnaxR7Wj3rNzD1/84Ffo2ddzYJmlUnQdMoW/ufevSKWbe9h+64Zt3Pft5axftYGuGVM5/8qzOO6MhWGXJRIpQQT0EZ3zn3L3JdXWNV2b9OR9T1MqDRyH9XKZfbt7eO7Jl1h02oKQKouGmfMO4VP/8PGwyxCJrEZ10f01XVBv3/IGhVxhyPJyqcTOrW82viARiYUwArpP7D7nl0tlivniuF9/5OL5tLS3Dl1hxuEL50ygMhFJqjBDGmLUUffs7eHOW+5h5UNrKJXKzDl6Fh//wiXMXTB7TPs54exF3H/7Q+x4dSfFQiXws61Zjjp+Pm87RkEtIn8QdkD3iU1H/c1rvsvKh9ZQLBTxcplNL2zma5/+Nm++/taY9pNpyXD9dz/LGR8+lWkzujh4zkFccNX7+N+3/klAlYtI3HQXt0QmpCEmHfXml7rZ9NKrBzrgPqV8iUfveoKLP3P+mPbXPrmNS669gEuuvaCeZYpIAkQpoPvEIqi3b36DdDrF4FOAxWKR7nVbQ6lJRJKlXheuBCEWQX3YkYdSKg69tDnbkmHesW8LoSIRSaKoBXSfWIxRH3r4ISw4+e1kW7MHlpkZ2fYWTr/k5BArExEJXiyCGuBT//hxzv74e5jc1UlLWwvHnflO/up7n6Oza1LYpYlIzPUf9oiiWAx9AGSyGT5w9Xl84Orzwi5FRBIkiicPB4tNUIuI1FMcArpPbIY+RETqJU4hDeqoRaSJxC2g+yioBajcQyWVSoGFXYlI/UV5jnQtFNRVFAtFHvnh4zx+728pl8v80fkncM4V76W1o8rNnGLud6s2cOctP6Z73Wtk27KcfsnJXPzZ8/WgAEmMuHbR/emvcTCHb133b/zumQ0Hbof60PceYfWjz3LD969J1IMFute/xv/93O0UevIA5Hvy/PJHT7J7xx4+8bcfCbk6kYmJexfdX3JSp05+v+YV1q9+ZcA9qwv5Its372D1Y8+FWFn9Lf/3RygOujd3IVdg1c/XsOuN3SFVJTJx/bvouIc0KKiH2PDsJsrF8pDluf051q8e9tmTsbTl5e4hD7KFyh0Gt2/ZEUJFIhMTtbve1YuCepCuGVNJt6SHLM+2ZZl+2LQQKgrO2xbOwVJDfwUK+SIz3nZwCBWJjF/Suuj+mnaM+qUVv+OXdz9Jz9487zrnOJact5hMNsOx7zmGltYs+X15nD90m+l0mj86//jwCg7AuX9yJk8tX01+f+7AsmxblpP/+ERdmi+xkaSx6OE03VPIAe7/zkM8+L1HyfeeRGtpa2Hugllc9y+fJpVO8frG7dx+0x1sXf86ZjBtZhef/LuPJvIJMJtffJVlt/4X61dvpGNyG2d+9HTO/dMzKlP1RCIuScMcIz2FPJCgnjf3KL/n/odpi+B0tre27+bmi/5xyEMIWtpauOLmyzjxnOMOLHtz2y68VGbaoV2aXywSIUkK6D4jBXUgbdPO197i5otu4fWN24PY/YS8/PR60tmhY9D5nvyQWR1dh0xh2swuhbRIhCQxpEcTSFB72dm3ax/f/5u7gtj9hLR3tmE2NHktlWLSlI4QKhKRWvTN6EjiycLRBDYQ6e5sWLuJ3P58UIcYlwUnHVW1o85k05z2oZNCqEhERtOMXXR/gZ8xSqWiNW6QzqS55pufYvJBk2ntaKVtUhvZ1iwfvv6DzDpqZtjliUg/zdxF9xfY9DxLpXjHkiMGPD4rKuYcPYv/c/9NrH9mI/n9OY48fl4i7+MhElfNMOVuLAIJaksZXTOmcPnNlwWx+7pIpVIcdcK8sMsQkUGafZijmkCC+uBZ0/nSj68nnRk6FiwiUo266OEFEtTtk9sU0iJSM3XRI2vaS8hFJHzqomujoBaRUKiLrl1N0/PM7M/N7FkzW2tmPzSztqALE5FkSuqtSIM0alCb2WzgGmCJuy8C0oAe/yEiY5bkW5EGqdahjwzQbmYFoAN4NbiSRCRp1EFPzKgdtbtvAb4KbAS6gbfcffng7czsKjNbYWYrdu54o/6VikgsKaQnrpahj2nAxcB8YBYwycwuH7yduy919yXuvmTadP0HEWl2uvy7fmo5mfg+4Pfuvs3dC8DdwKnBliUiSaCAro9agnojcIqZdVjl/qBnA88HW5aIiPSpZYz618Ay4GlgTe9rlgZcl4jEWP8LWWTiapr14e5fBL4YcC1jUiqWWPXztaz91QtMPqiTUy8+iZnzDgmlli0vb+X1jds47IhDmTl/Rig1iESBrjQMRiyvTCzmi3z900vZsq6bfE+eVDrNY3c9wRU3X8a7zl3csDp69uX452v/lY0vvEo6naJULHH0kiO56stXkGmJ5VsrMm6a3RGcWD5q+sn7njoQ0gDlUolCrsAdf/cjCrlCw+q46ys/4ZVnN1PoydOzt4dCrsBLK9Zx37cfbFgNImHT7I7gxTKoVyx/5kBI92cpY8PaTQ2pwcvOigdWDXmaeSFX5PF7ftOQGkTCpi66MWL5+bytvaXqci872bbGPFHG3SkVS1XXNbKrFwmDArqxYtlRn37pKbS0DQ3rjsntHH7MnIbUkEqnOPydc4csNzMWnPT2htQgEgaFdOPFMqgXnbqAMy57N5lshtb2Vto62ujs6uTPvvFJrIEP0/3ojZfQ1tFGJlv5YJJtydA+uZ1L/+LChtUg0igaiw6PuXvdd7ro2MW+7J4H6r7fwXa+9iYvP/V7Oqa2c8zJbw/lqTJvbtvFr5Y9weaXtzJv0RxO/9DJdE7rbHgdIkHRlLvGOKJz/lPuvqTauliOUfeZdmgXJ73/hFBr6DpkChdefV6oNYgERcMc0RDroBaRYKiLjhYFtYgMoC46ehTUASmXyjz7+Iu89so2Zh4xg4XvPppUKpbnbqVJqIuOLgV1APbs3MNXr/wWu3bsppArkm3N0DVjKp+//WomTekIuzyRIdRFR5tavADc+eV7eaN7J7l9OcqlErl9ObZvfoNl//RfYZcmMoAeNBsPCup6c1j9yHOUSwOvWiwVS6x8eE1IRYkMpQfNxoeGPgLgXq6+vFz/OesiY6UOOn7UUdebwTtPXYANOnGYSqc49oyFIRUlUqGQjicFdQA+csMHmTK9k9b2VgBa21uZevAULvv8RSFXJs1Kl3/Hm4Y+AtA1Yypfuud6Vj68lu7fv8bsI2dy/FmL9DABCYW66PhTcgQk25oN/fJ2aW4K6ORQUIskjC5cSR4FtUiCqItOJgW1SAKoi042BbVIzKmLTj4FtUhMqYtuHgpqkRhSF91cFNQiMaIuujkpqEViQl1089Il5CIxopBuTgpqEZGI09CHSMT1H5eW5qSgFokwjUsLKKhFIkmzO6Q/BbVIxKiLlsEU1CIRoS5ahqOgFokAddEykpqm55lZl5ktM7MXzOx5M3t30IWJNIO+R2SBQlqGV2tH/Q3gZ+5+qZm1AB0B1iTSFBTQUqtRg9rMpgDvBT4B4O55IB9sWSLJpYCWsapl6OMIYBvwXTNbaWa3mdmkgOsSSSSFtIxHLUGdAU4EvuXuJwB7gRsGb2RmV5nZCjNbsXPHG3UuUyTe+sai5805SCEtY1ZLUG8GNrv7r3u/X0YluAdw96XuvsTdl0ybrl9EkT7qomWiRh2jdvetZrbJzN7h7i8CZwPPBV+aSLwpoKVeap318Tngjt4ZH+uBTwZXkki86cIVqbeagtrdVwFLgi1FJP7URUsQdGWiSB2oi5YgKahFJkhdtARNQS0yTuqipVEU1CLjoC5aGklBLTIG6qIlDApqkRqpi5awKKhFRqGAlrDVdD9qkWalkJYoUEctUoUCWqJEQS3Sj04WShQpqEV6qYuWqFJQS9NTFy1Rp6CWpqYuWuJAQS1NSV20xImCWpqOumiJGwW1NA110RJXCmppKgpoiSNdmSgiEnEKamkK/Yc9ROJGQx+SaBqXliRQUEtiaXaHJIWCWhJHXbQkjYJaEkVdtCSRgloSQV20JJmCWmJPXbQknYJaYktdtDQLBbXEkrpoaSYKaokVBbQ0I12ZKLGhkJZmpY5aIk8BLc1OHbVEmkJaRB21RJQCWuQPFNQSKZpyJzKUgloiQ120SHUKagmdumiRkSmoJVTqokVGV3NQm1kaWAFscfcLgytJmoG6aJHajaWjvhZ4HpgSUC3SJNRFi4xNTfOozWwOcAFwW7DlSJJ1F7copEXGodaO+uvA9cDk4TYws6uAqwBmzZo94cIkWRTQEojSdjz3KPgeLHs8ZI8Ds7CrqrtRg9rMLgRed/enzOzM4bZz96XAUoBFxy72ehUo8aaAlsDkfovv+SegDBTxngcguwibfANYsi66ruWnOQ24yMw2AHcCZ5nZDwKtShJBIS2B8QK+52tAHij2LuyBwhrIPx5iYcEYNajd/UZ3n+Pu84CPAD9398sDr0xiq28set6cgxTSEozCc0C1IY4c3vNoo6sJXLI+H0jo1EVLQ9gIo7YjrYupMf1E7v4I8EgglUisKaCloTILgHSVFa1Y69mNriZw6qhlQjTlTkJhaWzKjUBb71e28tX6v6BlSbi1BSB5nxGk4RTQEorsMdi026HwGyjvgZbjID037KoCoaAWkfhKtUPrGWFXETgNfci49b9fh4gER0Et46JxaZHG0dCHjIkCWqTx1FFLzRTSIuFQRy2jUkCLhEsdtYxIIS0SPnXUUpUCWiQ6FNQygB6RJRI9Cmo5QF20SDQpqEVdtEjEKaibnLpokehTUDcpddEi8aGgbkLqokXiRUHdRNRFi8STgrpJqIsWiS8FdcIpoEXiT5eQJ5hCWiQZ1FEnkAJaJFkU1Amik4UiyaSgTgh10SLJpaCOOXXRIsmnoI4xddEizUFBHUPqokWai4I6ZtRFizQfBXVMqIuWxCi+jO//GZTfhJYlWNtZYK1hVxVpCuoYUBctSeE9D8Pe7wAFwKH4HN7zU2zqlyHVFnZ5kaWgjjAFtCSK52DvbUC+38IclF/Hcw9i7R8Iq7LI0yXkEaWQlsQp/o7qkZOH/BONriZW1FFHjAJaEiO/Eu9ZDr4fa30vnp4LlKtva5MbWlokeL4yTp+aBpYdcVMFdQQppCXufO8PoOe/gVzl++KLkJkPNg38NcD7bd2Ktb0/jDLD4Y7v+wH03N+7wKD9QyO+REEtIvVV2g49PwGK/RbmoLgBOq6orCu/BVhlm/ZLoWXx+I/nDvkn8J77oLwXWk7B2i+C1KQJ/RhB8f3LekM694eF++8e8TUK6gjpPwVPJLaKa6lES3HQih4orsO6/hmKL0N5F2TfAamJDXv4vu9Dz085EHw93Xj+MWzqrZBqn9C+684d9t/LgJCGKt8PNOrJRDOba2a/MLPnzexZM7t2AmVKFd3FLRqblgTppNItD5auhLIZZI+G1iUTDmlKO6HnPgYGXRHKO/HcwxPbdyDKwL4xv6qWWR9F4PPufgxwCvAZM1s45iNJVf0DWiEtidCyGEhXWZHG2t5X32MV1wHVTsTlIb+yvseqB0tDauaYXzZqULt7t7s/3fvv3cDzwOwxH0kGUBctiWVZbOqXwLqANqAdaIXOz0B6Tn2Plepi4InJAysgfXB9j1Un1nEl0DJo6eDvBxrTGLWZzQNOAH49ltfJQApoSbzMfGza7VB8sXKhS3ZBMJeJZ46C1HQob2Xg1L9MdGeStC7BUjfj+34IpS2QPhzr+Bhw7rAvqTmozawT+BFwnbvvqrL+KuAqgFmz1HBXo4CWpmJWCeiAj2FTvoTv/gcobaYySJCBzqshc3iwx56I7EJs6t/WvHlNQW1mWSohfYe7V51H4u5LgaUAi45dXO2zSFNTSIsEJH0Q1vVVKL0Gvg/Sc8GSNaFt1J/GzAy4HXje3W8NvqRkUUCLNEj60LArCEwt/9s5DbgCWGNmq3qX3eTu9w//EgGFtEig3CH/ON7zEyjvhuyJWPulkJ42tn0U1uL5XwFgrWdANnqT2kYNanf/FdUnRcowFNAiwfN9d/ZeAdk7hzq3HM//f6zrG5CaUts+9n4Hcr84sA/PPQZt52GTPhFIzeOlu+fVkabciTRIeQ/03MPAC11K4Hvx/f9d2z6K6weEdEUOen4GpU11K7UeFNR1ogtXRBqo9ArVBwSKUFxV0y48t4KB98buU4b80+OvLQDJOjUaAj0iSyQEqelAaZh1tZ1UtFQrTpqh9yRJRe7RYOqoJ0BdtEhI0odB5giG9pottT8ppuU0hj39ln33BIqrPwX1OGgsWiR8NvlGyCyiEtatQCd0XgOZt9e2g/TB0PlZKvcKaev9aoHOP4f01ICqHh8NfYyRAlokIlKTsak3Q+ktYG9lyMOq3QxqeNb6Hsi+CworAYPsCdG7NSoK6pppLFokotJTgQl0wKkOaD2tbuUEQUFdA3XRIhImBfUIFNAiEgU6mTgMhbSIRIU66kEU0CISNeqo+1FIi0gUqaNGAS0i0dbUQa0pdyISB00b1OqiRSQumi6o1UWLyLBKm/B9d1dugZqZV3kQQWZu2FU1V1CrixaRYRVexnfdTOXWpw75zXj+N9iULwb/kN5RNMWsD91ESURG4/u+Q+UhAn3P5nYgh++9LbyieiW+o1ZAi0hNiuurLy+trzxb0QJ8ImF5/4irExvUGosWkbHpAPZUXx5USHsB37sUco+NuFkihz50Q38RGbP2C4GWQQtboO39gR3S994GuV8ChRG3S1xH3V3conAWkTGz9kvx8huQe4RKNBah9T1Yx4eDOWC5p/dYI4c0JDCoRUTGxVJY59XQcTmUtkL6UEhNCe54vodhHwU2SKKCuv+4tIjIuKQmV74CP850KkMt1Z6EPmjTwItpEM3uEJFYsRRM+gRDx8WHin1HrdkdIhJX1nYWpLrw/XcBK4fdLtZBrS5aRGKv5USs5UTgzmE3iWVQq4sWkWYSu6BWFy0izSY2Qa0uWkSaVSyCWl20iDSzSAe1AlpEJMLzqBXSIiIVkeuoFdAiIgNFJqh1slBEpLpIBLW6aBGJhcJzeM9PobwbWk6pXFloo18CPlGhBrW6aBGJC9//E9j3QyqP6wKKL+K55djUW8CygR47tKBWFy0isVHeA/vuYOC9o3NQ6sZ7HsHazwn08KHM+lBIi0isFF6gel+bg/yTgR/e3H30rca6U7NtwCsjbHIwsL3uB443vSdD6T0ZSu/JUEl5Tw5390OqrQgkqEdjZivcfUnDDxxhek+G0nsylN6ToZrhPYnsBS8iIlKhoBYRibiwgnppSMeNMr0nQ+k9GUrvyVCJf09CGaMWEZHaaehDRCTiFNQiIhEXalCb2V+amZvZwWHWEQVm9hUze8HMVpvZj82sK+yawmJm55vZi2a2zsxuCLuesJnZXDP7hZk9b2bPmtm1YdcUFWaWNrOVZnZf2LUEKbSgNrO5wDnAxrBqiJgHgUXufhzwEnBjyPWEwszSwDeBPwYWAh81s4XhVhW6IvB5dz8GOAX4jN6TA64Fng+7iKCF2VF/Dbge0NlMwN2Xu3ux99sngTlh1hOik4B17r7e3fPAncDFIdcUKnfvdvene/+9m0owzQ63qvCZ2RzgAuC2sGsJWihBbWYXAVvc/Zkwjh8DVwI/DbuIkMwGNvX7fjMKpQPMbB5wAvDrkEuJgq9TafbKIdcRuMDunmdmDwEzq6z6AnATcG5Qx46qkd4Td7+3d5svUPmoe0cja4sQq7JMn7oAM+sEfgRc5+67wq4nTGZ2IfC6uz9lZmeGXE7gAgtqd39fteVmdiwwH3jGzKDyEf9pMzvJ3bcGVU8UDPee9DGzPwUuBM725p3gvhmY2+/7OcCrIdUSGWaWpRLSd7j73WHXEwGnAReZ2fuBNmCKmf3A3S8Pua5AhH7Bi5ltAJa4exLufjVuZnY+cCtwhrtvC7uesJhZhsrJ1LOBLcBvgY+5+7OhFhYiq3Q0/w7scPfrQi4ncno76r909wtDLiUwmkcdHf8PmAw8aGarzOxfwi4oDL0nVD8LPEDlpNl/NnNI9zoNuAI4q/d3Y1VvJylNIvSOWkRERqaOWkQk4hTUIiIRp6AWEYk4BbWISMQpqEVEIk5BLSIScQpqEZGI+x8MsHodqNEc3QAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "myLogistic = LogisticRegression().fit(X2, y2)\n", "\n", "x1_min = np.min(X[:,0])\n", "x1_max = np.max(X[:,0])\n", "x2_min = np.min(X[:,1])\n", "x2_max = np.max(X[:,1])\n", "\n", "xx1, xx2 = np.meshgrid(np.linspace(x1_min, x1_max,100), np.linspace(x2_min, x2_max, 100))\n", "\n", "Xprediction = np.vstack((xx1.flatten(), xx2.flatten()))\n", "\n", "targets_prediction = myLogistic.predict(Xprediction.T)\n", "\n", "plt.scatter(X2[:,0], X2[:,1], c = y2)\n", "plt.contourf(xx1,xx2, np.reshape(targets_prediction>0.5, np.shape(xx1)), levels=1, alpha=.2)\n", "axes = plt.gca()\n", "axes.set_xlim([x1_min_0,x1_max_0])\n", "axes.set_ylim([x2_min_0,x2_max_0])\n", "plt.show()\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.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }