{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"preamble": true
},
"source": [
"(Defining latex commands: not to be shown...)\n",
"$$\n",
"\\newcommand{\\norm}[1]{\\left \\| #1 \\right \\|}\n",
"\\DeclareMathOperator{\\minimize}{minimize}\n",
"\\DeclareMathOperator{\\maximize}{maximize}\n",
"\\newcommand{\\real}{\\mathbb{R}}\n",
"\\newcommand{\\blasso}{\\beta^{\\mathrm{LASSO}}}\n",
"\\newcommand{\\bzero}{\\beta^0}\n",
"\\newcommand{\\bLS}{\\hat{\\beta}^{\\mathrm{LS}}}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# LASSO and $\\ell_0$ estimator for orthonormal data (30 points)\n",
"\n",
"Let $X \\in \\real^{n \\times p}$ be your training input set, and $Y \\in \\real^n$ your training output.\n",
"In a linear model we predict $\\hat{y}(x) = x^T \\hat{\\beta}$ for some input $x \\in \\real^p$ and some constant $\\hat{\\beta} \\in \\real^p$.\n",
"The so-called $\\ell_0$-penalized estimator $\\bzero(\\lambda)$ tries to find a good $\\beta$ with reslatively few non-zero entries. It is defined as:\n",
"\\begin{equation}\n",
" \\bzero(\\lambda) := \\mathrm{arg \\, min}_{\\beta} \\frac{1}{n} \\norm{Y - X \\beta}_2^2 + \\lambda \\norm{\\beta}_0 ,\n",
"\\end{equation}\n",
"where $\\norm{\\beta}_0 := \\sharp \\{j:\\beta_j \\neq 0\\}$ and $\\lambda > 0$.\n",
"Alternatively, the LASSO estimator $\\blasso(\\lambda)$ is defined as:\n",
"\\begin{equation}\n",
" \\blasso(\\lambda) := \\mathrm{arg \\, min}_{\\beta} \\frac{1}{n} \\norm{Y - X \\beta}_2^2 + \\lambda \\norm{\\beta}_1 ,\n",
"\\end{equation}\n",
"where $\\norm{\\beta}^2_2 := \\sum_{i=1}^p \\beta_i^2$, $\\norm{\\beta}_1 := \\sum_{i=1}^p |\\beta_i|$ and $\\lambda > 0$. \n",
"\n",
"There are in general no analytic formulae for $\\bzero(\\lambda)$ and $\\blasso(\\lambda)$. In practice, they are computed by numerical optimization.\n",
"However, we can compute an analytic expression in the special case of _orthogonal design_, where\n",
"\\begin{equation}\n",
" p=n \\quad \\mathrm{and} \\quad \\frac{1}{n} X^T X = I_{p \\times p} .\n",
"\\end{equation}\n",
"The goal of this exercise is to compute these formulae."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## $\\ell_0$-regularized estimator in the orthonormal design\n",
"\n",
"Let $g_{\\mathrm{hard}, \\lambda}$ be the function:\n",
"\\begin{equation}\n",
" g_{\\mathrm{hard}, \\lambda} : \\real \\rightarrow \\real , \\quad z \\rightarrow z \\, 1_{ \\{|z| > \\lambda\\} } ,\n",
"\\end{equation}\n",
"where $1_{ \\{|z| > \\lambda\\} } = 1$ if $|z| > \\lambda$ and $0$ otherwise.\n",
"Suppose we are in the orthonormal design.\n",
"\n",
"1. Plot $g_{\\mathrm{hard}, \\lambda}$ for $\\lambda = 1$.\n",
"2. Write down the analytical formulae for the least square estimator $\\bLS$. (Not needed for the subsequent calculations)\n",
"3. Prove that $\\bzero_j(\\lambda) = g_{\\mathrm{hard}, \\sqrt{\\lambda}}(z_j)$ where, again, $z_j := \\frac{1}{n}(X^T Y)_j$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## LASSO estimator in the orthonormal design\n",
"\n",
"Let $g_{\\mathrm{soft}, \\lambda}$ be the function:\n",
"\\begin{equation}\n",
" g_{\\mathrm{soft}, \\lambda} : \\real \\rightarrow \\real , \\quad z \\rightarrow \\mathrm{sign}(z) \\, (|z| - \\lambda)_+ .\n",
"\\end{equation}\n",
"Suppose we are in the orthonormal design.\n",
"\n",
"1. Plot $g_{\\mathrm{soft}, \\lambda}$ for $\\lambda = 1$.\n",
"2. Prove that $\\blasso_j(\\lambda) = g_{\\mathrm{soft}, \\frac{\\lambda}{2}}(z_j)$, where $z_j := \\frac{1}{n}(X^T Y)_j$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Application of LASSO on a gene data set (70 points)\n",
"\n",
"(This exercise is independent of the first one.)\n",
"\n",
"The goal of this exercise is to apply both ridge regression and LASSO on real data.\n",
"The data can be found on the homepage of the course, files _xtrain_xxxx.csv_ and _xtest_xxxx.csv_ , and comes from the paper <cite data-cite=\"Kemmeren2014\"> Kemmeren et al.</cite>.\n",
"It consists of the logarithm of the gene expression levels of yeast cells.\n",
"\n",
"More specifically, we consider two datasets corresponding to two different targets: say gene 4710 for the first and gene 3290 for the second.\n",
"In both cases, we would like to predict the gene expression levels of the target gene, given the gene expression levels of the other 6170 genes.\n",
"For each dataset, we are given a training set $X_\\mathrm{train} \\in \\real^{140 \\, \\times \\, 6170}$, $y_\\mathrm{train} \\in \\real^{140}$ consisting of 140 yeast cells, and a test set $X_\\mathrm{test} \\in \\real^{20 \\, \\times \\, 6170}$ with 20 cells. To evaluate the performance of our model, we also provide the target values $y_\\mathrm{test} \\in \\real^{20}$ of the test set.\n",
"\n",
"You are asked, to hand in:\n",
"\n",
"1. A printout of the code of the function _printOutput_, that you will have appropriately modified (see section [_The printOutput function_](#The-printOutput-function)).\n",
"2. Answer questions a. and b. of the section [_Linear regression with no regularizer_](#Linear-regression-with-no-regularizer).\n",
"3. A printout of all the lines marked _### CHANGE THIS LINE ###_. On the printout, all regressions should be done using a regularizing parameter $\\lambda$ that you will have optimized using 10-fold cross-validation on the training set. However, you do not need to hand in the printout of the lines corresponding to these cross-validations.\n",
"4. A printout of the output of all lines marked _### PROVIDE THE OUTPUT ###_.\n",
"5. The same printouts as for questions 3. and 4., but with target gene 3290 instead of 4710 (i.e. with the second dataset).\n",
"\n",
"_Hint_: For all the regression tasks, we recommend to use python functions of the type _linear_model.xxx(xxx)_, of the pacakge _sklearn_. The code asked to hand in should look pretty similar to the code of the section [_Linear regression with no regularizer_](#Linear-regression-with-no-regularizer). Cross-validation can be easily done using ipython functions of the type _linear_model.xxxCV(xxx)_. Do not hesitate to consult the documentation of these functions. Finally, note that, what we call $\\lambda$ corresponds to the parameter _alpha_ of the python functions."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##Loading the required packages."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"from numpy import *\n",
"from scipy import *\n",
"from matplotlib import pyplot as plt\n",
"from sklearn import linear_model\n",
"from pandas import * # for easy import of data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Target: gene 4710"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Loading the data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('Xtrain size: ', (140, 6170), 'ytrain size: ', (140,))\n",
"('Xtest size: ', (20, 6170), 'ytest size: ', (20,))\n"
]
}
],
"source": [
"### CHANGE THE PATHS ###\n",
"Xtrain = read_csv(\"./datasets/Xtrain_4710.csv\", header = False)\n",
"Xtest = read_csv(\"./datasets/Xtest_4710.csv\", header = False)\n",
"ytrain = read_csv(\"./datasets/ytrain_4710.csv\", header = False, names = [\"gene\",\"y\"])\n",
"ytest = read_csv(\"./datasets/ytest_4710.csv\", header = False, names = [\"gene\",\"y\"])\n",
"\n",
"Xtrain = Xtrain.drop(Xtrain.columns[[0]],axis = 1)\n",
"ytrain = squeeze(ytrain.drop(ytrain.columns[[0]],axis = 1))\n",
"Xtest = Xtest.drop(Xtest.columns[[0]],axis = 1)\n",
"ytest = squeeze(ytest.drop(ytest.columns[[0]],axis = 1))\n",
"\n",
"print('Xtrain size: ', Xtrain.shape, 'ytrain size: ', ytrain.shape);\n",
"print('Xtest size: ', Xtest.shape, 'ytest size: ', ytest.shape);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### The printOutput function\n",
"\n",
"The purpose of this function is to plot the regression weights, the predicted values yhat of y against ytest, the (number of the) gene with the strongest coefficient and the so-called _coefficient of determination_ $R^2$, defined as:\n",
"\\begin{equation}\n",
" R^2 := 1 - \\frac{\\sum_{(x_i,y_i) \\, \\in \\mathrm{\\, test \\ set}} (\\hat{y}(x_i) - y_i)^2}{\\sum_i (y_i - \\overline{y})^2},\n",
"\\end{equation}\n",
"where $\\overline{y}$ is the emperical mean of the $y_i$'s in the test set."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def printOutput(lm_, Xtest_, ytest_): # lm_ = instance of linear_model.xxx(xxx)\n",
" yhat = lm_.predict(Xtest_) ### we want to predict the test set\n",
" plt.figure(1)\n",
" plt.title(\"Regression Weights\")\n",
" plt.plot(lm_.coef_.T)\n",
" plt.figure(2)\n",
" plt.title('yhat vs ytest')\n",
" plt.plot(ytest_, yhat, 'ro')\n",
" plt.show()\n",
" print 'R2 :', lm_.score(Xtest_, ytest_) # we're interested in the score of the prediction. 1 is best, 0 worst\n",
" print 'Gene with Strongest Coefficient :' , argmax(np.absolute(lm_.coef_)) # not sure whether it's supposed to be like that\n",
" if hasattr(lm_, 'alpha'): print 'Used Lambda :', lm.alpha # if using linear_model.xxx\n",
" if hasattr(lm_, 'alpha_'): print 'Lambda_ResultOfCV :', lm.alpha_ # if using linear_model.xxxCV\n",
" # print 'Regression Coefs :', lm_.coef_ # Can be printed out, if wanted\n",
" # print 'Regression Intercept :', lm_.intercept_ # Can be printed out, if wanted"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Linear regression with no regularizer\n",
"\n",
"a. What should happen if you tried to apply linear regression without any regularizer on this data set? \n",
"b. Does this happen with the function _linear_model.LinearReagression()_ ?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"a) The MSE should increase when more and more test data is taken into account since we assume the data to be iid, however, it is highly expectable that a lot of genes correlate to each other.\n",
"b) In this case not, but it's very likely that it happens if more test data is taken into account."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6dc0d3ed0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6acfcffd0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 : 0.897396797403\n",
"Gene with Strongest Coefficient : 1\n"
]
}
],
"source": [
"lm = linear_model.LinearRegression()\n",
"lm.fit(Xtrain,ytrain)\n",
"\n",
"printOutput(lm,Xtest,ytest) ### PROVIDE THE OUTPUT ###"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ridge regression"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"+xDqR7taAAAAAElFTkSuQmCC\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad1871d0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad187150>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 : 0.884001000152\n",
"Gene with Strongest Coefficient : 250\n",
"Used Lambda : 1.0\n"
]
}
],
"source": [
"lm = linear_model.Ridge() ### using the default parameters since nothing different was requested. ###\n",
"lm.fit(Xtrain, ytrain);\n",
"\n",
"printOutput(lm, Xtest, ytest) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### LASSO regression"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"iVBORw0KGgoAAAANSUhEUgAAAYoAAAEKCAYAAAAMzhLIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n",
"AAALEgAACxIB0t1+/AAAF+RJREFUeJzt3XvUXXWd3/H3xwRGRS7itNwSjRdwAp0RFAGrYryHKGCX\n",
"SzEd1MHV4lgZXR1HQW0rrV3L26yKDA5DFTWjVrRqWeigEK0RHRXF4SKQCJkSTVCCIuJ1BpBv/9j7\n",
"gcPh5EeS/Tx5noe8X2udlb1/v9/e+7sPyfmcfTukqpAkaUseNNsFSJLmNoNCktRkUEiSmgwKSVKT\n",
"QSFJajIoJElNBoU0JsnTk6yb7Tpakpyd5D9t5diPJHn7TNekBy6DQjMiyYYkv0nyyyQ3Jflokj1m\n",
"u66tUVVfq6o/mO71JrkoyZtG5g9IctcW2v7l/dT4mqr671u56epfW6rrriSP2cp1aSdkUGimFPDC\n",
"qtodeALwh8BWfQPeFkkWTvc6Z9BXgaNH5o8G1k1ou66qbt6RhQHZwdvTPGJQaMZV1WbgYuCQqbYk\n",
"RyX5RpJbk1yR5BkjfY9OckmSXyRZneT9ST7a9y3pvwG/KskPgC/17a9Kcm2SnyX5YpJHjqzvvUk2\n",
"J7ktyVVJDunbVyS5pt/OpiRv6NuXJdk4svzSJGv6Wq9OcuxI30f6+j7fr+dbjW/nXwOeOjL/NOAM\n",
"4PCRtqcDl/Tr/oN+/29Jsi7JS8a2+/aR+Tcl+VG/H/9uwlHC3pNqTHJJ339lf/T3kiS/34+9td/2\n",
"JUkMkp1ZVfnyNe0v4Abg2f30IuAq4L/08wcAPwWW9/PP6ecf0c9/E3g3sJDug/U24G/7viXAXcBH\n",
"gIcADwaOB64HHk/35eetwN/3458PXAbs0c8/Hti3n/4x8NR+ek/gsH56GbCxn94FWA+c1tfzTOAX\n",
"wEF9/0f62g8HFgAfAz6xhffk94DfAE/o578HPBr4OnBo33Y1cCKwG7AReGW/T4cCPwGW9uM+DPy3\n",
"fnp5vy9L+/fkY/179JitqXF0bD//DuDsfuyCqffI18778ohCMyXA+Ul+AfwQ+Edg6pz6icCFVfVF\n",
"gKr6Et2H+Qv6I4HD6ULlzqr6e+AC7ntq5PSq+m1V/RPwp8A7qur7VXUX3Qfdof26bgd2B5YmeVA/\n",
"5qZ+HbcDhyTZo6puq6rLJ+zHUcBuVfXOvp6vAJ8HVo6M+WxVXVZVvwM+Tvehfh9V9c/ApcAzkuwN\n",
"7FlVN9AdaRzdty2lO0X1QuCGqlpVVXdV1RXAZ4GXTFj1S4EPVdXaqvot8LbxTW9tjSPvy37Akqr6\n",
"Xf/fQDsxg0IzpYDjq2oPum/oz+KeUyyPAl7Sn9q4NcmtdEcO+wL7Az/rA2DKRu5rtO1RwPtG1nVL\n",
"375//8F+FvB+YHOSc5Ls3ve/GFgBbOhPLR01YTv7T9j+D/r2qf3cPNL3W+BhE9Yz5RK66xBPA6Y+\n",
"gL8+0raxqjb2+3Tk2Hv0b4F9Jqxzv7EaN00Ysy01vofuKOriJP+Y5NTGWO0EDArNuKq6BPgr4F19\n",
"0w+Bj1bVw0deu1fVu+lOoeyd5CEjq3gk9zV6F88PgZPH1rdbVX2r3/5fVdXhwMHAQcAb+/bLqupF\n",
"wL8Azgc+NWE7PwIWj52jfxRw47a9C3e7hO46xNH9NMA36ILyaLqjial9+uqE9+i1E9b5Y2DxyPzi\n",
"CWO2WlX9qqr+oqoeCxwH/HmSZw1Zp+Y3g0I7yhnAEUmOpDtHfmyS5yVZkOTB/QXkA6rqB3SnoU5P\n",
"skuSp9Cdhmn9Hv7fAG9JcjBAkj2nLvwmOTzJkUl2obs+8E/A7/p1/3GSPfvTMb8Efjdh3Zf2y72p\n",
"X2ZZX895ff+2XuT9JvBwutNvXwOoqlvpriGcyD3h8XngoCQn9tvdJcmTk0zdtpuRbX8KOKm/+P1Q\n",
"4D+PbfP+atwMPPbuwckLkjyuD8df0L0vk94b7SQMCu0QVfVTYBVwalVtorsA/RbgZrpvz2/gnr+P\n",
"fww8he4U0tuBT9KdN797dWPrPp/uaOW8JLfRXSR+ft+9B/A/gZ8BG+g+kN/T950I3NAvc3K/3Xtt\n",
"o6puB44FjqG7mHwW8PKqum5k3HiIbTHUquo3dEG4S1VdPdJ1Cd2RzSX9uF8BzwNeRnf08mO6ay+7\n",
"jm+3v9ZzJvAV4Dq6MAL4562s8XRgVX+K6yXAgcBquvD8BvD+qvoq2mmlatj/uCjJcrpviwuAD1bV\n",
"uyaMOZPuH9pvgD+ZumiYZC/gg3S3TRbwqqnTBdKUJJ8Erq2q/zrbtcwHSZbSheWu/cV9aZBBRxRJ\n",
"FtB9w1pOd/53Zf+XdHTMCuBxVXUg3be2s0e630d398tS4I+AtUPq0QNDf7rosUkelOQYuvPk5892\n",
"XXNZkn+T5PeSPJzu6OoCQ0LTZeippyOA9VW1oaruoDtve/zYmOPoTjlQVZcCeyXZJ8mewNOr6kN9\n",
"351VddvAevTAsC/daZRfAu8F/rSqrpzdkua8k+muNawH7gBeM7vl6IFk6M8fHMB9b8s7civGLKK7\n",
"OPaTJB+m+4mH7wKv78/haidWVZ+nu5irrVRVx8x2DXrgGnpEsbUXOMbvuii6kHoi8NdV9UTg13RP\n",
"v0qS5pChRxQ3ct/7t8cf9hkfs6hvC7Cpqr7Tt3+aCUGRZNjVdknaSVXVtPxG19CguAw4MMkSugeT\n",
"TuDeP20A3c8vnEJ36+JRwM+r+5E4kmxMclB/q+FzgGsmbWS6dnY2JDm9qk6f7Tq2l/XPrvlc/3yu\n",
"HR4Q9U/bl+xBQVFVdyY5BbiI7vbYc6tqbZJX9/3nVNWF6X6lcz3d6aWTRlbxZ8DHk+xK91tAJyFJ\n",
"mlMG/5Z/VX0B+MJY2zlj86dsYdkrgScPrUGSNHN8MnvmrZntAgZaM9sFDLRmtgsYaM1sFzDAmtku\n",
"YKA1s13AXDH4yeyZlqTm8zUKSZoN0/nZ6RGFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlq\n",
"MigkSU0GhSSpyaCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaD\n",
"QpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNQ0OiiTLk6xLcn2SU7cw5sy+/8okh431LUhy\n",
"eZLPDa1FkjT9BgVFkgXAWcBy4GBgZZKlY2NWAI+rqgOBk4Gzx1bzeuBaoIbUIkmaGUOPKI4A1lfV\n",
"hqq6AzgPOH5szHHAKoCquhTYK8k+AEkWASuADwIZWIskaQYMDYoDgI0j85v6tq0d817gjcBdA+uQ\n",
"JM2QoUGxtaeLxo8WkuSFwM1VdfmEfknSHLFw4PI3AotH5hfTHTG0xizq214MHNdfw3gwsEeSv62q\n",
"V4xvJMnpI7NrqmrNwLol6QElyTJg2Yysu2r7ryEnWQh8H3g28CPg28DKqlo7MmYFcEpVrUhyFHBG\n",
"VR01tp5nAH9RVcdO2EZVlUcckrQNpvOzc9ARRVXdmeQU4CJgAXBuVa1N8uq+/5yqujDJiiTrgV8D\n",
"J21pdUNqkSTNjEFHFDuCRxSStO2m87PTJ7MlSU0GhSSpyaCQJDUZFJKkJoNCktRkUEiSmgwKSVKT\n",
"QSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkU\n",
"kqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSpyaCQJDUZFJKkJoNCktQ0OCiSLE+yLsn1SU7d\n",
"wpgz+/4rkxzWty1O8pUk1yS5OsnrhtYiSZp+g4IiyQLgLGA5cDCwMsnSsTErgMdV1YHAycDZfdcd\n",
"wH+sqkOAo4DXji8rSZp9Q48ojgDWV9WGqroDOA84fmzMccAqgKq6FNgryT5VdVNVXdG3/wpYC+w/\n",
"sB5J0jQbGhQHABtH5jf1bfc3ZtHogCRLgMOASwfWI0maZgsHLl9bOS5bWi7Jw4BPA6/vjyzuu3By\n",
"+sjsmqpasw01StIDXpJlwLKZWPfQoLgRWDwyv5juiKE1ZlHfRpJdgM8AH6uq87e0kao6fWCdkvSA\n",
"1n+BXjM1n+Rt07XuoaeeLgMOTLIkya7ACcAFY2MuAF4BkOQo4OdVtTlJgHOBa6vqjIF1SJJmyKAj\n",
"iqq6M8kpwEXAAuDcqlqb5NV9/zlVdWGSFUnWA78GTuoXfypwInBVksv7tjdX1ReH1CRJml6p2trL\n",
"DLMjSVXV+DUOSVLDdH52+mS2JKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSp\n",
"yaCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoM\n",
"CklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1DQ4KJIsT7IuyfVJTt3CmDP7/iuTHLYty0qS\n",
"ZtegoEiyADgLWA4cDKxMsnRszArgcVV1IHAycPbWLitJmn1DjyiOANZX1YaqugM4Dzh+bMxxwCqA\n",
"qroU2CvJvlu5rCRpli0cuPwBwMaR+U3AkVsx5gBg/61YFoCEYwfWKUnT7dYqvj7bRewIQ4OitnJc\n",
"hm3mNX95z/RzboEX3zJsfZI02FqYO0GRZBmwbCbWPTQobgQWj8wvpjsyaI1Z1I/ZZSuWBaDq7McP\n",
"rFOSHtCqag2wZmo+yduma91Dr1FcBhyYZEmSXYETgAvGxlwAvAIgyVHAz6tq81YuK0maZYOOKKrq\n",
"ziSnABcBC4Bzq2ptklf3/edU1YVJViRZD/waOKm17JB6JEnTL1Vbe5lhdiSpqhp4jUOSdi7T+dnp\n",
"k9mSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNB\n",
"IUlqMigkSU0GhSSpyaCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSS\n",
"pCaDQpLUZFBIkpoMCklS06CgSLJ3ktVJrktycZK9tjBueZJ1Sa5PcupI+3uSrE1yZZLPJtlzSD2S\n",
"pOk39IjiNGB1VR0EfLmfv5ckC4CzgOXAwcDKJEv77ouBQ6rqCcB1wJsH1iNJmmZDg+I4YFU/vQp4\n",
"0YQxRwDrq2pDVd0BnAccD1BVq6vqrn7cpcCigfVIkqbZ0KDYp6o299ObgX0mjDkA2Dgyv6lvG/cq\n",
"4MKB9UiSptnC+xuQZDWw74Sut47OVFUlqQnjJrWNb+OtwO1V9b+20H/6yOyaqlpzf+uUpJ1JkmXA\n",
"splY9/0GRVU9d0t9STYn2beqbkqyH3DzhGE3AotH5hfTHVVMreNPgBXAsxs1nH5/dUrSzqz/Ar1m\n",
"aj7J26Zr3UNPPV0AvLKffiVw/oQxlwEHJlmSZFfghH45kiwH3ggcX1X/NLAWSdIMSNX9nhna8sLJ\n",
"3sCngEcCG4CXVtXPk+wPfKCqXtCPOwY4A1gAnFtV7+jbrwd2BX7Wr/KbVfUfxrZRVZXtLlKSdkLT\n",
"+dk5KCh2BINCkrbddH52+mS2JKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSp\n",
"yaCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoM\n",
"CklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1LTdQZFk7ySrk1yX5OIke21h3PIk65Jcn+TU\n",
"Cf1vSHJXkr23txZJ0swZckRxGrC6qg4CvtzP30uSBcBZwHLgYGBlkqUj/YuB5wI/GFCHJGkGDQmK\n",
"44BV/fQq4EUTxhwBrK+qDVV1B3AecPxI//8A3jSgBknSDBsSFPtU1eZ+ejOwz4QxBwAbR+Y39W0k\n",
"OR7YVFVXDahBkjTDFrY6k6wG9p3Q9dbRmaqqJDVh3KQ2kjwEeAvdaae7m9ulSpJmQzMoquq5W+pL\n",
"sjnJvlV1U5L9gJsnDLsRWDwyv5juqOKxwBLgyiQAi4DvJjmiqu6zniSnj8yuqao1rbolaWeTZBmw\n",
"bEbWXTXxS//9L5i8G7ilqt6V5DRgr6o6bWzMQuD7wLOBHwHfBlZW1dqxcTcAT6qqn03YTlWVRxuS\n",
"tA2m87NzyDWKdwLPTXId8Kx+niT7J/k7gKq6EzgFuAi4FvjkeEj0ti+tJEkzbruPKHYUjygkadvN\n",
"lSMKSdJOwKCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLU\n",
"ZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0G\n",
"hSSpyaCQJDUZFJKkJoNCktS03UGRZO8kq5Ncl+TiJHttYdzyJOuSXJ/k1LG+P0uyNsnVSd61vbVI\n",
"kmbOkCOK04DVVXUQ8OV+/l6SLADOApYDBwMrkyzt+54JHAf8UVX9K+AvB9QyZyVZNts1DGH9s2s+\n",
"1z+fa4f5X/90GhIUxwGr+ulVwIsmjDkCWF9VG6rqDuA84Pi+7zXAO/p2quonA2qZy5bNdgEDLZvt\n",
"AgZaNtsFDLRstgsYYNlsFzDQstkuYK4YEhT7VNXmfnozsM+EMQcAG0fmN/VtAAcCRyf5VpI1SQ4f\n",
"UIskaYYsbHUmWQ3sO6HrraMzVVVJasK4SW2j2354VR2V5MnAp4DH3E+9kqQdraq26wWsA/btp/cD\n",
"1k0YcxTwxZH5NwOn9tNfAJ4x0rceeMSEdZQvX758+dr21/Z+vo+/mkcU9+MC4JXAu/o/z58w5jLg\n",
"wCRLgB8BJwAr+77zgWcBX01yELBrVd0yvoKqyoAaJUkDpf/Wvu0LJnvTnS56JLABeGlV/TzJ/sAH\n",
"quoF/bhjgDOABcC5VfWOvn0X4EPAocDtwBuqas2gvZEkTbvtDgpJ0s5hTj+Z3XpYb7Yk+VCSzUm+\n",
"N9K2xYcPk7y5r39dkueNtD8pyff6vvftwPoXJ/lKkmv6Bx1fN5/2IcmDk1ya5Iok1yaZOkKdF/X3\n",
"212Q5PIkn5uHtW9IclVf/7fnYf17Jfl0/6DvtUmOnC/1J3l8/75PvW5L8rodUv90XeyY7hfdqar1\n",
"wBJgF+AKYOkcqOvpwGHA90ba3g28qZ8+FXhnP31wX/cu/X6s556juG8DR/TTFwLLd1D9+wKH9tMP\n",
"A74PLJ1n+/DQ/s+FwLeAp82z+v8c+DhwwTz8+3MDsPdY23yqfxXwqpG/P3vOp/pH9uNBwI+BxTui\n",
"/h22Y9vxRjyFe98xdRpw2mzX1deyhHsHxTq650qg+yBe10/ffZdXP/9FujvB9gPWjrS/DPibWdqX\n",
"84HnzMd9AB4KfAc4ZL7UDywCvgQ8E/jcfPv7QxcUjxhrmxf104XC/5vQPi/qH6v5ecDXdlT9c/nU\n",
"U+thvblmSw8f7k9X95SpfRhvv5FZ2Ld0d6MdBlzKPNqHJA9KckVf51eq6hrmT/3vBd4I3DXSNl9q\n",
"h+62yy8luSzJv+/b5kv9jwZ+kuTDSf4hyQeS7Mb8qX/Uy4BP9NMzXv9cDop5eZW9uoie87UneRjw\n",
"GeD1VfXL0b65vg9VdVdVHUr37fzodL8bNto/J+tP8kLg5qq6HJh42/dcrX3EU6vqMOAY4LVJnj7a\n",
"OcfrXwg8Efjrqnoi8GvGfqNujtcPQJJdgWOB/z3eN1P1z+WguJHu/NuUxdw7BeeSzUn2BUiyH3Bz\n",
"3z6+D4vo9uHGfnq0/cYdUCdw963JnwE+WlVTz7/Mq30AqKrbgL8DnsT8qP9fA8cluYHu2+Czknx0\n",
"ntQOQFX9uP/zJ8D/ofs9t/lS/yZgU1V9p5//NF1w3DRP6p9yDPDduuf38Wb8/Z/LQXH3w3p9gp5A\n",
"95DfXDT18CHc++HDC4CXJdk1yaPpft/q21V1E/CL/o6LAC9n8gOL067f3rnAtVV1xnzbhyS/P3VX\n",
"R5KHAM8FLp8P9VfVW6pqcVU9mu7Uwf+tqpfPh9oBkjw0ye799G5058m/N1/q77e7Md0DvtBdm7sG\n",
"+Nx8qH/ESu457TRV58zWvyMvwGzHBZtj6O7KWQ+8ebbr6Wv6BN1T5rfTXUM5Cdib7gLldcDFwF4j\n",
"49/S178OeP5I+5Po/pGtB87cgfU/je78+BV0H7CX0/0M/LzYB+APgX/o678KeGPfPi/qH9n2M7jn\n",
"rqd5UTvdOf4r+tfVU/8m50v9/XafQHcDxJXAZ+kucM+n+ncDfgrsPtI24/X7wJ0kqWkun3qSJM0B\n",
"BoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWr6/+vCLVmUsgsMAAAAAElFTkSuQmCC\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad5b14d0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"iVBORw0KGgoAAAANSUhEUgAAAZMAAAEKCAYAAADXdbjqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n",
"AAALEgAACxIB0t1+/AAAFU1JREFUeJzt3H+wbWV93/H3hwsIAQpBHX4bYqBVoDRXUqAxOrd2mlxu\n",
"JyhWRKmghBRmHGPTOpUQ23CjmSZppo0hToijWKENlzZRlIwE1NYrmigMM/zGW7ijFLjALUYRMKBw\n",
"+faPvU7c7J6z9z772fvsew7v18yau9daz/Os73rOZn/OWmsfUlVIktRij3kXIEla/QwTSVIzw0SS\n",
"1MwwkSQ1M0wkSc0ME0lSM8NELypJtiY5f951SGuNYaIXm+qWZUvyySQfmnI9y61hc5L/OqWxnk/y\n",
"ymmMJRkm0otb5l2A1gbDRGtKkn+b5M8Gtl2a5MN9m45O8tUkTyS5IclL+9r+aZJHkjye5MtJjuu2\n",
"XwCcDbw/yZNJPrvIsS9L8nsD2z6b5Fe71xcleag77rYkb1hkjH+Y5NEk6dv25iS3JfkF4GLgrK6G\n",
"W7v9Bya5PMnD3fgfSrJHt++Y7jweT/JYki3d9hu74W/vxjpz/FmWFlFVLi5rZgEOBZ4CDuzW9wR2\n",
"Auu79a3AduAYYB/gS8Bv9/V/F7AfsBfw+8Ctffv+C/DBIcd+HfBA3/qPA3/T1fT3gAeAQ7t9rwBe\n",
"ucQ4dwMb+9avAf519/oS4MqB9tcAlwH7Ai8HbgIu6PZtAS7uXu8N/Gxfv+eXqsHFZbmLVyZaU6rq\n",
"UeArwMJv2huBb1fVrQtNgE9U1faqegb4H8BP9/X/ZFV9v6qeBX4T+AdJDug7xLDbQl8FKsnruvW3\n",
"AH/V1bQLeAlwfJK9quqBqvrmEuNcCbwDIMnBwM8DV/Udv/+q5RDgNHph83RVPQZ8GHhb1+SH9K7E\n",
"jqiqH1bVXw2pX5qYYaK16Aq6D+Pu3ysH9j/a9/ppYH+AJOuS/E6S7Um+B3yra/OycQ5aVQVcDby9\n",
"23Q28Cfdvu3ArwKbgZ1JtiQ5bImh/gT4xSQ/BrwVuLGqdi7R9ifoXUU9kuS7Sb4L/DG9KxSA99ML\n",
"n5uT3JXkvHHORVouw0Rr0WeBE5OcAPwzug/0MZwNnA78k6o6EPjJbvvClcA43wLbArwlyU8AJwOf\n",
"WthRVVuq6nX0AqCA311sgKp6CPg68GZ6Ydj/7a3nB5o/CPwAeGlV/Xi3HFhVf78ba2dVXVBVRwAX\n",
"An/kN7g0C4aJ1pyqepreh/hVwE3dh3O/pW5V7U/vg/k7SfYD/sPA/p3A0A/iqroN+DbwceD6qnoC\n",
"IMnfTfKGJC/pjvEMvVtfS7kSuAg4Afj0QA1HLzygr6pHgM8D/znJAUn2SPJTSV7fHffMJEd2fR+n\n",
"F2LP9431U8PORxqXYaK16gp6H8SL/U1GDbxeWL8S+D/ADuAu4GsDbS8HjutuJ/V/wA+6CngDP3rO\n",
"Ab3nJb8NPAY8Qu/W2cVDxvg0vYf013TPdhb8affvXye5pXt9Lr2H6/cA3+naHNrt+xng60mepHfF\n",
"9t6qur/btxm4ojuftwypRRopvdu80tqS5ChgG3BIVT0173omkeQ+4MKq+l/zrkUaxSsTrTnd31i8\n",
"D9iyioPkzfSe6RskWhX2nHcB0jR1zzp20vsm1sY5lzORJFuBVwHnzLkUaWze5pIkNfM2lySp2Zq6\n",
"zZXEyyxJmkBVNf1PP9dUmED7hMxCks1VtXnedfSzpvFY0/h2x7qsaTzT+EXc21ySpGaGiSSpmWGy\n",
"MrbOu4BFbJ13AYvYOu8CFrF13gUsYuu8C1jC1nkXsIit8y5gEVvnXcAsrKmvBiep3fGZiSTtzqbx\n",
"2emViSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaS\n",
"pGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaS\n",
"pGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaS\n",
"pGaGiSSpmWEiSWpmmEiSmo0MkyQbk2xLcl+Si5Zoc2m3//Yk60f1TXJmkruT7Erymr7t+yTZkuSO\n",
"JPck+bW+fSclubMb6w8mP2VJ0rQNDZMk64CPABuB44C3J3n1QJtNwDFVdSxwAXDZGH3vBM4Abhw4\n",
"5NsAqupE4CTgwiSv6PZdBpzfHefYJBuXf7qSpFkYdWVyMrC9qu6vqmeBq4E3DrQ5HbgCoKpuAg5K\n",
"cuiwvlW1raruXeR4jwD7dUG0H/BD4IkkhwEHVNXNXbsrgTct81wlSTMyKkyOAB7sW3+o2zZOm8PH\n",
"6PsCVXUD8AS9ULkf+L2qerzr91Bf0x2jxpIkrZw9R+yvMcdJayEASd4B7AscBhwMfCXJ/1zmGJv7\n",
"VrdW1dZp1CZJa0WSDcCGaY45Kkx2AEf1rR/FC68QFmtzZNdmrzH6DvpZ4Jqq2gU8luQv6T07+Wo3\n",
"bv8xdiw2QFVtHnEMSXpR637J3rqwnuSS1jFH3ea6hd7D7qOT7A2cBVw70OZa4NyuoFOBx6tq55h9\n",
"4YVXNduAN3Rj7QecCmyrqkfpPTs5JUmAc4DPLOM8JUkzNDRMquo54D3ADcA9wH+vqm8kuTDJhV2b\n",
"64BvJtkOfBR497C+AEnOSPIgvbD4XJK/6A75UWDvJHcCNwOfqKq7un3vBj4O3Efvwf71U5kBSVKz\n",
"VI37WGT3l6SqairPbyTpxWIan53+BbwkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaS\n",
"pGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaS\n",
"pGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaS\n",
"pGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaS\n",
"pGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKnZyDBJsjHJtiT3Jblo\n",
"iTaXdvtvT7J+VN8kZya5O8muJCf1bT87ya19y64kJ3b7tnZjLex7WdupS5KmZWiYJFkHfATYCBwH\n",
"vD3JqwfabAKOqapjgQuAy8boeydwBnAjUAtjVdVVVbW+qtYD5wDfrKo7FnYDZy/sr6pvN5y3JGmK\n",
"Rl2ZnAxsr6r7q+pZ4GrgjQNtTgeuAKiqm4CDkhw6rG9Vbauqe0cc++yuT7+MOiFJ0srbc8T+I4AH\n",
"+9YfAk4Zo80RwOFj9B3mrfSCqt8VSZ4FPlVVv7WMsabmhGTTUfDeA2CfJ+GZB+HSu6qum0ctk5hV\n",
"/Qvj7oLD18Fh+8IjT8PDS40/SR2T1t7f71HYv+DAA+GlLwGehG89DP9+YZwTkk0Hwwf/Drxyqf3j\n",
"1jCq7Wp/L0HvHA6HDx0AP/kD4An45nfgNyadk2nXNutjzeNnuNu+b6pqyQX458DH+tbfAfzhQJs/\n",
"B17bt/5F4KQx+34JeM0ixz0FuGNg2+Hdv/sDNwDnLNKvgM19y4Zh57fc5XjY9MtwX0EtLL8M9x0P\n",
"m6Z5nFkts6p/YdwvQ/1639hLjT9JHZPW3t/vy1C/tEiN58HDx8Om42HTGbBj2P5xaxjVdrW/lxbO\n",
"4Tx4uP8cfh3qDNgxyZyshvf6vM5n2scENgx8VlZrbaMOeCpwfd/6xcBFA23+GHhb3/o24JAx+y4V\n",
"Jr8P/NqQut45GEzd9uYJGbZshOtr4IOmoE6Dv5jlcXf3+hfG/cAiYy82/iR1TFp7f78PjKhxI1w/\n",
"av+4NYxqu9rfS8PO4d9NOCer4b0+r/OZ9TGn8dk56pnJLcCxSY5OsjdwFnDtQJtrgXMBkpwKPF5V\n",
"O8fsCwPPQZLsAZxJ3/OSJOsWvr2VZC/gF+k9xF9RB8A+i23fH/Zd6VomMav6F8Zd6p7p4PiT1DFp\n",
"7f399hxR4wGwz6j949Ywqu1qfy/B0uewjsnmZJpW4ljz+Bnuzu+boc9Mquq5JO+hd1tpHXB5VX0j\n",
"yYXd/o9W1XVJNiXZDnwfOG9YX4AkZwCXAi8DPpfk1qo6rTvs64EHqur+vlJeAlzfBck64AvAx6Zw\n",
"/svyJDyz2Pan4OmVrmUSs6p/Ydznltg/OP4kdUxae3+/pepbGKcgw86hlvgCyGI1jKp3tb+XYOlz\n",
"2MVkczJNK3GsefwMd+v3zSwvg1d6Yca3uRa7X3k+bF8t97lnVf+wZyaLjT9JHZPWPs4zk3eNeGby\n",
"riHPTJaqYVTb1f5eWjiHwWcmF0O9qZuvef73sxLHmsfPcFbHnMZnZ7qB1oQkVVUz/frwCcmmV8Cv\n",
"7A/7PgVPPwB/uFt8k2JMs6p/Ydzn4IiFb3M9AzuWGn+SOiatvb/fo7Bf/f/f5vqNgW9z/ebAt7le\n",
"sH/cGka1Xe3vJfjbb3N9cODbXJdMOifTrm3Wx5rHz3AWx5zGZ6dhIkkvctP47PT/zSVJamaYSJKa\n",
"GSaSpGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKa\n",
"GSaSpGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKa\n",
"GSaSpGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKa\n",
"GSaSpGaGiSSpmWEiSWpmmEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKa\n",
"GSaSpGYjwyTJxiTbktyX5KIl2lza7b89yfpRfZOcmeTuJLuSnNS3/ewkt/Ytu5Kc2O07Kcmd3Vh/\n",
"0HbakqRpGhomSdYBHwE2AscBb0/y6oE2m4BjqupY4ALgsjH63gmcAdwI1MJYVXVVVa2vqvXAOcC3\n",
"quqObvdlwPndcY5NsnHy05YkTdOoK5OTge1VdX9VPQtcDbxxoM3pwBUAVXUTcFCSQ4f1raptVXXv\n",
"iGOfDWwBSHIYcEBV3dztuxJ40zgnKEmavVFhcgTwYN/6Q922cdocPkbfYd5KFyZdv4f69u1Y5liS\n",
"pBnac8T+GrF/QVoLecFgySnA31TVPRP03dy3urWqtk6rLklaC5JsADZMc8xRYbIDOKpv/SheeIWw\n",
"WJsjuzZ7jdF3KW8Drho4xpEDx9ixWMeq2jzmMSTpRan7JXvrwnqSS1rHHHWb6xZ6D7uPTrI3cBZw\n",
"7UCba4Fzu4JOBR6vqp1j9oWBq5okewBn0nvGAkBVPQI8keSUJKH3cP4zY56jJGnGhl6ZVNVzSd4D\n",
"3ACsAy6vqm8kubDb/9Gqui7JpiTbge8D5w3rC5DkDOBS4GXA55LcWlWndYd9PfBAVd0/UM67gU8C\n",
"+wLXVdX1jecuSZqSVI37WGT3l6SqaqrPbyRprZvGZ6d/AS9JamaYSJKaGSaSpGaGiSSpmWEiSWpm\n",
"mEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaSpGaGiSSpmWEiSWpm\n",
"mEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaSpGaGiSSpmWEiSWpm\n",
"mEiSmhkmkqRmhokkqZlhIklqZphIkpoZJpKkZoaJJKmZYSJJamaYSJKaGSaSpGaGiSSpmWEiSWpm\n",
"mKyAJBvmXcMgaxqPNY1vd6zLmlaOYbIyNsy7gEVsmHcBi9gw7wIWsWHeBSxiw7wLWMKGeRewiA3z\n",
"LmARG+ZdwCwYJpKkZoaJJKlZqmreNUxNkrVzMpK0gqoqLf3XVJhIkubD21ySpGaGiSSp2aoLkyQH\n",
"J/lCknuTfD7JQYu0OSrJl5LcneSuJO9dTv9Z1NS1+0SSnUnuHNi+OclDSW7tlo27QU1Tn6dl1rUx\n",
"ybYk9yW5qG/71OZqqWMMtLm02397kvXL6TuHmu5Pckc3LzevVE1JXpXka0meSfK+5Z7PHGqa1zz9\n",
"i+5ndkeSv0xy4rh951jX+HNVVatqAf4j8P7u9UXA7yzS5lDgp7vX+wP/G3jVuP1nUVO373XAeuDO\n",
"ge2XAP9mpedpRE1Tn6dl/PzWAduBo4G9gNuAV09zroYdo6/NJuC67vUpwNfH7bvSNXXr3wIOnvL7\n",
"aJyaXg78DPBbwPuW03ela5rzPP0j4MDu9cZZv59a61ruXK26KxPgdOCK7vUVwJsGG1TVo1V1W/f6\n",
"KeAbwBHj9p9FTV0tXwG+u8QYTd+kmEFNs5inccc9GdheVfdX1bPA1cAb+/ZPY65GHeMFtVbVTcBB\n",
"SQ4ds+9K1nRI3/5pv49G1lRVj1XVLcCzy+07h5oWzGOevlZV3+tWbwKOHLfvnOpaMNZcrcYwOaSq\n",
"dnavdwKHDGuc5Gh6v3nfNEn/WdS0hF/pLjUvn9ItpdaaZjFP4457BPBg3/pD/OiXAZjOXI06xrA2\n",
"h4/Rd6VrAijgi0luSfIvp1DPuDXNou8sx90d5ul84LoJ+65UXbCMudpz4hJnKMkX6N2qGvSB/pWq\n",
"qgz525Ik+wN/Bvyr7grlBUb1n0VNS7gM+GD3+kPAf6L3Q51nTRP3n0Jdw4410Vwt8xj9pv0b7DCt\n",
"Nf1cVT2c5OXAF5Js6648V6Kmafed5bivrapH5jVPSf4x8EvAa5fbdwItdcEy5mq3DJOq+qdL7Uvv\n",
"YfGhVfVoksOA/7tEu72ATwH/rao+07drrP6zqGnI2H/bPsnHgT+fd01MOE9TqmsHcFTf+lH0fqOa\n",
"eK6Wc4whbY7s2uw1Rt+VrGkHQFU93P37WJJr6N3iaP2QHKemWfSd2bhV9Uj374rPU/dw+2PAxqr6\n",
"7nL6zqGuZc3VarzNdS3wzu71O4HPDDZIEuBy4J6q+vBy+8+ipmG6D9UFZwB3LtV2pWqaQv+WcW8B\n",
"jk1ydJK9gbO6ftOcqyWPMVDrud1xTwUe727RjdN3RWtK8mNJDui27wf8PNN5Hy3nXAevmOY5T4vW\n",
"NM95SvIK4NPAO6pq+4Tns2J1LXuupvGNgZVcgIOBLwL3Ap8HDuq2Hw58rnv9c8Dz9L65cGu3bBzW\n",
"f9Y1detbgIeBH9C7j3let/1K4A7gdnofrofsBjVNfZ6WWddp9L6Ftx24uG/71OZqsWMAFwIX9rX5\n",
"SLf/duA1o+qbwvxMVBPwyu79fhtw10rWRO+W5oPA9+h9meMBYP95ztNSNc15nj4O/DU/+ky6edbv\n",
"p5a6ljtX/u9UJEnNVuNtLknSbsYwkSQ1M0wkSc0ME0lSM8NEktTMMJEkNTNMJEnNDBNJUrP/B4yC\n",
"tPcsAYbsAAAAAElFTkSuQmCC\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad5c4e50>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 : -0.0360596061469\n",
"Gene with Strongest Coefficient : 0\n",
"Used Lambda : 0.1\n",
"Regression Coefficient of Gene 5954 : 0.0\n",
"-0.0\n"
]
}
],
"source": [
"lm = linear_model.Lasso(alpha=0.1) ### using the default parameters since nothing different was requested. ###\n",
"lm.fit(Xtrain, ytrain)\n",
"\n",
"printOutput(lm, Xtest, ytest) ### PROVIDE THE OUTPUT ###\n",
"\n",
"print 'Regression Coefficient of Gene 5954 : ', lm.coef_[5954] ### CHANGE THIS LINE ### ### PROVIDE THE OUTPUT ###"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Target: Gene 3290"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"('Xtrain size: ', (140, 6170), 'ytrain size: ', (140,))\n",
"('Xtest size: ', (20, 6170), 'ytest size: ', (20,))\n"
]
}
],
"source": [
"### CHANGE THE PATHS ###\n",
"Xtrain = read_csv(\"./datasets/Xtrain_3290.csv\", header = False)\n",
"Xtest = read_csv(\"./datasets/Xtest_3290.csv\", header = False)\n",
"ytrain = read_csv(\"./datasets/ytrain_3290.csv\", header = False, names = [\"gene\",\"y\"])\n",
"ytest = read_csv(\"./datasets/ytest_3290.csv\", header = False, names = [\"gene\",\"y\"])\n",
"\n",
"Xtrain = Xtrain.drop(Xtrain.columns[[0]],axis = 1)\n",
"ytrain = squeeze(ytrain.drop(ytrain.columns[[0]],axis = 1))\n",
"Xtest = Xtest.drop(Xtest.columns[[0]],axis = 1)\n",
"ytest = squeeze(ytest.drop(ytest.columns[[0]],axis = 1))\n",
"\n",
"print('Xtrain size: ', Xtrain.shape, 'ytrain size: ', ytrain.shape);\n",
"print('Xtest size: ', Xtest.shape, 'ytest size: ', ytest.shape);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Linear Regression"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"P6y9WsRWNNGFAAAAAElFTkSuQmCC\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad0c8d50>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"iVBORw0KGgoAAAANSUhEUgAAAYUAAAEKCAYAAAD9xUlFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n",
"AAALEgAACxIB0t1+/AAAHLlJREFUeJzt3X2UXVWZ5/HvzwCdQAIxLZNAqJjuBBqhfKFnOoKolDQv\n",
"SdEDNmPDgLaIJGbNGhLa6WnBYVZTo92jOEuFhDUMHSIdepAsugUNYwhE22poBSRrQXgxESqaSSWQ\n",
"GF5NNJkGeeaPu+twuNxbuXVP3beq32etu3Je9j73ORae556z9z5bEYGZmRnA21odgJmZtQ8nBTMz\n",
"yzgpmJlZxknBzMwyTgpmZpZxUjAzs4yTgnU0Sf2SLmt1HGZjhZOCdbpInxGT9LeSvjjK8Yw0hj5J\n",
"fzdKx3pd0u+OxrFs/HJSMBtb1OoArLM5KVhbk/QXkv6hbNsySdflNs2W9M+SfinpXkm/nSv795Ke\n",
"k/SypH+SdELa/hngYuBzkvZI+k6F775R0v8o2/YdSX+Wlq+UtD1972ZJp1c4xh9I2ilJuW3nS3pM\n",
"0tnA54ELUwyPpv1HSFop6dl0/C9KelvaNzedx8uSdku6PW2/Px1+YzrWn9T+v7JZTkT440/bfoAZ\n",
"wF7giLR+ELALOCmt9wMDwFxgIvAD4Eu5+p8CDgMOBr4OPJrbdwvwhWG++0PAttz624Ffp5h+D9gG\n",
"zEj7ZgG/W+U4TwHzc+t3AZ9Ny9cAt5aVvwu4EZgEHAk8DHwm7bsd+HxaPgT4QK7e69Vi8MefWj++\n",
"U7C2FhE7gQeAoV++84HnI+LRoSLANyJiICL2A3cA78vV/9uI+FVEvAr8N+C9kqbkvmK4xy3/DISk\n",
"D6X1jwE/SjH9Bvgt4ERJB0fEtoj4WZXj3Ap8AkDSNOAs4Ju578/fRUwHFlBKGvsiYjdwHfDvU5F/\n",
"oXRnNDMi/iUifjRM/GYj5qRgnWAV6aKa/r21bP/O3PI+YDKApAmSvixpQNIrwM9TmXfU8qUREcBq\n",
"4KK06WLgtrRvAPgzoA/YJel2SUdVOdRtwL+VdChwAXB/ROyqUvadlO5qnpP0kqSXgP9F6Y4B4HOU\n",
"ksiPJT0p6dJazsWsVk4K1gm+A7xHUjdwDunCXIOLgXOBP4yII4DfSduHfpnX0mvpduBjkt4JzAO+\n",
"NbQjIm6PiA9RupAHcG2lA0TEduAh4HxKSS3f2+j1suKDwP8Dfjsi3p4+R0TEu9OxdkXEZyJiJrAY\n",
"+J/ucWSjyUnB2l5E7KN0Mf4m8HC6yOZVewQ0mdIF9kVJhwH/vWz/LmDYC2pEPAY8D9wMrIuIXwJI\n",
"Ok7S6ZJ+K33HfkqPlKq5FbgS6AbuLIth9lBDdEQ8B9wHfE3SFElvkzRH0ofT9/6JpGNS3ZcpJaPX\n",
"c8eaM9z5mB2Ik4J1ilWULqiV+vRH2fLQ+q3A/wV2AE8CD5aVXQmckB7T5C/U5b4JnM4b7QBQak/4\n",
"ErAbeI7SI6nPD3OMOyk1Rt+V2j6G/H369wVJG9LyJyk1Iv8EeDGVmZH2/RvgIUl7KN1BLY2IrWlf\n",
"H7Aqnc/HhonFrCqVHpsWOIA0n1JD2ATg5oi4tmz/x3njOege4D9ExONp31bgl5R+Yb0aEfMKBWNj\n",
"lqQuYDMwPSL2tjqeekh6BlgcEf/Y6ljMqjmoSGVJE4AbgDMo/Rp7RNKaiNiUK/Yz4MMR8UpKIH8D\n",
"nJz2BdATES8WicPGttRH/8+B2zs4IZxPqe3aCcHaWqGkQKnhbWDo9lXSauA8IEsKEfFgrvzDwDG8\n",
"mUdgWlWpLWAXpZ5D81scTl0k9QPHA3/a4lDMDqhoUphJqbfEkO3A+4cpfxmwNrcewPck/Qa4KSJW\n",
"FIzHxpiI+BWpi2mnioieVsdgVquiSaHmBglJHwE+DZya23xqRDwn6UhgvaTNEfFAwZjMzKxORZPC\n",
"DqArt95F6W7hTSS9B1hBaaj/S0PbU/c7ImK3pLsoPY56oKxusZZwM7NxKiJG/Hi+aFLYABwraTbw\n",
"LHAhb4z+BEDSLErd8T6RRoEObT8UmBARe9Jz47MovYbgLeo5sU4hqS8i+lodR6OM5fMby+cGPr9O\n",
"V+8P6kJJISJek3Q5cC+lLqkrI2KTpMVp/03AX1J6kdiNaXzOUNfTGcCdadtBwG0RcV+ReMzMrJii\n",
"dwpExD3APWXbbsotLwQWVqj3M3IvLjMzs9bziObW6291AA3W3+oAGqi/1QE0WH+rA2iw/lYH0I4K\n",
"j2huNEkxltsUzMwaod5rp+8UzMws46RgZmaZwg3NZmbWWt1SbxcsnQIT98D+QVhW77GcFMzMOli3\n",
"1HsKXL+iNE85AItgzlN1Hs8NzWZmHWyBtO4eOLt8u6hv4K/bFMzMOtgUmDiax3NSMDPrYHtKU8GO\n",
"GicFM7MONgjLFsFAfttC2FLv8dymYGbW4bql3lmwZDJM2gv7tsHyp+C79Vw7nRTMzMYgj2g2M7PC\n",
"nBTMzCzjpGBmZhknBTMzyxROCpLmS9os6RlJV1bY/3FJGyU9LumHab7mmuqamVlzFep9JGkC8FPg\n",
"DGAH8AhwUURsypU5BfhJRLwiaT7QFxEn11I31XfvIzOzEWpV76N5wEBEbI2IV4HVwHn5AhHxYES8\n",
"klYfBo6pta6ZmTVX0aQwExjMrW9P26q5DFhbZ10zM2uwoq/OrvnZk6SPAJ8GTq2jbl9utT8i+mut\n",
"a2Y2HkjqAXqKHqdoUtgBdOXWuyj94n+T1Li8ApgfES+NpC5ARPQVjNPMbExLP5b7h9YlXVPPcYo+\n",
"PtoAHCtptqRDgAuBNfkCkmYBdwKfiIiBkdQ1M7PmKnSnEBGvSbocuBeYAKyMiE2SFqf9NwF/Cbwd\n",
"uFESwKsRMa9a3SLxmJlZMX4hnpnZGOQX4pmZWWFOCmZmlnFSMDOzjJOCmZllnBTMzCzjpGBmZhkn\n",
"BTMzyzgpmJlZxknBzMwyRV+IZzamdEu9XbB0CkzcA/sHYdmTEWsPXNNsbHBSMEu6pd5T4PoVMHdo\n",
"2yKY0y3hxGDjhR8fmSVdsDSfEABWwNxZsKRVMZk1m5OCWTIFJlbaPhkmNTsWs1ZxUjBL9sD+Stv3\n",
"wr5mx2LWKk4KZskgLFsE+YmgWAhbtsHyVsVk1myeT8Esp1vqnQVLJsOkvbBvGyx3I7N1onqvnYWT\n",
"gqT5wHWUZk+7OSKuLdt/PHALcBJwdUR8NbdvK/BL4DekGdkqHN9JwcxshOq9dhbqkippAnADcAaw\n",
"A3hE0pqyaTVfoNR746MVDhFAT0S8WCQOMzMbHUXbFOYBAxGxNSJeBVYD5+ULRMTuiNgAvFrlGL4L\n",
"MDNrE0WTwkxgMLe+PW2rVQDfk7RB0qKCsZiZWUFFRzQXbaU+NSKek3QksF7S5oh4oLyQpL7can9E\n",
"9Bf8XjOzMUVSD9BT9DhFk8IOoCu33kXpbqEmEfFc+ne3pLsoPY56S1KIiL5iYZqZjW3px3L/0Lqk\n",
"a+o5TtHHRxuAYyXNlnQIcCGwpkrZN7UdSDpU0pS0fBhwFvBEwXjMzKyAQncKEfGapMuBeyl1SV0Z\n",
"EZskLU77b5I0A3gEOBx4XdIVwAnAvwLulDQUx20RcV+ReMzMrBgPXjMzG4PqvXb6NRdmZpZxUjAz\n",
"s4yTgpmZZZwUzMws46RgZmYZJwUzM8s4KZiZWcZJwczMMk4KZmaWcVIwM7OMk4KZmWWcFMzMLOOk\n",
"YGZmGScFMzPLOCmYmVnGScHMzDKFk4Kk+ZI2S3pG0pUV9h8v6UFJ+yX9+UjqmplZcxWaeU3SBOCn\n",
"wBnADkrTbl4UEZtyZY4E3gl8FHgpIr5aa91UzjOv2Yh1S71dsHQKTNwD+wdh2ZMRa1sdl1mz1Hvt\n",
"LDRHMzAPGIiIrSmI1cB5QHZhj4jdwG5J54y0rlk9uqXeU+D6FTB3aNsimNMt4cRgNryij49mAoO5\n",
"9e1pW6PrmlXVBUvzCQFgBcydBUtaFZNZpyh6p1D/s6cR1JXUl1vtj4j+At9rY9wUmFhp+2SYNLTs\n",
"x0s21kjqAXqKHqdoUtgBdOXWuyj94h/VuhHRV09wNj7tgf2Vtu+FfeDHSzY2pR/L/UPrkq6p5zhF\n",
"Hx9tAI6VNFvSIcCFwJoqZcsbPEZS16xmg7BsEQzkty2ELdtgOfjxktlwCt0pRMRrki4H7gUmACsj\n",
"YpOkxWn/TZJmUOpZdDjwuqQrgBMiYm+lukXiMQN4MmJtt0QvLJkMk/bCvm2wfOguoJbHS2bjVaEu\n",
"qc3gLqk22hZI6+6Bs8u398K6tRELWhGT2Wir99rpEc027hzo8ZLZeOY7BRuXuqXeWVUeL5mNBfVe\n",
"O50UzMzGID8+MjOzwpwUzMws46RgZmYZJwUzM8s4KZiZWcZJwczMMk4KZmaWcVIwM7OMk4KZmWWc\n",
"FMzMLOOkYGZmGScFMzPLFE4KkuZL2izpGUlXVimzLO3fKOmk3Patkh6X9KikHxeNxczMiik085qk\n",
"CcANwBmU5lx+RNKa/AxqknqBuRFxrKT3AzcCJ6fdAfRExItF4rCxo1vq7YKlU2DiHtg/CMvKX2ld\n",
"Sxkzq0+hpADMAwYiYiuApNXAeUB+Ws1zgVUAEfGwpKmSpkfErrTfr8U2oHSxPwWuz8+fvAjmdEsM\n",
"XfRrKWNm9Sv6+GgmMJhb35621VomgO9J2iBpUcFYrMN1wdL8xR5gBcydBUtGUsbM6lf0TqHWGXqq\n",
"3Q18MCKelXQksF7S5oh4oGBM1qGmwMRK2yfDpJGUMbP6FU0KO4Cu3HoXpTuB4cock7YREc+mf3dL\n",
"uovS46i3JAVJfbnV/ojoLxi3taE9sL/S9r2wbyRlzMYjST1AT+EDRUTdH0pJZQswGzgEeAx4V1mZ\n",
"XmBtWj4ZeCgtHwpMScuHAT8EzqrwHVEkRn8653Mi9C6EZwJi6HMZDJwIvSMp448//tR/7Sx0pxAR\n",
"r0m6HLgXmACsjIhNkhan/TdFxFpJvZIGgF8Bl6bqM4A7JQ0ll9si4r4i8VhnezJibbdELyyZDJP2\n",
"wr5tsDzfgFxLGTOrn1JGaVv1Tj5t7c3dSs0aq95rZ9E2BbMDqpAAHjwFPuFupWbtx3cK1lCVxhV8\n",
"Gn79KTj0w2Vle2Hd2ogFzY3QbGyq99rpdx9ZQ1UaV/ANOHR9hbLuVmrWek4K1lDVxhVMqLDN3UrN\n",
"Ws9JwRqq2riCx+DX+fWFsGUbLG9OVGZWjRuaraEGYdkimJN/hLQQtgzA3/XCyZW6leYbpnfC5Img\n",
"qbDHvZTMGs9JwRpqpOMK8g3T91MaAPPXuf3upWTWWO59ZG1lgbTuHjgb4L8Cf1WhjHspmR2Yex/Z\n",
"mJBvmK52G+teSmaN46RgbSXfMP1alTLupWTWOE4K1lZSw/QAwFnA1WX73UvJrLHcpmBtp1vqnZUa\n",
"pnfCYan30V6//M6sdvVeO50UzMzGIDc0m5lZYU4KZmaWcVIwM7NM4aQgab6kzZKekXRllTLL0v6N\n",
"kk4aSV0zM2ueQklB0gTgBmA+cAJwkaR3lZXpBeZGxLHAZ4Aba61rZmbNVfTdR/OAgYjYCiBpNXAe\n",
"sClX5lxgFUBEPCxpqqQZwO/UUNdayFNmmo0/RZPCTGAwt74deH8NZWYCR9dQ11qk0oxpfhmd2dhX\n",
"tE2h1kEOHmfQYSrNmLYC5s6CJa2Kycwar+idwg6gK7feRekX/3BljkllDq6hLgCS+nKr/RHRX1+4\n",
"VqtqM6bV+jI6P3oyay5JPUBP0eMUTQobgGMlzQaeBS4ELiorswa4HFgt6WTg5YjYJemFGuoCEBF9\n",
"BeO0Eao2Y9rQy+iGu+j70ZNZ86Ufy/1D65Kuqec4hZJCRLwm6XJKc6FMAFZGxCZJi9P+myJiraRe\n",
"SQPAr4BLh6tbJB4bPdVmTNsGyw900a/26Km39OjJScGsjfndR1ZV/sV0+ZfR5SfCyRua/OYCqf8O\n",
"OK18/wXwT3dE9DQleLNxrt5rp6fjtKrSo563/LI/UHvDgR49mVn78msubMQOdNHPz4kwxPMgmHUG\n",
"3ynYiA3X3gClO4xuid4Kj55aF7WZ1cJtClaXau0NrY7LzEo8yY6ZmWU8yY6ZmRXmpGBmZhknBTMz\n",
"yzgpmJlZxknBzMwyTgpmZpbx4DVrKL9C26yzOClYw/gV2madx4+PrGE8e5tZ53FSsIYpOnubmTWf\n",
"k4I1jF+hbdZ56k4KkqZJWi/paUn3SZpapdx8SZslPSPpytz2PknbJT2aPvPrjcXak1+hbdZ56n4h\n",
"nqSvAM9HxFfSxf7tEXFVWZkJwE+BM4AdwCPARWnKzmuAPRHxtQN8j1+I18H8NlWz1mjFzGvn8saU\n",
"i6soTRh9VVmZecBARGwFkLQaOA8YmovZF/sxrtrsbWbWnoq0KUyPiF1peRcwvUKZmcBgbn172jZk\n",
"iaSNklZWe/xkZmbNM+ydgqT1wIwKu67Or0RESKr0HGq4Z1M3Al9Iy18EvgpcViWOvtxqf0T0D3Nc\n",
"M7NxR1IP0FP0OMMmhYg4c5gAdkmaERE7JR0F/KJCsR1AV269i9LdAhGRlZd0M3D3MHH0DRenjT6P\n",
"RDbrLOnHcv/Qemq3HbEibQprgEuAa9O/365QZgNwrKTZwLPAhcBFAJKOiojnUrk/Bp4oEIuNIo9E\n",
"Nhu/ivQ+mgbcAcwCtgIXRMTLko4GVkTEOancAuA6YAKwMiK+lLbfCryP0iOmnwOLc20U+e9x76Mm\n",
"WyCtuwfOLt/eC+vWRixoRUxmNjJN730UES9S6mpavv1Z4Jzc+j3APRXKfbLe77bG8khks/HLI5rt\n",
"LTwS2Wz8clKwt/BIZLPxq+42hWZxm0JreCSyWWer99rppGBmNgbVe+304yMzM8s4KZiZWcZJwczM\n",
"Mk4KZmaWcVIwM7OMk4KZmWWcFMzMLOOkYGZmGScFMzPLOCmYmVnGScHMzDJOCmZmlqk7KUiaJmm9\n",
"pKcl3SdpapVy30jzOT9RT30zM2ueIncKVwHrI+I44PtpvZJbgPkF6puZWZMUmaN5M3BaROySNAPo\n",
"j4jjq5SdDdwdEe8eaX2/OrtxuqXeLlg6BSbugf2DsMxzJpiNDU2foxmYHhG70vIuYHqT61tSz8W9\n",
"W+o9Ba5fAXOHti2COd0STgxm49ewSUHSemBGhV1X51ciIiTVPVvPgepL6sut9kdEf73fNdbUe3Hv\n",
"gqX5OgArYG4vLAGcFMw6jKQeoKfocYZNChFx5jAB7JI0IyJ2SjoK+MUIv7vm+hHRN8Jjjxv1Xtyn\n",
"wMRK2yfDpFEO0cyaIP1Y7h9al3RNPccp0tC8BrgkLV8CfLvJ9Y36L+57YH+l7Xth32jEZWadqUhS\n",
"+DJwpqSngdPTOpKOlvTdoUKSbgd+BBwnaVDSpcPVt5Gp9+I+CMsWwUB+20LYsg2Wj2Z8ZtZZ6u59\n",
"1CzufTS8Sm0KC2HLQ7C0lsbmWbBkMkzaC/u2wXI3MpuNDfVeO50UxgBf3M2snJNCB/N4ATMbba0Y\n",
"p2CjwOMFzKyd+IV4LVatS+msUpdSM7OmclJoMY8XMLN24qTQYh4vYGbtxEmhxTxewMzaiXsftQF3\n",
"KTWz0eYuqWZmlqn32unHR2ZmlnFSMDOzjJOCmZllnBTMzCzjpGBmZhknBTMzyzgpmJlZpu6kIGma\n",
"pPWSnpZ0n6SpVcp9I83n/ETZ9j5J2yU9mj7z643FzMxGR5E7hauA9RFxHPD9tF7JLUClC34AX4uI\n",
"k9JnXYFYzMxsFBRJCucCq9LyKuCjlQpFxAPAS1WO4ZHKZmZtpEhSmB4Ru9LyLmB6HcdYImmjpJXV\n",
"Hj+ZmVnzDDvzmqT1wIwKu67Or0RESBrpS5RuBL6Qlr8IfBW4rEocfbnV/ojoH+F3WRWeCtRsbJDU\n",
"A/QUPk69L8STtBnoiYidko4CfhARx1cpOxu4OyLePdL9fiFe41SZCnTgQbjCicGss7XihXhrgEvS\n",
"8iXAt0dSOSWSIX8MPFGtrDWGpwI1s3JFksKXgTMlPQ2cntaRdLSk7w4VknQ78CPgOEmDki5Nu66V\n",
"9LikjcBpwGcLxNJ2uqXeBdK6C6T+BdK6bqm31TGV81SgZlZu2DaF4UTEi8AZFbY/C5yTW7+oSv1P\n",
"1vvd7a7KY5k53RLt9FjGU4GaWTmPaG6ATnks46lAzaxc3XcKVl2nPJZ5MmJtt0SvpwI1s8RJoQE6\n",
"6bFMSgBOAmYG+PFRQ/ixjJl1qrrHKTRLp45T6JZ6Z/mxjJm1SL3XTicFM7MxqBWD18zMbIxxUjAz\n",
"s4yTgpmZZZwUzMws46RgZmYZJwUzM8s4KZiZWcZJwczMMk4KZmaWqTspSJomab2kpyXdJ2lqhTJd\n",
"kn4g6SlJT0paOpL6ZmbWXEXuFK4C1kfEccD303q5V4HPRsSJwMnAf5R0/Ajqj3lpsu0xayyf31g+\n",
"N/D5jVdFksK5wKq0vAr4aHmBiNgZEY+l5b3AJmBmrfXHiZ5WB9BgPa0OoIF6Wh1Ag/W0OoAG62l1\n",
"AO2oSFKYHhG70vIuYPpwhSXNBk4CHq6nvpmZNd6wk+xIWg/MqLDr6vxKRISkqq9blTQZ+AfginTH\n",
"8CYHqm9mZs1R96uzJW0GeiJip6SjgB9ExPEVyh0M/B/gnoi4ro76ThZmZnWo59XZRabjXANcAlyb\n",
"/v12eQFJAlYCP8knhFrrQ30nZWZm9SlypzANuAOYBWwFLoiIlyUdDayIiHMkfRC4H3gcGPqiz0fE\n",
"umr1i5yMmZkV0/Yzr5mZWfO03YjmkQxqkzRB0qOS7m5mjEUUHfTXjiTNl7RZ0jOSrqxSZlnav1HS\n",
"Sc2OsYgDnZ+kj6fzelzSDyW9pxVx1quWv18q9weSXpN0fjPjK6rG/z570rXkSUn9TQ6xkBr++3yH\n",
"pHWSHkvn96lhDxgRbfUBvgJ8Li1fCXx5mLL/CbgNWNPquEfz/Cj1+HpfWp4M/BR4V6tjr3I+E4AB\n",
"YDZwMPBYeaxAL7A2Lb8feKjVcY/y+Z0CHJGW54+188uV+0dKnUb+XavjHuW/31TgKeCYtP6OVsc9\n",
"yufXB3xp6NyAF4CDqh2z7e4UqHFQm6RjKF1sbgY6qTG63kF/RzctwpGZBwxExNaIeBVYDZxXViY7\n",
"54h4GJgqqVPGpRzw/CLiwYh4Ja0+DBzT5BiLqOXvB7CEUrfy3c0MbhTUcn4XA9+KiO0AEfF8k2Ms\n",
"opbzew44PC0fDrwQEa9VO2A7JoVaB7V9HfgL4PWmRDV6ig76azczgcHc+nbeGLU+XJlOuXDWcn55\n",
"lwFrGxrR6Drg+UmaSelCc2Pa1EkNkbX8/Y4FpqVHthsk/WnToiuulvNbAZwo6VlgI3DFcAcs0iW1\n",
"bkUHxUn6I+AXEfFoO76/pFmD/tpErReI8ru5Trmw1BynpI8AnwZObVw4o66W87sOuCr99yo66868\n",
"lvM7GPh94A+BQ4EHJT0UEc80NLLRUcv5/RfgsYjokTQHWC/pvRGxp1LhliSFiDiz2j5JuyTNiDcG\n",
"tf2iQrEPAOdK6gUmAodLujUiPtmgkEdkFM5vaNDft4D/HREVx3C0iR1AV269i9KvleHKHJO2dYJa\n",
"zo/UuLwCmB8RLzUpttFQy/n9a2B1KR/wDmCBpFcjYk1zQiyklvMbBJ6PiH3APkn3A+8FOiEp1HJ+\n",
"HwD+GiAitkj6OfB7wIaKR2x1Q0mFhpOvAFem5asYpqE5lTkNuLvVcY/m+VH6JXYr8PVWx1vD+RwE\n",
"bKHU0HUIB25oPpnOaoit5fxmUWrsO7nV8Tbi/MrK3wKc3+q4R/nvdzzwPUqNtocCTwAntDr2UTy/\n",
"rwHXpOXpKWlMq3rMVp9UhZOclv5ATwP3AVPT9qOB71Yofxqd1fvogOcHfJBSW8ljwKPpM7/VsQ9z\n",
"Tgso9ZAaoDQ4EWAxsDhX5oa0fyPw+62OeTTPj1Jnhxdyf6sftzrm0f775cp2VFKo9fyA/0ypB9IT\n",
"wNJWxzya50fp7u7u9P+9J4CLhzueB6+ZmVmmHXsfmZlZizgpmJlZxknBzMwyTgpmZpZxUjAzs4yT\n",
"gpmZZZwUzMws46RgZmaZ/w/UkRGe5AzKNQAAAABJRU5ErkJggg==\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad1cb690>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 : 0.568841483776\n",
"Gene with Strongest Coefficient : 3152\n"
]
}
],
"source": [
"lm = linear_model.LinearRegression()\n",
"lm.fit(Xtrain,ytrain)\n",
"\n",
"printOutput(lm,Xtest,ytest) ### PROVIDE THE OUTPUT ###"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Ridge Regression"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n",
"AAAASUVORK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad887250>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"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\n",
"QmCC\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad723ad0>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 : 0.530270080734\n",
"Gene with Strongest Coefficient : 3152\n",
"Used Lambda : 1.0\n"
]
}
],
"source": [
"lm = linear_model.Ridge() ### using the default parameters since nothing different was requested. ###\n",
"lm.fit(Xtrain, ytrain);\n",
"\n",
"printOutput(lm, Xtest, ytest) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Lasso"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad6e1050>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb6ad9c1090>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"R2 : -0.036002074828\n",
"Gene with Strongest Coefficient : 0\n",
"Used Lambda : 0.1\n",
"Regression Coefficient of Gene 5954 : -0.0\n"
]
}
],
"source": [
"lm = linear_model.Lasso(alpha=0.1) ### using the default parameters since nothing different was requested. ###\n",
"lm.fit(Xtrain, ytrain)\n",
"\n",
"printOutput(lm, Xtest, ytest) ### PROVIDE THE OUTPUT ###\n",
"\n",
"print 'Regression Coefficient of Gene 5954 : ', lm.coef_[5954] ### CHANGE THIS LINE ### ### PROVIDE THE OUTPUT ###"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"annotations": {
"author": "",
"categories": [
"intelligent-systems-1-2015"
],
"date": "2015-05-07",
"location": "Beginning of next lecture",
"parent": "IS_SS2015",
"submission_date": "2015-05-21",
"subtitle": "Exercise Sheet 4, Regularized Linear Regression",
"tags": [
"IntelligenSystems",
"Course"
],
"title": "Intelligent Systems 1 - Summer Semester 2015"
},
"celltoolbar": "Edit Metadata",
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}