Skip to content

Instantly share code, notes, and snippets.

@anuradhawick
Created May 19, 2020 15:38
Show Gist options
  • Save anuradhawick/a64b8c3c8700d3816c283f03c3775b75 to your computer and use it in GitHub Desktop.
Save anuradhawick/a64b8c3c8700d3816c283f03c3775b75 to your computer and use it in GitHub Desktop.
Logistic Regression
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.datasets import make_blobs\n",
"import seaborn as sns"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(-10, 10, 0.1)\n",
"y = 1/(1 + np.exp(-x)) \n",
"y1 = 0.5 + np.zeros(len(x))\n",
"fig = plt.figure(figsize=(10,5))\n",
"plt.plot(x, y)\n",
"plt.plot(x, y1)\n",
"plt.xlabel(\"x\")\n",
"plt.ylabel(\"y\")\n",
"plt.grid()\n",
"plt.savefig(\"sigmoid.png\", dpi=300)\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.datasets import make_classification"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"X, y = make_classification(n_features=2, n_redundant=0, n_informative=2, random_state=1, n_clusters_per_class=1)\n",
"fig = plt.figure(figsize=(10,5))\n",
"\n",
"sns.scatterplot(X[:,0], X[:,1], hue=list(map(lambda x: f\"C{x}\", y)))\n",
"plt.xlabel(\"feature 1\")\n",
"plt.ylabel(\"feature 2\")\n",
"plt.grid()\n",
"plt.legend(loc=\"lower right\")\n",
"plt.scatter(X[:,0], X[:,1], c=list(map(lambda x: f\"C{x}\", y)))\n",
"plt.savefig(\"data_set.png\", dpi=300)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"X = np.concatenate([np.ones((len(X), 1)), X], axis=1)\n",
"theta = np.zeros(3)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def h(theta, xi):\n",
" return 1/(1 + np.exp(-1*np.dot(xi, theta))) \n",
"\n",
"def cost_function1(theta, X, y):\n",
" m = len(X)\n",
" return 1/(2*m) * sum((h(theta, X) - y)**2)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"# cost_plot = cost_function1(theta, X, y)\n",
"plot_vals = []\n",
"for t in np.arange(-100, 100, .1):\n",
" theta[0] = t\n",
" plot_vals.append([t, cost_function1(theta, X, y)])\n",
"plot_vals = np.array(plot_vals)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(figsize=(10,5))\n",
"plt.plot(plot_vals[:, 0], plot_vals[:, 1])\n",
"plt.xlabel(\"theta 0\")\n",
"plt.ylabel(\"loss\")\n",
"plt.grid()\n",
"plt.savefig(\"loss-theta-0.png\", dpi=300)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAE9CAYAAAAmvEclAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deZhcZZ3//fdd1dVdvVTve3c6nZCN7Bv7IgFRUARBBHTGDZBx5nFknE1nHNC55vE3zvXMIKCj/hA3VERBREQEA5FFIEA2Atn3pNP7vq91P3+c6iWkQzqhTp3qqs/rus51ajlV59sckv7ke+5zH2OtRURERESiw+d1ASIiIiKJROFKREREJIoUrkRERESiSOFKREREJIoUrkRERESiSOFKREREJIpSvC5gosLCQltdXe11GSIiIiIntXHjxmZrbdHbX4+rcFVdXc2GDRu8LkNERETkpIwxhyZ7XacFRURERKJI4UpEREQkihSuRERERKLItTFXxpj5wC8nvDQbuNNae7db+xQREZHYGxoaoqamhv7+fq9LcUUwGKSyspJAIDCl7V0LV9baXcByAGOMHzgK/Mat/YmIiIg3ampqCIVCVFdXY4zxupyostbS0tJCTU0Ns2bNmtJnYnVa8DJgn7V20lH1IiIiMn319/dTUFCQcMEKwBhDQUHBKXXlYhWubgJ+EaN9iYiISIwlYrAadao/m+vhyhiTClwNPHyC928zxmwwxmxoampyuxwRERERAL797W8zZ84cjDE0NzdH7Xtj0bm6EthkrW2Y7E1r7X3W2tXW2tVFRcdNcioiIiLiigsuuIBnnnmGmTNnRvV7YxGuPkacnBJ86q06nt+t7piIiEgiueOOO7jnnnvGnn/lK1/h3nvvPennVqxYgRu33XP19jfGmAzgcuCv3NzPVN377F7KcoK8Z546ZCIiIonilltu4brrruP2228nHA7z0EMPsW7dOpYvXz7p9g8++CALFy50rR5Xw5W1thcocHMfpyIUTKGrf9jrMkRERBLWv/9uG9trO6P6nQvLs/nqhxad8P3q6moKCgrYvHkzDQ0NrFixgpkzZ7Jly5ao1jFVcXXjZrdlpwc40trrdRkiIiISZbfeeis//vGPqa+v5+abb6arq4uLLrpo0m2ndecq3qhzJSIi4q536jC56dprr+XOO+9kaGiIBx98EL/f71nnKqnuLZgdDNDZP+R1GSIiIhJlqamprFmzhhtuuAG/3z+lz9x7771UVlZSU1PD0qVLufXWW6NSS1J1rrKDKXQPDBMOW3y+xJ3sTEREJNmEw2HWr1/Pww9POq3mpL7whS/whS98Ieq1JFXnKhQMYC10D+rUoIiISKLYvn07c+bM4bLLLmPu3Llel5NcnatQ0Plxu/qHyQ5O7c7WIiIiEt8WLlzI/v37vS5jTNJ1rgC6NO5KREREXJJU4So73elcdfbptKCIiIi4I6nClTpXIiIi4rYkC1fjY65ERERE3JBU4Wp0ELvmuhIREZEDBw5wzjnnMHfuXG688UYGBwej8r1JFa7UuRIREZFRX/rSl/jiF7/Inj17yMvL4wc/+EFUvjepwlUw4CfV71PnSkREJIHccccd3HPPPWPPv/KVr3Dvvfe+42estaxbt47rr78egE996lM89thjUaknqea5Aqd7pasFRUREEsctt9zCddddx+233044HOahhx5i3bp1LF++fNLtH3zwQYqLi8nNzSUlxYlClZWVHD16NCr1JF24yk4P6GpBERERt/zhy1D/ZnS/s3QJXPmNE75dXV1NQUEBmzdvpqGhgRUrVjBz5sx3vHFzU1PTca8ZE51b4yVduAoFUzTmSkREJMHceuut/PjHP6a+vp6bb76Zrq4uLrrookm3ffDBBznzzDNpb29neHiYlJQUampqKC8vj0otSRqu1LkSERFxxTt0mNx07bXXcueddzI0NMSDDz6I3+9/x84VwJo1a3jkkUe46aab+MlPfsI111wTlVqSakA7ONMxdKpzJSIiklBSU1NZs2YNN9xwA36/f0qf+a//+i/uuusu5syZQ0tLC7fccktUalHnSkRERKa9cDjM+vXrefjhh6f8mdmzZ/Paa69FvZak61yFggGNuRIREUkg27dvZ86cOVx22WXMnTvX63KSs3PVOzjC0EiYgD/psqWIiEjCWbhwIfv37/e6jDFJly5Gb4HTre6ViIiIuCDpwpVugSMiIhJ91lqvS3DNqf5sSRiudPNmERGRaAoGg7S0tCRkwLLW0tLSQjAYnPJnkm7MVXa68yMrXImIiERHZWUlNTU1k856ngiCwSCVlZVT3j75wlWkc6XTgiIiItERCASYNWuW12XEjSQ8LagxVyIiIuIeV8OVMSbXGPOIMWanMWaHMeY8N/c3FWNjrvp0WlBERESiz+3TgvcAT1lrrzfGpAIZLu/vpNS5EhERETe5Fq6MMdnAxcCnAay1g8CgW/ubqoDfR3rAr1vgiIiIiCvcPC04G2gCfmSM2WyMud8Yk+ni/qbMub+gOlciIiISfW6GqxRgJfBda+0KoAf48ts3MsbcZozZYIzZEKtLOLPTA5qKQURERFzhZriqAWqsta9Gnj+CE7aOYa29z1q72lq7uqioyMVyxqlzJSIiIm5xLVxZa+uBI8aY+ZGXLgO2u7W/UxEKBjTmSkRERFzh9tWCfwv8PHKl4H7gMy7vb0qygykcae31ugwRERFJQK6GK2vtFmC1m/s4HepciYiIiFuSboZ2cDpXnRpzJSIiIi5IynAVCqYwOBymf2jE61JEREQkwSRluMpO182bRURExB1JGa7Gb4GjcVciIiISXckZrtLUuRIRERF3JGW4Gj0tqFnaRUREJNqSMlyNnxZU50pERESiK8nDlTpXIiIiEl1JGq405kpERETckZzhKi0FY6CzT50rERERia6kDFc+nyErVbO0i4iISPQlZbgCZ9yVTguKiIhItCVtuMpOD2gqBhEREYm6pA1XTudK4UpERESiK4nDVUCnBUVERCTqkjhcacyViIiIRF/ShqvsoMZciYiISPQlbbga7VxZa70uRURERBJIEoerACNhS9/QiNeliIiISAJJ2nCVne7cX7CzT+OuREREJHqSNlyN319Q465EREQkepI4XEU6V7piUERERKIoacNVdiRcqXMlIiIi0ZTE4co5LajOlYiIiERT0oYrjbkSERERNyRxuBo9LajOlYiIiERP0oarjFQ/fp+hs0+dKxEREYmeFDe/3BhzEOgCRoBha+1qN/d3Kowxur+giIiIRJ2r4SpijbW2OQb7OWVOuFLnSkRERKInaU8LAoTSAupciYiISFS5Ha4s8EdjzEZjzG0u7+uUZaen0KnOlYiIiESR26cFL7DW1hpjioG1xpid1toXJm4QCV23AVRVVblczrFCwQBHWntjuk8RERFJbK52rqy1tZF1I/Ab4OxJtrnPWrvaWru6qKjIzXKOowHtIiIiEm2uhStjTKYxJjT6GHgf8JZb+zsd2cGApmIQERGRqHLztGAJ8BtjzOh+HrTWPuXi/k5ZdjCF7sFhwmGLz2e8LkdEREQSgGvhylq7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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.arange(0.001, 1, 0.01)\n",
"y = -np.log(x)\n",
"fig = plt.figure(figsize=(10,5))\n",
"plt.plot(x,y, color=\"C0\", label=\"y=1\")\n",
"x = np.arange(0.001, 1, 0.01)\n",
"y = -np.log(1-x)\n",
"plt.plot(x,y, color=\"C1\", label=\"y=0\")\n",
"plt.legend()\n",
"plt.xlabel(\"h(x)\")\n",
"plt.ylabel(\"loss\")\n",
"plt.savefig(\"new_loss_function.png\", dpi=300)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"X, y = make_classification(n_features=2, n_redundant=0, n_informative=2, random_state=1, n_clusters_per_class=1)\n",
"clf = LogisticRegression(random_state=0).fit(X, y)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[-3.36656909 0.12308678]]\n",
"[-0.13931403]\n"
]
}
],
"source": [
"print(clf.coef_)\n",
"print(clf.intercept_)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[0.95190421, 0.04809579]])"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf.predict_proba([[ 0.8780991 , 0.89551051]])"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.048095787701834765"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h([-0.13931403, -3.36656909, 0.12308678], [1, 0.8780991 , 0.89551051])"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"x1 = np.arange(-2, 2, 0.01)\n",
"x2 = np.arange(0, 2, 0.01)\n",
"\n",
"xx1, xx2 = np.meshgrid(x1, x2)\n",
"grid = np.c_[xx1.ravel(), xx2.ravel()]\n",
"preds = clf.predict_proba(grid)[:, 1].reshape(xx1.shape)\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f, ax = plt.subplots(figsize=(10, 5))\n",
"ax.contour(xx1, xx2, preds, levels=[.5], cmap=\"Greys\", vmin=0, vmax=.6)\n",
"\n",
"sns.scatterplot(X[:,0], X[:,1], hue=list(map(lambda x: f\"C{x}\", y)))\n",
"plt.xlabel(\"feature 1\")\n",
"plt.ylabel(\"feature 2\")\n",
"plt.grid()\n",
"plt.legend(loc=\"lower right\")\n",
"plt.savefig(\"predicted_boundary.png\", dpi=300)"
]
}
],
"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.10"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment