Last active
August 29, 2015 14:08
-
-
Save AlexanderFabisch/cd277b26102fe91af09e to your computer and use it in GitHub Desktop.
Regression
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"metadata": { | |
"name": "", | |
"signature": "sha256:9814dc83e778a57b3330ae85fa1bc895abfdfdbc5c851c14c59ef34be7d0c101" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%pylab inline" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stdout", | |
"text": [ | |
"Populating the interactive namespace from numpy and matplotlib\n" | |
] | |
} | |
], | |
"prompt_number": 1 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from sklearn.utils import check_random_state\n", | |
"\n", | |
"def generate_data(n_samples, sigma, random_state=None):\n", | |
" random_state = check_random_state(random_state)\n", | |
" x = np.linspace(0, 1, n_samples)\n", | |
" X = x[:, np.newaxis]\n", | |
" y_true = np.cos(2 * np.pi * x)\n", | |
" y = y_true + sigma * random_state.randn(n_samples)\n", | |
" return x, X, y_true, y" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 2 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"Linear Regression" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"**Model:** We assume that there is some latent function $f: \\mathbb{R}^D \\rightarrow \\mathbb{R}$. We observe samples $(\\boldsymbol{x}_n, y_n)$ with $f(\\boldsymbol{x}_n) + \\epsilon_n = y_n$ and $\\epsilon_n \\sim \\mathcal{N}(0, \\sigma^2)$. Since we assume that $f$ is a linear function of the form $f(\\boldsymbol{x}_n) = \\boldsymbol{w} \\boldsymbol{x}$ ($\\boldsymbol{x}$ will be extended by 1 so that $\\boldsymbol{w}$ incorporates a bias), we will learn by minimizing\n", | |
"\n", | |
"$$\\arg \\min_\\boldsymbol{w} \\frac{1}{2} || \\boldsymbol{y} - \\boldsymbol{X} \\boldsymbol{w} ||^2_2.$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can find a solution for the vector $\\boldsymbol{w}$ by setting the derivative of the objective function to 0 and solving for $\\boldsymbol{w}$.\n", | |
"\n", | |
"\\begin{eqnarray*}\n", | |
"&& 0 = \\boldsymbol{X}^T \\left( \\boldsymbol{y} - \\boldsymbol{X} \\boldsymbol{w} \\right) \\boldsymbol{X} = \\boldsymbol{X}^T \\boldsymbol{y} - \\boldsymbol{X}^T \\boldsymbol{X} \\boldsymbol{w}\\\\\n", | |
"&\\Leftrightarrow& \\boldsymbol{X}^T \\boldsymbol{X} \\boldsymbol{w} = \\boldsymbol{X}^T \\boldsymbol{y}\\\\\n", | |
"&\\Leftrightarrow& \\boldsymbol{w} = \\left( \\boldsymbol{X}^T \\boldsymbol{X} \\right)^{-1} \\boldsymbol{X}^T \\boldsymbol{y}\n", | |
"\\end{eqnarray*}\n", | |
"\n", | |
"(Now we actually have to prove that the second derivative is greater than 0.)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from sklearn.base import BaseEstimator, RegressorMixin\n", | |
"\n", | |
"\n", | |
"class LinearRegression(BaseEstimator, RegressorMixin):\n", | |
" def fit(self, X, y):\n", | |
" n_samples = X.shape[0]\n", | |
" X_bias = np.hstack((np.ones((n_samples, 1)), X))\n", | |
" self.w = np.linalg.inv(X_bias.T.dot(X_bias)).dot(X_bias.T).dot(y)\n", | |
" return self\n", | |
" def predict(self, X):\n", | |
" n_samples = X.shape[0]\n", | |
" X_bias = np.hstack((np.ones((n_samples, 1)), X))\n", | |
" return X_bias.dot(self.w)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 3 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x, X, y_true, y = generate_data(101, 0.3, 0)\n", | |
"plt.plot(x, y_true)\n", | |
"plt.scatter(x, y)\n", | |
"linreg = LinearRegression().fit(X, y)\n", | |
"plt.plot(x, linreg.predict(X))" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 4, | |
"text": [ | |
"[<matplotlib.lines.Line2D at 0x2df7410>]" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x2c94a90>" | |
] | |
} | |
], | |
"prompt_number": 4 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"Polynomial Regression" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can approximate nonlinear functions with linear regression by generating nonlinear features $\\phi(\\boldsymbol{x})$." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from sklearn.preprocessing import PolynomialFeatures\n", | |
"\n", | |
"\n", | |
"class PolynomialRegression(BaseEstimator, RegressorMixin):\n", | |
" def __init__(self, degree):\n", | |
" self.degree = degree\n", | |
" def fit(self, X, y):\n", | |
" self.poly = PolynomialFeatures(degree=self.degree).fit(X)\n", | |
" X_poly = self.poly.transform(X)\n", | |
" self.w = np.linalg.pinv(X_poly.T.dot(X_poly)).dot(X_poly.T).dot(y)\n", | |
" return self\n", | |
" def predict(self, X):\n", | |
" X_poly = self.poly.transform(X)\n", | |
" return X_poly.dot(self.w)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 5 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x, X, y_true, y = generate_data(101, 0.3, 0)\n", | |
"plt.plot(x, y_true)\n", | |
"plt.scatter(x, y)\n", | |
"polyreg = PolynomialRegression(50).fit(X, y)\n", | |
"plt.plot(x, polyreg.predict(X))" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 6, | |
"text": [ | |
"[<matplotlib.lines.Line2D at 0x37007d0>]" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD9CAYAAAC7iRw+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8jdcfwPHPzb0Z92YZIUhCYo9IxIrZxkjtrVZblCot\nqpRaVbQorVap1mjVqtpqqx17ixqxBYkQI4Ls3Jvv74/gR0XJvCLn/Xo9r+Y+zznn+Z7im+ee5zzn\n0YgIiqIoSs5hYe4AFEVRlKylEr+iKEoOoxK/oihKDqMSv6IoSg6jEr+iKEoOoxK/oihKDpOuxB8S\nEuJWp06d7eXKlTvl6el5csqUKZ+kVO6TTz6ZUqJEifPe3t7/BAYG+qTnnIqiKEr66NJT2dLSMnHS\npEn9K1SocCwqKsquUqVKR/z9/TeXKVPm9KMy69evb3zhwoXi58+fL3HgwAHfjz76aNr+/furpT90\nRVEUJS3SdcVfoECBGxUqVDgGYGdnF1WmTJnTYWFhhZ4ss3r16uZdunSZC+Dr63sgMjIyV3h4uHN6\nzqsoiqKkXYaN8V++fNk9MDDQx9fX98CT+69du+bi5uYW8uizq6traGhoqGtGnVdRFEVJnXQN9TwS\nFRVl17Zt22WTJ0/uZ2dnF/Xv4yKiefKzRqN5Zp2IlPYpiqIoL/bvHPsi6b7iT0xMtGzTps3yd999\n94+WLVuu/PdxFxeXayEhIW6PPoeGhrq6uLhcS6ktEcm228iRI80eQ06MXcVv/k3Fb94tLdKV+EVE\n071791lly5YN+vTTT39MqUzz5s1Xz5s3rzPA/v37q+XKlSvS2dk5PD3nVRRFUdIuXUM9e/bsqfnH\nH3+86+XlddzHxycQYNy4ccOuXr1aGKBnz54zGjduvH79+vWNixcvfsHW1jZ69uzZ72dE4IqiKEra\npCvx16pVa3dSUtILvzVMnTq1T3rOkx34+fmZO4Q0y86xg4rf3FT82Y8mrWNEGU2j0cirEouiKEp2\nodFokKy+uasoiqJkLyrxK4qi5DAq8SuKouQwKvEriqLkMCrxK4qi5DAq8SuKouQwKvEriqLkMCrx\nK4qi5DAq8SuKouQwKvEriqLkMCrxZ5LY2Fh69PiEwoU9qVy5DocOHTJ3SIqiKIBaqyfTvP12Z9au\njSIu7kvgOHZ2Azl+/AAeHh7mDk1RlNdIWtbqUYk/E4gIVlZ6jMabgAMAen03fvihKr169TJvcIqi\n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\nLmEiKo/QAAAAAElFTkSuQmCC\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x2ed8190>" | |
] | |
} | |
], | |
"prompt_number": 6 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"Ridge Regression" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"To reduce overfitting, we minimize\n", | |
"\n", | |
"$$\\arg \\min_\\boldsymbol{w} \\frac{1}{2} || \\boldsymbol{y} - \\boldsymbol{X} \\boldsymbol{w} ||^2_2 + \\frac{\\gamma}{2} \\boldsymbol{w}^T \\boldsymbol{w},$$\n", | |
"\n", | |
"which means that we set a prior for $\\boldsymbol{w}$." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"\\begin{eqnarray*}\n", | |
"&& 0\n", | |
"= \\boldsymbol{X}^T \\left( \\boldsymbol{y} - \\boldsymbol{X} \\boldsymbol{w}^T \\right) \\boldsymbol{X} + \\gamma \\boldsymbol{w}\n", | |
"= \\boldsymbol{X}^T \\boldsymbol{y} - \\boldsymbol{X}^T \\boldsymbol{X} \\boldsymbol{w} + \\gamma \\boldsymbol{w}\\\\\n", | |
"&\\Leftrightarrow& \\boldsymbol{X}^T \\boldsymbol{X} \\boldsymbol{w} + \\gamma \\boldsymbol{w} = \\boldsymbol{X}^T \\boldsymbol{y}\\\\\n", | |
"&\\Leftrightarrow& \\boldsymbol{w} = \\left( \\boldsymbol{X}^T \\boldsymbol{X} + \\gamma \\boldsymbol{I} \\right)^{-1} \\boldsymbol{X}^T \\boldsymbol{y}\n", | |
"\\end{eqnarray*}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"class PolynomialRidgeRegression(BaseEstimator, RegressorMixin):\n", | |
" def __init__(self, degree, gamma):\n", | |
" self.degree = degree\n", | |
" self.gamma = gamma\n", | |
" def fit(self, X, y):\n", | |
" self.poly = PolynomialFeatures(degree=self.degree).fit(X)\n", | |
" X_poly = self.poly.transform(X)\n", | |
" self.w = (np.linalg.inv(X_poly.T.dot(X_poly) + self.gamma *\n", | |
" np.eye(X_poly.shape[1])).dot(X_poly.T).dot(y))\n", | |
" return self\n", | |
" def predict(self, X):\n", | |
" X_poly = self.poly.transform(X)\n", | |
" return X_poly.dot(self.w)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 7 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x, X, y_true, y = generate_data(101, 0.3, 0)\n", | |
"plt.plot(x, y_true)\n", | |
"plt.scatter(x, y)\n", | |
"polyridgereg = PolynomialRidgeRegression(20, 0.1).fit(X, y)\n", | |
"plt.plot(x, polyridgereg.predict(X))" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 8, | |
"text": [ | |
"[<matplotlib.lines.Line2D at 0x38734d0>]" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\nQkKCpCkUfkXynzlzpsfXX3+9DADs7e1v2tnZpaWkpHT09vY+/6rzKqspr7uKUmrdVdfBivnz569+\nembAihUrFtZ0cFculwuTJk363zlz5vyo7oMr5eXlmh06dLiZlpZmW1pa2uplB3fPnj3brSkdIFIk\n/99///2Gvb39jbNnz3ZTd15V8j//mDJlyvamdFaPIvmvXbvm3K9fv+MVFRWix48fi93c3K4kJia6\nqDu7ovk/++yzHxYvXryIiJCTk2NmZWWVkZeX10bd2Z8+0tLSbBU5uNvU1l1F8iu77qrtTeTl5bXp\n16/f8aqnc2ZmZloOHjw4jIhw+vTpnoIgyCUSySVPT8+Lnp6eF48ePRqgrsxHjhwZ5OTklGJvb39j\n+fLlXxIRNm3aNHPTpk0zn7b5+OOPN9jb29/w8PBIuHDhgpe6f1iUyT99+vQtbdq0yXv6WXft2jVO\n3ZmV/fyfPppa4Vc0/5o1az53cXFJdHNzu6Lu05eVzX/v3r12Q4YMOezh4ZHg5uZ2Zffu3RPUnfnp\nY9y4ccEWFhZZWlpaZdbW1ulbt26d1pzW3ZflV3bdrXOuHsYYY68fvgMXY4y1MFz4GWOsheHCzxhj\nLQwXfsYYa2G48DPGWAvDhZ8xxlqY/wPGIwVu2XKkDQAAAABJRU5ErkJggg==\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x3708850>" | |
] | |
} | |
], | |
"prompt_number": 8 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"Kernel Regression" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can express $\\boldsymbol{w}$ as a weighted sum of the training data\n", | |
"$$\\boldsymbol{w} = \\boldsymbol{X}^T \\boldsymbol{\\alpha}$$\n", | |
"\n", | |
"Which leads to the **dual problem**\n", | |
"$$\\arg \\min_\\boldsymbol{\\alpha} \\frac{1}{2} || \\boldsymbol{y} - \\boldsymbol{X} \\boldsymbol{X}^T \\boldsymbol{\\alpha}||^2_2$$\n", | |
"\n", | |
"We call $\\boldsymbol{K} = \\boldsymbol{X}\\boldsymbol{X}^T \\in \\mathbb{R}^{N \\times N}$ the Gram matrix so that we can find the minimum at\n", | |
"\\begin{eqnarray*}\n", | |
"&& 0 = \\boldsymbol{K} \\boldsymbol{y} - \\boldsymbol{K}\\boldsymbol{K} \\boldsymbol{\\alpha}\\\\\n", | |
"&\\Leftrightarrow& \\boldsymbol{\\alpha}\n", | |
"= \\left( \\boldsymbol{K}\\boldsymbol{K} \\right)^{-1} \\boldsymbol{K} \\boldsymbol{y}\n", | |
"= \\boldsymbol{K}^{-1} \\boldsymbol{y}\n", | |
"= \\boldsymbol{K} \\boldsymbol{y}\n", | |
"\\end{eqnarray*}\n", | |
"\n", | |
"Instead of the *linear kernel* $k(\\boldsymbol{x}, \\boldsymbol{x}') = \\boldsymbol{x}^T \\boldsymbol{x}'$, we can use any Mercer kernel to build the Gram matrix. The intuition behind this is that we use another definition of similarity when we use another kernel." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from sklearn.metrics.pairwise import pairwise_kernels\n", | |
"\n", | |
"\n", | |
"class KernelRegression(BaseEstimator, RegressorMixin):\n", | |
" def __init__(self, kernel, **kernel_args):\n", | |
" self.kernel = kernel\n", | |
" self.kernel_args = kernel_args\n", | |
" def fit(self, X, y):\n", | |
" self.X = X\n", | |
" K = pairwise_kernels(self.X, metric=self.kernel, **self.kernel_args)\n", | |
" self.alpha = np.linalg.pinv(K).dot(y)\n", | |
" return self\n", | |
" def predict(self, X):\n", | |
" K_star = pairwise_kernels(X, self.X, metric=self.kernel, **self.kernel_args)\n", | |
" return K_star.dot(self.alpha)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 9 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x, X, y_true, y = generate_data(101, 0.3, 0)\n", | |
"plt.plot(x, y_true)\n", | |
"plt.scatter(x, y)\n", | |
"kernreg = KernelRegression(\"linear\").fit(X, y)\n", | |
"plt.plot(x, kernreg.predict(X))" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 10, | |
"text": [ | |
"[<matplotlib.lines.Line2D at 0x3c17e90>]" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD9CAYAAAC7iRw+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8U9X7wPFPkq6kEygUaAste5ciUGRoWcoSkA36ZYqg\nDEFRBBTBgaD8VBBlKCIKslH2FMooUlbZG1tsC5Q92nQleX5/pNQiZXQR2p7363Vfkptzzn0ukic3\n5557jkZEUBRFUQoOra0DUBRFUZ4slfgVRVEKGJX4FUVRChiV+BVFUQoYlfgVRVEKGJX4FUVRCphs\nJf6oqCjfxo0bb61ateqxatWqHZ06derQjMoNHTp0avny5c8EBAQcCg8PD8zOMRVFUZTssctOZXt7\n+5Svv/56eM2aNQ/GxcW5PPPMM/ubN2++qXLlyifullm7dm2rs2fPljtz5kz5sLCwoDfeeGP67t27\n62U/dEVRFCUrsnXFX7x48Us1a9Y8CODi4hJXuXLlExcuXCiZvszKlSvb9urVay5AUFBQ2M2bNz1i\nY2O9snNcRVEUJetyrI8/MjLSLzw8PDAoKCgs/f6YmBhvX1/fqLuvfXx8oqOjo31y6riKoihK5mSr\nq+euuLg4l06dOi2dMmXKWy4uLnH/fV9ENOlfazSa++aJyGifoiiK8mj/zbGPku0r/pSUFPuOHTsu\ne/XVV+e1b9/+j/++7+3tHRMVFeV793V0dLSPt7d3TEZtiUie3T766CObx1AQY1fx235T8dt2y4ps\nJX4R0fTr1292lSpVjg8bNuybjMq0bdt25S+//NITYPfu3fU8PDxuenl5xWbnuIqiKErWZaurJzQ0\ntMG8efNerVGjxuHAwMBwgAkTJoz+559/SgEMGDBgZqtWrdauXbu2Vbly5c46OzvHz5kzp09OBK4o\niqJkTbYSf8OGDXdaLJZH/mqYNm3a4OwcJy8IDg62dQhZlpdjBxW/ran48x5NVvuIcppGo5GnJRZF\nUZS8QqPRIE/65q6iKIqSt6jEryiKUsCoxK8oilLAqMSvKIpSwKjEryiKUsCoxK8oilLAqMSvKIpS\nwKjEryiKUsCoxK8oilLAqMSvKIpSwKjEn0sSEhLo338opUpVo3btxuzdu9fWISmKogBqrp5c07lz\nT1avjiMxcSxwGBeXERw+HIa/v7+tQ1MUJR/Jylw9KvHnAhHBwUGPyXQZcANAr+/LV1/VZeDAgbYN\nTlGUfEVN0vYUsbfXA1fTXmu1V9Dr9bYLSFEUJZVK/LlAo9EwduwYDIaWwDc4OPTF0/McHTp0sHVo\niqIoqqsnNy1fvpy1a7dQsmRRhg8fSqFChWwdkqIoQHx8PIMHv8uff26nRInizJjxJYGBgbYOK0tU\nH7+iKMpjaNOmC3/+qSUxcRSwH1fXURw/vh8fHx9bh5Zpqo//CYuNjaVNm674+FSmSZO2REZGZlhu\n1apV1KjRkPLlazNx4mTUF5yiPBmXL18mLCyM2NjYtH0mk4n16/8gMXEOEAD0xWJpyubNm20W55OW\n7cTft2/fn7y8vGKrV69+JKP3Q0JCgt3d3W8FBgaGBwYGhn/66acfZPeYTwOz2czzz7di48ZSxMQs\nYfv2Z6lfvxnx8fH3lNu2bRvdur3OkSMjOXt2Cp988huTJv2fjaJWlIJj0aLF+PlV5sUXB+HvX4Vf\nf50PgFarRaezB66nlhQ0mgI2+EJEsrVt37690YEDBwKrVat2JKP3t27dGvzSSy+tfFQ71lDyjlOn\nTomzc2kBi4AIiLi51ZEdO3bcU65fv0ECk9PKwE4pV+4ZG0WtKAXD1atXRa8vJHAo9XN3TPT6wnLp\n0iURERk79hMxGKoIfCMODv+TcuVqSFxcnI2jzprU3JmpvG2X3S+ORo0a7YiMjPR7xJdLpvqf8gKD\nwYDZHAcYAWcgBbP5OgaD4Z5yzs5OaDTX+bd35zp6vdOTDVZRCpjz589jb+9LQkKN1D1VcHAoy99/\n/42Xlxfjxo2hatUKbNiwjdKlK/DWW9/i7Oxs05ifpGwn/kfRaDSya9eu+gEBAYe8vb1jJk+ePKJK\nlSrHc/u4uc3Hx4d27V5i1aoWGI2d0OvXExRUmZo1a95TbsiQgcyZ04C4OBApjMEwmc8+m2WjqBWl\nYPDz88NkigbCgUDgKMnJ5yhbtixgvSHapUsXunTpYsswbSbXE3+tWrUOREVF+RoMBuO6detatm/f\n/o/Tp09XyKjsuHHj0v4cHBxMcHBwboeXLfPn/8js2bPZs+cw1aq14M0330Crvfe2Sbly5ThwIJRv\nv51BfHwE//vfQp5//nkbRawoBUPhwoX5+edZ9O7dDDs7X1JS/uHHH7+nWLFitg4t20JCQggJCclW\nGzkynDMyMtLvpZdeWnXkyJHqjyrr7+8fsX///mcKFy58Pf1+NZxTUZScdu3aNSIjIyldujSenp62\n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\nG+vh4ZHcNwkfpcqchPba9Jfiqe6cim+++eaN9uZmaIqq7390dPTst99+ewfQvy4RViV/bm6u+M6d\nO6Y+Pj7x7u7uF/fv37+w75O2T5X8QUFBuzIzM52HDRtWJJVKM7Zt2/b3vk/aNf157KpLlbHb6eWc\n3dXRPID169evbXmf4zjW2SCtqakRzps374dt27b9XSgU1vRG1sdRtYiwVpel9pfio06O+Ph4nz17\n9rx+7ty5v/RmJnWokn/58uVfbty4cQ3HcYwxxrX+u9AkVfIrlUp+amqq2+nTp6fK5XKBp6dn4vjx\n45PEYnFuX2TsjCr5w8LCPnR1dU1PSEjwvnHjhr1MJovLyMiQGhkZ3euLjN3VX8euOlQdu71a+Dub\nB2BhYVFaUlJiaWlpWVJcXGxlbm5e1l47pVLJDwwMjHrllVcOzJkz52jvpe2cKnMSWrcpKCgQWVtb\nF/Zlzo6oOqfi8uXLkqCgoF2xsbG+nf3Xsq+pkv/SpUvjFixY8D0A3L592ywmJsaPz+cr+8MlxKrk\nt7GxyTczM7ttaGhYa2hoWDt58uQzGRkZ0v5Q+FXJf/78+Qlr165dDwD29vY37Ozs8nJycka5u7tf\n7Ou86urPY1dVao1dTZ2sCAkJ2dx8ZcCGDRvWtHdyt6mpiVu4cOG/li9fvlXTJ1eUSqXuiBEjbuTl\n5dkqFAq9x53cTUxMHN+fThCpkv+PP/542t7e/npiYuJ4TeftSv6Wt8WLF+/tT1f1qJL/2rVrjlOn\nTv25oaGBd//+fYGLi8uVzMxMJ01nVzX/e++998W6des+YYyhpKTEwtrauqCiosJU09mbb3l5ebaq\nnNztb2NXlfzqjl2N7URFRYXp1KlTf259OWdhYeEwf3//E4wxnD17diLHcU1SqTTd1dU1zdXVNS0m\nJsZXU5lPnjzpN3LkyBx7e/vrYWFhHzDGsHPnzqU7d+5c2tzmnXfeibC3t78ukUgyLl265KbpD4s6\n+d94443dpqamFc3v9TPPPJOi6czqvv/Nt/5W+FXNHx4evtLJySnTxcXliqYvX1Y3f3l5udnMmTOP\nSySSDBcXlyvffffdy5rO3HxbsGBBpJWVVRGfz68XiUT533zzzesDaew+Lr+6Y7fTtXoIIYQ8eegX\nuAghRMtQ4SeEEC1DhZ8QQrQMFX5CCNEyVPgJIUTLUOEnhBAt838AALU90ceOKQAAAABJRU5ErkJg\ngg==\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x386bdd0>" | |
] | |
} | |
], | |
"prompt_number": 10 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x, X, y_true, y = generate_data(101, 0.3, 0)\n", | |
"plt.plot(x, y_true)\n", | |
"plt.scatter(x, y)\n", | |
"kernreg = KernelRegression(\"rbf\", gamma=10.0).fit(X, y)\n", | |
"plt.plot(x, kernreg.predict(X))" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 11, | |
"text": [ | |
"[<matplotlib.lines.Line2D at 0x3e9e9d0>]" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\nws8YY03M/wHJ2R4WYVJYRgAAAABJRU5ErkJggg==\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x3c24050>" | |
] | |
} | |
], | |
"prompt_number": 11 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"Kernel Ridge Regression" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We start from ridge regression\n", | |
"\n", | |
"$$\\arg \\min_\\boldsymbol{w} \\frac{1}{2} || \\boldsymbol{y} - \\boldsymbol{X} \\boldsymbol{w} ||^2_2 + \\frac{\\gamma}{2} \\boldsymbol{w}^T \\boldsymbol{w}.$$\n", | |
"\n", | |
"and replace again\n", | |
"\n", | |
"$$\\boldsymbol{w} = \\boldsymbol{X}^T \\boldsymbol{\\alpha},$$\n", | |
"\n", | |
"so that\n", | |
"\n", | |
"$$\\boldsymbol{w}^T \\boldsymbol{w} = \\left( \\boldsymbol{X}^T \\boldsymbol{\\alpha} \\right)^T \\left( \\boldsymbol{X}^T \\boldsymbol{\\alpha} \\right) = \\boldsymbol{\\alpha}^T \\boldsymbol{X} \\boldsymbol{X}^T \\boldsymbol{\\alpha} = \\boldsymbol{\\alpha}^T \\boldsymbol{K} \\boldsymbol{\\alpha},$$\n", | |
"\n", | |
"which results in a modification of the dual problem\n", | |
"\n", | |
"$$\\arg \\min_\\boldsymbol{w} \\frac{1}{2} || \\boldsymbol{y} - \\boldsymbol{K} \\boldsymbol{\\alpha} ||^2_2 + \\frac{\\gamma}{2} \\boldsymbol{\\alpha}^T \\boldsymbol{K} \\boldsymbol{\\alpha}.$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"\\begin{eqnarray*}\n", | |
"&& 0\n", | |
"= \\boldsymbol{K} \\left( \\boldsymbol{y} - \\boldsymbol{K} \\boldsymbol{\\alpha} \\right) + \\gamma \\boldsymbol{K} \\boldsymbol{\\alpha}\n", | |
"= \\boldsymbol{K} \\boldsymbol{y} - \\boldsymbol{K} \\boldsymbol{K} \\boldsymbol{\\alpha} + \\gamma \\boldsymbol{K} \\boldsymbol{\\alpha}\\\\\n", | |
"&\\Leftrightarrow& \\boldsymbol{K} \\boldsymbol{y} = \\boldsymbol{K} \\boldsymbol{K} \\boldsymbol{\\alpha} - \\gamma \\boldsymbol{K} \\boldsymbol{\\alpha}\\\\\n", | |
"&\\Leftrightarrow& \\boldsymbol{y} = \\boldsymbol{K} \\boldsymbol{\\alpha} - \\gamma \\boldsymbol{I} \\boldsymbol{\\alpha}\\\\\n", | |
"&\\Leftrightarrow& \\left(\\boldsymbol{K} - \\gamma \\boldsymbol{I} \\right)^{-1} \\boldsymbol{y} = \\boldsymbol{\\alpha}\n", | |
"\\end{eqnarray*}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"class KernelRidgeRegression(BaseEstimator, RegressorMixin):\n", | |
" def __init__(self, kernel, lmbda, **kernel_args):\n", | |
" self.kernel = kernel\n", | |
" self.lmbda = lmbda\n", | |
" self.kernel_args = kernel_args\n", | |
" def fit(self, X, y):\n", | |
" self.X = X\n", | |
" K = pairwise_kernels(self.X, metric=self.kernel, **self.kernel_args)\n", | |
" self.alpha = np.linalg.pinv(K + self.lmbda * np.eye(X.shape[0])).dot(y)\n", | |
" return self\n", | |
" def predict(self, X):\n", | |
" K_star = pairwise_kernels(X, self.X, metric=self.kernel, **self.kernel_args)\n", | |
" return K_star.dot(self.alpha)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 12 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x, X, y_true, y = generate_data(101, 0.3, 0)\n", | |
"plt.plot(x, y_true)\n", | |
"plt.scatter(x, y)\n", | |
"kernridgereg = KernelRidgeRegression(\"rbf\", lmbda=1.0, gamma=10.0).fit(X, y)\n", | |
"plt.plot(x, kernridgereg.predict(X))" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 13, | |
"text": [ | |
"[<matplotlib.lines.Line2D at 0x40a0990>]" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\nrwHA1tb2ro2NTUpiYmJ3d3f3a286r7Ja8rGrKKWOXVWdrPD3919XdWXAmjVrltd2creiokIwY8aM\nvQsXLtyo6pMrZWVl6l27dr2bkpJiXVJSovm6k7tXrlzp15JOECmS/88///yLra1t8pUrV/qpOm9D\n8r/8mDVr1u6WdFWPIvnv3LnjMGzYsP+Ul5cLnz17JnJxcbl1+/ZtJ1VnVzT/xx9//O2qVatWEhGy\nsrLMOnfunJabm2uk6uxVj5SUFGtFTu62tGNXkfzKHrsq24nc3FyjYcOG/af65Zzp6ekWPj4+p4gI\nFy9eHCgQCCokEskNNze3WDc3t9gzZ854qyrz6dOnR3Xr1i3R1tY2OSAg4BMiwrZt2+Zt27ZtXlWb\nf/zjH1tsbW2TXV1d465fv95L1b8syuT/4IMPdhgZGeVWvdd9+vSJVnVmZd//qkdLK/yK5l+/fv0S\nJyen2y4uLrdUffmysvkfPnxoMmbMmJOurq5xLi4ut3766ad3VZ256uHr6xtkbm6eoaGhUWppaZm6\nc+fOOa3p2H1dfmWP3XrX6mGMMdb28B24GGOsneHCzxhj7QwXfsYYa2e48DPGWDvDhZ8xxtoZLvyM\nMdbO/B+QuHI/l75w5AAAAABJRU5ErkJggg==\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x3c3af50>" | |
] | |
} | |
], | |
"prompt_number": 13 | |
}, | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"Gaussian Process Regression" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Kernels that are used for GPR (covariance functions) usually have many more hyperparameters than kernels that we have been looking at before. However, the hyperparameter optimization of GPR is much better than other methods (but more computationally complex).\n", | |
"\n", | |
"The log-likelihood\n", | |
"$$\\log p(\\boldsymbol{y}|\\boldsymbol{X}) = - \\frac{1}{2} \\boldsymbol{y} \\boldsymbol{K}^{-1} \\boldsymbol{y} - \\frac{1}{2} \\log |\\boldsymbol{K}| - \\frac{N}{2} \\log (2 \\pi)$$\n", | |
"will be minimized with respect to the kernel's hyperparameters $\\boldsymbol{\\theta}$. The derivative can be computed as\n", | |
"$$\\frac{\\partial}{\\partial \\theta_j} \\log p(\\boldsymbol{y}|\\boldsymbol{X}) = \\frac{1}{2} tr \\left( (\\boldsymbol{\\alpha} \\boldsymbol{\\alpha}^T - \\boldsymbol{K}^{-1}) \\frac{\\partial \\boldsymbol{K}}{\\partial \\theta_j} \\right)$$" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"from scipy import linalg, optimize\n", | |
"from sklearn.metrics.pairwise import manhattan_distances\n", | |
"from sklearn.gaussian_process import correlation_models as correlation\n", | |
"\n", | |
"\n", | |
"def l1_cross_distances(X):\n", | |
" n_samples, n_features = X.shape\n", | |
" n_nonzero_cross_dist = n_samples * (n_samples - 1) // 2\n", | |
" ij = np.zeros((n_nonzero_cross_dist, 2), dtype=np.int)\n", | |
" D = np.zeros((n_nonzero_cross_dist, n_features))\n", | |
" ll_1 = 0\n", | |
" for k in range(n_samples - 1):\n", | |
" ll_0 = ll_1\n", | |
" ll_1 = ll_0 + n_samples - k - 1\n", | |
" ij[ll_0:ll_1, 0] = k\n", | |
" ij[ll_0:ll_1, 1] = np.arange(k + 1, n_samples)\n", | |
" D[ll_0:ll_1] = np.abs(X[k] - X[(k + 1):n_samples])\n", | |
" return D, ij\n", | |
"\n", | |
"\n", | |
"def kernel(X, Y=None, theta=None):\n", | |
" dx = manhattan_distances(X, Y, sum_over_features=False)\n", | |
" n_samples = X.shape[0]\n", | |
" n_eval = dx.shape[0] / n_samples\n", | |
" return correlation.squared_exponential(theta, dx).reshape(n_eval, n_samples)\n", | |
"\n", | |
"\n", | |
"class GaussianProcessRegression(BaseEstimator, RegressorMixin):\n", | |
" def __init__(self, nugget):\n", | |
" self.nugget = nugget\n", | |
"\n", | |
" def fit(self, X, y):\n", | |
" self.n_samples, self.n_features = X.shape\n", | |
" self.X = X\n", | |
" self.y = y\n", | |
" self.D, self.ij = l1_cross_distances(X)\n", | |
" self.theta_, _, par = self._optimize_theta()\n", | |
" self.__dict__.update(par)\n", | |
" return self\n", | |
"\n", | |
" def predict(self, X, eval_MSE=False):\n", | |
" K = kernel(X, self.X, self.theta_)\n", | |
" y = np.dot(K, self.alpha)\n", | |
" if eval_MSE:\n", | |
" Kt = linalg.solve_triangular(self.L, K.T, lower=True)\n", | |
" MSE = np.dot(self.sigma2, (1 - (Kt ** 2).sum(axis=0))[np.newaxis])\n", | |
" MSE = np.sqrt((MSE ** 2).sum(axis=0))\n", | |
" return y, MSE\n", | |
" else:\n", | |
" return y\n", | |
"\n", | |
" def reduced_likelihood(self, theta):\n", | |
" k = correlation.squared_exponential(theta, self.D)\n", | |
" K = np.eye(self.n_samples) * (1. + self.nugget)\n", | |
" K[self.ij[:, 0], self.ij[:, 1]] = k\n", | |
" K[self.ij[:, 1], self.ij[:, 0]] = k\n", | |
" try:\n", | |
" L = linalg.cholesky(K, lower=True)\n", | |
" except linalg.LinAlgError:\n", | |
" return -np.inf, {}\n", | |
" Ly = linalg.solve_triangular(L, self.y, lower=True)\n", | |
" alpha = linalg.solve_triangular(L.T, Ly)\n", | |
" sigma2 = (Ly ** 2.).sum() / self.n_samples\n", | |
" log_K_det = (np.diag(L) ** (2. / self.n_samples)).prod()\n", | |
" objective = -sigma2 * log_K_det\n", | |
" return objective, {\"L\": L, \"alpha\": alpha, \"sigma2\": sigma2}\n", | |
"\n", | |
" def _optimize_theta(self):\n", | |
" def objective(log10t):\n", | |
" return -self.reduced_likelihood(theta=10 ** log10t)[0]\n", | |
"\n", | |
" constraints = reduce(lambda x, y: x + y,\n", | |
" [(lambda log10t, i=i: log10t[i] - 1e-10,\n", | |
" lambda log10t, i=i: 1e+10 - log10t[i])\n", | |
" for i in range(self.n_features)])\n", | |
"\n", | |
" log10_optimal_theta = optimize.fmin_cobyla(\n", | |
" objective, np.log10(np.ones((1, self.n_features))), constraints, iprint=0)\n", | |
" optimal_theta = 10. ** log10_optimal_theta\n", | |
" optimal_rlf_value, optimal_par = self.reduced_likelihood(\n", | |
" theta=optimal_theta)\n", | |
"\n", | |
" return optimal_theta, optimal_rlf_value, optimal_par" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 14 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"x, X, y_true, y = generate_data(101, 0.3, 0)\n", | |
"plt.plot(x, y_true)\n", | |
"plt.scatter(x, y)\n", | |
"gpreg = GaussianProcessRegression(nugget=0.3).fit(X, y)\n", | |
"y_pred, y_mse = gpreg.predict(X, eval_MSE=True)\n", | |
"plt.fill_between(x, y_pred - np.sqrt(y_mse), y_pred + np.sqrt(y_mse), alpha=0.3)\n", | |
"plt.plot(x, y_pred)" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 15, | |
"text": [ | |
"[<matplotlib.lines.Line2D at 0x40cfb90>]" | |
] | |
}, | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\nHVMqalvV4IIgCEL1VLur58CBA70XL148LSwsbKChoWFxRW3atGlzOiEhwT0pKcmltLRUf8uW51OA\n9AAABmZJREFULSMGDBiwu/pxBUEQhJqqduGfNGnSisLCQpPAwMBDLVu2jHnnnXe+BkhLS2sQFBS0\nF0BXV1e9cuXKd3v16vVL8+bN40aMGLGlWbNml2orvCAIglANkiRp5ZWdnW3Zo0ePQ+7u7lcCAwMP\n5ubmmj/Y5ubNm04BAQHhzZs3v+jp6Xlh2bJlk7WVV5Ik9u/f37tp06bxjRs3TggJCZleUZtJkyYt\nb9y4cYK3t3dsdHR0S23mrWr+H3/8cbS3t3dsixYtznXs2PFYbGyst7YzV/XzlySJqKiotjo6Ouod\nO3YM0XbmquYPDw8P8PX1jfH09LzQpUuXCG1nrkr+rKwsq169eh3w8fE56+npeeH7779/XduZ77/e\neOONtTY2NpleXl7nH9XmeT52n5S/qseu1nZk2rRpny9atOgjSZIICQmZPn369JAH26Snp9vFxMT4\nSpJEQUGBSZMmTS7HxcU100ZetVqt4+bmdjUxMdGltLRUz8fH5+yDWfbu3du3T58++yRJIjIy0s/P\nzy9S278wVcl//PjxDnfu3KknSeUH+YuW/367rl27/h4UFPTz9u3bh2o7d1Xy5+bmmjdv3vxicnKy\noySVF1Jt565K/tmzZ8+ZMWPGwvvZLS0ts1Uqla62s0uSxOHDh/2jo6NbPqpwPs/HbmXyV/XY1dqU\nDbt37x4QHBy8HiA4OHj9rl27Bj3Yxs7OLsPX1/csgImJSWGzZs0upaWlNXjWWaFyYxL+uk9+fn4n\n79y5Y56ZmWmrjbwPqkz+Dh06nKhXr14ePHpshrZUdkzIihUrJr366qvbra2ts7SR81Eqk/+nn356\nbejQoTvu3wBhZWV1WztpH1aZ/Pb29un5+flmAPn5+Wb169fP1tXVVWsn8d/5+/sfsbCwyH3U+8/z\nsQtPzl/VY1drhT8zM9PW1tY2E8DW1jbzSR9yUlKSS0xMTEs/P7+Tzybh31VmTEJFbZ6X4lnVMRVr\n1qx5s6KxGdpS2c8/LCxs4L/+9a9V8HzdIlyZ/AkJCe45OTmWXbt2DW/Tps3pDRs2jH32SStWmfzj\nx49fffHiRc8GDRqk+fj4xC5btuy9Z5+0ep7nY7eqKnPsPvZ2zpp61DiA+fPnf/zX72UymfS4g7Sw\nsNDk1Vdf3b5s2bL3TExMCp9G1iepbBGRHrgt9XkpPlXJER4e3nXt2rXjjh079srTzFQVlcn//vvv\nfxkSEjJDJpNJkiTJHvy30KbK5FepVHrR0dGtfvvtt+5KpVLRoUOHE+3bt490d3dPeBYZH6cy+Rcs\nWDDL19f3bERERMC1a9fcAgMDD8XGxvqYmpoWPIuMNfW8HrtVUdlj96kW/seNA7C1tc3MyMiws7Oz\ny0hPT7e3sbG5VVE7lUqlN3To0B1jxoz5cdCgQbueXtrHq8yYhAfbpKSkODo4OKQ+y5yPUtkxFefO\nnfMeP3786gMHDvR+3J+Wz1pl8p85c6b1yJEjNwPcvn3bav/+/X309PRUz8MtxJXJ7+TklGxlZXXb\nyMjorpGR0d3OnTsfjo2N9XkeCn9l8h8/frzjxx9/PB/Azc3tmqura+Lly5ebtmnT5vSzzltVz/Ox\nW1lVOna1dbFi2rRpn9+/M2DhwoUzKrq4q9FoZGPHjv3h/fffX6rtiysqlUq3UaNG1xITE11KSkr0\nn3Rx98SJE+2fpwtElcl/48aNhm5ubldPnDjRXtt5q5P/r6/XX3/9++fprp7K5L906ZJH9+7df1Wr\n1TpFRUUKLy+v8xcvXmyu7eyVzf/BBx/8d86cObMlSSIjI8PWwcEhJTs721Lb2e+/EhMTXSpzcfd5\nO3Yrk7+qx67WdiI7O9uye/fuvz54O2dqamqDvn377pUkiSNHjnSSyWQaHx+fs76+vjG+vr4x+/fv\n762tzPv27evTpEmTy25ublcXLFgwU5IkvvnmmwnffPPNhPttJk6cuNLNze2qt7d37JkzZ1pp+5el\nKvnffPPN7ywtLbPvf9Zt27aN0nbmqn7+91/PW+GvbP7FixdPbd68+UUvL6/z2r59uar5s7KyrPr1\n67fH29s71svL6/zGjRtf03bm+6+RI0dusre3T9PT0yt1dHRMXrNmzbgX6dh9Uv6qHruPnatHEARB\nePmIJ3AJgiDUMaLwC4Ig1DGi8AuCINQxovALgiDUMaLwC4Ig1DGi8AuCINQx/wf8zWK59ZaETAAA\nAABJRU5ErkJggg==\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0x3ea93d0>" | |
] | |
} | |
], | |
"prompt_number": 15 | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment