{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Supervised Learning II\n", "by Mauricio Araya\n", "## (A.K.A. Supervised Learning Lab)\n", "\n", "Credit: Guillermo Cabrera, Matthew Graham, and Scikit Learn\n", "\n", "(Yes... I will force you to code now...)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.- Regularized Regression... or ridding alone\n", "\n", "### Objective\n", "* Understand the effect of the regularization parameters\n", "* Compare Ridge and Lasso\n", "* Warm up!\n", "\n", "### Regularization Reminder (slide)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise\n", "### a) Forging your own Galaxy Photometry/Redshift dataset\n", "* Use my Tuesday's notebook to load the `sdss_gal.csv`\n", "* Downsample the data (use $n=10000$ for example)\n", "* Divide into training and test/validation\n", "* Select the 'u-g' feature (and hack it to be a matrix)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "galaxy_feat = pd.read_csv('sdss_gal.csv', low_memory=False)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "n=10000\n", "gal_sample = galaxy_feat.sample(n=n,random_state=0)\n", "train_data = gal_sample[:int(len(gal_sample)*0.75)]\n", "test_data = gal_sample[int(len(gal_sample)*0.75):]\n", "X=train_data[['u-g','g-r','r-i','i-z']]\n", "y=train_data['redshift']\n", "Xp=test_data[['u-g','g-r','r-i','i-z']]\n", "yp=test_data['redshift']" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "y_train = train_data['redshift']\n", "X_train = train_data['g-r']\n", "# Formatting hack...\n", "X_train=X_train.values.reshape(len(X_train), 1);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### b) Use the scikit-learn to perform a ridge regression \n", "* Use now a polynomial model (degree = 10 for example)\n", "* Plot your data and the curve line (use the `.predict()` function, not manually)\n", "* Plot the parameters in a bar plot " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n", " normalize=False, random_state=None, solver='auto', tol=0.001)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.linear_model import Ridge,Lasso\n", "from sklearn.preprocessing import PolynomialFeatures\n", "gen_poly_terms = PolynomialFeatures(degree=10)\n", "X_train_with_poly = gen_poly_terms.fit_transform(X_train)\n", "poly_regression = Ridge()\n", "poly_regression.fit(X_train_with_poly, y_train)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "x_vals = np.linspace(0, np.max(X_train), 100)\n", "x_vals = x_vals.reshape(len(x_vals), 1);\n", "poly_vals=gen_poly_terms.transform(x_vals)\n", "y_pred=poly_regression.predict(poly_vals)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEKCAYAAAD9xUlFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmYpGV1Nn4/te9Lb9M93bMwgOw64KCAEYyRxcQPUeJCvEREReMW0Y8vGg0YQSU/XEKM0SAicUGJxiAqKtFocJdV0ZFhh+l9qX3fnt8f1feZt2uqu6u6q3qZee7r4mK66+23nnrrfc85z33uc47SWsPAwMDAwAAAbOu9AAMDAwODjQPjFAwMDAwMBMYpGBgYGBgIjFMwMDAwMBAYp2BgYGBgIDBOwcDAwMBAYJyCgYGBgYHAOAUDAwMDA4FxCgYGBgYGAsd6L6Bd9PX16Z07d673MgwMDAw2Fe69995ZrXX/csdtOqewc+dO3HPPPeu9DAMDA4NNBaXUU60cZ+gjAwMDAwOBcQoGBgYGBgLjFAwMDAwMBJsup2BgYLB2KJfLGB0dRaFQWO+lGLQIj8eDkZEROJ3OFf1915yCUuomAC8BMK21PnGJ404F8CsAr9Jaf6Nb6zEwMGgfo6OjCAaD2LlzJ5RS670cg2Wgtcbc3BxGR0dxxBFHrOgc3aSPbgZw3lIHKKXsAP4RwA+6uA4DA4MVolAooLe31ziETQKlFHp7e1e1s+uaU9Ba3wUgtsxh7wDwnwCmu7UOAwOD1cE4hM2F1X5f65ZoVkoNA3gZgM+u1xoMDKzQWqNarcKMqDU4nLGe6qN/AvC3WuvqcgcqpS5TSt2jlLpnZmZmDZZmcLihXC4jHo8jkUggHo+jXC6v95IMNjCuvPJK/PCHP1z1eX7yk5/gJS95CQDg9ttvx7XXXrvqc64W66k+2gPga/NbnT4Af66Uqmitb2s8UGt9A4AbAGDPnj0mjDPoKLTWSKfTsNlssNvtqFarSKfTiEajhjrZQNBaQ2sNm23lsWylUoHDsXqz96EPfWjV52jE+eefj/PPP7/j520X67ZT0FofobXeqbXeCeAbAN7azCEYGHQbtVoNWmvY7XYAgN1uh9YatVptnVdm8OSTT+K4447DW9/6VpxyyinYv38/7rzzTpx++uk45ZRT8IpXvAKZTAYAcMcdd+DYY4/Fn/zJn+Cd73ynROAf/OAHcdlll+Gcc87BxRdfjGq1iiuuuAKnnnoqnvnMZ+Lf/u3fAAATExM488wzsXv3bpx44on46U9/imq1iksuuQQnnngiTjrpJHzyk58EAFxyySX4xjfqYskf/ehHOPnkk3HSSSfh0ksvRbFYBFBvyXPVVVfhlFNOwUknnYSHHnpoyc9688034+1vf7uc/53vfCfOOOMM7Nq1S94LAK677jpZ+1VXXdXBq11H15yCUuqrAH4J4Bil1KhS6g1Kqbcopd7Srfc0MFgJbDYblFKoVutMZrVahVJqVRGpQeewb98+XHzxxbj//vvh9/txzTXX4Ic//CHuu+8+7NmzB5/4xCdQKBTw5je/Gd/73vfws5/9DI0087333otvfetbuOWWW/D5z38e4XAYd999N+6++2587nOfwxNPPIFbbrkF5557Lh544AH89re/xe7du/HAAw9gbGwMv//97/Hggw/i9a9//YLzFgoFXHLJJbj11lvx4IMPolKp4DOf+Yy83tfXh/vuuw9//dd/jY997GNtfe6JiQn87Gc/w3e+8x28973vBQDceeedeOSRR/Cb3/wGDzzwAO69917cddddK7yyzdE1+khrfVEbx17SrXUYGCwHpRSCwSDS6bQ4hGAwaKijZujGNVkmsb9jxw6cdtppAIBf/epX2Lt3L573vOcBAEqlEk4//XQ89NBD2LVrl2jzL7roItxwww1yjvPPPx9erxdA3bD+7ne/k+g7mUzikUcewamnnopLL70U5XIZF1xwAXbv3o1du3bh8ccfxzve8Q78xV/8Bc4555wFa9u3bx+OOOIIPOMZzwAAvO51r8OnP/1pvOtd7wIAvPzlLwcAPPvZz8Y3v/nNti7LBRdcAJvNhuOPPx5TU1Oy9jvvvBMnn3wyACCTyeCRRx7BmWee2da5l4KpaDYwAOB0OhGNRlGr1WTnYNAE66DM8vv9lrfXOPvss/HVr351wTH3339/W+f41Kc+hXPPPfeg4+666y5897vfxWtf+1pcccUVuPjii/Hb3/4WP/jBD/DpT38a//Ef/4GbbrppwbmWgtvtBlCnJCuVypLHLva31vfRWuN973sf3vzmN7d1rnZg9scGBvNQSsFutxuHsIFx2mmn4ec//zkeffRRAEAul8PDDz+MY489Fo8//jiefPJJAMCtt9666DnOPfdcfOYznxGF2cMPP4xsNounnnoKAwMDeNOb3oQ3vOENuO+++zA7O4tarYYLL7wQV199Ne67774F5zr2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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "train_data.plot.scatter('g-r','redshift',color='gray',alpha=0.1,label='data',ax=ax)\n", "ax.plot(x_vals,y_pred, color='red', linewidth=1.0, label='regression line')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.bar(range(len(poly_regression.coef_)),poly_regression.coef_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### c) See how regularization works\n", "* Pack the code into a function that recieves the degree and the alpha parameter of regularization\n", "* If you have not, you need to give the alpha parameter to the regression\n", "* Use interact to play with the two values ($d \\in [2,15]$, $\\alpha \\in [0,1]$)\n", "* Do the same for LASSO regularization" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def train_and_plot(d=10,a=0.0):\n", " gen_poly_terms = PolynomialFeatures(degree=d)\n", " X_train_with_poly = gen_poly_terms.fit_transform(X_train)\n", " poly_regression = Ridge(alpha=a)\n", " poly_regression.fit(X_train_with_poly, y_train)\n", " poly_vals=gen_poly_terms.transform(x_vals)\n", " y_pred=poly_regression.predict(poly_vals)\n", " fig, ax = plt.subplots()\n", " train_data.plot.scatter('g-r','redshift',color='gray',alpha=0.1,label='data',ax=ax)\n", " ax.plot(x_vals,y_pred, color='red', linewidth=1.0, label='regression line')\n", " plt.legend()\n", " plt.figure()\n", " plt.bar(range(len(poly_regression.coef_)),poly_regression.coef_)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "ename": "SyntaxError", "evalue": "invalid syntax (, line 1)", "output_type": "error", "traceback": [ "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m ]\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid syntax\n" ] } ], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def train_and_plot_lasso(d=10,a=0.1):\n", " gen_poly_terms = PolynomialFeatures(degree=d)\n", " X_train_with_poly = gen_poly_terms.fit_transform(X_train)\n", " poly_regression = Lasso(alpha=a)\n", " poly_regression.fit(X_train_with_poly, y_train)\n", " poly_vals=gen_poly_terms.transform(x_vals)\n", " y_pred=poly_regression.predict(poly_vals)\n", " fig, ax = plt.subplots()\n", " train_data.plot.scatter('g-r','redshift',color='gray',alpha=0.1,label='data',ax=ax)\n", " ax.plot(x_vals,y_pred, color='red', linewidth=1.0, label='regression line')\n", " plt.legend()\n", " plt.figure()\n", " plt.bar(range(len(poly_regression.coef_)),poly_regression.coef_)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'train_and_plot_lasso' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mipywidgets\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0minteract\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0minteract\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrain_and_plot_lasso\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m15\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0.0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m2.0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m0.1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'train_and_plot_lasso' is not defined" ] } ], "source": [ "from ipywidgets import interact\n", "interact(train_and_plot_lasso,d=(2,15),a=(0.0,2.0,0.1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.- Linear Regression... without training wheels\n", "\n", "### Objective\n", "\n", "As an exercise lets do a linear regression without training wheels:\n", "* Left wheel: $x \\in \\mathbb{R}$ --> $\\mathbf{x} \\in \\mathbb{R}^n$ variable\n", "* Right wheel: `scikit-learn` package --> just `pandas`, `numpy` and `scipy`\n", "\n", "### Theory\n", "What is a linear model?\n", "$$ y = f(\\mathbf{x};\\mathbf{w}) = \\sum_j w_j \\phi_j(\\mathbf{x}) = \\mathbf{w}^\\textrm{T} \\boldsymbol{\\phi}(\\mathbf{x}) $$\n", "\n", "Examples:\n", "* Polinomial: $\\phi_j(\\mathbf{x}) = \\|\\mathbf{x}\\|^j$\n", "* Gaussian: $\\phi_j(\\mathbf{x}) = \\exp\\left\\{\\frac{- \\|\\mathbf{x} - \\boldsymbol{\\mu}_j\\|^2}{2s^2}\\right\\}$\n", "* Sigmoidal: $\\phi_j(\\mathbf{x}) = \\sigma\\left(\\frac{\\|\\mathbf{x} - \\boldsymbol{\\mu}_j\\|}{s}\\right)= \\frac{1}{1 + \\exp\\left( \\frac{-\\|\\mathbf{x} - \\boldsymbol{\\mu}_j\\|}{s}\\right)}$" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "23923732c749473bb70b18b53cc62a37", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type interactive.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "interactive(children=(FloatSlider(value=0.0, description='mu', max=2.0, min=-2.0), FloatSlider(value=1.0, description='s', max=10.0, min=0.1), Output()), _dom_classes=('widget-interact',))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from ipywidgets import interact\n", "\n", "def show_gaussian(mu=0.0,s=1.0):\n", " a = np.arange(-10, 10, 0.1)\n", " plt.plot(a, np.exp(-(a-mu)**2/(2*s**2)))\n", "interact(show_gaussian,mu=(-2.0,2.0),s=(0.1,10))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "86a66690a9c24814ba4b57edb284e36e", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type interactive.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "interactive(children=(FloatSlider(value=0.0, description='mu', max=2.0, min=-2.0), FloatSlider(value=1.0, description='s', max=10.0, min=0.1), Output()), _dom_classes=('widget-interact',))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def show_sigmoid(mu=0.0,s=1.0):\n", " a = np.arange(-10, 10, 0.1)\n", " plt.plot(a, 1./(1. + np.exp(-(a-mu)/s)))\n", "interact(show_sigmoid,mu=(-2.0,2.0),s=(0.1,10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Imagine you fix every $\\mu_j$ and $s$. \n", "\n", "How we can learn $\\mathbf{w}$ (assuming Gaussian noise $\\epsilon \\sim N(\\mu,\\sigma)$)?\n", "\n", "$$\\begin{align} Pr(Y \\mid \\mathbf{X},\\mathbf{y}) &= \\prod_i \\mathcal{N}(Y = y_i \\mid f(\\mathbf{x}_i;\\mathbf{w}),\\sigma)\\\\ &= \\prod_i \\mathcal{N}(Y = y_i \\mid \\mathbf{w}^\\textrm{T} \\boldsymbol{\\phi}(\\mathbf{x}_i),\\sigma)\\end{align} $$\n", "\n", "We want to maximize this probability\n", "\n", "$$ \\begin{align} \\ln Pr(Y \\mid \\mathbf{X},\\mathbf{y}) & = \\sum_i \\ln \\mathcal{N}(Y = y_i \\mid \\mathbf{w}^\\textrm{T} \\boldsymbol{\\phi}(\\mathbf{x}_i),\\sigma)\\\\ & \\propto \\sum_i\\left( y_i - \\mathbf{w}^\\textrm{T} \\boldsymbol{\\phi}(\\mathbf{x}_i)\\right)^2 \\end{align} $$\n", "\n", "If we compute the gradient of this\n", "$$ \\begin{align} \\nabla\\ln Pr(Y \\mid \\mathbf{X},\\mathbf{y}) & = \\sum_i\\left( y_i - \\mathbf{w}^\\textrm{T}\\boldsymbol{\\phi}(\\mathbf{x}_i)\\right)\\boldsymbol{\\phi}(\\mathbf{x}_i)^\\textrm{T} \\\\\n", "\\nabla\\ln Pr(Y \\mid \\mathbf{X},\\mathbf{y}) &= \\mathbf{0} \\\\\n", "\\sum_i y_i \\boldsymbol{\\phi}(\\mathbf{x}_i)^\\textrm{T} &= \\mathbf{w}^\\textrm{T}\\sum_i\\boldsymbol{\\phi}(\\mathbf{x}_i)\\boldsymbol{\\phi}(\\mathbf{x}_i)^\\textrm{T}\\\\\n", "\\mathbf{y}^\\textrm{T}\\boldsymbol{\\Phi} &= \\mathbf{w}^\\textrm{T}\\boldsymbol{\\Phi}\\boldsymbol{\\Phi}^\\textrm{T}\\\\\n", "\\mathbf{w} &= (\\boldsymbol{\\Phi}^\\textrm{T}\\boldsymbol{\\Phi})^{-1}\\boldsymbol{\\Phi}^\\textrm{T}\\mathbf{y}\n", "\\end{align}$$\n", "\n", "The $\\boldsymbol{\\Phi}$ is called the Design Matrix and have the form:\n", "$$\\begin{bmatrix}\n", "1 & \\phi_1(\\mathbf{x}_1) & \\phi_2(\\mathbf{x}_1) & \\ldots & \\phi_m(\\mathbf{x}_1)\\\\\n", "1 & \\phi_1(\\mathbf{x}_2) & \\phi_2(\\mathbf{x}_2) & \\ldots & \\phi_m(\\mathbf{x}_2)\\\\\n", "\\vdots & \\vdots & \\vdots & \\ddots & \\vdots\\\\\n", "1 & \\phi_1(\\mathbf{x}_n) & \\phi_2(\\mathbf{x}_n) & \\ldots & \\phi_m(\\mathbf{x}_n)\n", "\\end{bmatrix}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise\n", "### a) Use now ALL the dimensions now and select $\\mu$'s \n", "* Check if you have all the dimensions of the training and validation sets (not one like in the previous example)\n", "* Resample to n=1000 o similar for working\n", "* Select 20 points of the training sample to use a $\\mu$ values\n", "* It will be handy for later doing this in a function, recieving the number of total samples $(n,m)$" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def get_matrices(n,m):\n", " gal_sample = galaxy_feat.sample(n=n,random_state=0)\n", " train_data = gal_sample[:int(len(gal_sample)*0.5)]\n", " test_data = gal_sample[int(len(gal_sample)*0.5):]\n", " X=train_data[['u-g','g-r','r-i','i-z']]\n", " y=train_data['redshift']\n", " mu=X.sample(n=m,random_state=0)\n", " Xp=test_data[['u-g','g-r','r-i','i-z']]\n", " yp=test_data['redshift']\n", " return(X,y,mu,Xp,yp)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### b) Construct your own design matrix\n", "* Choose a not so trivial kernel (i.e. Gaussian/Sigmoidal)\n", "* Do not obsess with speed... yet. Just give a solution.\n", "* If you have dissmissed the previous recommendation, use the L2-norm $\\|\\cdot\\|_2$ and remember that\n", "$$ (\\mathbf{a} - \\mathbf{b})^\\textrm{T}(\\mathbf{a} - \\mathbf{b}) = \\mathbf{a}^\\textrm{T}\\mathbf{a} + \\mathbf{b}^\\textrm{T}\\mathbf{b} - 2\\mathbf{a}^\\textrm{T}\\mathbf{b} $$ and remember to round up to 10 decimals\n", "* (Optional) Plot the 20 first rows of the matrix using `plt.imshow`" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "def design_matrix(X,mu,s,func):\n", " vx = (X*X).sum(axis=1)\n", " vmu = (mu*mu).sum(axis=1)\n", " Mxmu = X.dot(mu.T)\n", " A=np.tile(vx,((len(vmu),1))).T\n", " B=np.tile(vmu,((len(vx),1)))\n", " C=Mxmu\n", " \n", " D=A + B -2*C\n", " D=np.around(D,decimals=10)\n", " N=np.sqrt(D)\n", " N=func(N,s)\n", " N=np.concatenate([np.ones((len(X),1)),N], axis=1)\n", " return N" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gauss = lambda x,s: np.exp(-(x)**2/(2*s**2))\n", "sigmo = lambda x,s:1./(1. + np.exp(-x/s))\n", "\n", "X,y,mu,Xp,yp = get_matrices(1000,20)\n", "\n", "plt.imshow(design_matrix(X,mu,1.0,gauss)[:20])\n", "plt.colorbar()\n", "plt.figure()\n", "plt.imshow(design_matrix(X,mu,1.0,sigmo)[:20])\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### c) Train and Predict\n", "* Get a design matrix\n", "* Compute $\\mathbf{w} = (\\boldsymbol{\\Phi}^\\textrm{T}\\boldsymbol{\\Phi})^{-1}\\boldsymbol{\\Phi}^\\textrm{T}\\mathbf{y}$ using `scipy.linal` package for computing the inverse. Remember that this model is not regularized, so compute the pseudo-inverse.\n", "* Get the \"predictions\" for the training data $\\mathbf{w}^\\textrm{T}\\boldsymbol{\\Phi}_\\mathbf{X}$\n", "* Get the predictions for the test/validation data $\\mathbf{w}^\\textrm{T}\\boldsymbol{\\Phi}_\\mathbf{X'}$\n", "* Do a scatter plot of the real redshifts of the training set against the 'u-g' dimension in blue\n", "* Use the same plot to show the predicted redshifts values of the training set.\n", "* Create a new figure for the test/validation data\n", "* Did you put all this in a function?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "from scipy import linalg\n", "def train_and_predict(X,y,mu,Xp,yp,s,func):\n", " # Get the design matrix\n", " P=design_matrix(X,mu,s,func)\n", " # Get the weights\n", " w=linalg.pinv(P.T.dot(P)).dot(P.T).dot(y)\n", " # Predict \n", " pred_y = P.dot(w)\n", " Pp = design_matrix(Xp,mu,s,func)\n", " pred_yp = Pp.dot(w)\n", " return (pred_y,pred_yp)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "X,y,mu,Xp,yp = get_matrices(n,20)\n", "(pred_y,pred_yp) = train_and_predict(X,y,mu,Xp,yp,1.0,gauss)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(X['u-g'],y,c='blue',alpha=0.1)\n", "plt.scatter(X['u-g'],pred_y,c='red',alpha=0.1)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(Xp['u-g'],yp,c='blue',alpha=0.1)\n", "plt.scatter(Xp['u-g'],pred_yp,c='red',alpha=0.1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### d) Computing the RMS errors\n", "* Compute the RMS error for the training and validation/test set: $RMS = \\sqrt{\\frac{\\sum_i^n (y_i - y_i')^2}{n}}$\n", "* Plot the error for $s \\in [0.1,5]$\n", "* Plot the error for $n \\in [100,10000]$ step = 100\n", "* Plot the error for $m \\in [10,100] $ step = 1" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def get_errors(n,m,s,func):\n", " X,y,mu,Xp,yp = get_matrices(n,m)\n", " (pred_y,pred_yp) = train_and_predict(X,y,mu,Xp,yp,s,func)\n", " return (linalg.norm(pred_y - y)/np.sqrt(len(y)),linalg.norm(pred_yp - yp)/np.sqrt(len(yp)))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sspace = np.linspace(0.1,5)\n", "train_error=[]\n", "test_error=[]\n", "for s in sspace:\n", " (tne,tse)=get_errors(1000,20,s,gauss)\n", " train_error.append(tne)\n", " test_error.append(tse)\n", "plt.plot(sspace,train_error,label='train',c='red')\n", "plt.plot(sspace,test_error,label='test',c='blue')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XucVXW9//HXh5nhMoCA3OQyCCSSeAMcELyQWihYiaUomudIdQ5Wx05pWlpHTapfWlboI09KZmodRbKLlChoeUtFGAkRBAERYUBxRK5yx8/vj+/ezJ7Nnpk1s/fsPbP3+/l4rMdae932Zzabz1r7+/2u79fcHRERKQytch2AiIhkj5K+iEgBUdIXESkgSvoiIgVESV9EpIAo6YuIFBAlfRGRAqKkLyJSQJT0RUQKSHGUncxsHHA7UATc4+63JG0fA0wDTgAmufsjCdv6AfcAZYAD57r7mtreq1u3bt6/f/+G/RUiIgXulVdeed/du9e3X71J38yKgDuBsUAlsMDMZrn76wm7rQUmA9ekOMUDwI/c/Ukz6wB8VNf79e/fn4qKivrCEhGRBGb2dpT9otzpjwRWufvq2IlnABOAg0k/fuduZjUSupkNAYrd/cnYfjuiBCUiIk0jSpl+H2BdwuvK2Loojga2mNmfzOxfZvbT2C8HERHJgShJ31Ksi9o1ZzFwOqHYZwQwkFAMVPMNzKaYWYWZVVRVVUU8tYiINFSU4p1KQiVsXF9gQ8TzVwL/Siga+gswCvhN4k7uPh2YDlBeXq6+nkWkwfbt20dlZSW7d+/OdShNqm3btvTt25eSkpJGHR8l6S8ABpnZAGA9MAm4NOL5FwBdzKy7u1cBZwGqpRWRjKusrKRjx470798fs1QFFC2fu7Np0yYqKysZMGBAo85Rb/GOu+8HrgTmAMuAme6+1Mymmtl5AGY2wswqgYnA3Wa2NHbsAULRzt/N7DVCUdGvGxWpiEgddu/eTdeuXfM24QOYGV27dk3r10ykdvruPhuYnbTuxoTlBYRin1THPklovy8i0qTyOeHHpfs35s0TuVu2wM03w4IFuY5ERKT5ypukbwbf/z4891yuIxGRQrRlyxb+93//t8HHnXvuuWzZsqUJIkotb5J+p05w2GGwdm2uIxGRQlRb0j9w4ECdx82ePZvOnTs3VViHiFSm31L066ekLyK5cd111/Hmm28ydOhQSkpK6NChA7169WLRokW8/vrrnH/++axbt47du3fzjW98gylTpgDVXc/s2LGD8ePHc9ppp/Hiiy/Sp08fHn30Udq1a5fROJX0RST/fPObsGhRZs85dChMm1br5ltuuYUlS5awaNEinnnmGT796U+zZMmSg00r7733Xg4//HB27drFiBEjuOCCC+jatWuNc6xcuZKHHnqIX//611x00UX88Y9/5LLLLsvon5E3xTsAZWVK+iLSPIwcObJGW/o77riDE088kVGjRrFu3TpWrlx5yDEDBgxg6NChAJx00kmsWbMm43Hl3Z3+++/Dzp1QWprraEQkZ+q4I8+W9u3bH1x+5plneOqpp3jppZcoLS3ljDPOSNnWvk2bNgeXi4qK2LVrV8bjyqs7/X79wnzdurr3ExHJtI4dO7J9+/aU27Zu3UqXLl0oLS1l+fLlzJs3L8vRVcu7O30IRTyDB+c2FhEpLF27duXUU0/luOOOo127dvTs2fPgtnHjxnHXXXdxwgknMHjwYEaNGpWzOPM26YuIZNuDDz6Ycn2bNm14/PHHU26Ll9t369aNJUuWHFx/zTWpxqRKX14V7/TpEx7SUtIXEUktr5J+SQn07q0yfRGR2uRV0ge11RcRqYuSvohIAcnbpO8af0tE5BB5mfT37AENtSsicqi8TPqgIh4Rya7Gdq0MMG3aNHbu3JnhiFKLlPTNbJyZvWFmq8zsuhTbx5jZQjPbb2YXJm07YGaLYtOsTAVem7LYEO5K+iKSTS0l6df7cJaZFQF3AmOBSmCBmc1y99cTdlsLTCaMh5tsl7sPzUCskehOX0RyIbFr5bFjx9KjRw9mzpzJnj17+NznPsfNN9/Mhx9+yEUXXURlZSUHDhzghhtuYOPGjWzYsIEzzzyTbt268fTTTzdpnFGeyB0JrHL31QBmNgOYABxM+u6+JrbtoyaIsUEOPzx0tqakL1K4ctCzco2ulefOncsjjzzC/PnzcXfOO+88nnvuOaqqqujduzePPfYYEPrk6dSpEz//+c95+umn6datW2aDTiFK8U4fIPFxp8rYuqjamlmFmc0zs/NT7WBmU2L7VFSlWQNrpmabIpJbc+fOZe7cuQwbNozhw4ezfPlyVq5cyfHHH89TTz3Fd77zHZ5//nk6deqU9dii3OmnGnq9IQ0i+7n7BjMbCPzDzF5z9zdrnMx9OjAdoLy8PO3Glkr6IoUt1z0ruzvXX389V1xxxSHbXnnlFWbPns3111/P2WefzY033pjV2KLc6VcCZQmv+wIbor6Bu2+IzVcDzwDDGhBfoyjpi0i2JXatfM4553DvvfeyY8cOANavX897773Hhg0bKC0t5bLLLuOaa65h4cKFhxzb1KLc6S8ABpnZAGA9MAm4NMrJzawLsNPd95hZN+BU4CeNDTaqfv1g40bYvRvatm3qdxMRqdm18vjx47n00ksZPXo0AB06dOD3v/89q1at4tprr6VVq1aUlJTwq1/9CoApU6Ywfvx4evXq1eQVueYRHl01s3OBaUARcK+7/8jMpgIV7j7LzEYAfwa6ALuBd939WDM7Bbgb+Ijwq2Kau/+mrvcqLy/3ioqKtP6o+++HyZNh5Uo46qi0TiUiLcSyZcs45phjch1GVqT6W83sFXcvr+/YSP3pu/tsYHbSuhsTlhcQin2Sj3sROD7Ke2RSYrNNJX0RkWp590QuqK2+iEht8jLp94395lC/+iKFJUpxdUuX7t+Yl0m/TRvo2VN3+iKFpG3btmzatCmvE7+7s2nTJtqm0UIlr8bITaRmmyKFpW/fvlRWVpLuA57NXdu2benb95Aq1MjyOukvXZrrKEQkW0pKShgwYECuw2j28rJ4BzSYiohIKnmd9HfuhA8+yHUkIiLNR14nfVC5vohIIiV9EZECoqQvIlJA8ifpb9wIw4bBzJkAdO8e2usr6YuIVMufpN+pUxgqZ8UKQIOpiIikkj9Jv23bcHuf0PeCkr6ISE35k/QBysqU9EVE6pDXSb+sDN55B/buzWFMIiLNSF4n/X79whO569fnMCYRkWYkUtI3s3Fm9oaZrTKz61JsH2NmC81sv5ldmGL7YWa23sx+mYmga1VWBlu3QmysyXizTXWxLCIS1Jv0zawIuBMYDwwBLjGzIUm7rQUmAw/WcpofAM82PsyI4j3PVVYCaqsvIpIsyp3+SGCVu692973ADGBC4g7uvsbdFxPGwq3BzE4CegJzMxBv3crKwjx2ax9/qaQvIhJESfp9gMQCksrYunqZWSvgZ8C1DQ+tEZKSfmkpdOumpC8iEhcl6VuKdVE7LP4aMNvd6yxVN7MpZlZhZhVpDYDQp094KkvNNkVEUooyiEolUJbwui+wIeL5RwOnm9nXgA5AazPb4e41KoPdfTowHaC8vLzxPeCXlMARRxyS9FeubPQZRUTySpSkvwAYZGYDgPXAJODSKCd39y/El81sMlCenPAzrqzsYEUuhKT/1FOh6aal+s0iIlJA6i3ecff9wJXAHGAZMNPdl5rZVDM7D8DMRphZJTARuNvMcjdQYd++h9zp79gRWnKKiBS6SGPkuvtsYHbSuhsTlhcQin3qOsd9wH0NjrChyspg7tyDt/aJzTY7d27ydxcRadby64lcCEk/4dZebfVFRKrlZ9IHtdUXEUkh75P+EUeERj1K+iIi+Zj0410xxJJ+q1bQv//BsVVERApa/iX9Xr1Cpk9otjliBMyfn8OYRESaifxL+sXF0Lt3jWabJ58culdOuA6IiBSk/Ev6cEi/+qNGhfnLL+coHhGRZqIgkv7QodCmDcybl8OYRESagfxO+h668WndGoYPV9IXEcnPpN+3L+zeDZs2HVw1ahRUVMC+fTmMS0Qkx/Iz6cfb6ifU3I4aFa4DixfnKCYRkWYgv5N+ispcFfGISCErmKRfVhaezlULHhEpZPmZ9Hv2DH0vJCR9s3C3rzt9ESlk+Zn0W7UKQyeuqzlK46hRYRSthPpdEZGCkp9JHw4ZTAX0kJaISP4m/aRhEwHKy8OPABXxiEihipT0zWycmb1hZqvM7JAxbs1sjJktNLP9ZnZhwvojzewVM1tkZkvN7CuZDL5O8aT/0UcHV7VvDyecoDt9ESlc9SZ9MysC7gTGA0OAS8xsSNJua4HJwINJ698BTnH3ocDJwHVm1jvdoCMpK4O9e6Gqqsbqk08OST/hWiAiUjCi3OmPBFa5+2p33wvMACYk7uDua9x9MfBR0vq97r4n9rJNxPfLjBTNNiGU62/dCm+8kbVIRESajShJuA+QmDkrY+siMbMyM1scO8et7r6hYSE2UtJgKnF6SEtEClmUpG8p1nnUN3D3de5+AnAUcLmZ9TzkDcymmFmFmVVUJRXHNFotd/pHHw2dOyvpi0hhipL0K4GyhNd9gQbfrcfu8JcCp6fYNt3dy929vHv37g09dWrdu4f+lJOSfqtWoVxfSV9EClGUpL8AGGRmA8ysNTAJmBXl5GbW18zaxZa7AKcC2SlNNwtFPCmGyxo1CpYsgR07shKJiEizUW/Sd/f9wJXAHGAZMNPdl5rZVDM7D8DMRphZJTARuNvMlsYOPwZ42cxeBZ4FbnP315riD0kpaTCVuFGjQuudioqsRSIi0iwUR9nJ3WcDs5PW3ZiwvIBQ7JN83JPACWnG2HhlZfDss4esHjkyzOfNgzPOyG5IIiK5lL9P5EIo3lm/Hg4cqLH68MNDha7K9UWk0OR30i8rCwn/3XcP2RTvcdMjt0MSEWn58j/pQ63l+hs3wttvZzkmEZEcKoykX0sLHlA/PCJSWAoj6ae40z/+eGjXTuX6IlJY8jvpd+kSMnuKpF9cHLpafuGFHMQlIpIj+Z30zWptqw9wzjmwYAGsXZvluEREciS/kz7UmfQnTQrzhx/OYjwiIjlU0En/Yx8L/fA8mDwKgIhIniqMpP/OO7BvX8rNl1wCixbBsmVZjktEJAcKI+m7h8SfwkUXhZ43H3ooy3GJiORA/if9WgZTievVC848MxTx6OlcEcl3+Z/062irH3fppfDmm+p1U0Tyn5I+8PnPQ+vWqtAVkfyX/0m/Uyfo2LHOpN+5M5x7bmi6mdQhp4hIXsn/pA+hH+UlS+rc5ZJLQl1viu73RUTyRqSkb2bjzOwNM1tlZtel2D7GzBaa2X4zuzBh/VAze8nMlprZYjO7OJPBRzZ6NMyfD/v317rLZz4DHTqoFY+I5Ld6k76ZFQF3AuOBIcAlZjYkabe1wGQguVR8J/Dv7n4sMA6YZmad0w26wUaPhg8/rPNuv7QUPvc5eOQR2LMni7GJiGRRlDv9kcAqd1/t7nuBGcCExB3cfY27LwY+Slq/wt1XxpY3AO8B3TMSeUOMHh3mL71U526XXAJbtsATT2QhJhGRHIiS9PsAibWglbF1DWJmI4HWwJsNPTZt/ftDz571Jv1PfQq6dVMRj4jkryhJ31Ksa9BjTGbWC/gd8EV3/yjF9ilmVmFmFVVVVQ05ddQAwt1+PUm/pAQmToRZs2DHjsyHISKSa1GSfiVQlvC6L7Ah6huY2WHAY8D/uHvKIUvcfbq7l7t7effuTVT6M3o0rFoF9VxULr0Udu2CRx9tmjBERHIpStJfAAwyswFm1hqYBMyKcvLY/n8GHnD3PzQ+zAyIl+vXM1TWKaeE57n0oJaI5KN6k7677weuBOYAy4CZ7r7UzKaa2XkAZjbCzCqBicDdZrY0dvhFwBhgspktik1Dm+QvqU95eRgu68UX69ytVatQoTt3LmyI/HtGRKRlMG9mvYyVl5d7RVN1gjNiBLRvD888U+duq1fDoEHwrW/BT37SNKGIiGSSmb3i7uX17VcYT+TGjR4dxkes4yEtgIEDQ4XuXXeFJpwiIvmisJL+KafAzp2weHG9u37nO7B9e0j8IiL5orCSfsSHtACGDYOxY+H222H37iaOS0QkSwor6ffrF0ZNiZD0Ab79bXj3Xfjd75o4LhGRLCmspB/xIa24T34Shg+Hn/5UXS6LSH4orKQPIemvXg3vvVfvrmahbH/lSvjLX7IQm4hIEyvMpA+R7/YvuCC05rn1Vo2hKyItX+El/ZNOCp3sREz6RUVwzTWhpacGWBGRlq7wkn7btqFpTsSkDzB5MvToEe72RURassJL+lD9kNa+fZF2b9cO/vu/Qz/7EZr4i4g0W4Wb9HftgldfjXzI174WhlNUtwwi0pIVbtKHBhXxdOkCU6bAjBnw1ltNFJeISBMrzKRfVga9ezco6QNcfTW0bg3f/W4TxSUi0sQKM+mbhX54Gpj0+/QJLXlmzGjwoSIizUJhJn0IRTxr1oR+Fhrg298OPTlcdZXa7YtIy1PYSR8afMveoQP86Efw8svhjl9EpCUp3KQ/fHgooG9EOc3ll4em/tddFxoBiYi0FJGSvpmNM7M3zGyVmV2XYvsYM1toZvvN7MKkbU+Y2RYz+1umgs6INm1C4v/nPxt8aKtW8POfw9q18ItfNEFsIiJNpN6kb2ZFwJ3AeGAIcImZDUnabS0wGUg1nPhPgX9LL8wm8pnPhDv9N95o8KFnnAHnnw8//nGDqwVERHImyp3+SGCVu692973ADGBC4g7uvsbdFwMfJR/s7n8Htmci2Iz7z/8MRTy//GWjDv/JT2DPHrjhhgzHJSLSRKIk/T7AuoTXlbF1LV+PHnDxxXDffbBtW4MPHzQIrrwSfvObBj3cKyKSM1GSvqVYl9HGimY2xcwqzKyiqqoqk6eu39e/Djt2hMTfCDfcEJ7WvfpqNeEUkeYvStKvBMoSXvcFNmQyCHef7u7l7l7evXv3TJ66fiNGwKhRoYjno0NKp+rVpQt8//vwj3/ArFmZD09EJJOiJP0FwCAzG2BmrYFJQH6lt69/PQyPNXduow7/ylfguOPgq1+FzZszHJuISAbVm/TdfT9wJTAHWAbMdPelZjbVzM4DMLMRZlYJTATuNrOl8ePN7HngD8AnzazSzM5pij8kLRdeCEccAXfc0ajDS0rg/vvDCIzf+EaGYxMRySDzZlYQXV5e7hUVFdl/45tvDuU0K1aEGtpGuOkmmDo1jKc7YUL9+4uIZIqZveLu5fXtV7hP5Ca74opwy37nnY0+xfe+B0OHhi6Y338/g7GJiGSIkn7cEUfAxInw29/C9sY9VtC6dWgEtHlzqCYQEWlulPQTff3rob3+Aw80+hQnngg33hg6Y3vkkQzGJiKSASrTT+QOJ58c7vRffz30u98I+/aFTjzffhuWLg3PgImINCWV6TeGWbjbX74cnnqq0aeJt+bZti2MrdvMrqsiUsCU9JNddFG4NW9k8824Y48NLXn++Ed46KEMxSYikiYl/WRt2oSWPI89Bi+8kNapvvWtUMxzxRWwbFmG4hMRSYOSfirXXgv9+sEXvwg7dzb6NMXF8PDDUFoaumHeujWDMYqINIKSfiodO8K994auGb773bROVVYGf/gDrF4N//7vjereR0QkY5T0a3PWWfBf/wW33w7PPpvWqcaMCSNtzZoFP/xhhuITEWkEJf263HorDBwIX/pS6H45DVdeGe70b7oJ/ta8Bo4UkQKipF+X9u3DI7ZvvRVGQU+DGdx1F5x0EnzhC6GLHxGRbFPSr8/pp4euM++8M3San4Z27eBPfwrdNZx/fqN7exARaTQl/Sh+9CM4+uhQzNOIYRUT9esHM2eGO/1/+zc4cCBDMYqIRKCkH0VpaSjmWbcuNOdM05lnwrRp8OijoUdOtegRkWxR0o9q9OjwtNX06aHxfZquvDJU6t57bzitumoQkWwoznUALcrUqTBvXmiG06NHuGVPw003hQe2pk2DTp3CGC4iIk0p0p2+mY0zszfMbJWZHdKMxczGmNlCM9tvZhcmbbvczFbGpsszFXhOtG0bymQGDQo1sYsXp3U6s9B+/0tfCgN3/fznGYpTRKQW9SZ9MysC7gTGA0OAS8xsSNJua4HJwINJxx4O3AScDIwEbjKzLumHnUNdusDjj8Nhh8G4caH/5DSYhRKjiRNDMc8992QoThGRFKLc6Y8EVrn7anffC8wAaowA6+5r3H0xkFwleQ7wpLt/4O6bgSeBcRmIO7fKyuCJJ2DXrpD4N21K63RFRfD738P48aFiNwNVBiIiKUVJ+n2AdQmvK2Prooh0rJlNMbMKM6uoqqqKeOocO/bY0K/CW2/BZz+bVsdsENruP/JIeCzgssvgd7/LUJwiIgmiJP1Uw0dFbWsS6Vh3n+7u5e5e3r1794inbgZOPx0efDBU7l5yCezfn9bpSktDFw2f+ESoK/7JT9SqR0QyK0rSrwTKEl73BTZEPH86x7YMn/88/PKX4a7/sstg7960TtexI8yeHa4h3/kOXHWV2vGLSOZEabK5ABhkZgOA9cAk4NKI558D/L+EytuzgesbHGVz97WvheKda6+FzZvDcFkdOjT6dK1bhzL+I46AX/wC3nknjNXepk0GYxaRglTvnb677weuJCTwZcBMd19qZlPN7DwAMxthZpXAROBuM1saO/YD4AeEC8cCYGpsXf655prwpNXf/w6f/CS8/35ap2vVKjThvO220G3D+PEahEVE0mfezAqNy8vLvaKiItdhNN6sWXDxxdC/P8yZEzrbSdP//R9MngxDhoQy/7Kyeg8RkQJjZq+4e3l9+6kbhkw777yQ7DdsgFNPzcjguF/4Qhiy9623YNiwcHoRkcZQ0m8KY8bAc8/Bvn1w2mmhdU+azj4bKiqgd+9Q1HPTTeqhU0QaTkm/qZx4IrzwAnTuHNpgTp+edvvLo48O14/Jk0M3QOPGwXvvZSZcESkMSvpN6WMfg/nzQ8dsV1wB//Ef4SneNJSWhvri3/wG/vnPUNzzwgsZildE8p6SflPr2jUUyN9wQ8jWp50Ga9akfdovfSnc9ZeWhh8SP/xhKE0SEamLkn42FBWF8phZs+DNN8NAuU88kfZpTzwxlPNPnBiuKSNHwr/+lYF4RSRvKeln02c/G7J0375w7rmhA/00u27o1Akeegj+/Gd4910YMQK++13YvTszIYtIflHSz7ajjoKXXgpdNtx8M5xySkaadZ5/Prz+euiz58c/DmX9L76YgXhFJK8o6edCaWnoV2HmTFi9OmTo225Luw1mly6h2mDOnFBffNppoYeINB8OFpE8oqSfSxMnwtKloeH9tdeG9v0rV6Z92rPPhtdeC+PwTp8eflzcdhvs2ZOBmEWkRVPSz7WePeFPfwod6L/+eqidvf32tO/6O3aEO+4IIzqeemq4phxzDPzhD+quWaSQKek3B2ahjH/JEjjjDPjmN6G8PDTET9OQIaHF6Ny5oePPiy4KxT4vvZR+2CLS8ijpNyd9+oQM/fDDoSD+9NNDxzvr16d96rFjQ3POX/86tBo95RQ45xx4/vkMxC0iLYaSfnNjFm7Hly+H//mf0Df/4MGhSU6ahfJFReGh4JUr4dZbYdGiUI3wiU/AU0+p2EekECjpN1ft28MPfhDK+ceODY3vjz0WZsxIeyitjh3h298OvXbefnu48x87FkaPhr/+VSN1ieQzJf3mbuDA8OTVnDnQtm0YR/HEE0Plb5q35qWl8N//HZL+3XfDxo2hZ+jBg8OIXZs3Z+hvEJFmI1LSN7NxZvaGma0ys+tSbG9jZg/Htr9sZv1j61ub2W/N7DUze9XMzsho9IXk7LPh1VfDQOx798IFF4TuHP7617STf5s2MGUKrFgRnu7t2ROuvjo8OHzFFaEFkIjkh3qTvpkVAXcC44EhwCVmNiRpty8Dm939KOAXwK2x9f8J4O7HA2OBn5mZfl00VlFRuNNfuhTuvz+Mn3jeeTBqVOjXJ81ymZISmDQpNBpauDC81QMPhB8WY8aE5R07MvS3iEhOREnAI4FV7r7a3fcCM4AJSftMAO6PLT8CfNLMjHCR+DuAu78HbAHqHc5L6lFcHPpbWL489LH83nswYQJ8/OPwq1/Bhx+m/RbDhsE994SGQ7fdFgYCu/zyMFj75ZeHoYA1iItIyxMl6fcB1iW8roytS7lPbCD1rUBX4FVggpkVm9kA4CRAI7xmSklJ6GN55cpQwdu5c+h3oV8/+N73QqZO0+GHw7e+Fd7i+efh0kvh0UfhU58KwwBff30o/lHLH5GWIUrStxTrkv+L17bPvYSLRAUwDXgROKRbSTObYmYVZlZRVVUVISSpobg4DMb+8suhbOaMM0ITz/79Qzv/Z55JOyubhYe6pk+Hd94JjxKccAL89Keh+Ofoo+G662DBAl0ARJqzKEm/kpp3532B5FvIg/uYWTHQCfjA3fe7+1XuPtTdJwCdgUM6l3H36e5e7u7l3bt3b8zfIRAy86mnhrb9K1fCV78aHvY688yQlW+5JWTsNLVrFx4leOyxUPxz112hkdHPfhb69O/fH666Cp59VgO7iDQ3UZL+AmCQmQ0ws9bAJGBW0j6zgMtjyxcC/3B3N7NSM2sPYGZjgf3u/nqGYpe6fOxjoRH+O++Efn169w5lMWVloR/mWbNCK6A09ewZWvjMmROafN53X7jz/9Wvwg+Obt1CQ6N77oHKyrTfTkTSZB7ht7iZnUsonikC7nX3H5nZVKDC3WeZWVvgd8Aw4ANgkruvjjXdnAN8BKwHvuzub9f1XuXl5V5RUZHGnyS1WrEiVPzed1+o/O3cOWTkSZNChi4uzthbbd8eKntnz4bHH69O+McdFwZ0P+usUFzUsWPG3lKkoJnZK+5eb0OZSEk/m5T0s2DfPnjyydAo/y9/Ce0we/QIXT1ffHHomKeoKGNv5x5amT7xRLgAPP98CKGoKDxqcOaZ4Zpz2mmhUzgRaTglfYlm165wOz5jBvztb2Gcxe7d4TOfCc8AjB0buoTIoJ07Qy+fzzwDTz8N8+dXXwROPDF0BxGfBgwIVRUiUjclfWm47dtD7eysWeFCsHVreFz3U5/N4xXAAAAMvElEQVQKF4Bx40Jz0Az78MNwEXj22TDE4/z51Q+B9ewZkv+IEeFXwUknhXoCEalJSV/Ss29fKIeZNStMb70V1g8eHO7+x44NZTKHHZbxtz5wIAwt8OKL4WLw0kuwalX19n79qi8AQ4eGpqN9++oXgRQ2JX3JHPfQ2+fcuaEu4NlnQxlNcXHoAuKss0I/DaNGZbwoKG7LljAewCuvVE+JI0t26gTHHx8uAMcfHyqMjzkGunZtknBEmh0lfWk6e/aE2/AnnwzTwoWh35/i4jDi15gxYTrllDBaexPZujWMBRyfFi8O823bqvfp1i0k/2OOCb1UfPzjMGgQHHlkeKBZJF8o6Uv2bNsWLgLPPRemeM0shCw7ahScfHKYH3dcRpuGJnOHtWtDa6Hly2HZsur5pk3V+xUXh4fIjjqqehowoHpSKyJpaZT0JXd27YJ580Jh/Lx5YYp3r1FaWl0gP3x4mAYPbtILQdz774cLwKpVYVq5snq+fXvNfbt2Dcm/f//wq6CsLEz9+oV5jx6qQ5DmRUlfmg93WLOm+gIwf34YG2DXrrC9XbvQVnPYsFAof8IJ4RdBE1QS1xZeVVWoq16zJswTl9euPXSkytatQ+Vx795h6tOnet6rV+iN9IgjQl2DLg6SDUr60rwdOABvvBHqA+LTv/5Vs0D+yCOra2aHDAkF84MHN1llcW3cw6+EdevCtHZtmK9fH6YNG8J8585Dj23TJjQ7PeKIMO/RIzwGkTzv1i38uigtzeqfJnlESV9anniBfGKt7GuvhYvD/oTOWY88srp2dvDg0JncoEHhVrtVbsbocQ/Xqw0bwrRxI7z7bpgSl6uqwrT/kL5mg3btQvKPXwS6dg114YcfXnPepUvoRSM+HXZYRh+ilhZISV/yx969oeB92bKa0/Ll4QniuHbtQo3s0UeH+cCBYRowIBTGN5PmOu6hCWpVVegCqaoq/JLYtOnQ+QcfhLGKP/ig9gtFXMeOoTgpPh12WPX8sMPC9viU+LpDh+qpY8fwayNH105Jg5K+5L+PPgo9ua1YES4KidPq1TX7dW7VKiT+AQPCL4V+/cI8PpWVhbKYZso9PKUcvwBs2VL7tG1b9bR1a/U8XoUSRfv2YSotrV5OXFfb1K5d9ZT8um3bMCUuZ6H+vmAo6UthO3AglLOsXh2mt96qnr/9dtiW/N3v0SPUziZP8drZ3r3DLXILrZndvz9cOLZvr562bQvdYOzYcej04Ye1T7t2hTqMnTsbdjFJVlQUkn+bNofO65tat665XNdUUlJzHl9OnuLri4ur1xUXt4x/ciV9kbrs3Rt+Jbz9dvW0fn1YF582bz70uNLS6gtAvIlOz541a2t79gy1s+3aZf/vyoGPPgqlbPELQKpp9+7qeXx5167QKmr37up5fNqzp+aUuG7v3jAlLjf1eM3xi0Bd8/iU/Lq2qaio5ry4OJRGXn1142JU0hdJ14cfVjfP2bAhDEiTOI/Xzm7dmvr49u2rm+fEp3gNbfI8XmPbunV2/8Y8sX9/KM2LXwQSLwzx9cnb9+07dIqvj58vedq/v3pb4j4HDtRcH1+Or0+cEtcnbj9wIDy2Mndu4z6DqElfJWoitWnfPlQKH3103fvt3h2a6MSb6WzcWN1MJz5t2ACLFoXa2cTK51TvmdxUJ95EJ7nJTmKtbbzGtkCb8MTvlAvkx1ValPRF0tW2bXWFcBQ7d6ZuppPYVOeDD8L6FSuqa2g//LD+c7dvX7O5TnKznXhzncR5+/ZhObG2Nv66TZuWUaAtkUVK+mY2DridMFziPe5+S9L2NsADwEnAJuBid19jZiXAPcDw2Hs94O4/zmD8Ii1PaWloPdTQsQn27g1FSZs3h3li05zEKbGWdtu2cGHZtq26Fjf58eK6tGpV3TQnVdOdeDOdxKY68SY6icvx5jrJr+M1sYm1uCUlutA0oXqTvpkVAXcCY4FKYIGZzUoa4PzLwGZ3P8rMJgG3AhcDE4E27n68mZUCr5vZQ+6+JtN/iEjea926um4gHfv2VTfR2b69uklOvMlOYtOdnTtTz3ftCheTeO1tYi3u3r3pxWdW3TQnsYlO4uuozXUa0kwncUpVK1tXDW1ibWz8datWzfLiFeVOfySwyt1XA5jZDGACkJj0JwDfjy0/AvzSzAxwoL2ZFQPtgL1AwnP2IpJ1JSXVj/U2hQMHajbXSWy2kzjFm+8kN89JbqqT3JQnsUZ2x47q/VLV5MbX56rBSmITneTlVK+HDQtjVzehKEm/D7Au4XUlcHJt+7j7fjPbCnQlXAAmAO8ApcBV7v5B8huY2RRgCkC/JhiOT0SyqKioum6guThwIHozneQmOqma6aRqjpNqW+L6VMvJrwcObPKPIkrST/X7JPmyWds+I4EDQG+gC/C8mT0V/9VwcEf36cB0CE02I8QkIhJd/E66bdtcR5JzUXrYqATKEl73BTbUtk+sKKcT8AFwKfCEu+9z9/eAF4B625GKiEjTiJL0FwCDzGyAmbUGJgGzkvaZBVweW74Q+IeHp77WAmdZ0B4YBSzPTOgiItJQ9SZ9d98PXAnMAZYBM919qZlNNbPzYrv9BuhqZquAq4HrYuvvBDoASwgXj9+6++IM/w0iIhKRumEQEckDUbthUK/ZIiIFRElfRKSAKOmLiBQQJX0RkQLS7CpyzawKeDvXcdShG/B+roOog+JLj+JLj+JLTzrxHenu9XbM1OySfnNnZhVRashzRfGlR/GlR/GlJxvxqXhHRKSAKOmLiBQQJf2Gm57rAOqh+NKj+NKj+NLT5PGpTF9EpIDoTl9EpIAo6ceY2Tgze8PMVpnZdSm2X21mr5vZYjP7u5kdmbDtgJktik3JPZBmK77JZlaVEMd/JGy73MxWxqbLk4/NUny/SIhthZltSdiWjc/vXjN7z8yW1LLdzOyOWPyLzWx4wrZsfH71xfeFWFyLzexFMzsxYdsaM3st9vk1ScdVEeI7w8y2Jvw73piwrc7vRpbiuzYhtiWx79zhsW3Z+PzKzOxpM1tmZkvN7Bsp9snOd9DdC34iDPj+JjAQaA28CgxJ2udMoDS2/FXg4YRtO5pBfJOBX6Y49nBgdWzeJbbcJdvxJe3/deDebH1+sfcYAwwHltSy/VzgccKAQKOAl7P1+UWM75T4+wLj4/HFXq8BuuX48zsD+Fu6342mii9p388Sun/P5ufXCxgeW+4IrEjxfzgr30Hd6QcHxwF2971AfBzgg9z9aXffGXs5jzCYTLOJrw7nAE+6+wfuvhl4EhiX4/guAZp2INAk7v4cYWCf2kwAHvBgHtDZzHqRnc+v3vjc/cXY+0P2v39RPr/apPPdjayB8eXi+/eOuy+MLW8ndFPfJ2m3rHwHlfSDVOMAJ/+DJPoy4Yoc19bMKsxsnpmdn8P4Loj9LHzEzOKjnTX0b2vK+IgViw0A/pGwuqk/vyhq+xuy8fk1VPL3z4G5ZvaKhfGmc2W0mb1qZo+b2bGxdc3q8zOzUkLC/GPC6qx+fmbWHxgGvJy0KSvfwShj5BaCKOMAhx3NLiMM+fiJhNX93H2DmQ0E/mFmr7n7m1mO76/AQ+6+x8y+AtwPnBXx2GzEFzcJeMTdDySsa+rPL4ra/oZsfH6RmdmZhKR/WsLqU2OfXw/gSTNbHrvzzaaFhG4AdpjZucBfgEE0s8+PULTzgrsn/irI2udnZh0IF5xvuvu25M0pDsn4d1B3+kGUcYAxs08B3wPOc/c98fXuviE2Xw08Q7iKZzU+d9+UENOvgZOiHpuN+BJMIumndRY+vyhq+xuy8flFYmYnAPcAE9x9U3x9wuf3HvBnQpFKVrn7NnffEVueDZSYWTea0ecXU9f3r0k/PzMrIST8/3P3P6XYJTvfwaasvGgpE+EXz2pCsUO8sunYpH2GESqkBiWt7wK0iS13A1aS4YqqiPH1Slj+HDDPqyuB3orF2SW2fHi244vtN5hQaWbZ/PwS3qs/tVdEfpqalWjzs/X5RYyvH7AKOCVpfXugY8Lyi8C4HMR3RPzflZA018Y+y0jfjaaOL7a9E6Hcv322P7/YZ/EAMK2OfbLyHcz4B99SJ0LN+QpCYv9ebN1Uwl09wFPARmBRbJoVW38K8Frsy/wa8OUcxfdjYGksjqeBjycc+6VYwlgFfDEX8cVefx+4Jem4bH1+DwHvAPsId05fBr4CfCW23QhjOr8Zi6M8y59fffHdA2xO+P5VxNYPjH12r8b+/b+Xo/iuTPj+zSPh4pTqu5Ht+GL7TAZmJB2Xrc/vNEKRzOKEf8Nzc/Ed1BO5IiIFRGX6IiIFRElfRKSAKOmLiBQQJX0RkQKipC8iUkCU9EVECoiSvohIAVHSFxEpIP8ftIX4f+3pISwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sspace = np.linspace(0.1,2)\n", "train_error=[]\n", "test_error=[]\n", "for s in sspace:\n", " (tne,tse)=get_errors(1000,20,s,sigmo)\n", " train_error.append(tne)\n", " test_error.append(tse)\n", "\n", "plt.plot(sspace,train_error,label='train',c='red')\n", "plt.plot(sspace,test_error,label='test',c='blue')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sspace = np.linspace(0.1,5)\n", "train_error=[]\n", "test_error=[]\n", "for s in sspace:\n", " (tne,tse)=get_errors(1000,20,s,lambda x,s:x**s)\n", " train_error.append(tne)\n", " test_error.append(tse)\n", "plt.plot(sspace,train_error,label='train',c='red')\n", "plt.plot(sspace,test_error,label='test',c='blue')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nspace = range(100,10000,100)\n", "train_error=[]\n", "test_error=[]\n", "for n in nspace:\n", " #print(n)\n", " (tne,tse)=get_errors(n,20,1.5,gauss)\n", " train_error.append(tne)\n", " test_error.append(tse)\n", "\n", "plt.plot(nspace,train_error,label='train',c='red')\n", "plt.plot(nspace,test_error,label='test',c='blue')\n", "plt.legend()\n", " " ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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vvyydXyDB1uZtDTV118vvt6ZM1UHDlR9772YN7nUrFhh9/Lss/mP//rXqo0b5+nsxIlWbty46Ov+6iv7zPvvl1x2zRor+8wz0ddfGv76V9UePVQnT45P/U7FEq0geOqKVGPwYNu+/370welRkpEBd91lY9fvvGOZM2vWNC/ViSfm96WffbaFuF5yiQ1aN20Kxx2Xv76tWy1n05NPml89O9vmRcSa3Fyba3HkkZaNNNzFs3y5pSG/5BIbOyk4oBzQpYtlo1271kI9H3/cxl+CRXCioeDktClTzG0zbFjhmerRTEorD8OHl5xuw0lColGNyvJyCyFG9Oyp2rdvoluhquaKOPxw1f33V1240I7t3Kk6apRqy5b2FHzNNap33WXvFy+OfRueey7Pijn6aNVFi1S3bbNr1qhhx6tVM/fMn/9s+5s25a/j00/t+G23mTssI0P1scdK147cXHMDXXaZ6lln5bXpiScKl/34Yzv32WdlvWsnlcBdRk6R3H+//ekzM623WbMmoc1Zvly1SRPVVq3M5XTQQda8bt1UP//cyqxaZe6lO++M7bV37FBt1szcWa++auMD1avbMVAdMkR1zhzViy/O66APOaRwPRs25J3v0MHcXGXhwAOtjrp17c80cKBqnTqq33+fv9y//mXlFi0q23Wc1MIFwSmanTvt8bV7d/sJpKXZ43ivXqqnnaZ6xRWqt9yiet999vg8caLq2rVxbdKMGaq1a1tzTj5ZdcKEwuPeJ59sorF3b9H1zJplT+vR8uSTds1PPrH9NWtUL7rIBsgL+s/HjVNt1071qqsi13X55aq33moD6WXlL39RveEG1dWrbf/HH00QBg7M/32MGGHt9sFeJxqiFQSxslWDzMxMnTlzZqKbkVwsXAhvvWXO8rVr7bV+va27uH17/rJNmliCo2uvtW2Mk9rMD01b7NQp8vl//hMuvdR868ceW/j8rFk2DrFtm4VIPvlk8T727duhTRsbG/j00/K3P1489RT87nfwr39ZiO+uXXDNNbafm+u5hZySEZFZqppZYsFoVKOyvNxCqGB27VJdudIshBEjVH/1K9UGDfL8IiNGFPZlxJGtW+1pOdIT+vffm7ulZUvVO+4wt0+DBhbVtGtX5PoeecRuZcqUuDa73OzZo3rkkaqNGqlef725tYLxDseJBtxCcOLCjh02++z55/OW6mzf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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mspace = range(10,100,1)\n", "train_error=[]\n", "test_error=[]\n", "for m in mspace:\n", " (tne,tse)=get_errors(5000,m,1.5,gauss)\n", " train_error.append(tne)\n", " test_error.append(tse)\n", "\n", "plt.plot(mspace,train_error,label='train',c='red')\n", "plt.plot(mspace,test_error,label='test',c='blue')\n", "plt.legend()\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3.- Logistic \"Regression\"... into the bikeway\n", "### Objective\n", "* Use regression models to classify (everything is connected)\n", "* Exercise the use of metrics\n", "* Learn the importance of understanding the model\n", "\n", "### Theory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us explore the following idea:\n", "$$\\sigma(\\mathbf{w}^\\textrm{T}\\mathbf{x}) = \\frac{1}{1+\\exp(-\\mathbf{w}^\\textrm{T}\\mathbf{x})}$$" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "ada98c4fc6f247acb39ef90f7e84eb73", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type interactive.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "interactive(children=(IntSlider(value=1, description='w1', max=5, min=-5), FloatSlider(value=1.0, description='w2', max=1.0, min=0.001), FloatSlider(value=1.0, description='w3', max=1.0, min=0.001), Output()), _dom_classes=('widget-interact',))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def logistic2D(w1=1,w2=1,w3=1):\n", " w = [w1, w2, w3]\n", " x1_g, x2_g = np.meshgrid(np.arange(-5., 5.0, 0.1),np.arange(-5., 5.0, 0.1))\n", " y = w[0] + w[1]*x1_g + w[2]*x2_g\n", " plt.contourf(x1_g, x2_g, 1./(1.+np.exp(-y)), cmap=plt.cm.seismic, levels = np.arange(0, 1.1, 0.05))\n", " plt.xlim([-5,5])\n", " plt.ylim([-5,5])\n", " plt.colorbar()\n", "interact(logistic2D,w1=(-5,5),w2=(0.001,1.),w3=(0.001,1.))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lets use our linear model under a sigmoid function $\\sigma$ to separate classes then! \n", "\n", "Let $\\phi(\\boldsymbol{x}) = \\boldsymbol{\\phi}$\n", "\n", "$Pr(Y = c_1 \\mid \\boldsymbol{x}) = \\sigma(\\boldsymbol{w}^\\top\\boldsymbol{\\phi})$\n", "\n", "Reciprocaly\n", "\n", "$Pr(Y = c_2 \\mid \\boldsymbol{x}) = 1-\\sigma(\\boldsymbol{w}^\\top\\boldsymbol{\\phi})$\n", "\n", "Note that:\n", "\n", "$\\sigma(-a) = 1 - \\sigma(a)$\n", "\n", "So...\n", "\n", "$\\boldsymbol{w}^\\top\\boldsymbol{\\phi} = \\ln\\left(\\frac{Pr(Y=c_1\\mid\\boldsymbol{x})}{Pr(y=c_2\\mid\\boldsymbol{x})}\\right)$,\n", "\n", "Let us define $c_1 = 1$ and $c_2 = 0$ just because... then,\n", "\n", "$Pr(Y=y\\mid\\boldsymbol{x}) = \\sigma(\\boldsymbol{w}^\\top\\boldsymbol{\\phi})^y (1 - \\sigma(\\boldsymbol{w}^\\top\\boldsymbol{\\phi})^{1-y}$\n", "\n", "If we try to compute the log likelihood for a training data\n", "\n", "$$ E(\\boldsymbol{w}) = \\ln Pr(\\mathbf{Y}=\\mathbf{y}\\mid\\boldsymbol{X},\\boldsymbol{w}) = \\sum_i \\left\\{y_i \\ln( \\sigma(\\boldsymbol{w}^\\top\\boldsymbol{\\phi}_i)) + (1-y_i)\\ln(1 - \\sigma(\\boldsymbol{w}^\\top\\boldsymbol{\\phi}_i))\\right\\}$$\n", "\n", "Then, the gradient looks nice...\n", "\n", "$\\nabla E(\\boldsymbol{w}) = \\sum_{i}(\\sigma(\\boldsymbol{w}^\\top\\boldsymbol{\\phi}_i)) - y_n)\\boldsymbol{\\phi} = 0$ \n", "\n", "but is no closed form to solve this, so we use iterative methods to solve them (numerical optimization methods such as Newton-Raphson). \n", "\n", "Obviously, Mr. Scikit Learn have coded that for us... [link](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html)\n", "\n", "## Exercise\n", "\n", "### a) Load and balance the SDSS stars dataset (RRLyrae)\n", "* Load the dataset, put names to the columns\n", "* Find out how imbalanced is the dataset\n", "* Subsample the class of non-variable stars to the same size of the other class" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "from astroML.datasets import fetch_rrlyrae_combined\n", "sdss_star_feat, sdss_star_type = fetch_rrlyrae_combined()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "star_feat=pd.DataFrame(sdss_star_feat)\n", "star_feat.columns=['u-g', 'g-r', 'r-i', 'i-z']\n", "star_feat['Type']=sdss_star_type" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "483.0" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "star_feat['Type'].sum()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "class_1 = star_feat[star_feat['Type']==1]\n", "class_2 = star_feat[star_feat['Type']==0].sample(len(class_1));\n", "X = class_1.append(class_2)\n", "y = X['Type']\n", "X = X[['u-g', 'g-r', 'r-i', 'i-z']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### b) Train and Evaluate a Logistic Regression Classifier (LRC)\n", "* Train the LRC with the balanced data\n", "* Predict the classes for the same data\n", "* Compute the completeness and contamination " ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "from sklearn import linear_model\n", "logreg = linear_model.LogisticRegression()\n", "logreg.fit(X,y)\n", "y_pred = logreg.predict(X)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(0.9875776397515528, 0.03048780487804878)\n" ] } ], "source": [ "def comp_cont(y,y_pred):\n", " TP = (y[y_pred==1]==1).sum()\n", " FP = (y[y_pred==1]==0).sum()\n", " TN = (y[y_pred==0]==0).sum()\n", " FN = (y[y_pred==0]==1).sum()\n", " return (TP/(TP+FN),FP/(TP+FP))\n", "print(comp_cont(y,y_pred))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### c) Incrementally include the rest of the data\n", "* Create a function that trains and predicts depending on the number of samples used for subsampling the non-variables class. This function should return the completeness and contamination.\n", "* Plot the behaviour of the completeness and contamination as you increase the number of samples of the non-variables class. I recommend steps of 500. \n", "* Plot also the parameters of the model using bars\n", "* What is your explanation for this result? can we do something about it?" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "def get_measures(ns):\n", " class_1 = star_feat[star_feat['Type']==1]\n", " class_2 = star_feat[star_feat['Type']==0].sample(ns);\n", " X = class_1.append(class_2)\n", " y = X['Type']\n", " X = X[['u-g', 'g-r', 'r-i', 'i-z']]\n", " logreg = linear_model.LogisticRegression()\n", " logreg.fit(X,y)\n", " y_pred = logreg.predict(X)\n", " (com,con)=comp_cont(y,y_pred)\n", " return (com,con,logreg.coef_)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcjXX/x/HXZxbGvs2QotBN2beJUkrWUujWRmWJ0iZp5U4bdbfc6VZKSiV0V+ouSVpUP+ZWIgaRNSrLSIioKGb5/v74nDHHmDFnzDlznTnn83w8zmPOcs25PsPxds33+l6frzjnMMYYE1livC7AGGNM8Fm4G2NMBLJwN8aYCGThbowxEcjC3RhjIpCFuzHGRCALd2OMiUAW7sYYE4Es3I0xJgLFebXjxMREV6dOHa92b4wxJdLSpUt/cc4lFbSdZ+Fep04dUlNTvdq9McaUSCKyOZDtbFjGGGMikIW7McZEoALDXUQmi8hOEVmVz+siIuNFZKOIrBSRVsEv0xhjTGEEMuY+BXgOmJbP6xcC9X23tsBE31djTJhJT08nLS2Nv/76y+tSTAESEhKoVasW8fHxx/X9BYa7c26+iNQ5xia9gGlOG8MvEpHKIlLTObf9uCoyxoRMWloaFSpUoE6dOoiI1+WYfDjn2L17N2lpadStW/e43iMYY+4nAVv9Hqf5njPGhJm//vqLatWqWbCHORGhWrVqRfoNKxjhntenJM/lnURkiIikikjqrl27grBrY0xhWbCXDEX9ewpGuKcBtf0e1wJ+ymtD59wk51yycy45KanAOfh5WrgQHnkEPvkE7P8HY4zJWzDCfRbQ3zdr5kxgXyjH27/4Au6/Hy68EKpXh1NOgUsvhUcfhU8/hd27Q7VnY0xJMnDgQN55551jbjNlyhR++inPY9ESr8ATqiLyJtABSBSRNOBBIB7AOfcC8BHQHdgIHACuDVWxAPfcAzfcAMuWwdKlkJqqX2fMyNmmTh1o3RqSk/XWqhVUrRrKqowxJdGUKVNo0qQJJ554otelBF0gs2X6FvC6A24JWkUBqFQJzj9fb9n27tXAT03NCfx33815vV69nMBv3VpvlSsXZ9XGGIBp06YxduxYRIRmzZrxyCOPMGjQIHbt2kVSUhKvvvoqJ598MgMHDqRMmTKsW7eOzZs38+qrrzJ16lQWLlxI27ZtmTJlCgDly5fnhhtuYN68eVSpUoXp06eTe9h36dKl3HHHHfzxxx8kJiYyZcoUFixYQGpqKldffTVlypRh4cKFrFmz5qjtatasSYcOHWjbti3z5s1j7969vPLKK7Rv357MzExGjhxJSkoKBw8e5JZbbuGGG25g+/btXHnllfz2229kZGQwceJE2rVrx+DBg0lNTUVEGDRoELfffnvI/pw96y0TbJUrQ8eOesu2Z09O4C9dCkuWwH//m/P63/4G7drBsGEa9sZEk+HD4ZtvgvueLVrA00/n//rq1av55z//yYIFC0hMTGTPnj0MGDCA/v37M2DAACZPnsywYcOYOXMmAL/++itz585l1qxZ9OjRgwULFvDyyy9zxhln8M0339CiRQv2799Pq1ateOqppxgzZgyjR4/mueeeO7zP9PR0br31Vt5//32SkpJ46623GDVqFJMnT+a5555j7NixJCcnH3M7gIyMDBYvXsxHH33E6NGj+fzzz3nllVeoVKkSS5Ys4eDBg5x99tl07dqVGTNm0K1bN0aNGkVmZiYHDhzgm2++Ydu2baxapdeD7t27N7h/+LlETLjnpWpV6NxZb9l279agzx7SmTkTpk2DLl1g5Ej9bcAmExgTGnPnzuWyyy4jMTERgKpVq7Jw4UJm+MZV+/Xrxz333HN4+x49eiAiNG3alBo1atC0aVMAGjduzKZNm2jRogUxMTFceeWVAFxzzTX07t37iH2uX7+eVatW0aVLFwAyMzOpWbPmUbUVtF32+7Zu3ZpNmzYB8Omnn7Jy5crDY/v79u1jw4YNnHHGGQwaNIj09HQuueQSWrRoQb169fjhhx+49dZbueiii+jatWvR/jALENHhnpdq1aBrV70B7NsHL74I48ZBp07Qpo2GfK9eEGOdd0wEO9YRdqg45wqc4uf/eunSpQGIiYk5fD/7cUZGRoHfn73Pxo0bs3DhwgJrO9Z22fuPjY09vG/nHM8++yzdunU7avv58+fz4Ycf0q9fP+6++2769+/PihUrmDNnDhMmTODtt98+/FtBKER9fFWqpCdpf/wRXngBfvkFeveGxo1hyhQ4dMjrCo2JHJ06deLtt99mt29a2549e2jXrh3Tp08H4PXXX+ecc84p1HtmZWUdPnJ+4403jvr+0047jV27dh0O7fT0dFavXg1AhQoV+P333wvcLj/dunVj4sSJpKenA/Ddd9+xf/9+Nm/eTPXq1bn++usZPHgwy5Yt45dffiErK4tLL72Uhx9+mGXLlhXq5yysqDtyz09C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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nsspace = range(500,9000,500)\n", "com_list=[]\n", "con_list=[]\n", "for ns in nsspace:\n", " (com,con,coef)=get_measures(ns)\n", " com_list.append(com)\n", " con_list.append(con)\n", "\n", "plt.plot(nsspace,com_list,label='completeness',c='blue')\n", "plt.plot(nsspace,con_list,label='contamination',c='red')\n", "plt.legend()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.bar(range(len(coef[0])),coef[0])" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ " #logreg = linear_model.LogisticRegression(penalty='l1',C=100)\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.2" } }, "nbformat": 4, "nbformat_minor": 2 }