{ "cells": [ { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-07-03T12:02:43.936941Z", "start_time": "2018-07-03T12:02:43.930614Z" } }, "source": [ "*For full screen view & to download, visit *\n", "- `HTML` : Click here\n", "- `GITHUB` : Click here\n", "\n", "*To get back to ML website*, Click here" ] }, { "cell_type": "markdown", "metadata": { "toc": "true" }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Linear Models for regression" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T14:58:57.398114Z", "start_time": "2018-09-08T14:58:57.392122Z" } }, "source": [ "## Linear Regression- Theory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Refer \"`Coursera > Introduction to Machine Learning > Week 1 & 2`\" for in-depth theory behind Linear Regression with one variable and multi variable" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T14:59:18.297117Z", "start_time": "2018-09-08T14:59:18.290141Z" } }, "source": [ "### Linear regression with one variable " ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T15:09:14.905786Z", "start_time": "2018-09-08T15:09:14.900789Z" } }, "source": [ "#### Model Representation" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T15:12:46.144727Z", "start_time": "2018-09-08T15:12:46.135731Z" } }, "source": [ "

\"linear_regression_model_representation_1\"

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Cost function" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T15:17:00.530928Z", "start_time": "2018-09-08T15:17:00.525930Z" } }, "source": [ "#### Gradient Descent" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T15:17:32.968583Z", "start_time": "2018-09-08T15:17:32.960587Z" } }, "source": [ "#### Gradient Descent for linear regression " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Linear Models for regression" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-09T02:45:36.362215Z", "start_time": "2018-09-09T02:45:36.100519Z" } }, "source": [ "For regression, the prediction formula for **a linear model with one input feature (variable)** is\n", "\n", "- `ŷ = w[0]*x[0] + b = w*x + b`\n", "\n", "

This is nothing but equation for a line.

\n", "\n", "Here, \n", "- `x` denotes the input features (`x[0]` is input feature of a single data point) and, \n", "- `ŷ` denotes the prediction made by the model.\n", "- `w` is the slope (*weights or coefficients*) along each feature axis (`w[0]` is slope along axis `x[0]`)\n", "- `b` is the intercept (offset) along `y-axis`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Trying to learn the parameters, `w` and `[b]` is the task of the linear models. \n", "\n", "For models with `n` input features, the prediction formula will become as\n", "\n", "- `ŷ = w[0]*x[0] + w[1]*x[1] + ... + w[n-1]*x[n-1] + b = w*x + b`\n", "\n", "Let's look at an one-dimensional (one input variable) `wave` dataset which will have a following linear line that best approximates the input features with output values.\n", "\n", "From the output below, we see that the slope `w[0]` of the linear line is around 0.4. The intercept `b` is close to 0. " ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "ExecuteTime": { "end_time": "2018-09-09T03:12:31.652230Z", "start_time": "2018-09-09T03:12:31.151966Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "w[0]: 0.393906 b: -0.031804\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import mglearn\n", "import matplotlib.pyplot as plt\n", "import matplotlib\n", "\n", "mglearn.plots.plot_linear_regression_wave(); plt.title('Linear Regression on One-dimensional wave dataset')\n", "fig = matplotlib.pyplot.gcf(); fig.set_size_inches(8, 6); plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Linear models for regression can be characterized as regression models for which the prediction is \n", "

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are many different linear models for regression. The difference lies in how the model parameters `w` and `b` are learned from the training data, and how model complexity can be controlled. In this post, we will look at the most popular linear models for regression, namely\n", "-

Linear Regression

\n", "

\"Cost

\n", "-

Ridge Regression

\n", "

\"Cost

\n", "-

Lasso

\n", "

\"Cost

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Linear Regression " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Aka ordinary least squares (OLS), is the simplest and most classic linear method. \n", "- Linear Regression finds the best parameters `w` and `b` that minimises the mean squared error between true output, y and predicted output, h(x) or on the training set.\n", "- `mean squared error (MSE)`= sum of squared differences between between the true and prediction values \n", "

\"MSE\"

\n", "\n", "\n", "

Linear regression has no parameters to control/tune which makes it easy to use, but it also has no way to control model complexity.

\n", "\n", "For more details, refer http://scikit-learn.org/stable/modules/linear_model.html#ordinary-least-squares" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### makewave: *1*-D dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's look at an one-dimensional (one input variable) `wave` dataset for which we will find a linear line that best approximates the input features with output values." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T03:21:16.320509Z", "start_time": "2018-09-14T03:21:09.336340Z" } }, "outputs": [], "source": [ "import mglearn\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.model_selection import train_test_split\n", "import numpy as np\n", "\n", "X,y = mglearn.datasets.make_wave(n_samples=60)\n", "X_train, X_test, y_train, y_test = train_test_split(X,y, random_state=42)\n", "\n", "lr = LinearRegression().fit(X_train, y_train) # Fit the linear regression model on the training data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- The `intercept_` attribute learned by the `LinearRegression().fit(X_train, y_train)` method will always be a single float number.\n", "- The `coef_` learned is a `numpy` array with one entry per input feature. \n", " - As the `wave` dataset code has only one input feature, `coef_` only has a single entry." ] }, { "cell_type": "code", "execution_count": 95, "metadata": { "ExecuteTime": { "end_time": "2018-09-09T04:15:01.729514Z", "start_time": "2018-09-09T04:15:01.720520Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--- Slope and intercept learned from the wave training data by Linear Regressor ---\n", "lr.coef_: [ 0.39390555]\n", "lr.intercept_: -0.031804343026759746\n" ] } ], "source": [ "print ('--- Slope and intercept learned from the wave training data by Linear Regressor ---')\n", "print (\"lr.coef_: {}\".format(lr.coef_)) # slope or weight parameter learned from the training data\n", "print (\"lr.intercept_: {}\".format(lr.intercept_)) # intercept along y-axis learned from the training data" ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "ExecuteTime": { "end_time": "2018-09-09T04:15:31.572468Z", "start_time": "2018-09-09T04:15:31.562815Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--- Compute the linear line learned to include in the plot ---\n" ] } ], "source": [ "print ('--- Compute the linear line learned to include in the plot ---')\n", "linear_x = np.array([min(X), max(X)])\n", "predicted_y = lr.coef_ * linear_x + lr.intercept_" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "ExecuteTime": { "end_time": "2018-09-09T04:09:23.915959Z", "start_time": "2018-09-09T04:09:23.623307Z" } }, "outputs": [ { "data": { "image/png": "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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(7,5))\n", "\n", "plt.plot(X_train,y_train, 'o') # plot the training data\n", "plt.plot(X_test,y_test, 'x') # plot the test data\n", "\n", "plt.plot(linear_x, predicted_y) # plot the predicted linear line learned by the LR model\n", "\n", "# --- Center the axis tick marks --- #\n", "ax = plt.gca(); plt.ylim([-3,3])\n", "ax.spines['right'].set_color('none'); ax.spines['top'].set_color('none')\n", "ax.xaxis.set_ticks_position('bottom'); ax.spines['bottom'].set_position(('data',0))\n", "ax.yaxis.set_ticks_position('left'); ax.spines['left'].set_position(('data',0))\n", "\n", "plt.legend(['training data', 'test data', 'model'])\n", "plt.title('Input data and corresponding linear model')\n", "plt.grid(); plt.show()" ] }, { "cell_type": "code", "execution_count": 97, "metadata": { "ExecuteTime": { "end_time": "2018-09-09T05:48:50.207539Z", "start_time": "2018-09-09T05:48:50.196548Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training set score: 0.67\n", "Test set score: 0.66\n" ] } ], "source": [ "print(\"Training set score: {:.2f}\".format(lr.score(X_train, y_train)))\n", "print(\"Test set score: {:.2f}\".format(lr.score(X_test, y_test)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-

An R2 test score of 0.66 is not very good.

\n", " - *We achieved a training score of 0.819 & Test score of 0.834 using KNN with `n=3` in previous post for the same dataset.*\n", "- However, *scores on training and test sets are very close when using Linear Regression*.\n", " - This implies **we are likely undefitting**.\n", " - For 1D dataset, the model is usually very simple and restricted and there's little danger of overfitting.\n", " \n", " \n", "- However, for higher dimensional datasets (i.e. dataseets with more number of features), linear models become more powerful, and there's more chance of overfitting. \n", "- If we compare the predictions made by straight line with those made by the `KNN` in previous post, using a straight line to make predictions seems very restrictive. \n", " - It's somewhat unrealistic to assume that our target y is a linear combination of features.\n", " - This gives a skewed perspective when we look at 1D data\n", "- For multi dimensional dataset, linear models can be very powerful. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### boston housing: *n*-D dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Let’s take a look at how `LinearRegression` performs on a more complex dataset, like the `Boston Housing dataset`.\n", "- This dataset has *506 input samples* and *105 derived features (or) variables*.\n", "- First, we load the dataset and split it into a training and a test set. Then we build the linear regression model as before:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T03:21:31.080398Z", "start_time": "2018-09-14T03:21:30.916138Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of training set: (379, 104)\n", "Shape of test set : (127, 104)\n", "\n", "First 5 lr coefficients: [-402.75223586 -50.07100112 -133.31690803 -12.00210232 -12.71068728] ...\n", "lr intercept: 31.64517410082808\n", "No of lr coefficients learned: 104\n", "\n", "Training set score: 0.95\n", "Test set score : 0.61\n" ] } ], "source": [ "import mglearn\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.model_selection import train_test_split\n", "import numpy as np\n", "\n", "X,y = mglearn.datasets.load_extended_boston()\n", "X_train, X_test, y_train, y_test = train_test_split(X,y, random_state=0)\n", "print (\"Shape of training set: {}\".format(X_train.shape))\n", "print (\"Shape of test set : {}\".format(X_test.shape))\n", "\n", "lr = LinearRegression().fit(X_train, y_train) # Fit the linear regression model on the training data\n", "\n", "print (\"\\nFirst 5 lr coefficients: {}\".format(lr.coef_[:5]), \"...\")\n", "print (\"lr intercept: {}\".format(lr.intercept_))\n", "print (\"No of lr coefficients learned: {}\".format(len(lr.coef_))) # Same as number of input features\n", "\n", "print(\"\\nTraining set score: {:.2f}\".format(lr.score(X_train, y_train)))\n", "print(\"Test set score : {:.2f}\".format(lr.score(X_test, y_test)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "-

From the training and test scores, we find that the prediction is good on training set, but R2 score is worse on the test set.

\n", "- This discrepancy is **a clear sign of overfitting**\n", " - So, we should find a model that allow us to control complexity\n", " - `Ridge regression` - Most commonly used alternative to standard linear regression, which we will look into next." ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T15:49:22.293503Z", "start_time": "2018-09-08T15:49:22.289484Z" } }, "source": [ "## Ridge Regression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Rigde regression addresses some of the problems of standard Linear Regression (Ordinary Least Squares) by *imposing a penalty on the size of the coefficients*. \n", "- *We want the magnitude of coefficients (weights or slope) to be as small as possible; in other words, all values of `w` should be close to zero*. \n", " - Intuitively, this means each feature should have as little effect on the outcome (=> having a small slope) while still predicting well.\n", " - This constraint is called as `Regularization`\n", " \n", "

Regularization means explicitly restricting a model to avoid overfitting.

\n", "\n", "- The ridge regression used here is also known as `L2 regularization`, which penalizes the Euclidean length of w\n", "\n", "The ridge coefficients minimize the penalized residual sum of squares. \n", "

\"Cost

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### boston housing: *n*-D dataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's ses how well `ridge regression` performs on the `boston house dataset`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T03:26:28.139772Z", "start_time": "2018-09-14T03:26:26.542060Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of training set: (379, 104)\n", "Shape of test set : (127, 104)\n", "Training set score: 0.89\n", "Test set score: 0.75\n" ] } ], "source": [ "import mglearn\n", "from sklearn.linear_model import Ridge\n", "from sklearn.model_selection import train_test_split\n", "import numpy as np\n", "\n", "X,y = mglearn.datasets.load_extended_boston()\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(X,y, random_state=0)\n", "print (\"Shape of training set: {}\".format(X_train.shape))\n", "print (\"Shape of test set : {}\".format(X_test.shape))\n", "\n", "ridge = Ridge().fit(X_train, y_train)\n", "\n", "print(\"Training set score: {:.2f}\".format(ridge.score(X_train, y_train)))\n", "print(\"Test set score: {:.2f}\".format(ridge.score(X_test, y_test)))" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-08T15:51:11.109572Z", "start_time": "2018-09-08T15:51:11.059582Z" } }, "source": [ "- When trained using `linear regression`, the training score was `0.95` whereas test score was `0.61`.\n", "- When trained using `ridge regression`, the training score was `0.89` (*lower* than `LR`) but test score was `0.75` (*higher* than `LR`).\n", "\n", "**The results are consitent with our expectation. **\n", "- With `linear regression`, we were overfitting our training data.\n", "- `Ridge` is a more restricted model, and we are less likely to overfit\n", " - A less complex model => worse performance on train set, but better generalization on unknown test set." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `alpha`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The Ridge model makes a trade-off between the model simplicity (near-zero `w` coefficients) and its performance on training set.

\n", "\n", "- The tradeoff can be specified by the us, using the `alpha` parameter (called as `Regularization strength`)\n", "- When `alpha` parameter is not specified as in previous case, it uses default value of `alpha=1.0`, which have to be optimized for each dataset.\n", "\n", "

Larger values specify stronger regularization (by forcing the coefficients w to move toward zero), which decreases the training set performance but might help generalization

" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T03:26:35.003014Z", "start_time": "2018-09-14T03:26:34.939071Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha: 0.0010 | Training score: 0.95 | Test score: 0.63\n", "alpha: 0.0030 | Training score: 0.95 | Test score: 0.65\n", "alpha: 0.0100 | Training score: 0.94 | Test score: 0.70\n", "alpha: 0.0300 | Training score: 0.94 | Test score: 0.75\n", "alpha: 0.1000 | Training score: 0.93 | Test score: 0.77\n", "alpha: 0.3000 | Training score: 0.91 | Test score: 0.77\n", "alpha: 1.0000 | Training score: 0.89 | Test score: 0.75\n", "alpha: 3.0000 | Training score: 0.85 | Test score: 0.71\n", "alpha: 10.0000 | Training score: 0.79 | Test score: 0.64\n", "alpha: 30.0000 | Training score: 0.72 | Test score: 0.55\n", "alpha: 100.0000 | Training score: 0.60 | Test score: 0.42\n" ] } ], "source": [ "training_score = []\n", "test_score = []\n", "alpha_settings = [0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1.0, 3, 10, 30, 100]\n", "for alpha in alpha_settings:\n", " ridge = Ridge(alpha=alpha).fit(X_train, y_train)\n", " training_score.append(ridge.score(X_train, y_train))\n", " test_score.append(ridge.score(X_test, y_test))\n", " print(\"alpha: {:8.4f} | Training score: {:.2f} | Test score: {:.2f}\".format(\n", " alpha, ridge.score(X_train, y_train), ridge.score(X_test, y_test)))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T03:28:33.882071Z", "start_time": "2018-09-14T03:28:33.118299Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--- Based on test set/ generalization ---\n", "\n", "Best alpha = 0.3 | Training score = 0.914 | Test score = 0.773\n", "Worst alpha = 100 | Training score = 0.596 | Test score = 0.415\n" ] }, { "data": { "image/png": "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\nD5Mn4ZQ6kfXaAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib\n", "\n", "plt.figure(figsize=(6,4))\n", "\n", "plt.semilogx(alpha_settings, training_score, '-.', label=\"training R^2 score\")\n", "plt.plot(alpha_settings, test_score, '-.', label=\"test R^2 accuracy\")\n", "plt.ylabel(\"R^2 score\")\n", "plt.xlabel(\"alpha (in log scale)\")\n", "plt.title(\"Comparison of training and test R^2 score as a function of alpha\\n\")\n", "plt.legend(); plt.grid()\n", "\n", "print ('--- Based on test set/ generalization ---\\n')\n", "\n", "index = test_score.index(max(test_score))\n", "print ('Best alpha = {} | Training score = {:0.3f} | Test score = {:0.3f}'.\n", " format(alpha_settings[index], training_score[index], test_score[index]))\n", "\n", "plt.plot(alpha_settings[index], training_score[index], 'x')\n", "plt.plot(alpha_settings[index], test_score[index], 'x')\n", "\n", "index = test_score.index(min(test_score))\n", "print ('Worst alpha = {} | Training score = {:0.3f} | Test score = {:0.3f}'.\n", " format(alpha_settings[index], training_score[index], test_score[index]))\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the above plot, we see how the `alpha` corresponds to the model complexity.\n", "- It's evident that decreasing `alpha` from 100 to 0.1 allows the coefficients to be less restricted (we fix *underfitting* issue).\n", "- However if the `alpha` value is set too low (below 0.1), coefficients are barely restricted (we start facing *overfitting* issue) as the penalty for cost function is very low.\n", " - Think, what happens when α is set to a very small value (close to 0). \n", "

\"Cost Linear regression\" title=\"Cost function - Ridge > Linear regression\" style=\"max-width:350px;\">

\n", " - We end up with a ridge model that is similar to `Linear Regression`.\n", "\n", "`alpha = 0.1 or 0.3` seems to work well. We will discuss more about parameter optimization in later topics." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T03:29:12.076069Z", "start_time": "2018-09-14T03:29:11.017493Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "--- Based on test set/ generalization ---\n", "\n", "Best n_neighour = 1 | Training score = 1.000 | Test score = 0.652\n", "Worst n_neighour = 20 | Training score = 0.675 | Test score = 0.479\n" ] } ], "source": [ "# compare the different models (KNN with linear and ridge regression) on the multi dimensional `boston` dataset\n", "from sklearn.neighbors import KNeighborsRegressor\n", "\n", "training_score = []\n", "test_score = []\n", "# try n_neighbors from 1 to 20\n", "neighbors_settings = range(1, 21)\n", "\n", "for n_neighbors in neighbors_settings:\n", " # intialize the knn model parameters\n", " knn = KNeighborsRegressor(n_neighbors=n_neighbors)\n", " # build/ train the model\n", " knn.fit(X_train, y_train)\n", " # save training set accuracy\n", " training_score.append(knn.score(X_train, y_train))\n", " # save test set (generalization) accuracy\n", " test_score.append(knn.score(X_test, y_test))\n", "\n", "plt.figure(figsize=(6,4))\n", "plt.plot(neighbors_settings, training_score, label=\"training R^2 score\")\n", "plt.plot(neighbors_settings, test_score, '--', label=\"test R^2 accuracy\")\n", "plt.ylabel(\"Accuracy\")\n", "plt.xlabel(\"n_neighbors\")\n", "plt.title(\"Comparison of training and test R^2 score as a function of n_neighbors [in KNN]\\n\")\n", "plt.legend()\n", "plt.show()\n", "\n", "print ('--- Based on test set/ generalization ---\\n')\n", "\n", "index = test_score.index(max(test_score))\n", "print ('Best n_neighour = {} | Training score = {:0.3f} | Test score = {:0.3f}'.\n", " format(neighbors_settings[index], training_score[index], test_score[index]))\n", "\n", "index = test_score.index(min(test_score))\n", "print ('Worst n_neighour = {} | Training score = {:0.3f} | Test score = {:0.3f}'.\n", " format(neighbors_settings[index], training_score[index], test_score[index]))" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-09T09:40:45.501147Z", "start_time": "2018-09-09T09:40:45.493152Z" } }, "source": [ "- Best test score using `Linear Regression = 0.610`\n", "- Best test score using `Ridge Regression = 0.773` \n", "- Best test score using `K-NearestNeighbours = 0.652` " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### alpha - Qualitative insight " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also get a more qualitative insight into how `alpha` parameter changes the model by inspecting the `coef_` (slope or weight) attribute of models. " ] }, { "cell_type": "code", "execution_count": 222, "metadata": { "ExecuteTime": { "end_time": "2018-09-09T09:56:35.902317Z", "start_time": "2018-09-09T09:56:35.102218Z" } }, "outputs": [ { "data": { "image/png": "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\nbTpW6T1Q3qiezgb5Tt8LFGYnZmH2UBiD5wSm1lW6YT36Kgbz1CeEdRXWI0D2PPhm3VTbrps0JW3o\n/2nPzpsllblELKxnlie1c8CQ5uuD7b/T3N9vk3pMklT3hjT3oW164/jfqah1HkI8uaqc39J9VlHj\nWXnx26RvPCJ1978J/tGLi2s7HKoY9BpbEmHN13CPpUndz8MS0vG0cedOPTTaqavK+obV9DrN3Lkz\n7IgHFVZOI2n38hmCQkp2s10JnjakqRXBOfcL59zfOOcOdc59ZZBvR9+rmxRKL3Pjd5wmyTKGmsbv\nmF3UeFZeeYqeOPEPqq324xpbLT1x4qpoqg0n9G7eaTc/qa0bZ0qptlS9o7R1o3/USrES+fzNEO5Q\nTr/6T9LVHaq7arOWtKzR5Ks2S1d35HzMUi6jt+/b1+43pabXafT2Id5dDENYvcbG5DmBqXWV+Sp2\nXYURS+jjCWFd5XrUR7GPAGns3Jl1W27sLP+FTFKfWR43H3/6F32Jbp8e88PLLLQaHHHcduLWk3dY\nwpivOPWinB5TXJ7XG4aQ9okV267WLvWvdbhLNVqx7ephBli8sHIaSdmXT4FyJrtm9hkz+4uk6cEj\nh1Kv5yRF0PhlEHE4MIVwQFl1xfv0gSPO6qseW1NVo3OOeJ9WXfG+4kYUp67QE/qonzAftZIq3TVZ\nskp147D9Sfr0ljcGHOyqJF2wpSOKcMJdPmFdoMXpQi9O8xTSuqpfMF9W038rtJqqoh8B8uktHaoa\nkGw4tUSxLcfsRmauKrCRV40dpu4tnUUNL6Wjq9ZkrXJ+TNWa4kYU0raTesxK5qvoJioxO2eFJqz5\nitP5ISVpVc5D2idCyyOkYd9QKFlOU6R81Zh/LOk/Jd0g6fL0STrnXh/S1EqpZ5d2PHG75v7xBP3q\nqveXffKnXvdT3dv9o90NwocRT3r12CGX8iW06nDcTO7u0Xu3btM9e47TnK1v6v6eHm0c4rhaZrRo\n7Za1ySvVTYlw+/s795xe27ZNy8ePV1eVqabXae62bXq3e67ssUjS0ps/rzN7uzUm7Ybnzq5u3Xvz\n54vqkCesak9hHr+GLayqsSGNJ6x1NfGkY6Xj3lD7H2vVvX2Uqsf1qP7tnZp40nEFj0OS5o+6WVu3\n3K2aSStlVT1yvaO0dcsJunjU+1X2bhpjdsOykjs8zKd6yhR1bxjYfrl6ypQs3y6tfO2f1xczopC2\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "No of features = No of coefficients = 104\n" ] } ], "source": [ "ridge = Ridge(alpha=1).fit(X_train, y_train)\n", "ridge10 = Ridge(alpha=10).fit(X_train, y_train)\n", "ridge01 = Ridge(alpha=0.1).fit(X_train, y_train)\n", "lr = LinearRegression().fit(X_train, y_train)\n", "\n", "plt.figure(figsize=(16,6))\n", "plt.title('Comparing coefcient magnitudes for ridge regression with different values of alpha and for linear regression')\n", "plt.plot(ridge.coef_, 's', label=\"Ridge alpha=1\")\n", "plt.plot(ridge10.coef_, '^', label=\"Ridge alpha=10\")\n", "plt.plot(ridge01.coef_, 'v', label=\"Ridge alpha=0.1\")\n", "plt.plot(lr.coef_, 'o', label=\"LinearRegression\")\n", "plt.xlabel(\"Coefficient index\")\n", "plt.ylabel(\"Coefficient magnitude\")\n", "plt.hlines(0, 0, len(lr.coef_))\n", "plt.xlim(0,50)\n", "plt.ylim(-25,25)\n", "plt.legend()\n", "plt.show()\n", "\n", "print (\"No of features = No of coefficients = {}\".format(len(lr.coef_)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

A higher alpha means a more restricted model (more penalty), so we execpt the coef_ (weights) to have smaller magnitude for a higher value of alpha.

\n", "\n", "This is confirmed by the above plot. Here,\n", "- `x-axis` spans over 104 data points, but only first 50 data point are shown. It corresponds to the `coeff_` or` weight` of `n`th feature/ dimension\n", "- `y-axis` shows the numeric (magnitude) values of the corresponding values of the coefficients.\n", "

■ Coefficients of Ridge model with alpha=1. Here, the coefficients are somewhat larger than range of -3 to 3

\n", "

▲ Coefficients of Ridge model with alpha=10. Here, the coefficients are mostly between -3 to 3

\n", "

▼ Coefficients of Ridge model with alpha=0.1. Here, the coefficients have large magnitude

\n", "

● Coefficients of Linear model (no alpha parameter involved). Here, the coefficients are so large that many of them are outside the chart range

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Training size - insight" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another way to understand the effect of regularization is to fix `alpha` but vary the **size of training data**.\n", "In the figure below, the `boston housing` dataset is subsampled & evaluated on `LinearRegression` and `Ridge(alpha=1)` with training subsets of increasing size." ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T04:06:17.945884Z", "start_time": "2018-09-14T04:06:14.305961Z" } }, "outputs": [ { "data": { "image/png": "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\n7ZkHDhzIKCkpaXCP2ZKSEk2/fv0q09PTM5544on85557LsjLy8uyf//+jKysrPSuXbvWPvPMM10B\nYOHChaG//vrrwczMzPTU1NSM6Ojo2t9++81l27ZtHocPH07LyspKX79+/aHGdXPq1CnNfffdF7Vy\n5crsgwcPpt92221FU6dOjbKlHz582HnWrFl5Bw8eTL/55puLnn/++a4XehwYY+xCdfqWuHO1lLWF\nH3/80XvPnj1ub775ZhAA1NTUqIKDg01+fn6WiIgI4+TJk6Ouu+66skmTJpXa7mvZGv369YurrKxU\nFxYWateuXdvs/S83btzocddddxXqdDqh0+nEbbfdVrht2zZ3W9rUqVMLtVottFqtmDRpUtHWrVvd\nAWDt2rXe+/btc0tISDAAgMViIQ8Pj45166xztJS1hct1LrTGXXfdVQQAsbGxtZ6enpbs7Gwnq9WK\n7Oxs5ylTptSNkzSZTLR//37nXr161SxdutRv1apVviaTiaqqqtRRUVF1rU/h4eE11113XaV9Hl99\n9ZXfxo0bPY8fP64bPHhw2fjx48sBeSu2kydPOo0ePTrGti4RIT09Xbdp0yb3ESNGlNr+Cbn//vsL\nvv32W1/bejqdTvz5z38utr3+/vvvvSsqKlRr1qzxAYDa2loyGAzVADBw4MDyqVOnRt5www2lt9xy\nS4nBYKiNi4urNZvNdPvtt0cOHz687LbbbmsQcALAxo0b3eLj46v79OlTAwBz5swpePLJJ8OLi4tV\nABAVFWVMTk6uBoBBgwZVrlu3zvtijgVjjF2ITh/EtUdCCHz77beHDQZDbeO0PXv2ZPzwww/uP/30\nk2e/fv3i//vf/x4aMGBAdWu2u2PHjkwvLy/rc889Fzh9+vRuhw8fPuDq6npJxkAJIfD444/nzp07\nt/BSbI9Jl+tcaA0XF5e6oFCtVguz2Qwigre3tzkzMzO98frr1q1z/+ijjwK2b9+eGRwcbH733Xd9\nly1bFmBLd3NzaxJkTpo0qfC99947efz4cc3gwYPjFi1aFDB//vx8IQRiY2Ord+7c2eSfjU2bNrmf\no9wWlaq+E0EIgcWLFx+fMGFCk/ugrl+//sjGjRtdf/zxR8/rrrsu9o033si57bbbyrKystK+++47\njx9++MFz4cKFoTt37myyvy3R6XT2dQeLxXLFLhhhjDEb7k69Atzc3KxFRUV1XUKjRo0qeeGFF7ra\nBn+fPn1ak5mZ6VRcXKzKzc3Vjhs3ruL111/PjYmJqd6zZ49Lc9toyfPPP3/Wz8/P/MorrwQ0TktJ\nSSn797//7WcymVBRUUGrVq3ys6UNHTq0/PPPP/c1mUyoqqqib775pq71Y/z48SUffPBBl/z8fDUA\nVFdX0/bt210uuFKuUlf6XDhfPXv2rHF2dra+9dZbdcd+z549zkVFRaqioiK1h4eHJTAw0FxdXU0r\nVqzwb+12w8PDzYsWLTrx6quvdq2oqKCRI0dW5OTk6P773/962NbZuHGjq9VqxciRI8t//fVXr9On\nT2sA4MMPP/RzvGVg7NixJa+//nqg7crb4uJi1e7du51NJhMyMjJ0w4cPr/rb3/52ZujQoWW7d+92\nzc3N1VRUVKgmTpxY9tZbb510d3e3ZGVl6ey3mZKSUpmRkeFi60b+17/+5RcfH191qVtDGWPsYnAQ\ndwU88MADZ4YPHx4bFxdnKCgoUC9duvSESqUS8fHxCXq93jBq1KiYnJwcp6KiIvWNN97YXa/XG2Ji\nYhK6dOlimj59enFz22gpP5VKhUWLFp3417/+FdR4Sol58+YVhIaG1kZHRycOHjw49pprrqnr/nr8\n8cfzAwMDTTExMYnJycmxMTEx1Z6enhYAmDVrVtHkyZMLk5OTY/V6vSEpKcmwcePGFltMWFNX6lyI\niYlJDAwMTAoMDEyKjIxMbG35tFot1qxZc3jVqlW+er3eEB0dnTBz5sxwo9GomjhxYllERIQxKioq\nceDAgbFJSUlV595ivTvuuKO0e/fuNa+99lpAQECA5auvvjr8wgsvBMfGxhq6deuWsGDBgmAhBK69\n9trq2bNnnxk4cGBcQkJCvEajgbu7u8Ou+xdffPFMYmJida9evQx6vd4wcODAuP379zubzWaaPn16\npG3qnbNnz2rnzp2bn52d7ZSSkqKPjY01xMXFJYwYMaJ0xIgRDbqBg4ODze+///7RO++8M0qv1xs+\n//xzv08//fTo+ewvY4xdbiTEFZlx4IpKTU091rNnz4K2LkdHVFxcrPLx8bFWV1fTqFGjom+99dbi\nefPmcV2yK8p2HgJyvrkjR47oVq9ezUEUgNTUVP+ePXtGtnU5GGNtj8fEsQaGDRumr62tVRmNRhoy\nZEj57NmzOYBjV9ycOXNCd+zY4W4ymSg8PNz40Ucf5bR1mRhjrL3hII41sG/fvsy2LgNjtqlUGGOM\nOdZZx8RZrVYrXy3GGOtUlO81vriCMQag8wZxB/Lz8704kGOMdRZWq5Xy8/O9ABxo67IwxtqHTtmd\najab7z1z5swHZ86cSUTnDVQZY1cXK4ADZrP53rYuCGOsfeiUV6cyxhhjjHV23ErFGGOMMdYBcRDH\nGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOM\nMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYBcRDHGGOMMdYB\ncRDHGGOMMdYBadq6AJeDv7+/iIyMbOtidDqVlZVwc3Nr62KwS4iPaefEx7Xz4WPaOdmO665duwqE\nEAHn+/42DeKIaBmA8QDyhBCJzaQTgMUAbgBQBWCGEGL3ubYbGRmJnTt3XuriXvU2bNiAlJSUti4G\nu4T4mHZOfFw7Hz6mnZPtuBJRzoW8v627U5cDGNNC+lgAMcrjfgDvXIEyMcYYY4y1e23aEieE2ERE\nkS2schOAFUIIAeA3IvImoq5CiNNXpICO1JQBy5qJPfvfC/S9Byg/C3xyS9P05EeAnrcDRUeBz+9s\nmp4yHzBMAM6mAV/fJ5epNYDGBdA6A0MeB6KGAPkHgd/eBjTOcrnGBdDoAMNNgG8UUJYLnNxRv1zr\nItf16w44uQFmI2CplcvU2ktbN4wxxhi7Itr7mLgQACfsXp9UljUJ4ojofsjWOgQGBmLDhg2XrVAq\nSw3irR5Nludln0Z+xQZoa8ugbyb9zKEcFBZvgK6mANHNpOdmZqM4bwNcqnLRzeoBQEBltkBVXQWV\ntRhH9+5BSY4FXiUHkJD2DVRWE1TWWqiEGQCQmmdFsW9v+OdvQ2Lay022v7vXP1DmFY/AM78gPnMx\nIHOARe0Eq0qH1J5/RaV7JLxK0uFbtBtGnR+MOl8YdX6odfJDRa36stYru/IqKir4mHZCfFw7Hz6m\nndPFHleSjVxtR2mJW+tgTNxaAP8QQmxRXv8M4EkhRIsD3vr27SuuqjFxVgtgrgHUTrJlraYMKDku\nl5lrAFMNYK4GIpIBV18gLwM49KNskTNXy7+mKmD4M4CbH7D9beCHZwBhaZDNtms/wqDRtwJ7PgUO\nrQc8QwCProBnsHyEDQBU6jaqBHYheJxN58THtfPhY9o52Y2J2yWE6Hu+72/vLXGnAITZvQ5VljF7\nKrXsJrVx9gSCmsTE9brEy4cj1z4EDHgAqMgDynOBstNAWS5qq7xkek0JcDYdOPQTYKpUyqABnsmT\nz394BjiyAfDsWh/keYcD10yV6aZq2ZVLdMG7zBhjjF3t2nsQtwbAw0T0OYABAErbfDzc1UKllkGY\nZ1fZgQ0Atibfa2fJhxCAsUwGeZX59a1w3hGAV4gcm5e7R6Z52QVxX9wFZG8E3Pzlw9UfCEwARr8k\n0w+uB6xmwC0AcPWTf3Ue7S/oE0K2dNZWynGHTm6AxQRUFcm6IJUMblVqGbRyKyVjjLFLqK2nGPkM\nQAoAfyI6CWABAC0ACCHeBfAd5PQihyGnGLm7bUrKmkUEOHvJB+Lql/e/Tz5szLVAdXH966TbgcBE\noKoAqFQepXZDH39aCOSlNcwrahjwpzXy+eqHZRewW4Ds/nX1ly2LYf1lem0loHVtGPQJIV9brUBR\nNlBbIderrZTP/WOAoB6yK3rrG/XLbetcMxVIuAUoPAIsH1efLqxy+zcuBvrMAM4eAN5LaVpXt34A\nJE0Gjm0BPp4gAzqVBiA1oFIBk5YB0dcBR34F1syRy+rSNcBNbwIhfYDDPwMbFynBoS1I1ABj/iEv\nXMneAOz+pH65LZ+U+YB7F+DYVuDwj3XpEceOA5t3A/3vB3TuwMldwOk9du9XypBws+yqz8sASk7U\nb9eWR9gAWb9lubIOVWq7dbTynwEAqK0CIOz2Td3+gnPGGOsg2vrq1CnnSBcAZl2h4rDLReMEeATW\nv066reX17/oKqDgLVBbKVryqAsDd7v1lp4DCwzLd1p3bY3J9EPeKXraIufrKv7WVQJ8/AWNfBixG\n4F99muY5eJ4M4iwmYMsbMqBxcpeta05uclwhIAPWmFEyTeuqpLvLIAYAPEOBca/JcYrCIv9azXLb\ngBxHOPhRuawu3QJ4BMt0V18gMtnu/Wb5XOsq01VqWZ9WqwyORXX9OoAMiHP31C+zbWPQbJmeuwfY\n/paSvxVRAHAMwDV3yn0+uA7YtKhp/cTdIIO43SvkldGNLSiRfzf8Xa5jz8kD+MtJ+Xz1LCDtm4bp\nnqHAPCVo/+YBIGebvKpa4yz/+nYDJr4v0zcukld3a53r073D5VXhAJC+RgbX9u936wJ0TZLpxccA\nkAy+bcfGyQ3wVkZtnNql1Kut7s2Ae1D98IT01fIcsa9b/1ggfABgMQO/v2v3XqvMJ3wg0G2Y/Mcj\n9TNArZN1qdHJ5/4x8qpycy2Qn6ksd5IPjU62Qmt0TeucMXbVa/MLGy6Hq+7ChiukXQ6sra2SQR6p\nAK9Q2eK27U0Z/FUXyR9CJzcgfJAMRIQA9q+qD85sgZp7oAygbJ+Hq6F1yGrFxg2/YNiQwTJIIKpv\nebQFMBaTDER8u8uWv9KTcgodW7rtET1SbjN3jwyUrHZBEKnqu9Kz1gEFB+uDTKsZcHKV0+8AwG/v\nAKdTlYtyjPKvexBwizJF5KoZwMmdDdO79gTu/Ummv30tkJfecD+7pQDTV8vnb/SQF/3Yi78RuH2l\nfP5yZMNWYwDoObU+/xcC5PQ89vrdB4x7RQZhLzYz4fqQx4CRz8kA+5/dm6aPfE6uU3wMWNyzafrY\nRXKM6tk0YOkwJbhzkgGgxgm4/iU5NdGZA8DauQCpUVJWAW9fX9namTJfBpKnU4HNr9a37tpaS6+d\nDXSJA07vk0Gm/TAAlQboPV1+ts6mAUd+kS2rdVMX6YDuI+Q/NxV5QPnpplMbObnLc4ddlHb5/csu\nWme/sIGxljm5Ak7h9a+JgOQ5jtcnarkl8GoI3mxUKgiVRrZq2diCW0e8QuXDkeBe8uFI7Bj5cGTg\nTMdpADB5edNl9v+ITl8jW2dNNfWBnpNrffrovwE1pfVduSq1bAms2/7HsiXNvivZ3S4we2BTw/eS\nWraUAbJ1bf7xht3g9ueTiw/waLoMAi21ynyNpvquZld/GUzalluMMjCMGKS831e2qNa9V1nPvYtM\nJ5Usi1VOOdSgRREAjBVAXmbDFmBhAa65S6aX5MiuePsWYGEBYkbLY35yp7xoqbFZf8ggbv8qYP1f\nmqY/mibfv+UNYNsSpYXUuT7Im/6tLHfqF7Krvy5NJ1ughz0p6zp3L1B+pr6VXOcB6DwbHh/GrjIc\nxDHGOjb7QMk9AEALP+rxN7a8rW7DWk5v6apu2xhRR1RqecGPIzr3lsvn2RW4boHj9EADMO0/AIC9\nzbXaRCYDD//h+P3xNzbN3z5Ato0LtZqVqYuU6Yl8ImV67A3yuanaLr1GBq8A0MUAGG5u+F5ztWzZ\nA+QwibpWVmVqJKsJSHlKpu94H9izsmH57Lvq18wGDv+iBHdKoOcdBkx4U6bv+1LmYQsAndxlAGwb\nhmG7IEnrJidZZ6wD4DOVMcZY8+wDZLW25Tu8+EbJhyP66+XDkSHz5MOe1VpfhuFPy7GPxgrAWC7H\nPtpaGQHZAmwxA7Xlcp3aCnnlvM2elcDRjQ23H5gIzNwqn386SY6JBOqHYUQkA3d8Kpd9+5AcpmEb\nC6t1lWNd+/xJpu9bJYceOLnJ1l+tmxwLbAtyjRWyhZGvUmeXEAdxjDHG2if7sXS2ScUd6XtP/QUu\nzZm+WrYA1ipBoLG8YZA6aDZQekpOfF5bKf962U1Taq6RQVxtpRyLW1sBVObVB3Hr5svxufZ6TAYm\nfiCfv6KXXf0aZxno6TzkeMuUJ2WL5zfKFeI6D+XhJa9ID+0DWC3wKDsEFITWp2tdrq7hH6xZHMQx\nxhjr/IiUMbSu9eMI7SU0c79re5OWtZz+4BYl+FOCPFOlHOdoM/wp2RpnUi4eMlbUj4c018j7XduC\nS4tRLh/6fzKIqypCn92PA7vt90cNjFoog8+y0/Kin7oAUHkk3AKE9pVX8h/8XgZ+Wtf6h193eUGX\nuVYGrVpX2drKwWGHwUEcY4wxdrFsAZkjtml+mqN1AR7ZW//abJRBnm1sns4d+xOfQQ99pJxg3Vgm\ng73g3jLdapYXglQVyqucbcFgQKwM4oqPyul9Gpv4IdBjEnDiN+BjZTwkqZUgz0VO7dMtBcjZDvzy\nojKpuWt9+rUPy0AwL1Neuax1llcn2/5GDJJ3EKoqkq2Y9he0aJw5YLwEOIhjjDHG2hONruHcgFoX\nFPr3A5JSml/fO6x+MvTmBCUBc/fL7mRTVf3fQGX+Q58oYPTf7dKUdNv8nMICQMju4lK7bfSaJtNP\n7gDWP9U035nbAWeDvKhk3ZNN0x9JlWMGf3tXTg1lPzWN1kWOR3T2AtL+Iyc6bxwADnlMjjE8thUo\nyJJjGVXK2E2Ns5xWCgDyD8qpg9Sa+nU0uvoxnMZy2aWt1irpHWfcIgdxjDHGWGemcZKTYjviHSbv\nme1I5GDg7u8cp/e8A4gbV3/FsW2KH1uQFDNK3mLR/spjc7W8rSIgA7luwxqmmY1ymh5A3inn8E/1\nVzyblcnXhzwu/+7/Eti1vGGZtK7A08qFLZsWySlw7Ll1Af7vkHz+zf1Alt3+kQrw1wOzfne8z+0E\nB3GMMcYYu3BqrRxb54hfd/lw5FzzRw59XD5shJDzGNoufBn1AjBsvpySxmKScyna7mIDyBa7nlOU\nu60o6Sq78KfXNHklsqW2fh2dZ8v73E5wEMcYY4yxjoOo4Vx+zp7y4UiX+JbneLR1u3ZAfC8Uxhhj\njLEOiFviGGPsErFaBcprzCiuqkVJtQlOahUMwbKFIC23FCoiOGlUcFKr4KRRwdVJDQ9nOYGuEALE\nV+oxxs4DB3GMMdaIEAIVRjNqTFYEeMirBH/JPIuTxdUoqTIpj1qE+7li7nV6AMDo1zfhYF55gztV\njU0Mwjt39QEATHnvN5TVmBvkM6lPKF6ZLG96r3/mexAIWrUM9LRqFe7oH455o/SoNVsx6d1t0Kpl\nAKhVAsHxSV1xc68QVBrNeOm7DKgIUBHh1CkjNpSlYZQhEMnR/iiurMXbGw6DiECA/EvAKEMgeof7\nIK+sBit/y6lbrlLWG5UQiLggT+SWVGP13lwlDdCoZBlS9AEI83VFXnkNdh4rhkZF0GpU0KpU0KgJ\n8V094eWiRVmNCWdLa6BVy+VatQoaFcHLRQuNWgWhVBoHsYydHw7iGGOdksUqUG2ywF0nv+YO55Uj\nt6SmrqWstNoEtYrw4DA54PrZbw9g25EClFbLIM1sFUgI9sT/5gwBALzx0yHsO1kKAHDXaeDlom0Q\ndIxP6opaSyC8XZ3g7aKFj5sW4b5udemLp/RCTa0FtRYras1W1FqsiPKvT5+ZEg2Tkmb72z1ApluF\ngJ+bE2otVpjMAlXVJpjMVpRWmwAAVbUWrD9wBgIyAK01mbEj7yQi/FyRHO2P8hozVv52HAICQqBu\nvRBvFxnElRux5JfDTeowxMcFcUGeOFFUhZfXZTZJf29aH4T5uuLAqVI89OnuJun/vncABkX7Y2NW\nPmZ/tqdJ+rezknFNmDe+2HEC87/ZD62aoFECQCe1CqsevBbdAtxhsQqoVRzgMdYYB3GMsXbFZLGi\nosaMCqMZ5TVmxAV5QKUi7DtZgv2nShukVdWa8fLEJBARlvx8CKv3nkKF0YyKGjMqay3wcNZg//Oj\nAQCv/3QI/9t3ukFeYb4udUGct6sWsUEe9UGYqxNCfFzq1n3nrj5wUqvg7aqFVt10OPHskTEt7tfw\n2GbuEmBn3ii9wzRnrRof3d3fYXqAhw67nh1V93rDhg1ISUmpex3u54qMFxxf/ZcY4oVj/xgHIeqD\nPKsQUCtBat9IX2T8dQwEBKwCMFtkEOqpdAX3j/LDurlDYLYI1FqsMFsEzBZrXVdy7wgfvDmlF0xK\nmskq/4Yq9ZsQ7IU5I6Jhssr3mSwCJou1rqt50bpM/JZdiFt7h+LGnsHwdXNqsS4Zu1pwEMcYu6Qs\nVoHyGhNKq+UjposHXJzUSM8tw8aD+SitNqFMSS+rNuH126+Bv7sO7206gld/OAij2dpge6nPXQ8v\nVy2+238G7248AkBenOau08BDp4HJIuCkIfi6OSEuyBPuOg3cnTVw12ng6VJ/w/Y5I2JwT3Ik3HVa\neLtq4eWihbO2flLPx66PbXG/QrxdWkzvDGzdqQCgRn3Ll1pFcHFyPAGqu06DuCDHVweGeLu0WH89\nQr3QI9TLYXr3Lu7YfKgAC9ak4YW16UiJDcDt/cIxyhDYwt4w1vlxEMcYa5bJYkVuSTV83Jzg6azF\nqZJq/JxxFmXV9QFaabUJj47SIy7IE9/vP40nvtqHcmPDcV//fXgweoR6Ye+JEry8LhNatRwL5eki\nA6kak5zPKSHYCzMGRTYIwjycNdBpZavXA0O74e5kme7qpG4yfuqugRG4a2CEw/2JDfK4xDXErpTb\n+obhtr5hyDxThv/sPoX/7DkFd11uXRC3/2QpEkM8eUwdu+pwEMfYVUwI2W2lVatwurQay7YcxdGC\nSmTnV+J4URXMVoG3pvbGuKSuOJpfiedWpwEAnLUqGYg5a1GhDNYP83XFxD6h8FKCM9sj3NcVAHBr\n7xDc3CsYLtqmARgAJEf7Iznav8lyGx/uQrvqxQV54qkbPPHEmDiU18jxgJlnynDjv7Yg3NcVt/QK\nwa29QxDh53aOLTHWOXAQx9hVosZkwfq0M8jOr8TRAvk4dKYKj2uO4d4h3WAyC6zYnoMofzfEBnlg\nTGIQIv3dcE24NwCgb6QP/nh6JLxctNBpmnatJYZ4ITHEcZeYfdclYxdDrSJ4u8qgPszHFa9O7olv\n9pzEkl8OYfHPh9AnwgeLJiWhe4B7G5eUscuLgzjGLkBVrRnZ+ZU4lFeOYwVVmHtdDIgIP6SdwZ4T\nJfBw1sDDWQtPZ9klODy2C4gIpdUmOZ7LSQPVZbjaLju/oq4lLbugEkcLKpDc3b9u0P3cL/YCkGOU\novzdMDhEg4RgGXiF+bog469jHJbLWavmQIy1O246DSb2CcXEPqE4XVqNb/fk4vsDpxHo6QwA+DUz\nDyaLFSmxXeCk4fntz0dZjQk1JguMJiuMZgtqTFa46TR1V1X/lH4WFUYzjGYLzFYBjYoQ5e+O/lHy\nFlw/Z5wFKVPS2KaWCfJ0RpivK4QQOJJfAbVKTjdjm37GzUkDFyc1hJAX0fBVyS3jII6xFpRWmXA4\nvxwJwV5w1qrx5c4TWPzTIZwqqa5bR6MiTLs2Av7uOuw4VoSPth6D2Vo/WZiTWoWDL40FAPz1v+n4\netZfWhEAACAASURBVPfJukDOw1mDYG8XfDVzEADgo61HcTivAh7OWng4a+DprEGAhzPGJAYBAE4U\nVcEqBE6X1igtahXwc9fVXWE5+d3tKKysBQD4uGrRLcAdbsoUG85aNX58dBhCfVzqgrENGzbg2u7y\nJtT2g9oZ64i6erlgZkp3zEypv0/nsq1HsflQAXxctZjQMxi39g5FUqhXhx0/Z7ZYoVGujj5RVIWC\nCiOqai2oNJpRVWuBVq3CuKSuAIDlW48iu6BSBmJmK4wmK0J9XPDMeAMAYNa/dyPrTDmMZhmo1Zgs\n6Bvpi2Uz+gEAxi3ZjBNF1Q3yv94QiPem9wUAPPn1vrrvG5tbe4XUBXEzV+5GraXhhUrTBkbghZsT\nYbYKXPfapib79+Cw7pg/Ng5l1Wb0/OsPIAK0KhXUKoJGTXhkZAzuHdINeWU1uOP93+CkVkGnkZNn\nO2lUmH5tJEYnBOFMaQ3+uT4LThq7dLUKYxKDkBjihfxyI9annalLt83BmBTqhS6eziivMSGnsArd\nA9xbvKinrXEQx656tmkVVCpC5pkyfPrbcRzOq8ChvAoUVBgBAKtnJaNnmDcC3HXoE+GD2/uFIaaL\nO6K7uCPCz63uP/ynxxnwlxviUWOyorzGhLIaM6pr62/EfEuvEMQFedSlldeY4aSp/zFJyy3DL5l5\nKK8xwWSRgWD3ALe6IO6xL1Pxx7GiuvV1GhVGxtdPXfHK5J7wdNGim79bs2PIortw9xK7uiyb0Q+b\nD+Xj692n8NmOE/h4ew4m9g7Fq7f1vOx5my1WVJksqDJaUFlrRqXRjEqjBQO7+YKI8Ht2IfafKpVB\nmJJusQr8/dYkAMCrP2ThhzTZ2lVaWY3aH7+Ht6sWfzx9HQBgwZo0/JKZ1yDPCD/XuiBuw8F8pJ4o\ngU6jhk4rgxXbhUIAEOTpDAgoy9XQaVTobvcd8chIPapNFjjbpXf1cq5L//z+gVCrCDqtGhoVwWwV\n0Nm1dn7z0CCY7aaNMVutMk/ICaWXTOkFi1VJU9ITlGlpnDQqPHqdHmYl3baePlBeoKRSycmkjSar\nMveiBdW1FpiV780Kowm/ZRfCaJZptvkZo/zd5JQ6hZV45tsDTY7Zu3f1xpjErtiZU4y7P9pRN5dh\ne0XCfnrxTqJv375i586dbV2MTqfx3FMdUaXRjD+OFilBWnldsPbPST0xJjEI244U4IFPdiG6izui\nA2SQFt3FHf2ifOvmxLoShBAwmq0oU4I52/QMWw4V4HRpNYK8nBHl74ZgL5eL6pbtDMeUNcXHtXml\n1SZ8v/80gryckRLbBfnlRjzy+R7cfE0IrlOudK00mtHFUwedRo2TxVVIyy1DVa1s5bIFY3cPioKX\nqxbr087g610n64IwW/r/Zg+Bl6sWL6/LxDsbjjQpR9aLY6DTqPH8mjQs33YMgAyk3JQrsjc8ngIi\nwgebs7HzWDFcdWqUFJyFPioCPq5aPKC0vO/KKUZZtQmuTmq46TRw08mrum13GWFN2W5vV2u2oqSq\nVgZ5dpNsh/u6wtvVCfnlRuw+XoyBUX7wcr183/22zyoR7RJC9D3f93NLHGuXhBCwWAXMVnn1pFpF\ncHWSp+uJoqq6CUVNFvnB83PTIdzPFVarwIaDeTBZZBCUU1CJw/kVGGUIxPikYJwtq8Hdy3cAAPzd\nnRDdxR03XROMYG/53+HAKD/sW3B9m3e1EFGzY9AGxzi+epMx1jIvFy3u6B9e9/pkcRVOl9bgia/3\nAV/Xr7d29mAkhnhh08EC/OU/+5tsZ3xSMLxctSitNuF4UVVd8BTo4QxXXf1ndnhsF/i5OcFNmRbH\nzUkDV526bhLlx67X49FRerg6qZudQPreId1wr7xhiPJjH9cgvU+Ez8VUx1XJ9t3upFGhi6ezw/UC\nPHQYnRB0pYp1wTiI66RqTBYUVdaiqLIWxVW1qDT+f3t3Hh9XXe9//PWZmSxtk7ZJm6b7Rhf20oWW\nnZaqLLKJG7IqYkHB5V6vV73en97rcq/36lURUQREQNSqIIKAgixlUcrSsnRJd6ArJN2bpM02n98f\nZ5KmadqkzZw5mcn7+XjkcWbOOTPzSb6UvPM95/v9NnLOsUEX+73z3+aFNVvY1up4QSLOs/86C4Br\n736FZ1dU7V1D0eCIsiK+eFzw3tfc9TKvrt2WOhYcP2ZoX+5KzSj/8V++xMp3q4nF9q7BOGVkCT/4\n6Aktx9elpq9oDmKnjy9rubwx47+e4N2ddft8Px+YPIwfpl4/+wfPUN9mQtgrThrJty8+jqQ719y1\nby/ssP69mJzqDh9Z2ps/XH8y48qK2r3cGMZgAxHpniaPLOGpL57Jq+u289KbWylMxOhdkGi5ZPi+\nY8o5fni/oJcrP07vggS98uItN9s3z193INPHlLbcH9ae4gz27ktuUojLAnWNTWyvbWBgUQHxmLF4\nww5eXbuNrTUNbKvdG8Tu+sR04jHjGw8u5u4X3t7nPfLjMZZ/ezBmxqrKaio27aS0dz4jSnszaXh/\nRg7o3XLu2ceUM25QUcs6i8mkM6CoAFgHwClHDGBY/14tS/A0r8HY7Phh/YJlcTxYuifpMLZs77xN\nI0p606cgQV7MSMRj5MWNo4funZriqpNHU9fQRKJ5sexYjPHle+/T+N8PHt9mxJMxvCSoPx4zHvjM\nKcFNqokYw/r3armxHyARj3Hi6AP/T1VEehYzY8rIEqaM3L9Xa2BRAQOLdGlSui+FuIi5O1tr6lm3\nbTcTy4PliZ6seJe7/vFWauRRPdWpGfBf/LfZlPct5MmKSn74xAoAigsTlPbJp7RPfsti37OOHMTg\nfr0o6Z1HSepYSe+9vU7/ceExB63pwwf4y3LevCDEXXv62IO+/p87WL7oWxcfe9DjN8wad9DjF08e\ndsBjZsbkdv5nLCIikmsU4jKgpq6RddtqGdKvF/165fHq2m3c8vRq1m2tZf22WmpSoxcf+MwpTB5Z\nQn1jkp17GjlmWD8GFRdQ2jufkj75LcOcrz5lFB+bMYKS3vnt3kcxc+IgZnaw2LaIiIhkN4W4NKhv\nDNaYLC5MMKCogLc21/C9x5ezfmst67btZmtqHp2fXj6F844bQmPSWbe1lhGlvThl3ABGlPRmRGlv\nxg4MLhmee9wQzj1uyAE/r39vLT8kIiLS0ynEHYbttfV86+EK1m2rZf3WWt7ZuYekw7+//yiuPX0s\nMQvuWxtR0puzj+nL8JLejCzt3TKS6MTRpTz2T2dE/F2IiIhINlOIOwyFeXH+vmozw0t6cdLYAQwv\n7c2Ikl4tIW3kgN4886VZEVcpIiIiuUwh7jAU5sWZ/2+zoy5DRETkkLSeg3PfbTLYNrW/v6GpzXlJ\np6lp73lN7qn1TlOzGqRmJ/D2nhPMetC8D/bOZOCtzmv3OU5TEpqSyX2/h1Qtjc37W2pL7v+9NrWz\nL5nc5/tpXmmiNL6b577xgWgb7SAU4kRERLJIXWMTm6vr2byrjqpddVRVB9vNqW3z4x27G/YLK03J\n7FylyQyMYO7RmAXrqMZjRiJmxGOx1Hbv/tbrre49z8jPixMvSJBIHUs0n9fq9fk0cPzOZ5m2+U+U\n1m2Apgsg3j3jUqRVmdk5wE1AHLjD3b/b5ng/4F5gJEGt33f3X2a8UBERkRA1NiXZWlNPZesw1hLO\n6lm5bjffWjCPzdX17Njd0O579OuVR1lxAQOL8jlueH/69UqQF4/tH3RiRjzeTgDaJwi1s79VMEq0\neR5rmRy+9WP2f87e57FUMmt9fJ8t+75P6LashgW/hFd/Dbu3QskYOOlGSDYoxLVlZnHgFuC9wHrg\nZTN7yN2XtjrtBmCpu19gZmXAcjP7tbvXR1CyiIjIIalrbKJyZx3v7tzDOzv38M6OPVTu2r/nbGtt\nPe0tZV5UkGBgUT75DhMHF3NqUQFlRQWpsBZsy4oLGFCUT0Eivv8byME11sPyR+CVO+HNZyGWgInn\nwbRrYMyZENt/Gq/uJMpoOR1Y5e5rAMxsLnAR0DrEOVBsQQQvArYCjZkuVEREpLXmidrfbRPQ3t25\nJ/U82N88xVRr+YkYg1IhbERpb6aMKtkbyFptBxbnt6wZHaydOjXT32bu2vYWLLgbXv0V1FRBv5Fw\n1r/D5CuhuPuvmdrMvL3on4kPNvsQcI67X5t6fiUww91vbHVOMfAQcCRQDHzU3R85wPvNAeYAlJeX\nT507d27I30HPU11dTVFRUccnStZQm+YmtWvX1Dc52+ucbXtSX3XOtj3JvfvqnO17nMY2vz4NKM43\nSgqN/gXBtqTVtn9hjJICo0/eoV8eVJt2nSWbGLDlZYZu/Csl214DjC0DprFx6DlsLT0BLPM9mc3t\nOmvWrAXuPu1QX989L/LudTbwGnAWcATwNzN7zt13tj3R3W8DbgOYNm2az5w5M5N19gjBX4Izoy5D\n0khtmpvUrodmycYd/N/jK9iwbTfv7NzT7j1nvfLiDO5XSHlpAcf0LaS8XyGD+xZSnvoa3K+QQcUF\n7a6ikw5q0y7Yvg4W3hP0uu3aBMVDYeZXYPKVDOw3jIERltbVdo0yxG0AWi/SOTy1r7VPAN/1oLtw\nlZm9SdAr91JmShQRkVz27s49fOKXL9OUdKaMKmH6mFLK+xa0BLPBqcBWXJDIzM31kh7JJlj1RHCv\n28rHg7lKxr0H3v8DGP++bjtQ4VBF+V28DIw3szEE4e1S4LI256wFZgPPmVk5MBFYk9EqRUQkJ+1p\naGLOPa9QU9fI/Z85hSMH9426JOmqnZvg1Xth4d2wYx0UlcNp/wxTroKSUVFXl3aRhTh3bzSzG4HH\nCKYYudPdl5jZ9anjtwLfAu4ys0UEtxt82d03R1WziIjkBnfnX+97gzc27OC2K6cpwGWzZBLWPB30\nui3/C3gTjJ0JZ38nGGkaz4u6wtBE2p/o7o8Cj7bZd2urxxuB92W6LhERyW0/nbeah17fyJfOnsh7\njy6Puhw5HNWVe3vdtr0FvQfAyTfA1I/DgCOiri4jcuOisIiISCc9vuQdvvfYci46YSifmdkzftnn\nhGQTNOyGjQuDXreKh4OJeEedBmf9PzjqAkgURF1lRinEiYhIj1GxaSdf+N1rTBrej//54PEarJAu\n9bVBwGpos23cnXrezrGW7YH2tTnWVLf38wr7w/Q5Qa9b2YTIvu2oKcSJiEiPsLm6jmvvfoXiwgS3\nXTWNwjytcNAlW9+ExffBovuhquLQX5/XG/J6tdqmHhcUBwMS8npBonD/8/oNC+51y+uV/u8pyyjE\niYhIzqtvTPLpexewubqOP1x/MuV9C6MuKTvteheWPACL/gAbXgn2jTw5WO2goN++YWy/batAligM\nVrWXLlGIExGRnObu/PufFvHyW9u4+WOTOX54/6hLyi57dkDFn2HRffDmM+BJKD8O3vOfcOwHof+I\njt9DQqEQJyIiOe3Ov7/F719Zz2fPGscFk4ZGXU52aNgNKx4LLpeueDy4H61kNJz+RTj2QzDoyKgr\nFBTiREQkhz2zoorvPLKUs48p55/e03NvgO+UpkZ4c15wj1vFn6F+F/QZBNOugeM+DMOm6BJoN6MQ\nJyIiOWlVZTU3/mYhE8qL+cFHTiAWUwDZjzuseynocVvyANRUBfe2HXNRENxGnw4xDQDprhTiREQk\n5+yobeBT97xCfjzGHVdPo0+Bft3t490lwT1ui++D7WuDgQYTzgmC2/j39rj51rKV/qsWEZGc0tiU\n5IbfLGT9tlp++6mTGF7SO+qSuodtb8Hi+4PwVrkULA5HzIKZ/wZHvh8KtfRYtlGIExGRnPLtRyp4\nftVm/veDxzNtdGnU5USruhKW/CmYEmT9S8G+ESfBed+Hoy+GorJo65MuUYgTEZGc8ZsX13LXP97i\n2tPG8JETe/DUF5tXwV++BGvmpaYEORZmfyOYEqRkVNTVSZooxImISE6Yv2YLX39wMWdOKOOr5x0V\ndTnReu77sHY+nPZPwZQg5UdHXZGEQCFORESy3tottXz63gWMGtCbmy+bTLynj0StXAojZsDsr0dd\niYQoFnUBIiIiXbFrTwPX3vMySYc7rj6RvoV5UZcUrWQTVK2AQep9y3XqiRMRkazVlHS+MPc1VlfV\ncM810xkzsE/UJUVv21vQuFurKvQA6okTEZGs9b3HlvPkskq+ccHRnDpuYNTldA9Vy4KteuJynnri\nRLoRd6euMcmuPY3U1DVS3fy1p5Ga+kZ27Wmktr6RpIMBMbOWVXDMjJgF+y21f9/HwTaWeozB8vUN\nbF6wPtjX6hxavXfrfcH7NT9i38+AvfuaPyN1avM5rd+j7fs2udOUdJLuNCVp9TjYNu9PJr3Nufu+\nbp/XtJy7d7875MWNvHiMvHiM/ESMvLiltjHy4zHyEjHyW+1rPi8/3vzc9nm+9zxr+T4709ZJh8Zk\nkmRy321Tqu7GpuD7aEwG30tjcu/32/wzaD4n6U5+PEZhXpx1u5K8tbmGwrw4hXnBvoJErNO1ZYsH\nXl3Prc+s5vIZI7nyJI24bFG5NNiWTYy2DgmdQpxIGtQ3Jtmxu+GAwauj/TV1Teza00BNfRNNSc9s\n8Ytfz+znZVg8FoTbmBnxWBAtG5NOfVMSD+FHnZ8Kc3mJGIlYDG8vhKUCWKj+Pm//2hIxChOxVLjb\nN+AF2/33FebFKEzsPb+kTz5nTiijOOL7zhau3caX71/ESWNL+Y8Lj8m5gNollRXQbyQUFEddiYRM\nIU6ki/64cD3//qfF1NY3HfQ8M+iTn6CoIEGfgjhFhXkUFcQpKy6gT0GC4oIEfQoSFBWmzsnf+7go\nday4MEHv/DgxM5ygN8cJpoFygl6m5v1JD/bRsi/ojWp5ncP8+fOZMeOkffenzm39GFq9f5vntHcO\nzfv3fQ/2qXHfc4KwFQStuBmx2N7g1Xb/3sepY63273vuwX+xNzYlaWgKAl1DU5L6xmAbPN67v6Ex\nSX3LcQ+Otzm/oSnoRW0+PzjHiccgbkY8FiMRD+pLxILaErFUral64zE7xHNixGKQiMUwC/6Y2NPQ\nxMLXF3HEhCPZ0xA839PYxJ6GJHWNTdQ172sI9u1J7auua2RzdT11zccak8HjxuR+gTM/EeOsiYO4\nYNJQZh81iMK8zK6tuWnHbubcs4DBfQv52eVTyYvrzqB9VC6DQT18ipUeQiFO5DDVNTbxrYeXcu/8\ntUwfU8r5xw/ZG7baBLKiggS98uLdbgHu1b1jjBzQc5ckSsRjJOLQi9xa4Dv+bgUzpwxP2/s1NCVb\nQt/arTX8+fVNPLJoE39d8g598uO875jBXDBpCKePLws9UO2ub+JT97zCnoYmfvOpGZT0yQ/187JO\nUwNsXhGsfyo5TyFO5DBs3L6bT/96Ia+v2851Z4zlS2dPJKHeAMlRzfcFFhdCWXEBU0eV8v/OP5oX\n12zhodc38pfF7/DAqxvo3zuPc48dwgWThjBjzIC0z9Xm7vzLH15nycad3HHVNCaU63LhfrashmSD\neuJ6CIU4kUP0/MrNfG7uq9Q3Jrn1iimcc+yQqEsSybh4zDhl3EBOGTeQb150LM+trOKh1zfy4Gsb\n+O1LaxlUXMD5xw/lgklDOGFE/7Tcs/bjJ1fxyKJNfPXcI5l9VHkavoscVFURbBXiegSFOJFOSiad\nnz2zmv97fDnjBhXxsyumckRZUdRliUQuPxFj9lHlzD6qnNr6Rp5aVslDr23k3vlvc+ff32RkaW8u\nmDSECycNY+Lgw+s9+8uiTfzwiRVcMnkYc84Ym+bvIIdUVoDFYOCEqCuRDFCIE+mEHbsb+OLvX+OJ\nikounDSU/77kOPoU6J+PSFu98xOcf/xQzj9+KDt2N/D4knd46PWN3PrMGm55ejUTyou4cNJQLpg0\nlFEDOjcx7+INO/jn37/O5JH9+a9LjtNI1IOprICSMZDXK+pKJAP0W0ikA0s37uTTv17Ahm27+Y8L\njubqU0brl4hIJ/TrlceHp43gw9NGsLm6jkcXbeLPr2/k+4+v4PuPr2DS8H5cMCkIfIP7Fbb7HlW7\n6phzzyv0753Hz6+cmvGRsFmnskKXUnsQhTiRg7h/wXq+9qdF9OuVx++uO4mpo0qjLkkkKw0sKuCq\nk0dz1cmj2bB9Nw+/vpE/v7GRbz9SwXcerWD66FIuPGEo5x47hNLUiNO6xiau+9UrbK2t577rT2FQ\ncftBT1Ia9sDW1XDMxVFXIhmiECfSjrrGJr7556X8+sW1nDS2lJs/NoWy4oKoyxLJCcP69+K6M4/g\nujOPYHVVNX9+fSMPvb6Rrz2wmG88uITTxg/kwklDeX7lZhau3c4tl03h2GH9oi67+9uyMpg0Uj1x\nPYZCnEgbG7bv5jPN04ecOZYvvU/Th4iE5YiyIr7wngl8fvZ4lm7ayUOvb+Th1zfxz78PVhL5wnvG\n8/7jNQK8UyqbR6ZqzdSeQiFOpJXnV27ms79dSEOTc+sVUznn2MFRlyTSI5gZxwztxzFD+/Hls4/k\n1XXbeHNzLZdMHhZ1admjsgJiCSg9IupKJEMU4kTYf/qQW6+YylhNHyISiVjMmDqqVPegHqrKChgw\nHhJaxaKnUIiTHq/t9CHf/eBx9M7XPw0RyTKVS2HYlKirkAzSbyrp0ZZu3Mn19y5g43ZNHyIiWay+\nBra/DZOviLoSySCFOOmx7l+wnn97YBH9e2v6EBHJclXLgq1GpvYokQ65M7NzzGy5ma0ys68c4JyZ\nZvaamS0xs2cyXaPknrrGJr72wCK++IdgBviHP3u6ApyIZLfmkallCnE9SWQ9cWYWB24B3gusB142\ns4fcfWmrc/oDPwXOcfe1ZjYommolV2j6EBHJSZUVEC+A0jFRVyIZFOXl1OnAKndfA2Bmc4GLgKWt\nzrkM+KO7rwVw98qMVyk547mVVXzut69q+hARyT2VFVA2EWJalqwnMXeP5oPNPkTQw3Zt6vmVwAx3\nv7HVOT8C8oBjgGLgJne/5wDvNweYA1BeXj517ty5IX8HPU91dTVFRdk37UbSnYfXNPDAygaGFRk3\nTi5kcB/1vkH2tqkcnNo193TUpie9cA3b+x/HsqP+KYNVSVc1t+usWbMWuPu0Q319dx/YkACmArOB\nXsALZjbf3Ve0PdHdbwNuA5g2bZrPnDkzk3X2CPPmzSPbfq4t04esrOSiE4by35do+pDWsrFNpWNq\n19xz0DbdvR3mbWHwcTMZfNoBzpFuqav/VqP8bbYBGNHq+fDUvtbWA1vcvQaoMbNngUnAfiFOssf9\nC9bz9pYaEvEYibiRF4sRjxl5cQv2xYxE3EjEYuTFjXhs73nB/r3n5cX3fW1ezIinjq/dUssNv1nI\nxu27+c8Lj+Gqk0dp+hARyT3NI1M1qKHHiTLEvQyMN7MxBOHtUoJ74Fp7EPiJmSWAfGAG8MOMVilp\ntXjDDr74h9cz9nnlfQv43XUnM3VUScY+U0Qko1rWTFWI62kiC3Hu3mhmNwKPAXHgTndfYmbXp47f\n6u4VZvZX4A0gCdzh7oujqlm67idPraK4MMHzXz6LPvlxGpMefDUlaWhympJOQ1OyZV+wdRqSSRqb\nnMZW233Ob36cOt7QlCRmxoUnDGVgUUHU37aISHgqKyC/CPqN6PhcySmR3hzk7o8Cj7bZd2ub598D\nvpfJuiQcFZt28tcl7/C52ePp1ysPgIQGUomIdE3l0tTIVA3Y6mnU4pIxP3lqFUUFCa45dXTUpYiI\n5I6qZbqU2kMpxElGrHh3F48u3sTVp4yif+/8qMsREckNNZuhpgoGHR11JRIBhTjJiJufWkWvvDjX\nnjY26lJERHJHy3JbR0Zbh0RCIU5Ct6qymoff2MhVJ4+mpI964URE0qZlZKp64noihTgJ3S1Pr6Iw\nEefa07Wmn4hIWlUuhcJ+UKxlBHsihTgJ1Zuba3jwtQ1ccdJITfUhIpJuVcuCXjhNZN4jKcRJqH7y\n1Cry4jHmnHFE1KWIiOQW96AnTiNTeyyFOAnN21tq+NNrG7h8xijKitULJyKSVrvegT07tNxWD6YQ\nJ6H56dOriceM687UiFQRkbSrXBps1RPXYynESSjWba3l/oXruWz6SMr7FkZdjohI7tGaqT2eQpyE\n4qfzVhMz9cKJiISmqgL6lEGfgVFXIhFRiJO027B9N/ctWMdHThzOkH69oi5HRCQ3VVaoF66HU4iT\ntLt13moAPj1zXMSViIjkqGQSKpdpUEMPpxAnabVpx25+9/I6PjR1BMP6qxdORCQUO9ZBQ4164no4\nhThJq58/s4akO5+ZqXnhRERCo+W2BIU4SaPKnXv4zUtruWTKMEaU9o66HBGR3FXVvPD9xGjrkEgp\nxEna/PzZNTQlnRtm6V44EZFQVVZA32HQq3/UlUiEFOIkLap21fHrF9/m4hOGMWpAn6jLERHJbVpu\nS1CIkzS5/bk11DcmuWGW7oUTEQlVsgmqVkDZkVFXIhFTiJMu21Jdx69eeJsLJw1lbFlR1OWIiOS2\nrW9CU50GNYhCnHTd7c+9yZ7GJm48a3zUpYiI5L7mQQ2D1BPX0ynESZdsrannnhfe4vzjhzJukHrh\nRERC1zy9iC6n9ngKcdIldz7/JrX1TXz2LI1IFRHJiMqlUDIa8jWIrKdTiJPDtqO2gbv+8RbnHTeY\nCeXFUZcjItIzaLktSVGIk8P2i7+/SXVdI5/VvXAiIpnRWA9bVmp6EQEU4uQw7djdwC///iZnH1PO\nUUP6Rl2OiEjPsGUVJBs1MlUAhTg5THf/4y127VEvnIhIRmlkqrSiECeHbNeeBn7x/Ju856hyjh3W\nL+pyRER6jsoKsDgM0B/QohAnh+GeF95mx+4GPjdbI1JFRDKqsgJKx0JeYdSVSDegECeHpLqukduf\nW8OsiWUcP1wLL4uIZFRlhQY1SAuFODkk985/m+21DXxutrryRUQyqmE3bF2jQQ3SIhF1AZI96hqd\n219YwxkTypg8siTqckREepbNKwDXoAZpoZ446bSn1jWypaaez+teOBGRzGtebks9cZISaYgz8B2c\n3gAAIABJREFUs3PMbLmZrTKzrxzkvBPNrNHMPpTJ+mSv3fVN/OXNBk4dN4Cpo0qjLkdEpOepXArx\n/GBggwgRhjgziwO3AOcCRwMfM7P9/rxInfc/wOOZrVBa+81La9lZ73x+9oSoSxER6ZkqlwVTi8Tz\noq5Euokoe+KmA6vcfY271wNzgYvaOe+zwP1AZSaLk732NDRx6zOrObI0xvQx6oUTEYmERqZKG1GG\nuGHAulbP16f2tTCzYcAHgJ9lsC5p43cvr6NqVx0XHZEfdSkiIj1SvLEWdqzVoAbZR3cfnfoj4Mvu\nnjSzg55oZnOAOQDl5eXMmzcv/Op6gIak86NndjOhJMbw/N36ueaY6upqtWkOUrvmnsTmFQAsqkyy\nRW2bM7r6bzXKELcBGNHq+fDUvtamAXNTAW4gcJ6ZNbr7n9q+mbvfBtwGMG3aNJ85c2YYNfc4v5r/\nNtvqFnPzFdNp3LAY/Vxzy7x589SmOUjtmnuW/fZvABx31oc1sCGHdPXfaochzswKgfOB04GhwG5g\nMfCIuy857E+Gl4HxZjaGILxdClzW+gR3H9OqjruAh9sLcBKO+sYkP3t6FVNG9ufUcQN4pm3EFhGR\njOhTsxYSvaD/6KhLkW7koCHOzP6TIMDNA14kGFxQCEwAvpsKeF909zcO9YPdvdHMbgQeA+LAne6+\nxMyuTx2/9VDfU9Lr/oXr2bhjD/91yXF0dDlbRETC06dmLZRNhJimd5W9OuqJe8ndv3GAYz8ws0HA\nyMP9cHd/FHi0zb52w5u7f/xwP0cOXUNTklueXsWk4f04c0JZ1OWIiPRofWrWwshzoi5DupmDhjh3\nf6SD45Vo6o+c9MDCDazftptvXnSMeuFERKJUu5WC+q0amSr7OWi/rJnFzew6M/uWmZ3a5ti/h1ua\nRKWxKclPnl7FscP6MmvioKjLERHp2aqWBVsttyVtdHRx/efAmcAW4Mdm9oNWxy4JrSqJ1IOvbWTt\n1lo+d9Z49cKJiEStec3UMvXEyb46CnHT3f0yd/8RMAMoMrM/mlkBoN/uOai5F+6oIX1579HlUZcj\nIiKVFTTGe0G/4VFXIt1MRyGuZYp+d2909znAa8BTQFGYhUk0Hn5jE29uruHzs8epF05EpDuorKCm\nz0jQ/5OljY5C3Ctmts9wGHf/JvBLYHRYRUk0mpLOzU+tZGJ5Me87enDU5YiIiDtULg1CnEgbBw1x\n7n6Fu/+1nf13uHteeGVJFB5ZtInVVTV8dvY4YjH9xSciErmaKti9lZo+o6KuRLqhTs0aaGbxsAuR\naCWTzs1PrmT8oCLOO3ZI1OWIiAi0DGpQT5y0p8MQZ2bFwIMZqEUi9Ncl77Cyspobz1IvnIhIt5EK\ncbW9FeJkfx3NEzcEeILUwvKSm5JJ58dPrmRsWR/OP35o1OWIiEizyqXQq5T6/P5RVyLdUEc9cc8B\n33X3hzJRjETj8aXvsuydXdw4axxx9cKJiHQfVctg0FEamSrt6ijEbQOGZaIQiYZ70As3ekBvLpyk\nXjgRkW7DPbicOuioqCuRbqqjEDcTONfMbshALRKBvy19l6WbdnLjWeNJxDs1zkVERDJh5wao26kQ\nJwfU0RQjNcCFwOTMlCOZ5O78+KmVjCztzcUnqBdORKRbqUytmVqmECft67Drxd2b3P3aTBQjmfXU\nskoWb9jJjbPGqRdORKS7qVwabNUTJwdwWL+5zSxmZpenuxjJHHfnpidXMqK0Fx+YotseRUS6napl\nUDQYepdGXYl0Ux1NMdLXzL5qZj8xs/dZ4LPAGuAjmSlRwjBvRRVvrN/BDTPHkadeOBGR7qdyKQw6\nMuoqpBvr6Lf3r4CJwCLgWuBp4EPAxe5+Uci1SUjcnZueWMmw/r24ZMrwqMsREZG2kkmoWg6Djo66\nEunGEh0cH+vuxwGY2R3AJmCku+8JvTIJzbMrN/Pauu185wPHkp9QL5yISLez/W1oqIUy9cTJgXX0\nG7yh+YG7NwHrFeCyW9ALt4Kh/Qr50FT1womIdEup5bbUEycH01FP3CQz25l6bECv1HMD3N37hlqd\npN3fV21h4drtfOuiYyhIxKMuR0RE2lOVCnFlE6OtQ7q1g4Y4d9dv+RwSjEhdweC+hXzkxBFRlyMi\nIgdSWQH9RkCh+krkwDoanVrU0Rt05hzpHl5YvYWX39rGp2ceoV44EZHuTMttSSd0dE/cg2b2f2Z2\nhpn1ad5pZmPN7JNm9hhwTrglSrrc9ORKBhUX8FH1womIdF9NjbB5hUKcdKijy6mzzew84DrgVDMr\nARqB5cAjwNXu/k74ZUpXzV+zhRff3MrXzz+awjz1womIdFtb10BTvZbbkg51NLABd38UeDQDtUiI\nbnpiJWXFBVw2Y2TUpYiIyMFouS3pJE0S1gO89OZWXlizhevOGKteOBGR7q5qGWAwcELUlUg3pxDX\nA/z4yZUMLMrn8hmjoi5FREQ6UrkUSsdAfu+oK5FuTiEuxy14eyvPr9rMnDPG0itfvXAiIt1e5TJN\n8iud0ukQZ2anmdknUo/LzGxMeGVJutz05CoG9MnnipPUCyci0u011sGWVVpuSzqlUyHOzL4BfBn4\nampXHnBvWEVJery6dhvPrqjiU2eMpXd+h2NYREQkaptXgjdpUIN0Smd74j4AXAjUALj7RqA4rKIk\nPW56ciUlvfO4Ur1wIiLZoWpZsNXlVOmEzoa4end3wAFaT/wr3dNr67Yzb3kV154+lj4F6oUTEckK\nlUshloAB46KuRLJAZ0Pc783s50B/M/sU8ARwe3hlSVfd/ORK+vfO4+pTRkddioiIdFZlRRDgEvlR\nVyJZoFMhzt2/D9wH3A9MBL7u7jd39cPN7BwzW25mq8zsK+0cv9zM3jCzRWb2DzOb1NXP7AkWrd/B\nk8sq+eSpYyhSL5yISPaorNCgBum0Dn/Dm1kceMLdZwF/S9cHp973FuC9wHrgZTN7yN2XtjrtTeBM\nd99mZucCtwEz0lVDrrrpyZX0LUxw9amjoy5FREQ6q74Wtr0Fkz4WdSWSJTrsiXP3JiBpZv3S/NnT\ngVXuvsbd64G5wEVtPvsf7r4t9XQ+MDzNNeScxRt28ETFu3zytLH0LcyLuhwREemszcsB18hU6bTO\nXmurBhaZ2d9IjVAFcPfPdeGzhwHrWj1fz8F72T4J/KULn5c2SzbuoG9hHiNKu99s2jc/tZLiwgQf\nVy+ciEh2qawItgpx0kmdDXF/TH1FwsxmEYS40w5yzhxgDkB5eTnz5s0LpZampPPV53eTdPjq9EIG\n9Oo+i16s25XksSW7ueiIPF598e9pf//q6urQfq4SDbVpblK7Zqexqx9juOXx3Btr8diGfY6pTXNT\nV9u1UyHO3e82s3ygeTXe5e7ecNifGtgAjGj1fHhq3z7M7HjgDuBcd99ykBpvI7hnjmnTpvnMmTO7\nWN6B/WLCDi6/Yz4/WgS/mzODof17hfZZh+Izv15AcUED37x8Fv16p/9S6rx58wjz5yqZpzbNTWrX\nLLX+J1B+JGeeNXu/Q2rT3NTVdu3sig0zgZUEAxF+CqwwszMO+1MDLwPjzWxMKiBeCjzU5nNHEvQA\nXunuK7r4eWlz3PB+/OqTM9he28Clt81n047dUZfE8nd28eiid/j4qaNDCXAiIhKyygoo06VU6bzO\nXgv8P+B97n6mu58BnA38sCsf7O6NwI3AY0AF8Ht3X2Jm15vZ9anTvg4MAH5qZq+Z2Std+cx0mjSi\nP7/65Ay21dRz6W3zeWfHnkjr+fFTK+mTH+eaU7WkrYhI1tmzE3au1/1wckg6G+Ly3H1585NUr1iX\nu3vc/VF3n+DuR7j7d1L7bnX3W1OPr3X3Enc/IfU1raufmU4njOjPPZ+czpbqej52e3RBbuW7u3h0\n0SauPmU0JX00QaSISNZpWW5LIU46r7Mh7hUzu8PMZqa+bge6Ta9YlCaPLOHua6ZTtauOy26fz7s7\nMx/kbn5qFb3y4lx7+tiMf7aIiKRBZWqKVIU4OQSdDXGfBpYCn0t9LU3tE2DqqBLuvuZE3t25h4/d\nPp/KDAa5VZXV/PmNjVx58ihK1QsnIpKdKpdBXh/oNzLqSiSLdDbEJYCb3P0Sd78E+DEQD6+s7DN1\nVCl3XzOdd3akgtyuzAS5nzy1ksJEnDnqhRMRyV6VS6FsIsS6z7RV0v119r+WJ4HW82j0Ap5IfznZ\nbdroUu76xHQ27djDZbe/SNWuulA/b01VNQ+9HvTCDSgqCPWzREQkRJUVMOjoqKuQLNPZEFfo7tXN\nT1KPu99yBd3A9DGl/PLjJ7Jh224uu30+m6vDC3I/eXoV+YkYn1IvnIhI9qrZAjWVuh9ODllnQ1yN\nmU1pfmJmU4HoJ0frpmaMHcCdHz+Rddtquez2+WwJIci9tbmGB1/byOUzRlFWrF44EZGsVdW83NaR\n0dYhWaezIe4LwB/M7Dkzex74HcEcb3IAJx8xgDuvPpG1W2u5/I4X0x7kbnl6FYmYcd2Z6oUTEclq\nLWum6nKqHJpOhTh3fxk4kmBE6vXAUe6+IMzCcsEp4wbyi6tP5M3NNVx+x4tsralPy/uu3VLLH1/d\nwGUzRjKouDAt7ykiIhGprICCflA8JOpKJMscNMSZ2YlmNhggtVbqFOA7wP+ZWWkG6st6p7YJctvS\nEORueXoV8Zhx/ZlHpKFCERGJVGVFcD+cWdSVSJbpqCfu50A9QGqt1O8C9wA7SC02Lx07bfxAbr9q\nGqurqrn8jhfZXnv4QW7d1lruX7iej504gvK+6oUTEclq7sE9cRrUIIehoxAXd/etqccfBW5z9/vd\n/f8B48ItLbecMaGM26+axqouBrmfzltNzIzrZ6oXTkQk61W/C7u3KcTJYekwxJlZIvV4NvBUq2OJ\nds6XgzhzQhk/v3IqK9+t5spfvMSO2oZDev2G7bu5b8E6PnriCIb069XxC0REpHvTclvSBR2FuN8C\nz5jZgwRTijwHYGbjCC6pyiGaNXEQP79yKsvf2cVVd77Ijt2dD3I/m7cKQL1wIiK5orJ54XuNTJVD\nd9AQ5+7fAb4I3AWc5u7e6nWfDbe03DXryEH87IopLN20k6vufImdezoOcpt27Ob3L6/nw9NGMKy/\neuFERHJC5VLoPRD6DIy6EslCHU4x4u7z3f0Bd69ptW+Fuy8Mt7TcNvuocn56+VSWbtzBVb94iV0d\nBLmfzVtN0p3PqBdORCR3VC3TpVQ5bFppN0LvPbqcn1w2hcUbdnD1nQcOcu/s2MPcl9bxoanDGV6i\n1c5ERHKC+97pRUQOg0JcxM4+ZjA/uWwKb6zfwcd/+TLVdY37nXPrM0Ev3A2zNCBYRCRn7FgH9dUK\ncXLYFOK6gXOOHczNH5vMa+u28/E7X9onyFXu3MNvX1rLJVOGMaJUvXAiIjlDgxqkixTiuolzjxvC\njy+dzKvrtnPNL1+mJhXkbn1mDY1J9cKJiOSc5ulFyrTwvRwehbhu5P3HD+GmS09gwdptfOKul1m7\npZZfv/g2F58wjFED+kRdnoiIpFPVMigeCr36R12JZClN2NvNnH/8UJIOX5j7Kuf9+DkampLceJZ6\n4UREck7lUt0PJ12inrhu6MJJQ/nhR0+gtr6RiycPY8xA9cKJiOSUZBNULVeIky5RT1w3ddEJwzh2\nWD9N7Csikou2vQWNexTipEsU4rqxI8qKoi5BRETCUFkRbMsU4uTw6XKqiIhIprWEuInR1iFZTSFO\nREQk06oqoP8oKNAVFzl8CnEiIiKZpuW2JA0U4kRERDKpqQE2r1SIky5TiBMREcmkLash2aDltqTL\nFOJEREQyScttSZooxImIiGRS1TKwGAycEHUlkuUU4kRERDKpcimUjoW8wqgrkSynECciIpJJGpkq\naaIQJyIikikNe2DrGg1qkLSINMSZ2TlmttzMVpnZV9o5bmb249TxN8xsShR1ioiIpMXmFeBJDWqQ\ntIgsxJlZHLgFOBc4GviYmbX90+RcYHzqaw7ws4wWKSIikk5Vy4OtLqdKGkTZEzcdWOXua9y9HpgL\nXNTmnIuAezwwH+hvZkMyXaiIiEha1G4OtkXl0dYhOSHKEDcMWNfq+frUvkM9R0REJDvUVwfbfK2Z\nKl2XiLqAdDGzOQSXXCkvL2fevHnRFpSDqqur9XPNMWrT3KR27b7GrKlghCV49vl/HNLr1Ka5qavt\nGmWI2wCMaPV8eGrfoZ4DgLvfBtwGMG3aNJ85c2baCpXAvHnz0M81t6hNc5PatRurfQSqig+5fdSm\nuamr7Rrl5dSXgfFmNsbM8oFLgYfanPMQcFVqlOpJwA5335TpQkVERNKivkaXUiVtIuuJc/dGM7sR\neAyIA3e6+xIzuz51/FbgUeA8YBVQC3wiqnpFRES6rL4a8vtEXYXkiEjviXP3RwmCWut9t7Z67MAN\nma5LREQkFHUKcZI+WrFBREQkU+prFOIkbRTiREREMkX3xEkaKcSJiIhkiu6JkzRSiBMREckU9cRJ\nGinEiYiIZIruiZM0UogTERHJhGQSGtQTJ+mjECciIpIJDTXBVj1xkiYKcSIiIplQrxAn6aUQJyIi\nkgktIU6XUyU9FOJEREQyob462BYoxEl6KMSJiIhkgi6nSpopxImIiGRCXaonTpdTJU0U4kRERDKh\n+XKqeuIkTRTiREREMkGXUyXNFOJEREQyQaNTJc0U4kRERDKhXvfESXopxImIiGRCfQ3E8iCRH3Ul\nkiMU4kRERDKhvlr3w0laKcSJiIhkQn2NLqVKWinEiYiIZIJ64iTNFOJEREQyob5GIU7SSiFOREQk\nE+prtG6qpJVCnIiISCbUV+ueOEkrhTgREZFMqNM9cZJeCnEiIiKZoHviJM0U4kRERDJBU4xIminE\niYiIhC2ZhAb1xEl6KcSJiIiEraE22CrESRopxImIiIStvibY6nKqpJFCnIiISNjqq4OtQpykkUKc\niIhI2FpCnC6nSvooxImIiISt5XKqQpykj0KciIhI2HRPnIRAIU5ERCRsupwqIYgkxJlZqZn9zcxW\nprYl7ZwzwsyeNrOlZrbEzD4fRa0iIiJd1twTV6CeOEmfqHrivgI86e7jgSdTz9tqBL7o7kcDJwE3\nmNnRGaxRREQkPeo0OlXSL6oQdxFwd+rx3cDFbU9w903uvjD1eBdQAQzLWIUiIiLposupEgJz98x/\nqNl2d++femzAtubnBzh/NPAscKy77zzAOXOAOQDl5eVT586dm+6ye7zq6mqKivRXZC5Rm+YmtWv3\nM2bNrxix7gGePeN+MDvk16tNc1Nzu86aNWuBu0871NcnwigKwMyeAAa3c+hrrZ+4u5vZAZOkmRUB\n9wNfOFCAS73PbcBtANOmTfOZM2ceTtlyEPPmzUM/19yiNs1NatduqPZRqCxi5qxZh/VytWlu6mq7\nhhbi3P09BzpmZu+a2RB332RmQ4DKA5yXRxDgfu3ufwypVBERkXDV1+h+OEm7qO6Jewi4OvX4auDB\ntiekLrP+Aqhw9x9ksDYREZH0qq9WiJO0iyrEfRd4r5mtBN6Teo6ZDTWzR1PnnApcCZxlZq+lvs6L\nplwREZEuqK/WoAZJu9Aupx6Mu28BZrezfyNwXurx88Ch3/0pIiLS3dTXKMRJ2mnFBhERkbDpcqqE\nQCFOREQkbOqJkxAoxImIiIRNIU5CoBAnIiIStvoaKCiOugrJMQpxIiIiYUomNTpVQqEQJyIiEqaG\n2mCrECdpphAnIiISpvqaYKsQJ2mmECciIhKm+upgqylGJM0U4kRERMKknjgJiUKciIhImBTiJCQK\ncSIiImFquZyqKUYkvRTiREREwtQS4tQTJ+mlECciIhImXU6VkCjEiYiIhKklxGl0qqSXQpyIiEiY\ndDlVQqIQJyIiEqb6GrA4JAqirkRyjEKciIhImOqqoaAIzKKuRHKMQpyIiEiY6mt0P5yEQiFOREQk\nTPXVuh9OQqEQJyIiEqb6GoU4CYVCnIiISJh0OVVCohAnIiISJl1OlZAoxImIiISpvlo9cRIKhTgR\nEZEw6Z44CYlCnIiISJh0T5yERCFOREQkLMmkeuIkNApxIiIiYWncDbhCnIRCIU5ERCQs9TXBViFO\nQqAQJyIiEpa6XcG2oDjaOiQnKcSJiIiERT1xEiKFOBERkbAoxEmIFOJERETC0hLiNMWIpJ9CnIiI\nSFjqq4OteuIkBApxIiIiYdHlVAlRJCHOzErN7G9mtjK1LTnIuXEze9XMHs5kjSIiIl3W0hOny6mS\nflH1xH0FeNLdxwNPpp4fyOeBioxUJSIikk4KcRKiqELcRcDdqcd3Axe3d5KZDQfeD9yRobpERETS\np74GLA6JgqgrkRxk7p75DzXb7u79U48N2Nb8vM159wH/DRQD/+Lu5x/kPecAcwDKy8unzp07N5Ta\ne7Lq6mqKivTXZC5Rm+YmtWv3MW7l7Qx+52meP/03XXoftWluam7XWbNmLXD3aYf6+kQYRQGY2RPA\n4HYOfa31E3d3M9svSZrZ+UCluy8ws5kdfZ673wbcBjBt2jSfObPDl8ghmjdvHvq55ha1aW5Su3Yj\nO/4AO/t1uT3Uprmpq+0aWohz9/cc6JiZvWtmQ9x9k5kNASrbOe1U4EIzOw8oBPqa2b3ufkVIJYuI\niKRXfY1Gpkpooron7iHg6tTjq4EH257g7l919+HuPhq4FHhKAU5ERLJKXbVCnIQmqhD3XeC9ZrYS\neE/qOWY21MwejagmERGR9KqvgYLiqKuQHBXa5dSDcfctwOx29m8Ezmtn/zxgXuiFiYiIpFN9NfQd\nGnUVkqO0YoOIiEhYdE+chEghTkREJCwKcRIihTgREZGw1NdotQYJjUKciIhIGNyDe+LUEychUYgT\nEREJQ0Mt4OqJk9AoxImIiIShvibYqidOQqIQJyIiEob66mCrnjgJiUKciIhIGNQTJyFTiBMREQmD\nQpyETCFOREQkDHW6nCrhUogTEREJQ/M9cQUKcRIOhTgREZEw6HKqhEwhTkREJAwtIU49cRIOhTgR\nEZEwtEwxop44CYdCnIiISBjqa8BikCiMuhLJUQpxIiIiYaivCS6lmkVdieQoc/eoa0g7M6sC3o66\njhw0ENgcdRGSVmrT3KR2zT1q09zU3K6j3L3sUF+ckyFOwmFmr7j7tKjrkPRRm+YmtWvuUZvmpq62\nqy6nioiIiGQhhTgRERGRLKQQJ4fitqgLkLRTm+YmtWvuUZvmpi61q+6JExEREclC6okTERERyUIK\ncSIiIiJZSCFOWpjZnWZWaWaLW+0rNbO/mdnK1Lak1bGvmtkqM1tuZmdHU7UcjJmNMLOnzWypmS0x\ns8+n9qtds5SZFZrZS2b2eqpN/zO1X22a5cwsbmavmtnDqedq0yxnZm+Z2SIze83MXkntS1u7KsRJ\na3cB57TZ9xXgSXcfDzyZeo6ZHQ1cChyTes1PzSyeuVKlkxqBL7r70cBJwA2ptlO7Zq864Cx3nwSc\nAJxjZiehNs0FnwcqWj1Xm+aGWe5+Qqv54NLWrgpx0sLdnwW2ttl9EXB36vHdwMWt9s919zp3fxNY\nBUzPSKHSae6+yd0Xph7vIvgFMQy1a9byQGpldfJSX47aNKuZ2XDg/cAdrXarTXNT2tpVIU46Uu7u\nm1KP3wHKU4+HAetanbc+tU+6KTMbDUwGXkTtmtVSl91eAyqBv7m72jT7/Qj4VyDZap/aNPs58ISZ\nLTCzOal9aWvXRDorldzm7m5mmpMmC5lZEXA/8AV332mtFuRWu2Yfd28CTjCz/sADZnZsm+Nq0yxi\nZucDle6+wMxmtneO2jRrnebuG8xsEPA3M1vW+mBX21U9cdKRd81sCEBqW5navwEY0eq84al90s2Y\nWR5BgPu1u/8xtVvtmgPcfTvwNMH9M2rT7HUqcKGZvQXMBc4ys3tRm2Y9d9+Q2lYCDxBcHk1buyrE\nSUceAq5OPb4aeLDV/kvNrMDMxgDjgZciqE8OwoIut18AFe7+g1aH1K5ZyszKUj1wmFkv4L3AMtSm\nWcvdv+ruw919NMGN7U+5+xWoTbOamfUxs+Lmx8D7gMWksV11OVVamNlvgZnAQDNbD3wD+C7wezP7\nJPA28BEAd19iZr8HlhKMgLwhdYlHupdTgSuBRal7qAD+DbVrNhsC3J0atRYDfu/uD5vZC6hNc43+\nnWa3coLbHSDIW79x97+a2cukqV217JaIiIhIFtLlVBEREZEspBAnIiIikoUU4kRERESykEKciIiI\nSBZSiBMRERHJQgpxIhI5MxtgZq+lvt4xsw2tnud38j1+aWYTOzjnBjO7PD1Vd56ZnZVapL6z548w\ns9+FWZOIZD9NMSIi3YqZ/QdQ7e7fb7PfCP6flWz3hd2YmX0b2OzuP4q6FhHJHeqJE5Fuy8zGmdlS\nM/s1sAQYYma3mdkrZrbEzL7e6tznzewEM0uY2XYz+66ZvW5mL6TWLcTMvm1mX2h1/nfN7CUzW25m\np6T29zGz+1Ofe1/qs05op7bvpc55w8z+J7Wv3Mz+mHrNS2Z2kpkdAVwLfCnVs3hKm/c5K1Xna2a2\nMPX545onZ071MDb3Sm42s6+l9n8l9RlvtP45iEjPoRUbRKS7OxK4yt1fgSC8uPtWM0sAT5vZfe6+\ntM1r+gHPuPtXzOwHwDUEs9+3Ze4+3cwuBL5OsAbpZ4F33P2DZjYJWLjfi8zKgfOAY1ILWPdPHfox\n8L/uPt/MRgMPu/uxZnYHB+6J+xIwx91fNLMiYE/rg+7+idRnjgEeJVit4TxgJDADMOBRMzvF3f9x\nwJ+iiOQc9cSJSHe3ujnApXzMzBYShKujgKPbec1ud/9L6vECYPQB3vuP7ZxzGsEi5Lj76wQ9gG1t\nBZLA7Wb2AaAmtf89wK2pXrQ/ASWp9U0P5u/ATWb2WaBve8vsmFlv4A/AZ9x9PcEajOcCrxL8HMYB\nEzr4HBHJMeqJE5HurjkgYWbjgc8D0919u5ndCxS285r6Vo+bOPD/6+o6cc5+3L3BzKZdZNHLAAAB\nYElEQVQRLD7/YeDTBMHKUrW1/nxSayce6L2+bWYPAe8H5pvZbKDtzcq3AXPd/enmtwS+7e6/6GzN\nIpJ71BMnItmkL7AL2GlmQ4CzQ/iMv5NakNrMjqOdnj4zKyboNXsY+CdgcurQE8ANrc5rvpduF1Dc\n3oeZ2RHu/oa7/zdBr9rENsc/D+S1GejxGPBJM+uTOme4mQ081G9URLKbQpyIZJOFwFJgGXAPQeBK\nt5uBYWa2FPhG6vN2tDmnH/CImb0OPAP8c2r/DcCpqcEGS4FPpfY/CHzEzF5tO7AB+BczW2xmbwDV\nwONtjwMntBrccK27PwrcR9Bztwj4PVDU1W9cRLKLphgREWklNWAi4e57UpdvHwfGu3tjxKWJiOxD\n98SJiOyrCHgyFeYMuE4BTkS6I/XEiYiIiGQh3RMnIiIikoUU4kRERESykEKciIiISBZSiBMRERHJ\nQgpxIiIiIlno/wPbEv5uz4F0+gAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,6))\n", "mglearn.plots.plot_ridge_n_samples()\n", "plt.title('Learning curves for ridge regression and linear regression \\n on Boston housing dataset', y=1.2)\n", "plt.grid()\n", "plt.ylim([-0.5,1.02])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the above learning curve, we can deduce that\n", "- Training score is higher than test score for different training set size, for both linear and ridge regression.\n", "- As ridge is regularized (as weights are constrained), the training score of ridge is always lower than linear regression. \n", "- However, the test score for ridge is better, especially for smaller training dataset.\n", "\n", "As more and more data becomes available for training the model, both models improve, and linear regression catches up with ridge. The lesson here is that with enough training data, regularization becomes less important. Another interesting aspect is the decrease of training set preformance when more data is added. This implies that, with more data, it becomes harder for the model to overfit or memorize the data crudely." ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-14T03:49:13.842928Z", "start_time": "2018-09-14T03:49:13.464375Z" } }, "source": [ "## Lasso" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- An alternative to `Ridge` for regularizing and to restrict the weight/ slope coefficients close to zero, but in a slightly different way.\n", "\n", "- The lasso regression is also known as `L1 regularization`, penalizes the sum of absolute value of the `w`\n", "

\"Cost

\n", "\n", "- The ridge regression is also known as `L2 regularization`, penalizes the Euclidean length of `w`\n", "

\"Cost

\n", "\n", "\n", "

The consequence of L1 regularization is that when using lasso, some coefficients are exactly zero

\n", "\n", "

This can be seen as automatic feature selection, where having some coefficients as 0 reveals the most important features of the model, thereby making it easier to interpret it

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### boston housing: *n*-D dataset" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T04:47:30.200863Z", "start_time": "2018-09-14T04:47:30.165390Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape of training set: (379, 104)\n", "Shape of test set : (127, 104)\n", "\n", "Lasso details: Lasso(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=1000,\n", " normalize=False, positive=False, precompute=False, random_state=None,\n", " selection='cyclic', tol=0.0001, warm_start=False)\n", "\n", "Number of features used: 4 out of 104\n", "Training set score: 0.29\n", "Test set score: 0.21\n" ] } ], "source": [ "import mglearn\n", "from sklearn.linear_model import Lasso\n", "from sklearn.model_selection import train_test_split\n", "import numpy as np\n", "\n", "X,y = mglearn.datasets.load_extended_boston()\n", "X_train, X_test, y_train, y_test = train_test_split(X,y, random_state=0)\n", "print (\"Shape of training set: {}\".format(X_train.shape))\n", "print (\"Shape of test set : {}\".format(X_test.shape))\n", "\n", "lasso = Lasso().fit(X_train, y_train)\n", "print (\"\\n\" + 'Lasso details:', lasso)\n", "print (\"\\nNumber of features used: {} out of {}\".format(np.sum(lasso.coef_ != 0), X.shape[1]))\n", "\n", "print(\"Training set score: {:.2f}\".format(lasso.score(X_train, y_train)))\n", "print(\"Test set score: {:.2f}\".format(lasso.score(X_test, y_test)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `alpha`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- We can see that Lasso does quite badly on both training (`0.29`) and testing (`0.21`) whereas *Ridge scored `0.77` on test set*. \n", "- A low training and test score indicates **underfitting** and it's obvious that the **model only used `4` out of `104` input features**\n", "- Similar to `Ridge`, we can control the regularization strength using `alpha` parameter. \n", "- To resovle underfitting issue, let's reduce the `alpha` from `default value (1.0)` to `0.01`, thereby reducing the regularization strength. " ] }, { "cell_type": "code", "execution_count": 93, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T04:54:10.228671Z", "start_time": "2018-09-14T04:54:10.152718Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Lasso details: Lasso(alpha=0.01, copy_X=True, fit_intercept=True, max_iter=100000,\n", " normalize=False, positive=False, precompute=False, random_state=None,\n", " selection='cyclic', tol=0.0001, warm_start=False)\n", "\n", "Number of features used: 33 out of 104\n", "Training set score: 0.90\n", "Test set score: 0.77\n" ] } ], "source": [ "lasso = Lasso(alpha=.01, max_iter=100000).fit(X_train, y_train)\n", "print (\"\\n\" + 'Lasso details:', lasso)\n", "print (\"\\nNumber of features used: {} out of {}\".format(np.sum(lasso.coef_ != 0), X.shape[1]))\n", "\n", "print(\"Training set score: {:.2f}\".format(lasso.score(X_train, y_train)))\n", "print(\"Test set score: {:.2f}\".format(lasso.score(X_test, y_test)))" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-14T04:40:13.969734Z", "start_time": "2018-09-14T04:40:13.957757Z" } }, "source": [ "- It's evident that lower `alpha` allows us to fit a more complex model, thereby improving the score. \n", "- The performance on test data is `0.77` and is slightly better than `Ridge` as we are using only **33 out of 104** features. \n", "- If we set the `alpha` too low, we again remove the effect of regularization and end up overfitting, similar to `LinearRegression`." ] }, { "cell_type": "code", "execution_count": 95, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T04:57:21.957624Z", "start_time": "2018-09-14T04:57:19.358120Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Lasso details: Lasso(alpha=0.0001, copy_X=True, fit_intercept=True, max_iter=100000,\n", " normalize=False, positive=False, precompute=False, random_state=None,\n", " selection='cyclic', tol=0.0001, warm_start=False)\n", "\n", "Number of features used: 94 out of 104\n", "Training set score: 0.95\n", "Test set score: 0.64\n" ] } ], "source": [ "lasso = Lasso(alpha=.0001, max_iter=100000).fit(X_train, y_train)\n", "print (\"\\n\" + 'Lasso details:', lasso)\n", "print (\"\\nNumber of features used: {} out of {}\".format(np.sum(lasso.coef_ != 0), X.shape[1]))\n", "\n", "print(\"Training set score: {:.2f}\".format(lasso.score(X_train, y_train)))\n", "print(\"Test set score: {:.2f}\".format(lasso.score(X_test, y_test)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- It's evident that a very low `alpha` (close to 0) causes overfitting, thereby failing to generalize well on test set. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### alpha - Qualitative insight" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T05:05:22.984114Z", "start_time": "2018-09-14T05:05:19.997135Z" } }, "outputs": [ { "data": { "image/png": "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\nKWKp29GRvfur2bvnUqp1JcVrv4rTdO5pfIvuePs+PUou73j7PrrnkDf3K56BKuX+GafpSPE6nsZl\n+0vydE55dqXOW7VUu3cMk2TavWOYzlu1RKc8u7LPccsRT5yWDdMZnOnEKZZSKeUxuVTitJzjFMtA\nFVKyG4XnJB2W9v3QsFs3d/+hpB9K0sgjR3qVXP/esVZn6WXde++9Bc/ohEuu1/uGLdcIC4ojRlhX\n950HplOa6ZQqlvGX/CZnvyimc8Il1+trq57Sc4/vqwNfkV7aTzrk2Kf1gXHFbYMXnn2J5qzaLu0O\nSnzqXpHm3Ltd7U3363sRrHNJ0rZN0nenSV3SnCP+qTnfuVnad9ygx3Lf8Sdp7Kuv9Or+0sgxRa+r\n/+j4X83Zr06SieNF6adzwiXX6yPjntGcT9fptaoqjdizR7c9+6xu3VHcMi7l/lmqdR636cTleBqn\n7S/J07nv+JM0bLf36DZst+uTT/xWb/3rA4MaT9yWDdMp/3TiFIsUv3NEKeOJy3KOUyxS/mVciEKe\n2Y3CQ5KOMbMjzWy4pA9KWpprYJM0Z/s/Vb+7q+g7Bul3HFL6c+ehlNPZ/vRwrV1ar9W/bNDapfX6\n59M1Ff27ShVL3Fy58Wfa+eBojQ2fJx37irTzwX301Y0/LWo6n1j9m+5Et9tu0ydW317UdEq6nJdf\nI3n4pjHfIy3/ZiSxvDJltGxYz+nYMFfHlH2Kjqdu927N3v5PmXuijhdxmU6plnGplHKdx206cTme\nxmn7S/J0Dspywy/oXlwNlzidz5lO5UwnTrGUUhzPWXHJI+IUSyn0WbJrZt9094v76lZK7t5lZhdI\n+r2CVw/91N0fzzX8qD2ulpc7NML26KTqJ4ua14nVT2qEej4UOMK6IptO84Y1euGhfeW7g/sQXTuq\n9cJD++oErYkknlJMp1SxjB09PGeLd1FM56jHNsozklTfbTr6seJanx2xo6uo7rmUajlr2yZp1Q3S\n7nAZ7d4ZfH/7xQWX7pYqlglHvaCDq17Wpkf21e4dwzRs1G4dPHWbbHxxjR6dWP2kOp+q0ftba/Te\nHV0aNqpGnVNrdNL4yj5exGk6qWm0vNyhdTU1/T4ml2r/LFU8cZxO51M1euaRA9W1Y5iqR+1W/dRt\nRW/LpVjOcdr+kjwdGyVpR47ugxxP3JYN0yn/dOIUixS/c0Sp40kXVR4Rp1ik3Mu4UObu+Qcwe9jd\n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\nEnT+P2H1yqucySzAAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "No of features used by Lasso(alpha=1) = 4\n", "No of features used by Lasso(alpha=0.01) = 33\n", "No of features used by Lasso(alpha=0.0001 = 94\n", "No of features used by Ridge(alpha=0.1) = 104\n" ] } ], "source": [ "lasso1 = Lasso(alpha=1).fit(X_train, y_train)\n", "lasso0_01 = Lasso(alpha=0.01, max_iter=100000).fit(X_train, y_train)\n", "lasso0_0001 = Lasso(alpha=0.0001, max_iter=100000).fit(X_train, y_train)\n", "ridge0_1= Ridge(alpha=0.1).fit(X_train, y_train)\n", "\n", "plt.figure(figsize=(16,6))\n", "plt.title('Comparing coefcient magnitudes for lasso regression with different values of alpha and for ridge regression')\n", "plt.plot(lasso1.coef_, 's', label=\"Lasso alpha=1\")\n", "plt.plot(lasso0_01.coef_, '^', label=\"Lasso alpha=0.01\")\n", "plt.plot(lasso0_0001.coef_, 'v', label=\"Lasso alpha=0.0001\")\n", "plt.plot(ridge0_1.coef_, 'o', label=\"Ridge alpha=0.1\")\n", "plt.xlabel(\"Coefficient index\")\n", "plt.ylabel(\"Coefficient magnitude\")\n", "plt.hlines(0, 0, len(ridge0_1.coef_))\n", "plt.xlim(0,50)\n", "plt.ylim(-25,25)\n", "plt.legend()\n", "plt.show()\n", "\n", "print (\"No of features used by Lasso(alpha=1) = {}\".format(np.sum(lasso1.coef_ != 0)))\n", "print (\"No of features used by Lasso(alpha=0.01) = {}\".format(np.sum(lasso0_01.coef_ != 0)))\n", "print (\"No of features used by Lasso(alpha=0.0001 = {}\".format(np.sum(lasso0_0001.coef_ != 0)))\n", "print (\"No of features used by Ridge(alpha=0.1) = {}\".format(len(ridge0_1.coef_)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

A higher alpha means a more restricted model (more penalty), so we execpt a lot of losso coef_ (weights) to have zero magnitude for a higher value of alpha.

\n", "\n", "This is confirmed by the above plot. Here,\n", "- `x-axis` spans over 104 data points, but only first 50 data point are shown. It corresponds to the `coeff_` or` weight` of `n`th feature/ dimension\n", "- `y-axis` shows the numeric (magnitude) values of the corresponding values of the coefficients.\n", "

■ Coefficients of Losso model with alpha=1: Here, the majority of the coefficients are zero and the remaining 4 features are also small in magnitude

\n", "

▲ Coefficients of Losso model with alpha=0.01: Here, most of the features are still zero, but the remaining 33 features are slightly less restricted than when alpha=1

\n", "

▼ Coefficients of Losso model with alpha=0.0001: Heremodel is slightly unregularized, woith most coefficients non-zero and large magnitude

\n", "

● Coefficients of Ridge model with alpha=0.1: Here, all the coefficients are non-zero though the test results are similar to Lasso model with alpha=0.01

" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:12:55.088600Z", "start_time": "2018-09-14T12:12:55.083622Z" } }, "source": [ "# Miscallaneous" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional Datasets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dataset 1: 1-D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You are the CEO of a restaurant franchise and are considering different cities for opening a new outlet. The chain already has trucks in various cities and you have data for profits and population from cities.\n", "\n", "You would like to use this data to help you select which city to expand next based solely on the city population.\n", "\n", "- The first column is the population of city and \n", "- the second column is the profit of a good truck in that city. The -ve value for profit indicates a loss" ] }, { "cell_type": "code", "execution_count": 339, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:29:32.600819Z", "start_time": "2018-09-14T12:29:32.590823Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "File already exists: data\\ex1data1.txt\n" ] } ], "source": [ "# This block of code downloads the data file from GitHub incase if it doesn't exist in the computer\n", "import urllib\n", "import os\n", "\n", "url = '''https://prasanth-ntu.github.io/html/ML-Course/Intro-to-ML-with-Python/data/ex1data1.txt'''\n", "\n", "path = os.path.join(url.split(\"/\")[-2], url.split(\"/\")[-1])\n", "\n", "if not os.path.exists(path):\n", " path_out, message = urllib.request.urlretrieve(url, path)\n", " print (\"File downloaded to:\", path)\n", "else:\n", " print (\"File already exists:\", path)" ] }, { "cell_type": "code", "execution_count": 290, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T11:50:33.084074Z", "start_time": "2018-09-14T11:50:33.076100Z" } }, "outputs": [], "source": [ "import pandas as pd\n", "data = pd.read_csv(path, header=None, names=['Population in 10,000s', 'Profit in $10,000s'])" ] }, { "cell_type": "code", "execution_count": 291, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T11:50:34.342092Z", "start_time": "2018-09-14T11:50:34.327102Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Population in 10,000sProfit in $10,000s
06.110117.5920
15.52779.1302
28.518613.6620
37.003211.8540
45.85986.8233
\n", "
" ], "text/plain": [ " Population in 10,000s Profit in $10,000s\n", "0 6.1101 17.5920\n", "1 5.5277 9.1302\n", "2 8.5186 13.6620\n", "3 7.0032 11.8540\n", "4 5.8598 6.8233" ] }, "execution_count": 291, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head() # displays the first 5 rows" ] }, { "cell_type": "code", "execution_count": 292, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T11:50:35.022069Z", "start_time": "2018-09-14T11:50:34.997082Z" }, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Population in 10,000sProfit in $10,000s
count97.00000097.000000
mean8.1598005.839135
std3.8698845.510262
min5.026900-2.680700
25%5.7077001.986900
50%6.5894004.562300
75%8.5781007.046700
max22.20300024.147000
\n", "
" ], "text/plain": [ " Population in 10,000s Profit in $10,000s\n", "count 97.000000 97.000000\n", "mean 8.159800 5.839135\n", "std 3.869884 5.510262\n", "min 5.026900 -2.680700\n", "25% 5.707700 1.986900\n", "50% 6.589400 4.562300\n", "75% 8.578100 7.046700\n", "max 22.203000 24.147000" ] }, "execution_count": 292, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.describe() # displays the basic stats of each column" ] }, { "cell_type": "code", "execution_count": 297, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T11:52:02.642434Z", "start_time": "2018-09-14T11:52:02.297649Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of dataset: (97, 2)\n" ] }, { "data": { "image/png": "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\naZ0LbjAAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "\n", "fname = path\n", "data = np.genfromtxt(fname, delimiter=',')\n", "print (\"Size of dataset:\", data.shape)\n", "\n", "X = data[:,0:1] # input feature - city population\n", "y = data[:,-1] # output - profit\n", "\n", "plt.plot(X,y, 'rx')\n", "plt.xlabel('Population in 10,000s')\n", "plt.ylabel('Profit in $10,000s')\n", "plt.title('Scatter plot of entire data')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Dataset 2: 2-D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose we are selling our hoeu and we want to know what a good market price would be. One way to do this is to first collect information on recent houses sold in the neighourhood and make a model of housing prices.\n", "\n", "- The first column in the size of the house (in sq feet)\n", "- the second column in the number of bedrooms\n", "- the third column is the price of the house" ] }, { "cell_type": "code", "execution_count": 340, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:29:38.201795Z", "start_time": "2018-09-14T12:29:38.187822Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "File already exists: data\\ex1data2.txt\n" ] } ], "source": [ "# This block of code downloads the data file from GitHub incase if it doesn't exist in the computer\n", "import urllib\n", "import os\n", "\n", "url = '''https://prasanth-ntu.github.io/html/ML-Course/Intro-to-ML-with-Python/data/ex1data2.txt'''\n", "\n", "path = os.path.join(url.split(\"/\")[-2], url.split(\"/\")[-1])\n", "\n", "if not os.path.exists(path):\n", " path_out, message = urllib.request.urlretrieve(url, path)\n", " print (\"File downloaded to:\", path)\n", "else:\n", " print (\"File already exists:\", path)" ] }, { "cell_type": "code", "execution_count": 319, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:07:06.835608Z", "start_time": "2018-09-14T12:07:06.824634Z" } }, "outputs": [], "source": [ "import pandas as pd\n", "data = pd.read_csv(path, header=None, names=['House size (in sq ft)','No of bedrooms','House price'])" ] }, { "cell_type": "code", "execution_count": 320, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:07:07.322330Z", "start_time": "2018-09-14T12:07:07.301362Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
House size (in sq ft)No of bedroomsHouse price
021043399900
116003329900
224003369000
314162232000
430004539900
\n", "
" ], "text/plain": [ " House size (in sq ft) No of bedrooms House price\n", "0 2104 3 399900\n", "1 1600 3 329900\n", "2 2400 3 369000\n", "3 1416 2 232000\n", "4 3000 4 539900" ] }, "execution_count": 320, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head() # displays the first 5 rows" ] }, { "cell_type": "code", "execution_count": 321, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:07:10.102931Z", "start_time": "2018-09-14T12:07:10.066947Z" }, "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
House size (in sq ft)No of bedroomsHouse price
count47.00000047.00000047.000000
mean2000.6808513.170213340412.659574
std794.7023540.760982125039.899586
min852.0000001.000000169900.000000
25%1432.0000003.000000249900.000000
50%1888.0000003.000000299900.000000
75%2269.0000004.000000384450.000000
max4478.0000005.000000699900.000000
\n", "
" ], "text/plain": [ " House size (in sq ft) No of bedrooms House price\n", "count 47.000000 47.000000 47.000000\n", "mean 2000.680851 3.170213 340412.659574\n", "std 794.702354 0.760982 125039.899586\n", "min 852.000000 1.000000 169900.000000\n", "25% 1432.000000 3.000000 249900.000000\n", "50% 1888.000000 3.000000 299900.000000\n", "75% 2269.000000 4.000000 384450.000000\n", "max 4478.000000 5.000000 699900.000000" ] }, "execution_count": 321, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.describe() # displays the basic stats of each column" ] }, { "cell_type": "code", "execution_count": 327, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:09:55.374873Z", "start_time": "2018-09-14T12:09:54.947119Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Size of entire dataset: (47, 3)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAI1CAYAAADFDnLeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXlwXNWd/v30pt67ZS2WZEmWF8mWZHCMN8lk+IUYHGKH\ncZZh2MI25J2ZJJMaEpKqOJg1FdYkNVkqZAFnApUfGEJN4pAMS+I3zoQMYIwDGEuy9r0tyZLct/f1\nvH/4vZduqVvq5d7uc6Xvp8pV0Oo+ffr27Xuf+73Peb4axhgIgiAIgiAIQo1oiz0BgiAIgiAIgsgV\nErMEQRAEQRCEaiExSxAEQRAEQagWErMEQRAEQRCEaiExSxAEQRAEQagWErMEQRAEQRCEaiExSxAE\nQRAEQagWErMEQRAEQRCEaiExSxAEQRAEQagWErMEQRAEQRCEatFn+XzqfUsQBEEQBEEojSbTJ1Jl\nliAIgiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAI\ngiAI1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAt\nJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAI\ngiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAIgiAI\n1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAIgiAIglAtJGYJgiAIgiAI1UJiliAIIguOHTuGurq6\ngrzXxMQE/s//+T+w2+346le/qvj7bdq0CceOHVNsfI1Gg97eXsXGJwhieUJiliAI3HTTTaiurobD\n4cCGDRvw5JNPSn87duwYtFotbDYbbDYb6urqcO211+Ktt95acMxDhw6hubkZdrsdVVVV2LdvHzwe\nT17zvO2223D33XcnPbZmzRr88Y9/zGtcpUg132z42c9+hoqKCgiCgO9+97syziz13E6fPo3LL79c\n1vfJhcHBQWg0GkSj0WJPhSAIFUBiliAIHDhwAP39/RAEAb/97W9x99134+2335b+vmrVKni9Xng8\nHrzxxhtobm7GZZddhqNHj6Yc789//jPuuusuPPvss/B4POjs7MR1111XqI+TMYwxxOPxYk8jLUND\nQ2htbYVGoyn2VEhYEgTBL4yxbP4RBLHE6erqYtXV1ey5555jjDH2pz/9idXW1s573r/927+xbdu2\npRzj29/+NvvkJz+Z9j38fj+788472erVq5nD4WAf/vCHmd/vZ4wxds0117CqqirmcDjYZZddxt5/\n/33GGGM//elPmV6vZwaDgVmtVnb11Vezm266iWk0GmYymZjVamWPPvooY4yx119/ne3atYs5nU62\nefNm9qc//Ul674985CPsrrvuYpdeeikzmUysp6dn3vwaGhrYQw89xFpaWlhpaSm77bbbWCAQSLk9\nOjo62Ec+8hHmdDpZa2srO3LkSNr5puKvf/0r2759O3M4HGz79u3sr3/9K2OMsVtvvTXp9X/4wx/m\nvTYYDLKvfvWrrL6+nq1cuZL967/+q7QdxXl+5zvfYZWVlay6upr9/Oc/X3BuDQ0N0vvcd9997B/+\n4R/YZz/7WWa329kTTzzBYrEYe/jhh9m6detYWVkZ+8d//Ec2PT2d9nt+7LHHWHV1NaupqWGHDh1i\nAKTt/bvf/Y5t2bKF2e12VldXx+677z7pdfX19QwAs1qtzGq1sv/93/9lvb297KMf/SgrKytj5eXl\n7MYbb2Szs7Np35sgCNWTsT4lMUsQBGOMsS984QvMbDYzAOySSy5hHo+HMZZezB49epRpNBrm9Xrn\n/e1//ud/mMlkYvfeey977bXXWDAYTPr7F7/4RfaRj3yEjY6Osmg0yv76179Kzzl06BATBIEFg0F2\nxx13sA996EPS62699VZ28ODBpLESBRhjjI2OjrKysjL2+9//nsViMfbqq6+ysrIyNjk5yRi7IGbr\n6+vZ+++/zyKRCAuHw/Pm39DQwDZt2sSGh4fZ9PQ0u/TSS6X3Tdwe4XCYrV+/nj344IMsFAqxo0eP\nMpvNxrq6utLON5Hp6WlWWlrKnn76aRaJRNgzzzzDSktL2blz5zJ6/Ze//GX293//92x6epoJgsCu\nvvpqduDAAWmeOp2O3XPPPSwcDrPf//73zGw2s5mZmYy25X333cf0ej379a9/zWKxGPP7/ex73/se\na2trYyMjIywYDLJ/+Zd/Yddff33Kub300kts5cqV7NSpU8zr9bIbbrghScz+6U9/Yu+99x6LxWLs\n3XffZStXrmS//vWvGWOMDQwMMAAsEolI4/X09LBXX32VBYNBNjk5yS677DJ2xx13pN02BEGonoz1\nKdkMCIIAADz++OPweDz4y1/+gs985jMwGo0LPn/VqlVgjOH8+fPz/nbZZZfhv/7rv3Dy5El84hOf\nQHl5Oe68807EYjHE43H8/Oc/x/e//33U1tZCp9Ph0ksvld7v9ttvh91uh9FoxP333493330Xbrc7\n48/xy1/+Evv27cO+ffug1WqxZ88ebN++Hf/93/8tPee2227Dpk2boNfrYTAYUo7zpS99CfX19Sgr\nK8PBgwfx7LPPznvOG2+8Aa/XiwMHDqCkpAS7d+/G1VdfnfK5qfj973+PpqYm3HzzzdDr9bjhhhvQ\n3NyMF198cdHXMsbws5/9DP/xH/+BsrIy2O123HXXXTh8+LD0HIPBgHvvvRcGgwH79u2DzWbDmTNn\nMpobAOzatQuf+tSnoNVqYTab8ZOf/AQPPvgg6urqpO/nhRdeSGlBeP755/FP//RPuOiii2C1WnH/\n/fcn/f3yyy/HxRdfDK1Wi82bN+OGG27An//857RzaWxsxJ49e2A0GlFZWYk777xzwecTBLF8IDFL\nEISETqfD3/3d32F0dBQ//vGPF3zu2NgYNBoNSktLU/597969ePHFFzEzM4MjR47gF7/4BZ588kmc\nO3cOwWAQ69evn/eaWCyGAwcOYP369XA4HFizZg0A4Ny5cxl/hqGhIfzqV79CaWmp9O+1116Dy+WS\nnlNfX7/oOInPaWhowPj4+LznjI+Po76+HlqtNum5Y2NjGc11fHwcDQ0NSY9l+vqpqSn4/X5s27ZN\n+pwf//jHMTU1JT2nvLwcer1e+n+LxQKv15vR3ID522loaAif/vSnpfdraWmBTqfDxMREys82dxsm\n8uabb+KjH/0oKisr4XQ68ZOf/GTB73liYgLXX389amtr4XA4cNNNN2W1XxAEsXQhMUsQxDyi0Sj6\n+voWfM6vf/1rbN26FVardcHnabVaXHHFFdi9ezfef/99VFRUwGQyoaenB7FY7ILf6f/nmWeewZEj\nR/DHP/4Rbrcbg4ODACA9J9VCqLmP1dfX4+abb8b58+elfz6fDwcOHEj7mlSMjIxI/z08PIxVq1bN\ne86qVaswMjKStIhseHgYtbW1Gb3PqlWrMDQ0lPRY4usXoqKiAmazGadPn5Y+p9vtzlisZrINUm3b\nl156KWnbBoPBlPOtqamZtw0TufHGG7F//36MjIzA7Xbj85///ILf81133QWNRoNTp05BEAT88pe/\n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\nAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "\n", "fname = path\n", "data = np.genfromtxt(fname, delimiter=',')\n", "print (\"Size of entire dataset:\", data.shape)\n", "\n", "X = data[:,0:2] # input features\n", "y = data[:,-1] # output - \n", "\n", "from mpl_toolkits.mplot3d import Axes3D\n", "fig = plt.figure(figsize=(12,10))\n", "ax = fig.add_subplot(111, projection='3d')\n", "ax.scatter(X[:,0], X[:,1], y)\n", "\n", "ax.set_xlabel('House size (in sq ft)')\n", "ax.set_ylabel('No of bedrooms')\n", "ax.set_zlabel('House Price'); \n", "\n", "plt.title(\"3D Scatter plot of entire data\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:17:26.659431Z", "start_time": "2018-09-14T12:17:26.654415Z" } }, "source": [ "### Dataset 3: *n*-D" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The code below will generate some sparse data to play with. \n", "To generate more features per input sample, change the `n_features` variable and to generate more data samples, increase the `n_samples` variable in the code below. " ] }, { "cell_type": "code", "execution_count": 336, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:22:23.431989Z", "start_time": "2018-09-14T12:22:23.414002Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dataset size: (50, 200) (50,)\n" ] } ], "source": [ "n_samples, n_features = 50, 200\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from sklearn.metrics import r2_score\n", "\n", "# #############################################################################\n", "# Generate some sparse data to play with\n", "np.random.seed(42)\n", "\n", "X = np.random.randn(n_samples, n_features)\n", "coef = 3 * np.random.randn(n_features)\n", "inds = np.arange(n_features)\n", "np.random.shuffle(inds)\n", "coef[inds[10:]] = 0 # sparsify coef => Makes most of the coef as zero\n", "y = np.dot(X, coef)\n", "\n", "# add noise\n", "y += 0.01 * np.random.normal(size=n_samples)\n", "\n", "print (\"Dataset size:\", X.shape, y.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ElasticNet" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-09-14T12:13:57.945025Z", "start_time": "2018-09-14T12:13:57.936024Z" } }, "source": [ "**ElasticNet**\n", "- A linear regresion model that combines the penalaties of `Lasso` and `Ridge`\n", "- This combination works best in practice, though at the price of haign two parameters to adjust\n", " - one for L1 regularization\n", " - one for L2 regularization\n", " \n", "Refer http://scikit-learn.org/stable/modules/linear_model.html#elastic-net for more details on it as it's out of scope for this post." ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T05:25:31.752025Z", "start_time": "2018-09-14T05:25:31.746030Z" } }, "outputs": [], "source": [ "import mglearn\n", "from sklearn.linear_model import ElasticNet\n", "from sklearn.model_selection import train_test_split\n", "import numpy as np\n", "\n", "X,y = mglearn.datasets.load_extended_boston()\n", "X_train, X_test, y_train, y_test = train_test_split(X,y, random_state=0)\n", "print (\"Shape of training set: {}\".format(X_train.shape))\n", "print (\"Shape of test set : {}\".format(X_test.shape))" ] }, { "cell_type": "code", "execution_count": 131, "metadata": { "ExecuteTime": { "end_time": "2018-09-14T05:40:16.397142Z", "start_time": "2018-09-14T05:40:08.438314Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "alpha: 0.0010 | l1_ratio: 0.1000 | Training score: 0.9114 | Test score: 0.7719\n", "alpha: 0.0010 | l1_ratio: 0.2000 | Training score: 0.9132 | Test score: 0.7728\n", "alpha: 0.0010 | l1_ratio: 0.3000 | Training score: 0.9150 | Test score: 0.7737\n", "alpha: 0.0010 | l1_ratio: 0.4000 | Training score: 0.9170 | Test score: 0.7746\n", "alpha: 0.0010 | l1_ratio: 0.5000 | Training score: 0.9191 | Test score: 0.7752\n", "alpha: 0.0010 | l1_ratio: 0.6000 | Training score: 0.9215 | Test score: 0.7758\n", "alpha: 0.0010 | l1_ratio: 0.7000 | Training score: 0.9242 | Test score: 0.7760\n", "alpha: 0.0010 | l1_ratio: 0.8000 | Training score: 0.9272 | Test score: 0.7755\n", "alpha: 0.0010 | l1_ratio: 0.9000 | Training score: 0.9312 | Test score: 0.7735\n", "alpha: 0.0010 | l1_ratio: 1.0000 | Training score: 0.9397 | Test score: 0.7397\n", "alpha: 0.0030 | l1_ratio: 0.1000 | Training score: 0.8847 | Test score: 0.7515\n", "alpha: 0.0030 | l1_ratio: 0.2000 | Training score: 0.8875 | Test score: 0.7542\n", "alpha: 0.0030 | l1_ratio: 0.3000 | Training score: 0.8904 | Test score: 0.7570\n", "alpha: 0.0030 | l1_ratio: 0.4000 | Training score: 0.8936 | Test score: 0.7597\n", "alpha: 0.0030 | l1_ratio: 0.5000 | Training score: 0.8971 | Test score: 0.7626\n", "alpha: 0.0030 | l1_ratio: 0.6000 | Training score: 0.9010 | Test score: 0.7655\n", "alpha: 0.0030 | l1_ratio: 0.7000 | Training score: 0.9054 | Test score: 0.7689\n", "alpha: 0.0030 | l1_ratio: 0.8000 | Training score: 0.9103 | Test score: 0.7730\n", "alpha: 0.0030 | l1_ratio: 0.9000 | Training score: 0.9161 | Test score: 0.7779\n", "alpha: 0.0030 | l1_ratio: 1.0000 | Training score: 0.9256 | Test score: 0.7806\n", "alpha: 0.0100 | l1_ratio: 0.1000 | Training score: 0.8386 | Test score: 0.7012\n", "alpha: 0.0100 | l1_ratio: 0.2000 | Training score: 0.8423 | Test score: 0.7055\n", "alpha: 0.0100 | l1_ratio: 0.3000 | Training score: 0.8462 | Test score: 0.7102\n", "alpha: 0.0100 | l1_ratio: 0.4000 | Training score: 0.8506 | Test score: 0.7153\n", "alpha: 0.0100 | l1_ratio: 0.5000 | Training score: 0.8555 | Test score: 0.7209\n", "alpha: 0.0100 | l1_ratio: 0.6000 | Training score: 0.8612 | Test score: 0.7270\n", "alpha: 0.0100 | l1_ratio: 0.7000 | Training score: 0.8678 | Test score: 0.7337\n", "alpha: 0.0100 | l1_ratio: 0.8000 | Training score: 0.8755 | Test score: 0.7415\n", "alpha: 0.0100 | l1_ratio: 0.9000 | Training score: 0.8848 | Test score: 0.7515\n", "alpha: 0.0100 | l1_ratio: 1.0000 | Training score: 0.8965 | Test score: 0.7656\n", "alpha: 0.0300 | l1_ratio: 0.1000 | Training score: 0.7843 | Test score: 0.6303\n", "alpha: 0.0300 | l1_ratio: 0.2000 | Training score: 0.7872 | Test score: 0.6342\n", "alpha: 0.0300 | l1_ratio: 0.3000 | Training score: 0.7904 | Test score: 0.6384\n", "alpha: 0.0300 | l1_ratio: 0.4000 | Training score: 0.7941 | Test score: 0.6433\n", "alpha: 0.0300 | l1_ratio: 0.5000 | Training score: 0.7986 | Test score: 0.6490\n", "alpha: 0.0300 | l1_ratio: 0.6000 | Training score: 0.8042 | Test score: 0.6557\n", "alpha: 0.0300 | l1_ratio: 0.7000 | Training score: 0.8109 | Test score: 0.6638\n", "alpha: 0.0300 | l1_ratio: 0.8000 | Training score: 0.8200 | Test score: 0.6750\n", "alpha: 0.0300 | l1_ratio: 0.9000 | Training score: 0.8328 | Test score: 0.6914\n", "alpha: 0.0300 | l1_ratio: 1.0000 | Training score: 0.8540 | Test score: 0.7208\n", "alpha: 0.1000 | l1_ratio: 0.1000 | Training score: 0.7030 | Test score: 0.5262\n", "alpha: 0.1000 | l1_ratio: 0.2000 | Training score: 0.7064 | Test score: 0.5307\n", "alpha: 0.1000 | l1_ratio: 0.3000 | Training score: 0.7100 | Test score: 0.5357\n", "alpha: 0.1000 | l1_ratio: 0.4000 | Training score: 0.7143 | Test score: 0.5414\n", "alpha: 0.1000 | l1_ratio: 0.5000 | Training score: 0.7192 | Test score: 0.5476\n", "alpha: 0.1000 | l1_ratio: 0.6000 | Training score: 0.7250 | Test score: 0.5549\n", "alpha: 0.1000 | l1_ratio: 0.7000 | Training score: 0.7320 | Test score: 0.5644\n", "alpha: 0.1000 | l1_ratio: 0.8000 | Training score: 0.7400 | Test score: 0.5768\n", "alpha: 0.1000 | l1_ratio: 0.9000 | Training score: 0.7497 | Test score: 0.5933\n", "alpha: 0.1000 | l1_ratio: 1.0000 | Training score: 0.7710 | Test score: 0.6302\n", "\n", "\n", "----------------- BEST on TEST set----------------\n", "Coefficients of the elastic model: [ -0. 0. -0. 0. -0. 0. -0.\n", " -0. -0. -0. -6.94791033 0. -15.73526712\n", " -0. 0. -0. 0. -0. -0. -0.\n", " -0. -0. -0. -0. -0. -0. 0.\n", " -0. 0. 0. 0. 0. -0. 0.\n", " -0. -0. 0. -0. -0. 0. -0.\n", " -0. -0. -0. -0. -0. -0. -0.\n", " -0. 0. 0. 0. 0. 0. 0.\n", " 0. 0. 1.57250048 0. -0.06794425 -0. -0.\n", " -0. -0. -0. -0. -0. -0.\n", " 19.43341184 -0. -0. -0. -5.13377204 -0.\n", " 5.34522643 -0. -0. -0. -0. -0. -0.\n", " 0. -0.45788656 -0. -0. -0. -0. -0.\n", " -0. -0. -0. -0. 0. -0. -0.\n", " -0. -0. -0. -0. -0. -0. 0.\n", " -0. 0. ]\n" ] } ], "source": [ "training_score_list = []\n", "test_score_list = []\n", "best_test_score = None\n", "best_alpha = 0; best_l1_ratio = 0\n", "\n", "alpha_settings = [0.001, 0.003, 0.01, 0.03, 0.1]\n", "l1_ratio_setting = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]\n", "for alpha in alpha_settings:\n", " for l1_ratio in l1_ratio_setting:\n", " elastic = ElasticNet(alpha=alpha,l1_ratio=l1_ratio, max_iter=100000, random_state=42).fit(X_train, y_train)\n", " train_score, test_score = elastic.score(X_train, y_train), elastic.score(X_test, y_test)\n", " training_score_list.append(train_score)\n", " test_score_list.append(test_score)\n", " print(\"alpha: {:8.4f} | l1_ratio: {:8.4f} | Training score: {:.4f} | Test score: {:.4f}\".format(alpha, l1_ratio, train_score, test_score)) \n", " \n", " if best_test_score is None or best_test_score < test_score:\n", " best_test_score = test_score\n", " best_alpha = alpha\n", " best_l1_ratio = l1_ratio\n", "\n", "print (\"\\n\\n----------------- BEST on TEST set----------------\") \n", "elastic = ElasticNet(alpha=alpha,l1_ratio=l1_ratio, max_iter=100000, random_state=42).fit(X_train, y_train)\n", "print (\"Coefficients of the elastic model:\", elastic.coef_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Summary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have covered about 3 most popular linear models for regression, namely\n", "-

Linear Regression

\n", "-

Ridge Regression

\n", "-

Lasso

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**General Practice**\n", "- `linear regression` is where people start with as it doesn't involve any tuning of parameters, like `alpha`. However, the LR model might easily overfit on the training set and fail to generalize on test set.\n", "- `ridge regression` is usually the first choice when compared to `Lasso`, especailly when we have fewer features\n", "\n", "**When is Lasso better?**\n", "- If we have large number of input features and expect only few of them to be important, `Lasso` is a better choice\n", "- If we would like to have a model that is easy to interpret, `Lasso` is better as it will select only a subset of features." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "Now that we have covered Linear models for regression, let's explore Linear models for Classification in the next post." ] } ], "metadata": { "kernelspec": { "display_name": "Python3", "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.1" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": { "height": "508px", "left": "0px", "right": "935.099px", "top": "110px", "width": "261px" }, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }