Created
March 31, 2019 11:37
-
-
Save MarwenAouiti/c1266a86f249b1508d4e07eed09bd388 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n", | |
" <a href=\"https://cocl.us/skills_network_DA0101EN_top\">\n", | |
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/TopAd.png\" width=\"750\" align=\"center\">\n", | |
" </a>\n", | |
"</div>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<a href=\"https://www.bigdatauniversity.com\"><img src = \"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/CCLog.png\" width = 300, align = \"center\"></a>\n", | |
"\n", | |
"<h1 align=center><font size=5>Data Analysis with Python</font></h1>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h1>Module 4: Model Development</h1>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>In this section, we will develop several models that will predict the price of the car using the variables or features. This is just an estimate but should give us an objective idea of how much the car should cost.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Some questions we want to ask in this module\n", | |
"<ul>\n", | |
" <li>do I know if the dealer is offering fair value for my trade-in?</li>\n", | |
" <li>do I know if I put a fair value on my car?</li>\n", | |
"</ul>\n", | |
"<p>Data Analytics, we often use <b>Model Development</b> to help us predict future observations from the data we have.</p>\n", | |
"\n", | |
"<p>A Model will help us understand the exact relationship between different variables and how these variables are used to predict the result.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Setup</h4>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Import libraries" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"load data and store in dataframe df:" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/da0101en_object_storage_skills_network\">HERE</a> for free storage." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>symboling</th>\n", | |
" <th>normalized-losses</th>\n", | |
" <th>make</th>\n", | |
" <th>aspiration</th>\n", | |
" <th>num-of-doors</th>\n", | |
" <th>body-style</th>\n", | |
" <th>drive-wheels</th>\n", | |
" <th>engine-location</th>\n", | |
" <th>wheel-base</th>\n", | |
" <th>length</th>\n", | |
" <th>...</th>\n", | |
" <th>compression-ratio</th>\n", | |
" <th>horsepower</th>\n", | |
" <th>peak-rpm</th>\n", | |
" <th>city-mpg</th>\n", | |
" <th>highway-mpg</th>\n", | |
" <th>price</th>\n", | |
" <th>city-L/100km</th>\n", | |
" <th>horsepower-binned</th>\n", | |
" <th>diesel</th>\n", | |
" <th>gas</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>3</td>\n", | |
" <td>122</td>\n", | |
" <td>alfa-romero</td>\n", | |
" <td>std</td>\n", | |
" <td>two</td>\n", | |
" <td>convertible</td>\n", | |
" <td>rwd</td>\n", | |
" <td>front</td>\n", | |
" <td>88.6</td>\n", | |
" <td>0.811148</td>\n", | |
" <td>...</td>\n", | |
" <td>9.0</td>\n", | |
" <td>111.0</td>\n", | |
" <td>5000.0</td>\n", | |
" <td>21</td>\n", | |
" <td>27</td>\n", | |
" <td>13495.0</td>\n", | |
" <td>11.190476</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>3</td>\n", | |
" <td>122</td>\n", | |
" <td>alfa-romero</td>\n", | |
" <td>std</td>\n", | |
" <td>two</td>\n", | |
" <td>convertible</td>\n", | |
" <td>rwd</td>\n", | |
" <td>front</td>\n", | |
" <td>88.6</td>\n", | |
" <td>0.811148</td>\n", | |
" <td>...</td>\n", | |
" <td>9.0</td>\n", | |
" <td>111.0</td>\n", | |
" <td>5000.0</td>\n", | |
" <td>21</td>\n", | |
" <td>27</td>\n", | |
" <td>16500.0</td>\n", | |
" <td>11.190476</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>1</td>\n", | |
" <td>122</td>\n", | |
" <td>alfa-romero</td>\n", | |
" <td>std</td>\n", | |
" <td>two</td>\n", | |
" <td>hatchback</td>\n", | |
" <td>rwd</td>\n", | |
" <td>front</td>\n", | |
" <td>94.5</td>\n", | |
" <td>0.822681</td>\n", | |
" <td>...</td>\n", | |
" <td>9.0</td>\n", | |
" <td>154.0</td>\n", | |
" <td>5000.0</td>\n", | |
" <td>19</td>\n", | |
" <td>26</td>\n", | |
" <td>16500.0</td>\n", | |
" <td>12.368421</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2</td>\n", | |
" <td>164</td>\n", | |
" <td>audi</td>\n", | |
" <td>std</td>\n", | |
" <td>four</td>\n", | |
" <td>sedan</td>\n", | |
" <td>fwd</td>\n", | |
" <td>front</td>\n", | |
" <td>99.8</td>\n", | |
" <td>0.848630</td>\n", | |
" <td>...</td>\n", | |
" <td>10.0</td>\n", | |
" <td>102.0</td>\n", | |
" <td>5500.0</td>\n", | |
" <td>24</td>\n", | |
" <td>30</td>\n", | |
" <td>13950.0</td>\n", | |
" <td>9.791667</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2</td>\n", | |
" <td>164</td>\n", | |
" <td>audi</td>\n", | |
" <td>std</td>\n", | |
" <td>four</td>\n", | |
" <td>sedan</td>\n", | |
" <td>4wd</td>\n", | |
" <td>front</td>\n", | |
" <td>99.4</td>\n", | |
" <td>0.848630</td>\n", | |
" <td>...</td>\n", | |
" <td>8.0</td>\n", | |
" <td>115.0</td>\n", | |
" <td>5500.0</td>\n", | |
" <td>18</td>\n", | |
" <td>22</td>\n", | |
" <td>17450.0</td>\n", | |
" <td>13.055556</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>5 rows × 29 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" symboling normalized-losses make aspiration num-of-doors \\\n", | |
"0 3 122 alfa-romero std two \n", | |
"1 3 122 alfa-romero std two \n", | |
"2 1 122 alfa-romero std two \n", | |
"3 2 164 audi std four \n", | |
"4 2 164 audi std four \n", | |
"\n", | |
" body-style drive-wheels engine-location wheel-base length ... \\\n", | |
"0 convertible rwd front 88.6 0.811148 ... \n", | |
"1 convertible rwd front 88.6 0.811148 ... \n", | |
"2 hatchback rwd front 94.5 0.822681 ... \n", | |
"3 sedan fwd front 99.8 0.848630 ... \n", | |
"4 sedan 4wd front 99.4 0.848630 ... \n", | |
"\n", | |
" compression-ratio horsepower peak-rpm city-mpg highway-mpg price \\\n", | |
"0 9.0 111.0 5000.0 21 27 13495.0 \n", | |
"1 9.0 111.0 5000.0 21 27 16500.0 \n", | |
"2 9.0 154.0 5000.0 19 26 16500.0 \n", | |
"3 10.0 102.0 5500.0 24 30 13950.0 \n", | |
"4 8.0 115.0 5500.0 18 22 17450.0 \n", | |
"\n", | |
" city-L/100km horsepower-binned diesel gas \n", | |
"0 11.190476 Medium 0 1 \n", | |
"1 11.190476 Medium 0 1 \n", | |
"2 12.368421 Medium 0 1 \n", | |
"3 9.791667 Medium 0 1 \n", | |
"4 13.055556 Medium 0 1 \n", | |
"\n", | |
"[5 rows x 29 columns]" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# path of data \n", | |
"path = 'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/automobileEDA.csv'\n", | |
"df = pd.read_csv(path)\n", | |
"df.head()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>1. Linear Regression and Multiple Linear Regression</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Linear Regression</h4>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"\n", | |
"<p>One example of a Data Model that we will be using is</p>\n", | |
"<b>Simple Linear Regression</b>.\n", | |
"\n", | |
"<br>\n", | |
"<p>Simple Linear Regression is a method to help us understand the relationship between two variables:</p>\n", | |
"<ul>\n", | |
" <li>The predictor/independent variable (X)</li>\n", | |
" <li>The response/dependent variable (that we want to predict)(Y)</li>\n", | |
"</ul>\n", | |
"\n", | |
"<p>The result of Linear Regression is a <b>linear function</b> that predicts the response (dependent) variable as a function of the predictor (independent) variable.</p>\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"$$\n", | |
" Y: Response \\ Variable\\\\\n", | |
" X: Predictor \\ Variables\n", | |
"$$\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" <b>Linear function:</b>\n", | |
"$$\n", | |
"Yhat = a + b X\n", | |
"$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<ul>\n", | |
" <li>a refers to the <b>intercept</b> of the regression line0, in other words: the value of Y when X is 0</li>\n", | |
" <li>b refers to the <b>slope</b> of the regression line, in other words: the value with which Y changes when X increases by 1 unit</li>\n", | |
"</ul>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Lets load the modules for linear regression</h4>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.linear_model import LinearRegression" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Create the linear regression object</h4>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False)" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm = LinearRegression()\n", | |
"lm" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>How could Highway-mpg help us predict car price?</h4>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"For this example, we want to look at how highway-mpg can help us predict car price.\n", | |
"Using simple linear regression, we will create a linear function with \"highway-mpg\" as the predictor variable and the \"price\" as the response variable." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"X = df[['highway-mpg']]\n", | |
"Y = df['price']" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Fit the linear model using highway-mpg." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False)" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm.fit(X,Y)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" We can output a prediction " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([16236.50464347, 16236.50464347, 17058.23802179, 13771.3045085 ,\n", | |
" 20345.17153508])" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"Yhat=lm.predict(X)\n", | |
"Yhat[0:5] " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>What is the value of the intercept (a)?</h4>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"38423.305858157386" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm.intercept_" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>What is the value of the Slope (b)?</h4>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([-821.73337832])" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm.coef_" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>What is the final estimated linear model we get?</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"As we saw above, we should get a final linear model with the structure:" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"$$\n", | |
"Yhat = a + b X\n", | |
"$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Plugging in the actual values we get:" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<b>price</b> = 38423.31 - 821.73 x <b>highway-mpg</b>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question #1 a): </h1>\n", | |
"\n", | |
"<b>Create a linear regression object?</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False)" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"lm1 = LinearRegression()\n", | |
"lm1" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"lm1 = LinearRegression()\n", | |
"lm1 \n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1> Question #1 b): </h1>\n", | |
"\n", | |
"<b>Train the model using 'engine-size' as the independent variable and 'price' as the dependent variable?</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False)" | |
] | |
}, | |
"execution_count": 18, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"lm1.fit(df[['engine-size']],df['price'])\n", | |
"lm1" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"lm1.fit(df[['engine-size']], df[['price']])\n", | |
"lm1\n", | |
"\n", | |
"-->\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question #1 c):</h1>\n", | |
"\n", | |
"<b>Find the slope and intercept of the model?</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Slope</h4>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"38423.305858157386" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"lm.intercept_" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Intercept</h4>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([166.86001569])" | |
] | |
}, | |
"execution_count": 21, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"lm1.coef_" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"# Slope \n", | |
"lm1.coef_\n", | |
"# Intercept\n", | |
"lm1.intercept_\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question #1 d): </h1>\n", | |
"\n", | |
"<b>What is the equation of the predicted line. You can use x and yhat or 'engine-size' or 'price'?</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# You can type you answer here\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"# using X and Y \n", | |
"Yhat=38423.31-821.733*X\n", | |
"\n", | |
"Price=38423.31-821.733*engine-size\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Multiple Linear Regression</h4>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>What if we want to predict car price using more than one variable?</p>\n", | |
"\n", | |
"<p>If we want to use more variables in our model to predict car price, we can use <b>Multiple Linear Regression</b>.\n", | |
"Multiple Linear Regression is very similar to Simple Linear Regression, but this method is used to explain the relationship between one continuous response (dependent) variable and <b>two or more</b> predictor (independent) variables.\n", | |
"Most of the real-world regression models involve multiple predictors. We will illustrate the structure by using four predictor variables, but these results can generalize to any integer:</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"$$\n", | |
"Y: Response \\ Variable\\\\\n", | |
"X_1 :Predictor\\ Variable \\ 1\\\\\n", | |
"X_2: Predictor\\ Variable \\ 2\\\\\n", | |
"X_3: Predictor\\ Variable \\ 3\\\\\n", | |
"X_4: Predictor\\ Variable \\ 4\\\\\n", | |
"$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"$$\n", | |
"a: intercept\\\\\n", | |
"b_1 :coefficients \\ of\\ Variable \\ 1\\\\\n", | |
"b_2: coefficients \\ of\\ Variable \\ 2\\\\\n", | |
"b_3: coefficients \\ of\\ Variable \\ 3\\\\\n", | |
"b_4: coefficients \\ of\\ Variable \\ 4\\\\\n", | |
"$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The equation is given by" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"$$\n", | |
"Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n", | |
"$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>From the previous section we know that other good predictors of price could be:</p>\n", | |
"<ul>\n", | |
" <li>Horsepower</li>\n", | |
" <li>Curb-weight</li>\n", | |
" <li>Engine-size</li>\n", | |
" <li>Highway-mpg</li>\n", | |
"</ul>\n", | |
"Let's develop a model using these variables as the predictor variables." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"Z = df[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Fit the linear model using the four above-mentioned variables." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False)" | |
] | |
}, | |
"execution_count": 23, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm.fit(Z, df['price'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"What is the value of the intercept(a)?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"-15806.624626329198" | |
] | |
}, | |
"execution_count": 24, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm.intercept_" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"What are the values of the coefficients (b1, b2, b3, b4)?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([53.49574423, 4.70770099, 81.53026382, 36.05748882])" | |
] | |
}, | |
"execution_count": 25, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm.coef_" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" What is the final estimated linear model that we get?" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"As we saw above, we should get a final linear function with the structure:\n", | |
"\n", | |
"$$\n", | |
"Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n", | |
"$$\n", | |
"\n", | |
"What is the linear function we get in this example?" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<b>Price</b> = -15678.742628061467 + 52.65851272 x <b>horsepower</b> + 4.69878948 x <b>curb-weight</b> + 81.95906216 x <b>engine-size</b> + 33.58258185 x <b>highway-mpg</b>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1> Question #2 a): </h1>\n", | |
"Create and train a Multiple Linear Regression model \"lm2\" where the response variable is price, and the predictor variable is 'normalized-losses' and 'highway-mpg'.\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False)" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"lm2 = LinearRegression()\n", | |
"K = df[['normalized-losses','highway-mpg']]\n", | |
"lm2.fit(K,df['price'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"lm2 = LinearRegression()\n", | |
"lm2.fit(df[['normalized-losses' , 'highway-mpg']],df['price'])\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question #2 b): </h1>\n", | |
"<b>Find the coefficient of the model?</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([ 1.49789586, -820.45434016])" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"lm2.coef_" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"lm2.coef_\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>2) Model Evaluation using Visualization</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now that we've developed some models, how do we evaluate our models and how do we choose the best one? One way to do this is by using visualization." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"import the visualization package: seaborn" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"# import the visualization package: seaborn\n", | |
"import seaborn as sns\n", | |
"%matplotlib inline " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Regression Plot</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>When it comes to simple linear regression, an excellent way to visualize the fit of our model is by using <b>regression plots</b>.</p>\n", | |
"\n", | |
"<p>This plot will show a combination of a scattered data points (a <b>scatter plot</b>), as well as the fitted <b>linear regression</b> line going through the data. This will give us a reasonable estimate of the relationship between the two variables, the strength of the correlation, as well as the direction (positive or negative correlation).</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's visualize Horsepower as potential predictor variable of price:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(0, 48295.53848161894)" | |
] | |
}, | |
"execution_count": 31, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 864x720 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"width = 12\n", | |
"height = 10\n", | |
"plt.figure(figsize=(width, height))\n", | |
"sns.regplot(x=\"highway-mpg\", y=\"price\", data=df)\n", | |
"plt.ylim(0,)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>We can see from this plot that price is negatively correlated to highway-mpg, since the regression slope is negative.\n", | |
"One thing to keep in mind when looking at a regression plot is to pay attention to how scattered the data points are around the regression line. This will give you a good indication of the variance of the data, and whether a linear model would be the best fit or not. If the data is too far off from the line, this linear model might not be the best model for this data. Let's compare this plot to the regression plot of \"peak-rpm\".</p>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(0, 47422.919330307624)" | |
] | |
}, | |
"execution_count": 32, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuMAAAJQCAYAAAAkI2p/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3X1wXNd95vnn3NvdQDcAEqBImAoJWUKiDS1NLFuWZGfj4XCcTCInu3QypWSkmU28s54xK+NUPFXrbJxUha7lpGrtiisee2peqLFdo6S2RnG4s2PuVByvYxkDO7GiN0f20kIiDSQZoF6aL3jv93vP/tG3G7eBBtENduP27f5+qlANnG4AByTBfvrc3/kdY60VAAAAgP3nRD0BAAAAYFARxgEAAICIEMYBAACAiBDGAQAAgIgQxgEAAICIEMYBAACAiBDGAQAAgIgQxgEAAICIEMYBAACAiCSinsB+O3z4sL399tujngYAAAD62LPPPnvVWntkt8cNXBi//fbb9cwzz0Q9DQAAAPQxY8yrrTyOMhUAAAAgIoRxAAAAICKEcQAAACAihHEAAAAgIoRxAAAAICKEcQAAACAihHEAAAAgIoRxAAAAICKEcQAAACAihHEAAAAgIoRxAAAAICKEcQAAACAihHEAAAAgIoRxAAAAICKEcQAAACAihHEAAAAgIoRxAAAAICKEcQAAACAiiagnAOzVzFxW52fntbCU09RERmdOTuvUicmopwUAANAyVsYRSzNzWZ29eEnZtYLG00ll1wo6e/GSZuayUU8NAACgZYRxxNL52XklXaNMKiFjqrdJ1+j87HzUUwMAAGgZYRyxtLCUUzrpNoylk64Wl3IRzQgAAKB9hHHE0tRERvmy1zCWL3s6PpGJaEYAAADtI4wjls6cnFbZs8qVKrK2elv2rM6cnI56agAAAC0jjCOWTp2Y1LnTd2tybFgr+bImx4Z17vTddFMBAACxQmtDxNapE5OEbwAAEGusjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABEhjAMAAAARIYwDAAAAESGMAwAAABFJRD0BAED8zMxldX52XgtLOU1NZHTm5LROnZiMeloAEDusjAMA2jIzl9XZi5eUXStoPJ1Udq2gsxcvaWYuG/XUACB2COMAgLacn51X0jXKpBIypnqbdI3Oz85HPTUAiB3COACgLQtLOaWTbsNYOulqcSkX0YwAIL6oGUdsUbMKRGNqIqPsWkGZ1OZTSL7s6fhEJsJZAUA8sTKOWKJmFYjOmZPTKntWuVJF1lZvy57VmZPTUU8NAGKHMI5YomYViM6pE5M6d/puTY4NayVf1uTYsM6dvpsrUwCwB5SpIJYWlnIaTycbxqhZBfbPqROThG8A6ABWxhFLUxMZ5ctewxg1qwAAIG4I44glalYBAEA/IIwjlqhZBQAA/YCaccQWNasAACDuWBkHAAAAIkIYBwAAACJCGAcAAAAi0vUwboxxjTHfMcb8l+DjO4wxf2mMedEY80fGmFQwPhR8/FJw/+2hr/FbwfhfG2N+JjT+YDD2kjHm493+WQAAAIBO2o+V8Y9KeiH08ackfcZae6ekJUkfCsY/JGnJWvsjkj4TPE7GmLskPSzpbkkPSvo3QcB3Jf1rSe+XdJekR4LHAgAAALHQ1TBujDku6eckfT742Eh6n6QLwUMek/TzwfsfCD5WcP9PBo//gKTHrbVFa+3Lkl6S9EDw9pK1dt5aW5L0ePBYAAAAIBa6vTL+LyX9b5L84ONbJC1bayvBx4uSjgXvH5O0IEnB/SvB4+vjWz5np/FtjDEfNsY8Y4x55sqVKzf7MwEAAAAd0bUwboz5HyRlrbXPhoebPNTucl+749sHrX3UWnuftfa+I0eO3GDWAAAAwP7p5qE/PyHptDHmZyUNSzqg6kr5uDEmEax+H5f0WvD4RUlTkhaNMQlJByVdD43XhD9np3EAAACg53VtZdxa+1vW2uPW2ttV3YD5hLX2H0n6hqSHgod9UNKXg/cvBh8ruP8Ja60Nxh8Ouq3cIelOSU9JelrSnUF3llTwPS526+cBAAAAOq2bK+M7+U1JjxtjflfSdyR9IRj/gqQ/NMa8pOqK+MOSZK29ZIz5kqTvS6pI+oi11pMkY8yvSfqqJFfSF621l/b1JwEAAABugqkuPg+O++67zz7zzDNRTwMAAAB9zBjzrLX2vt0exwmcAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQSUU8AAAD0tpm5rM7PzmthKaepiYzOnJzWqROTUU8L6AusjAMAgB3NzGV19uIlZdcKGk8nlV0r6OzFS5qZy0Y9NaAvsDIOAGgbK6WD4/zsvJKuUSZVjQyZVEK5UkXnZ+f5Owc6gJVxAEBbWCkdLAtLOaWTbsNYOulqcSkX0YyA/kIYBwC0JbxSakz1NukanZ+dj3pq6IKpiYzyZa9hLF/2dHwiE9GMgP5CGAcAtIWV0sFy5uS0yp5VrlSRtdXbsmd15uR01FMD+gJhHADQFlZKB8upE5M6d/puTY4NayVf1uTYsM6dvpt6caBD2MAJAGjLmZPTOnvxknKlitJJV/myx0ppnzt1YpLwDXQJK+MAgLawUgoAncPKOACgbayUAkBnsDIOAAAARIQwDgAAAESEMhUAscCJjwCAfsTKOICex4mPAIB+RRgH0PM48REA0K8I4wB6Hic+AgD6FWEcQM/jxEcAQL8ijAMxMzOX1SOPPqn3fuoJPfLokwNRN33m5LTKnlWuVJG11VtOfAQA9APCOBAjg7qRkRMfAQD9itaGQIyENzJKUiaVUK5U0fnZ+b4Pppz4CADoR6yMAzHCRkYAAPoLYRyIETYyAgDQXwjjQIywkREAgP5CGAdi5NSJST107zFdWSvqhTfWdGWtqIfuPUYtNQAAMUUYB2JkZi6rC89d1pGxIb3t6JiOjA3pwnOX+76bCgAA/YowDsQIx8IDANBfCONAjNBNBQCA/kIYB2KEbioAAPQXwjgQI3RTAQCgvxDGgRjhWHgAAPpLIuoJAGgPx8IDANA/WBkHAAAAIkIYBwAAACJCmQoQMzNzWZ2fndfCUk5TExmdOTlN2QoAADHFyjgQIzNzWZ29eEnZtYLG00ll1wo6e/ESJ3ACABBTrIwDMRI+gVOSMqmEcqWKzs/OszoOoGu4Igd0DyvjQIxwAieA/cYVOaC7CONAjHACJ4D9Fr4iZ0z1NukanZ+dj3pqQF8gjAMxwgmcAPYbV+SA7iKMAzHCCZwA9htX5IDuYgMnEDOcwAlgP505Oa2zFy8pV6oonXSVL3tckQM6iJVxAACwI67IAd3FyjgAALghrsgB3cPKOAAAABARwjgAAAAQEcI4AAAAEBHCOAAAABARwjgAAAAQEcI4AAAAEBHCOAAAABARwjgAAAAQEcI4AAAAEBFO4AQAADc0M5fV+dl5LSzlNDWR0ZmT05zICXQIK+MAAGBHM3NZnb14Sdm1gsbTSWXXCjp78ZJm5rJRTw3oC4RxAACwo/Oz80q6RplUQsZUb5Ou0fnZ+ainBvQFylSAmOFyMYD9tLCU03g62TCWTrpaXMpFNCOgv7AyDsQIl4sB7LepiYzyZa9hLF/2dHwiE9GMgP5CGAdihMvFAPbbmZPTKntWuVJF1lZvy57VmZPTUU8N6AuEcSBGFpZySifdhjEuFwPoplMnJnXu9N2aHBvWSr6sybFhnTt9N+VxQIdQMw7EyNRERtm1gjKpzV9dLhcD6LZTJyYJ30CXsDIOxAiXiwEA6C+EcSBGuFwMAEB/oUwFiBkuFwMA0D8I42gJva0BAAA6jzIV7Ire1gAAAN1BGMeu6G0NAADQHYRx7Ire1gAAAN1BGMeuOAoZAACgOwjj2BW9rQEAALqDMI5d0dsaAACgO2htiJbQ2xoAAKDzWBkHAAAAIsLKOACgbRwEBgCdwco4AKAtHAQGAJ1DGAcAtIWDwACgcwjjAIC2cBAYAHQOYRwA0BYOAgOAziGMAwDawkFgANA5hHEAQFs4CAwAOofWhgCAtnEQGAB0RtdWxo0xw8aYp4wxzxtjLhlj/vdg/A5jzF8aY140xvyRMSYVjA8FH78U3H976Gv9VjD+18aYnwmNPxiMvWSM+Xi3fhYAAACgG7pZplKU9D5r7T2S3iHpQWPMeyR9StJnrLV3SlqS9KHg8R+StGSt/RFJnwkeJ2PMXZIelnS3pAcl/RtjjGuMcSX9a0nvl3SXpEeCxwIAAACx0LUwbqvWgw+TwZuV9D5JF4LxxyT9fPD+B4KPFdz/k8YYE4w/bq0tWmtflvSSpAeCt5estfPW2pKkx4PHAgAAALHQ1Q2cwQr2X0nKSvqapP8madlaWwkesijpWPD+MUkLkhTcvyLplvD4ls/ZaRwAAACIha6GcWutZ619h6Tjqq5kv63Zw4Jbs8N97Y5vY4z5sDHmGWPMM1euXNl94gAAAMA+2JfWhtbaZUkzkt4jadwYU+viclzSa8H7i5KmJCm4/6Ck6+HxLZ+z03iz7/+otfY+a+19R44c6cSPBAAAANy0bnZTOWKMGQ/eT0v6KUkvSPqGpIeCh31Q0peD9y8GHyu4/wlrrQ3GHw66rdwh6U5JT0l6WtKdQXeWlKqbPC926+cBAAAAOq2bfcZvlfRY0PXEkfQla+1/McZ8X9LjxpjflfQdSV8IHv8FSX9ojHlJ1RXxhyXJWnvJGPMlSd+XVJH0EWutJ0nGmF+T9FVJrqQvWmsvdfHnAQAAADrKVBefB8d9991nn3nmmainAQAAgD5mjHnWWnvfbo/bl5pxAAAAANsRxgEAAICIEMYBAACAiBDGAQAAgIgQxgEAAICIEMYBAACAiBDGAQAAgIgQxgEAAICIEMYBAACAiBDGAQAAgIgQxgEAAICIEMYBAACAiCSingDiYWYuq/Oz81pYymlqIqMzJ6d16sRk1NMCAACINVbGsauZuaw+duF5fWdhSW+uFvSdhSV97MLzmpnLRj01AACAWCOMY1ef/MoLWs6VZX3JNUbWl5ZzZX3yKy9EPTUAAIBYo0wFu3r5Wk6OkRzHSJKMkaxv9fK1XMQzAwAAiDdWxgEAAICIEMaxq+nDI/Kt5FsrKyvfWvm2Og4AAIC9I4xjV7/54AlNZJIykiqeLyNpIpPUbz54IuqpAQAAxBphHLs6dWJSv/fQPXrnbRO69WBa77xtQr/30D20NgQAALhJbOBES06dmCR8AwAAdBgr4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBECOMAAABARAjjAAAAQEQI4wAAAEBEElFPAPEwM5fV+dl5LSzlNDWR0ZmT0zp1YjLqaQEAAMQaK+PY1cxcVmcvXlJ2raDxdFLZtYLOXrykmbls1FMDAACINcI4dnV+dl5J1yiTSsiY6m3SNTo/Ox/11AAAAGKNMI5dLSzllE66DWPppKvFpVxEMwIAAOgPhHHsamoio3zZaxjLlz0dn8hENCMAAID+QBjHrs6cnFbZs8qVKrK2elv2rM6cnI56agAAALFGGMeuTp2Y1LnTd2tybFgr+bImx4Z17vTddFMBAAC4SbQ2REtOnZgkfAMAAHQYK+MAAABARAjjAAAAQEQI4wAAAEBEqBnvAxxVDwAAEE+sjMccR9UDAADEF2E85jiqHgAAIL5aDuPGmLcaY34qeD9tjBnr3rTQKo6qBwAAiK+Wwrgx5p9KuiDpfDB0XNJ/7tak0DqOqgcAAIivVlfGPyLpJyStSpK19kVJ7BDsARxVDwAAEF+thvGitbZU+8AYk5BkuzMltIOj6gEAAOKr1daG/9UY89uS0saYvyfpn0n6f7o3LbSDo+oBAADiqdUw/nFJH5L0PUlnJP2JpM93a1IAgMHG+QkABkWrYTwt6YvW2n8vScYYNxijZQcAoKNq5yckXdNwfsI5iUAOoO+0WjP+dVXDd01a0p91fjoAgEHH+QkABkmrYXzYWrte+yB4n955AICO4/wEAIOk1TC+YYy5t/aBMeZdkvLdmRIAYJBxfgKAQdJqGP/nkv7YGPNNY8w3Jf2RpF/r3rQAAIOK8xMADJKWNnBaa582xpyQ9KOSjKQ5a225qzMDAAykUycmdU7V2vHFpZyO000FQB+7YRg3xrzPWvuEMebvb7nrTmOMrLX/qYtzAwAMKM5PADAodlsZ/zuSnpD0Pza5z0oijAMAAAB7dMMwbq39hDHGkfQVa+2X9mlOAAAAwEDYdQOntdYXmzUBAACAjmu1m8rXjDEfM8ZMGWMO1d66OjMAAACgz7XUTUXS/6Jqjfg/2zJOnykAAABgj1oN43epGsTfq2oo/6akf9etSQEAAACDoNUw/pikVUmfCz5+JBj7pW5MCgDQ22bmsjo/O6+FpZym6AMOAHvWahj/UWvtPaGPv2GMeb4bEwIA9LaZuazOXrykpGs0nk4qu1bQ2YuXdE4ikANAm1oN498xxrzHWvukJBlj3i3pz7s3LQCdxComOun87LySrlEmVX0KyaQSypUqOj87z78rAGhTq91U3i3pL4wxrxhjXpH0bUl/xxjzPWPMd7s2OwA3rbaKmV0rNKxizsxlo54aYmphKad00m0YSyddLS7lIpoRAMRXqyvjD3Z1FgC6hlVMdNrUREbZtUL935Qk5cuejk9kIpwVAMRTSyvj1tpXb/TW7UkC2DtWMdFpZ05Oq+xZ5UoVWVu9LXtWZ07S7RYA2tVqmQqAmJqayChf9hrGWMXEzTh1YlLnTt+tybFhreTLmhwb1rnTd3OlBQD2oNUyFQAxdebktM5evKRcqaJ00lW+7LGKiZt26sRkV8M3m44BDApWxoE+xyom4oZNxwAGCSvjwADo9iom0ElsOgYwSFgZBwD0FDYdAxgkhHEAQE9h0zGAQUIYBwD0FFonAhgkhHEAQE9h0zGAQUIYBwD0LBv1BACgywjjAICeQmtDAIOEMA4A6Cnh1obGVG+TrtH52fmopwYAHUcYBwD0FFobAhgkHPrTBzg2GkA/mZrIKLtWqB/6I9HaEED/YmU85mbmsvqNC8/rOz9Y0hsreX3nB0v6jQvPU1sJILZobQhgkBDGY+5TfzqnpVxZVlLCdWQlLeXK+tSfzkU9NQDYE1obAhgklKnE3PzVDTlGcoyRJBkjWWM1f3Uj4pkBwN6dOjFJ+AYwEFgZBwAAACJCGI+5O27JyLeS71tZa+X7Vr6tjgMAAKC3EcZj7uPvf5vGM0kZR/KslXGk8UxSH3//26KeGgAAAHZBGI+5Uycm9emH7tE7pyZ09MCw3jk1oU8/dA+1lgAAADHABs4+wEYnAACAeGJlHAAAAIgIYRwAAACICGEcAAAAiEjXwrgxZsoY8w1jzAvGmEvGmI8G44eMMV8zxrwY3E4E48YY8zljzEvGmO8aY+4Nfa0PBo9/0RjzwdD4u4wx3ws+53PGBCffAAAAADHQzZXxiqT/1Vr7NknvkfQRY8xdkj4u6evW2jslfT34WJLeL+nO4O3Dkv6tVA3vkj4h6d2SHpD0iVqADx7z4dDnPdjFnwcAAADoqK6FcWvt69ba54L31yS9IOmYpA9Ieix42GOSfj54/wOS/sBWPSlp3Bhzq6SfkfQ1a+11a+2SpK9JejC474C19tvWWivpD0JfCwAAAOh5+1Izboy5XdI7Jf2lpLdYa1+XqoFdUq0n3zFJC6FPWwzGbjS+2GQcAAAAiIWu9xk3xoxK+r8k/XNr7eoNyrqb3WH3MN5sDh9WtZxFt912225TBoCumZnL6vzsvBaWcpqayOjMyWnOCQCAAdbVlXFjTFLVIP5/Wmv/UzD8ZlBiouA2G4wvSpoKffpxSa/tMn68yfg21tpHrbX3WWvvO3LkyM39UACwRzNzWZ29eEnZtYLG00ll1wo6e/GSZuayu38yAKAvdbObipH0BUkvWGt/P3TXRUm1jigflPTl0PivBF1V3iNpJShj+aqknzbGTAQbN39a0leD+9aMMe8JvtevhL4WAPSc87PzSrpGmVRCxlRvk67R+dn5qKcGAIhIN8tUfkLSL0v6njHmr4Kx35b0SUlfMsZ8SNIPJP1icN+fSPpZSS9Jykn6x5Jkrb1ujPkXkp4OHnfOWns9eP9XJf0HSWlJXwneAKAnLSzlNJ5ONoylk64Wl3IRzQgAELWuhXFr7bfUvK5bkn6yyeOtpI/s8LW+KOmLTcafkfS3bmKaALBvpiYyyq4VlElt/tebL3s6PpGJcFYAgChxAicA7JMzJ6dV9qxypYqsrd6WPaszJ6ejnhoAICKEcQDYJ6dOTOrc6bs1OTaslXxZk2PDOnf6brqpAMAA63prQwDAplMnJrsevmmfCADxwco4APQR2icCQLywMg4AgX5YUQ63T5SkTCqhXKmi87PzsfpZ+uHvAgBawco4AKh/VpQXlnJKJ92Gsbi1T+yXvwsAaAVhHADUPwfyTE1klC97DWNxa5/YL38XANAKwjgAqD9WlKX+aJ+4sJRTxfM1f2Vdc2+sav7KuiqeH7u/CwBoBWEcANQfK8pSf7RPHE25urxcUMWzco1RxbO6vFzQSMrd/ZMBIGbYwAkAqq4on714SblSRemkq3zZi92Kcs1+tE/sJmOCw5uNNs9xtqFxAOgjhHEAUDXAPrS4rM9/62VtlDyNpFz9k/fe0fFQS5eQ3a0VKzo2Pqyr6yWVPF8p19HRA0NaL1ainhoAdBxhvAfxZA1s1+3fi5m5rC48d1lHxoZ0W7AyfuG5y3r78fGOfZ9al5Ckaxq6hJyT+B0PmZrIKLtW0PSR0fpYrlTR5NhwhLMCgO6gZrzH0NIL2G4/fi/2o4MHXUJa0w+bUAGgVYTxHsOTNbDdfvxe7Ec3lX7p2NJtp05M6qF7j+nKWlEvvLGmK2tFPXTvsa6UDD3y6JN676ee0COPPsmiB4BIEMZ7DE/WwHb78XuxH91U+qVjS7eFS4bednRMR8aGdOG5yx0Ny1yFBNArCOP7oJ3VF56sge324/diP0ojKL9oDSVDAAbJwIVxz7fKlzxVPH9fvl+7qy88WQPb7cfvxX705+6HHuD7gZIhAINk4LqpVHyr11fykiTXMUq6jlIJR0nX0VDCUcp15Did62UbXn2RpEwqoVypovOz802fgE+dmNS54PMWl3I6TjcVYN9+L/ajP3fce4Dvh1o3ldr/m1J3Soa6/T0AoBUDF8bDPN/K8z0Vtlz+rgfz2pvrKOHu7SLCwlJO4+lkw9huqy88WaPT+qFdJr8Xg+PMyWn9xoXndXkpr4rvK+E4GhtO6Hd+7q6Ofo9+OeQJQLwNdBjfSdnzVfZ8qbg5lnCqwXwo4Wgo2XpAZ/UFUaO3NeLISpIJTt00wccdxFVIAL2CMN6iiu+rUvKVK22O1QJ60jX1UpetZS6sviBq7ZZKAVE7Pzuvg+mkbj2Yro91498sV1sA9ALC+E2oBfStkq5Tr0W/745DOvtzb9MX/vwVVl8Qib2USgFRWljKyTXS/JV1lTxfKdfR4dEU/2YB9CXCeBfUylxqq+jTk6P6P/7+jykZ1J8PJR0Vyl7HN4sCzVAqhbgZG0roxey6XMfIdYwqvtXl5YLunByNemoA0HED19owKr61KpY9rRXKurpW1GvLeb1ybUML13PKrha0nCspV6rsW8tFDA7aZSJurA0qxG3oLTwOAH2ElfGINdss6jqm3sUl3NHFGFbR0T42qvWWfuhs023rJU/Hxod1db1UL1M5OjqkjZK3+ycDQMwQxvfBU/PX9fjTC3p9Na9bD6T18P1TemD60I6Prx1MlNfmE48xRgnHdKzlIgYLG9V6A51tWlMrrZo+slmWkitVNDk2HOGsAKA7SHJd9tT8dX32iRd1baOoA8MJXdso6rNPvKin5q+39XWstSp7vtaLFV3fKOmNlYJ+cD2nV69t6PWVvK6tF7VWKKtUocwF6FUcwd4aSqsADBJWxrvs8acXVPE8Lec8lT1fSdfR6JCrx59euOHqeKuaraI7xtRXz4cocwF6Bp1tWkNpVXsofQLijTDeZa9e39BavizjGDlBV4CljbIq/kbXvqdvrQrlxpNFjTH1fuhDrlsP6y7dXIB900+dbbodACmtag2lT0D8Eca7rFTxJVNdrZYkYyTP2H0vJ7HWqlSpft91VerjtYOLwnXoqQTVS+g9/bD61y+HgBEAeweHegHxRxjvsqRrVKxIvm9ljFTrzJVye2NFutnJoo4x9Z7otXCedA2bRRGZmbmsPnbhea0XK/J8q6vrRX3swvP69EP3xCpw9Ev5BQGwd1D6BMQfYbzLbr9lVItLG9oobdaMj6QSOj4xEvXUdlTriV4sN7YRcx2zebqo6yiZMEo41aBOPTq66ZNfeUHLubJcY+QaI+tLy7myPvmVF2Ib/uLcMZsTMntHP5U+AYOKpc4ue/j+KSUTrg6PDumOwyM6PDqkZMLVw/dPRT21tnl+tRZ9rVDWtY2i3lgpaHEpp1eu5bRwPac3Vwu6tl7UaqGsQtmT58f/nPkRAAAgAElEQVQ5bqCXvHwtJ9+3Knq+ChVfRc+X71u9fC1e4a9W3pFdKzSUd8zMZaOeWlvGhhK6vFxQxbcNJ2SODrG+s9/OnJzWar6sF99c0wuvr+jFN9e0mi/HrvQJGGT8z9llD0wf0kd1px5/ekFvrOZ1tIU+43FTbbtYbb241dbVdDaOYi/Knq+t/7r8YDxO+qW8o+GEzNAtJ2RGw0qSqW7Ul4n3VRdgEBHG98ED04f6Kny3w/OtPL+xs4vUeMporT59KEH7RTS300WWuF186Zf6Xk7I7B3nZ+d1MJ3UrQfT9bE4vsADBhlhHJFo1h9dkpKu03DKKDXp6Cf9Ut/LCZm9o19e4AGDjJpx9JStp4wuLuX08tUN/eBaTq8t55VdK2hpo6S1oC69ErMyBezNTmVNcSt36peTJfvl5+gHUxMZ5bdceYzjCzxgkBHGEQsV31eh7Gm9UNFSrqQra0W9tpzXD65Xw/rC9ZzeWCno6npRK7my8iWCej85/fajbY33qlMnJvXQvcd0Za2oF95Y05W1oh6691jsyglOnZjUudN3a3JsWCv5sibHhnXu9N2x+zn6AS+MgPijTAWx18oG0mqv9GoJTNJlA2ncfObheyU9p4vffUNe0MHj9NuPBuPxMTOX1YXnLuvI2JBuCw79ufDcZb39+Hhsg2zMyvb7Tr/0rgcGmRm03e8/9o577Ze/Nhv1NBCxhFPtk57aEtSpTUc3PfLok9tqxmu11v/xw++JcGbtCZ/AGT5JlNVxANhkjHnWWnvfbo9jZRwDqXryqJpuIK2F89rJoymXkI7O6JfDcvqlRSMA9ALCOBBS9vxt5S7GmHoobwzqbLlAe0ZTrl7Mrsu31fKOiudpcSmvOydHd/3cXkIHD3TazFxW52fntbCU0xSlNhgwhHFgF9ZalSpWpYovFTfHHWOUDK2e1wI6Ib07+uHJeqPkybOSUfVNkjyr2PXn7pcWjegN4bKn8Mm056TY/Y4De0EYB/bIt1bFsqdiuXG8HtIdo0SwWTThGCVco4TD5tG96Jcn6+xaUQmneliRtZIxkmuq4zvpxRchZ05O6+zFS8qVKg0143TwwF5Q9oRBRxgHOqwe0ne435hqOE+6jhKuUTLYTMoBRzvrpydrx5iGqyeev3MLzl59EUIHD3QSZU8YdIRxYJ/dqBWjpHqpS9KtrrCnXNox9suT9R23ZPTSlQ0Z38qY6uq4b6UfOdy8vKOXX4ScOjEZ+RzQHyh7wqCjuBXoMWXPV65U0Uq+rKvB4UavXtvQq9c29PpKXtfWi1ovVqo17AOiX04Z/Pj736bxTFLGkTxrZRxpPJPUx9//tqaPX1jKKZ10G8bi+CJkL2bmsnrk0Sf13k89oUcefVIzc9mop4Qu4eAiDDrCOBATnm+VL3layZeVXS1ocal6+ujl5byurBW1ki+rUPbk+f13dkC/PFmfOjGpTz90j945NaGjB4b1zqkJffqhe3ZcYe6XFyHtqpXnZNcKDeU5BPL+xImuGHQc+gP0oYQT6pMe6vIS51KX2kbGQapRnpnL6jcuPK+1QkUV31fCcTQ2nNDv3SDA94N+ORwJwGDj0B9ggFUPNdpexuIGG0eTblCLHqONo4Nao2wlyVQ3/soMxvHz/bJHAABaMXBh/NVrG/qNP35eB9JJHdzhrXZfKkEVD/qL51t5vqfCltKHWoeXzVV003Or6b3Y4q/bzs/O62A6qVsPputjvbKBs5vY0AdgkAxcGC9WfD37g+WWHptOuqGQntgxwNfGDwwnlODAF8TQjTq89MJqeq+2+Ou2QV0hpo85gEEycGH8yOiQHnlgSiv5slbyZa3my1rJVztXrBXKCu99y5c95cue3lgttPz1R4bc7WF9eOdV+NHhRM+sPALN7LSaLmmzV7rrdLVfei+3+OumQV0hpo85gEEycGF8YiSlf/q3m6+u+NZqvVCpB/VaWF/eEtpX8iWt5Ctazpe0UWwMKBtFTxtFT68ttxbgjaSx4YQOppMazyRbKp8ZSbk9X9+LwVD2fJU9Ka/tQT2xJZzXV9f3UP7FCvHgrRAP6h4BAINn4ML4jTjG6EAQeqda/JyK52s1CPCroRBfC/CroXBfuz9X2gwuVtJqoaLVQkULS/mWvqfrGB0IAnyzsN7sbTjpEOCxr6qbSCVpe3160jVKuU69Rt11qjXrO5V5sULMCjEA9CvC+E1KuI4OjaR0aCTV8ueUKr5WC+VtIX0lX9ZybnuAX86XGw548XyrpVxZS7lyy98z6Zq2wjsbWNEt1lqVKrb6b7rYeJ8xRq4xct0gnAcB/X/+8bfqt//z97S4lJNvqy9IR4cS+p2fuyuaH2IfsUIMAP2NMB6BVMLR4dEhHR4davlz8mWvIbRvX4XfvjpfCRXAlz2rq+slXV0vtfw9h5NOWwGeDay4WdZaVazV1py+lKvu57BW8n0rR5L1rdaLFa0XK0oEm0zjsP9iELvCAAB2RhiPiXTSVTrp6i0Hhlt6fPWUQi9U7757gF/dsoG1UPZVKBf15mpx52+0BRtY0Q2PP72g0aGEjoRewObLnj7/zZd11w8dqI85xiiZcOQaI8dRdZXdMXIcU3+/VhITRdnWoHaFAQDsjDDep4wxGhlKaGQooWPj6d0/QZsbWHcK8LUNrLUSm1pNfNjNbGBtdQV+ZIgNrIPm9dW8Dgw3/nc1nHT0xmrjPgvfWhWbdH1pxgnCecKtBfTQqaVud/ZYDGpXGADAzgjjqAtvYG2V51utFbautpcaA3yupJVCpWMbWB2jHYP75vuNAT+dJMDH2a0H0rq2UVQ66dbHCmVfRw+09kKzGd9a+Z5Vs+wePgQpFbRvdB0jx5h6iN/LFZ1B7QoDAHFmrZVvq88bNriVNj+2wWOk2vvtfX3COG6K6xiNZ1Iaz6T01hY/p2EDa67csJl1s31kaPU9X1YhtIHVt9rTBtaG1fZw6Uymef37UCj4IVoP3z+lzz7xovJlT8NJR4Wyr4pv9fD9rfY9ak/4EKSNGzyuFtBrpS/1chh3sywmHN4HtSsMAHSbDQVl30pWWz4O3e72ONskeHcTYRz7bi8bWAtbNrDWgnvD2JaAX/YaN7BeWy/p2h43sG6te2+2An8gnVSSDaxd8cD0IX1Ud+rxpxf0xmpeRw+k9fD9U3pg+lCk8/J8K0/NV9eb+YV3/JD+5ddfVMXzNZx0Vaj4qnhW/9O7b9NaoVwP75JkjGRkVLugY1S9euUMyB4LNroC+yu8+ltf8a2FUm2GU4UCrA197ub7wa3q74Rvtt+vxpXkrRexbejz66vPdvM+q80QHVcmzpPfix97x732y1+b3dfv+dT8dT3+9IJeX83r1h4JEf3gRn+u1lrly15jeM+FVty3HO5UC/D+Tf46jKTcHevdmwX4seEkG1gHTO3f7c28qDDGyDGqB/faivzWTatO0CrSBI+t3TpGPV22Fd7oGj7s6NzpuwnkiJ2tIdf3qwGy9mK79sI7/HtZC7e1sKna+1tWcq0k62+OSY0BufaxHyRnf0t43boijM764cmxZ6219+32OMJ4lz01f12ffeJFJRzTcHn9o++7k0B+E7rx5+pbq41iZdvq+0qutD2877CBtV21DazNAvxO9e8jQ4l6CANuxo6r8KF/Xjs9RYTHwytc4YARfgFgqnc2PK7p15XVr/7hc7q6UVA62VjOc2R0SOd/+V3BHIMXGsELECd4MVKr69/pN2QvvzpbQ051rPEPxgTf0/T4C51W1YJabTUyHAy3/pvY6d/ITn8MpoV/B83+DYZD6W733WjFVk0+p1mAbfb1ZZvfFw63tfvqYXnAchY2tRrGKVPpssefXlDCMfWNZ7VVnsefXiCM34Ru/Lk6xmhsuLpafXyitc8Jb2Bt6DizraRmM8Bv7LCBdbHNDaztBHg2sKIZvyG5dCow3PzXWVzO6cBwQn7oUlXKNVpcymkl3/pekSg1+31rFuClzdcou/2K7vwS40bzuPH921Zem8xzP3AFGYOMMN5lrbZkQ3t65c81vIG1VaWKv2OAX24S5Lu9gXWnAM8GVkSlG91z9lsrgXbrKuzur2P6c4U1fKXzwHBC1zaK+uwTL+qj4goyBgNhvMv64UmlF8X5zzWVcHTL6JBuaXMDa+OKe6WxC00utIE1eNxNb2BNOG3Vv3d7A2u/rJz94V+8oi89u6h82VM66eqX3nVcv/zf3x71tHrKfnfPQbS4goxBRxjvMp5UumPQ/lyHk66G2zyBNV/2tNzQOnJzBX6nVfiGE1grvgprRWXX2jiBNdjA2hjiE01C/GaXmlY2sPbLytkf/sUreuzJV+UYyXWkYsXTY0++KkmxC+TdfHHUq91z0B29cqUTiAphvMt4UukO/lxvzJjqKY+ZVEI/pNZPYK1tYK2F+NVQ3/dacA+H+LVCpeHC+UbJ00bJ0+srrZ3AKm2ewNrYPjKhg5lU/f3H/vxVWWuVcl3Jxnfl7EvPLgZBPLiCYCT5vr707GKswvh+vjjqz8IMhMX5SifQCYTxfcSTSmc9MH0oVkGs1+11A+t60GlmOV9qCO/VFpLlhnC/ki9ro9jYlHutUNFaoSKplVWw6ip9tX2f9MZqQWe/fGnXFfhMqjc2sObLnrZW8hhTHY+TbpcV9MuVELRm0K50AlsRxruMJxX0M9cx1RNMM0ndptZOkSx7vtZCrSKXt5zCGi6dqd1XKPsNX8OzVl6QX7/10tVdv2fCMTsE9Z0D/HAXNrCmk66KFa+hxZ8NVvrjpNtlBdQQDxaudGLQEca7jCcVoFHSdXRoJKVDI613oPnzF6/qX33jJRlJCdcoX/ZU8azuv/2QRocTjQG+yQbWim91baOkaxutb2AdSjg7tJBsHuAPDCeVStx4A+svvet4tUbc92VMrRdxdTxOul1WQA3x4OFKJwYZYbzLeFIBbt5P3HlY81fWW+5CYq1Voexv6/NeC+o79YEPb2AtVnxl29zAmkm5N1x9f+uREf3MXW/RzF9fUaHiK5109A/um4pVvbhULSv41Ffn9OZqQZ5v5TpGI0MJfeTUj3Tk61ND3J5+6TQEDCrCeJfxpALcvKfmr+tPv/+mDo2k6jWlf/r9N/WjRw80DR3GGKVTrtIpV0cPtt6BZqPoNQ3pOx3ktHUDa67kKdfGBtZc2dcfP3dZ/+8LWR1Mbz+JdbzJyvzocA+dwBqctLmHs2huiBri1lEKCcQfYbzLeFIBbt7jTy+oXPG0XPJU9nwlXUcjKbej5V7GGI0OJzQ6nNCxidZeLIc3sDb0fW9SC19727qBdb1Y0XqxosvLrc3TMap3ntmt/r12O9LhDayPP72g0aGEjoR65Xey/I4a4tZRCgnEH2G8y3hSAW7eK9fWtV6syMjIMUYVz2o5X5bnr0c6r/AG1laVPb9aKlOoNF+FbxLiwxtYfSstByU3bc0zFNp3OswpHOCHE86OAX4/yu+oIW4NpZBA/BHG9wFPKsDNKXtWvi9ZWVlVqyKMpJIXv4ahSbf9E1iLZU+rhcqOte6bZTSbbSbDG1g93+r6RknX29jAmko4Oji8PcCPZ5JKOo6ub5SUTrpyjZHjGJU9yu+iQCkkEH+EcQCxEG5uaDVYffuHkq6OJF0dGWstwFtrVaj4O660r+S2H+C0dQNrqeLrynpRV9ZvtIG1cXU+u17SP/z3f7nrCny9jGY4ocTWxutoC6WQQPwRxgHEglFjAO+RLYw9yZhqDXE66erogb1tYG1W774Z7iu6tl7URqmx/r1U8fXGakFvrLZ+AuvoUKKt8pmxXtrA2gMohQTijzAOoOdZ629bCbeSZP0mj8Ze7HkDa7FSL5PZadPqan0VvrpZNWwvG1jHmpTP3CjAd3oDa6+hFBKIN8I4gJ5njCOj6ipsrWa8egclDlEKbwxtVcXz65tXV5uUytTGX1su6M21giqebXgh5lvVH7eXeTYL8AeGQx9ndt/ACgCdRBgH0PNSCUfFsifjmPrJlda3u5542Q/67UCXRAsnsNZ6Zx89MKzhpKN8yVPJq9ZB33Yo07TePbyBdaVQVqmyedWkkxtYb7QCPwj/HgF0HmEcaIExRo6RjKph0BjJMdX3W2FDS3s7bTy0wYOafa/a+7WvVV8rbFJEXf+84GsZBXN1qrfOlrlbu/k1fVudx402R4Z/FjX8XDY43n3z63jB+75f+9lU/xlDU67/jE7QJiX8M1hJP3xkVD+4vqG1QqXeZ3wsk9TxiYyGkm51zlah798f2zsH9UCXrb2zM6mETNnT7N9c1e//g3t2/fzaBtbtYX2zXGY5X2oM8PmyvNAO1tY2sDZKJ92mK/A7bmRlAysAEcYHTi2E1TZAuU61b7NTD2pGbpCC6sEp9PnhEGVC4U+hj5uprWbW2HqW3B6azJatebXH2Cb50+4xdIUvP9feq/3ZhIPh5hiXq6P0a3/3R3T24iWNDSfrh5qUPatff9+dOjbevL7Z1l4IBOE8/ELB8618v/Ziodo20bO2IdSHX5xEZVAPdLnZ3tnhDaxvaWcDa8lretpquBY+HODXCo0daPJlT/my19YG1pEht0lI33ISa4YNrEA/I4x30NagGl7NVG2syWPq9wV3bB2rrW4q/Dlm+/3h1c56iBSBEvF36sSkHlpc1ue/9bI2Sp5GUq7+yXvv0KkTkzt+jjFGrpHcDvRdqYd0bYb82pWA8Gp87SqAH3oh4PnVt/AVg1YN6oEuUfTONsZodCih0aHEji/wtvKt1dqW/u/h92ur8OHuNGuFxg2sG0VPG0VPry23FuB32sC6NcCH30aG+nsDKxB3AxfGU66j4xOZ+setrMxKjavETVeH+Y8O6JqZuawuPHdZR8aGdFuwOnzhuct6+/HxGwbyTjENJUk397vu+1aVIJxX/M2wXvF9+b7qt561uvVAWpeXN7Re9OrlOaNDro6Nj9z0z9TL4tI72zGbG0NbnZnn222tI1e3rsIHq++1x+RCLST3uoH1wHBi+wr8Dergh5P7u4G13/ZGAO0YuDBujNhkA8TM+dl5JV2jTKr6X1YmlVCuVNH52fl9CeOd5DhGKae1kPN3f/SwPvvEclAyJZU9X9c2fP3COyeUSjj1IN9v+rl3tuuYXTewblWq+NVgnqtuTm0sowlq3nMlrQSr9Mv57RtYl3JlLeVaD/BJ17QV3m9mA+ug7o0AagYujAODaGYuq/Oz81pYymlqIqMzJ6djFWIXlnIa39I+L510tbiUi2hG++PJl5c0OTaktUJFJc/XUMLR2HBC37u8Wr/C5/tWZd8PVtetPG9zxb0SjMcxsNM7e1Mq4ejw6JAOj7Z2AqskFcpeQ9170wC/ZbwS+ndS9qyurpd0db31DjTDSaetAF/bwDqoeyOAGsI40Odm5rL62IXntV6syPOtrq4X9bELz+vTD90Tm0A+NZFRdq1QXxmXqpvlwiVn/WhhKafDo0M6Mra5CdFa2/AixHGMhhy32ac3fM5mQLeqeH7941Kl+n6UG1WboWzh5gwnXQ23uYE1V2otwNfuW92ygbVQ9lUoF/XmausdaEaGXBVKnpKuI9cx1begqcBKvqxvvnhVB9MJjadTOphOanQ4IbfFK0tAXBDGgT73ya+8oOVcWW7QKcf60nKurE9+5YXYhPEzJ6d19uIl5UqVhm4qZ05ORz21rurUixBjjJKuUXKHzG6tVdmzKnu+yp6vkuer7FVDexSr6pQt7D9jjEaGEhoZSuiH2tjAul7YHtLDAX5rbfxqkw2skuRVmp+m+4mLlxrnKWmszfp3NrCi1xHGgT738rVctebY2ezSY32rl6/Fp8Tj1IlJnVO1dnxxKafjMSy12Yv9ehFijFEqYZrW/NaCesXfDOi14N6tFXXKFuLBMUYHgiDczgbWtUJjYP+rHyzrz154s3q6rpHKFV+etRobSihf9pUvb25gtZJWCxWtFipaWGqtq5BjtGNw33y/MeCnkwR47B/COIBYOHVisu/D91a98CKkHtTVfHNe2fNV8axKnl8vfyl7N1erPqgtHQeB6xiNZ1Iaz2xuYP3bdx7Wu+84tLlh9/BoQ1lSfQNraIV9s/d7ZVtf+JV8WcXQSrtvtacNrA2r7cPbA/x4prH+fWinS0/ALgjjPSjum+3QW6YPj2jujTWVvM3VJSPpxNHR6CaFlvX6i5Ck6yjpSmltDyK1No4VPwjpldZW1aPoM45o3WjD7l43sDaveS/Ve7+vbAn4Za9xA+u19ZKu7XED69a+781W4A+kk0pyAitEGO85M3NZnb14SUnXaDydVHatoLMXL+mc1NNPyOhd4+nEtm76NhgHuqnWxrHZqvrW8pdw95d/9O7b9Pt/9jc932ccvau2gXWyzQ2sq4XtAb5xJb6xNv6mN7Cm3B3r3ZsF+LHhJBtY+xDPxj2mn/opozc89epyW+O9iitG/eVG5S+/eP+UjowN6d/91/+mxaWcfmg8ow/++Fv17h++RZUu16tjMIU3sN56sL0NrO0E+G0bWEueNkqeXl9p7QTW2gbWZgF+p/r3kaGEHOrfexphvMcMaj9ldE+tbjf8f7G1ilXvaa4YDZ5WynO21qt3e2MpuieOrSzDG1iPT7T2ObUNrMv5zZNWwyvtq4VqiA8H+I1S8w2si21uYG0nwLOBdX8RxnvM1ERGr1xb12q+eshHynV0IJ3Q7bdQ34u9cR3TNHjH6VInV4zQzE716rUSmJLnq1TZfKv4zdvnIVqD1Mqy2QbW3ZQ9v36yarMAv9JwX/W20KkNrMNbQ3xiW5AfD27ZwLp3hPEe8+PTh/TUK9frx1+XPF/ZtZIeub+//kPqZ71WTnH67Uf1f//V69q6UHj67UejmdAecMUI7Who1Rja81c75Kjs+y1vJkX30cryxpKuo1tGh3TLHjewVoP69p7vW0P8TW9gTTht1b+zgXUTYbzHfHv+uo6MpurHX6fc6vHX356/rl+PenI9ptdCb21OvVZO8ZmH75X0nC5+9w15vpXrGJ1++9FgPB4G9QROdJbrGKVT7o4r6eVgJb3s+Sr26Mmk/YhWlp23lw2shbIfWmkPdZ2p1cDXVuJDtfANG1grvgprRWXX2t/Autvqe7hLTZyu6raKMN5jWjn+Gr0ZeqXeLaf4wDuO643VUv2FywfecTyyuezFoJ7Aif0RXkkfCS0+Wmvrp5GWK42nkxLSO4dWltEzJnihmnJ19GBrAd63VhvFxhNYw33fm/V/XytUGrp7tbuBVdo8gbWxfWRjgA/3gI/DBlbCeI9hBbA1vRp6e7GcoldfuLSjFw6/weAxxmgo4WoooYZyF6lax1v2fJUrtcDu1w87Qnsevn9Kn33iRVpZxoxjjMaGq+0W29nAul5oDPAN9e6FLQE+17iBVZLWChWtFSqSWt/AWgvura7AZ1L7u4GVMN5jWAFsTS+GXqk3X0z16guXdvX64TcYLNXNo460ZR+eF5xAWvKqdemVoE6dkpedPTB9SB/VnZsncMakmwra5zpGBzNJHcwkd39woOL5Wi1sXYGvBvWVQvMV+EK5cQPrchD6W5VwzA5BfecAP3wTG1gJ4z2GFcDW9GLolXrzxVSvvnABbqQX94S0wnWMXMdt+sQcXk0vel5Qn05Il258AicGW8J1dGgkpUMjrXegKZa95gF+S817+C28gbXiW13bKOnaRusbWIcSzraQ3vLP2PIjsW9YAdxdL4ZeqTdfTE1NZPTy1fVtm4LvOEy7TPSmfiitaqZxNb36RF2rSy8G7ReLleqKut9GQI9jj26gm4aSro4kXR0Za60DjbVW+bJX37TarFxmpRDchsbDVWnFiq9smxtYawjjiKVeDL3hufXCPGqatcu8sl7SP3yAJ+soxHXFdz/1S2lVKzbr0htX0sPlLpVQp5et5S6D1KMb6BZjqv/fZFKJljewWmu1UfS2dZ4Jd6D5ty1+f8I4YqvXQm+v+vb8dU2OpbYdJEW7zP3Xryu+nUZp1c7lLuEDjcoVX3/87KKSrqk+ztKjG9gvxhiNDic0OpyQdtjA2moY71q3dWPMF40xWWPM/xcaO2SM+Zox5sXgdiIYN8aYzxljXjLGfNcYc2/ocz4YPP5FY8wHQ+PvMsZ8L/icz5k+Ord1Zi6rRx59Uu/91BN65NEnNTOXjXpKiLGFpZxSWw5WSLnOQAWbXhFe8a2txCRdo/Oz81FPradMTWS0uJTTpddW9L3LK7r02kr9Ctigq7ZhdDQ6lNDESEpvrhV0YDiplOsomXCUcB2NpFy9uZbv+XZuAKq6efTRf5D04Jaxj0v6urX2TklfDz6WpPdLujN4+7CCFxPGmEOSPiHp3ZIekPSJWoAPHvPh0Odt/V6xVFs5y64VGlbOCOTYq9GUq8vLBVU8K9cYVTyry8sFjaQ4urhVnXqBvLCUU8XzNX9lXXNvrGr+yroqns8Loy2OHkhpOV+p12NWuyFUdPRA6xu4BsXUREb5sidjjBxj5DpGZd/q9ltGdfvhER2fyGjywLDGMymlU25fHpgCxF3Xwri1dlbS9S3DH5D0WPD+Y5J+PjT+B7bqSUnjxphbJf2MpK9Za69ba5ckfU3Sg8F9B6y137bV4rk/CH2tWGPlDJ1Wv2hkQm/hcdxQJ18gjw0lqi+MgpNQK371hdHoEBWDYV/9fvM/253GB9mZk9Mqe1a5UkXWVm/Dm9lrq+iHRlK69WBab71lRLcdyujowWEdGklpdCihVMJhFR2I0H4/A7zFWvu6JFlrXzfG1Iokj0laCD1uMRi70fhik/GmjDEfVnUVXbfddttN/gjdRa0kOm2tWNGx8WFdXS/Va8aPHhjSerES9dRioZObCesb72r77+yWcUiScsEhH+F8aO3mODbtZTN7wq2Ws2S2XGioBKeLhg8xKlU4yAjotl5Zjmn2ktzuYbwpa+2jkh6VpPvuu6+n/1fp1f7ZiK+piYxeubbeMFbyfN1+C60NW9HJF8jrJW/7C6PRoW0nzA06Y6rhu1A58aUAABy9SURBVNk4tuvUZvZqSJfSat7ZpVjxG3qlV3x/h68EoB37HcbfNMbcGqyK3yqpds1xUVL43Nvjkl4Lxk9tGZ8Jxo83eXzs9Wr/bMRXs9aG2bWSHrmfTgut6OQLZF4YtebYgSEtrhS3BfJjB1rrGYzO2qmzi++HV9F3br8IRCFO/fe7uYGzmYuSah1RPijpy6HxXwm6qrxH0kpQzvJVST9tjJkINm7+tKSvBvetGWPeE3RR+ZXQ14q1Uycmde703ZocG9ZKvqzJsWGdO303bc+aoOtMa749f11HRlNKuY58W+2kcmQ0pW/Pb93SgWZ2q8ltx49PH1J2rboqHn5h9OM9+gQRld/9hbdrbMhVba+hY6SxIVe/+wtvj3ZiaOA41ZaKY8NJHRpJ6S0HhjV1KKM7Do9o6lBGtx5M65bRIR1MJ4P9T/sdOTCoav33r20UG/rvP9Wjz3tdWxk3xvxHVVe1DxtjFlXtivJJSV8yxnxI0g8k/WLw8D+R9LOSXpKUk/SPJclae90Y8y8kPR087py1tvYn+auqdmxJS/pK8NYX6J+9O/o1t25hKafDo0M6MrZ5kIG1ln0ILerkAVO1F0ZbT0Ol53ujUycm9a8eubcnD/VCa6qnjW4veQmvppcqQY16xafkBR31+NMLSjhG6eBqTq/33+9aGLfWPrLDXT/Z5LFW0kd2+DpflPTFJuPPSPpbNzNHxNcgndB3s9iH0Dk3e+GdF0at++7isi69tqKNkqeVfFnfXVzmd7sPOI7RMCUv6LLXV/NyjbSwVFTZ85V0HU1kknpjNR/11JrqlQ2cQFvoOtO6Myen9dE/+o5W8xv13c8H0gn9zs/dFfXUYqGTV2F4YdSaz/3Z3+izT7wkx0gJp/pn9NknXpIk/fpP/XcRzw7dsFNIt7Ya0kuV4I0OL2jBSCqhV69tyHGMnKCN7JurRb31lpGop9YUBVyIpdpBF2GEmua+u7is1XxjG8PVfEXfXVyOaEbx0sne/52sP+9nn//Wy0EQd+QYJ7itjmOwGGM0lKjWpd8yOrStV/pEJqWRoYQSDnEGIeE2srW38HiP4V8vYolQ07rPf+tlJdzqRqt0srrylHANwaZFC0u5et1hzV6vwrBBuzUbJU9bD4p0jGgBuYNB3Mxe7ZOe0ESwcfS2WzJ66y0jDYcZsWF0cG2UPb3lwJASrpFvrRKu0VsODClX7s3/QyhT6UEzc1mdn53XwlJOU2xcaqqTm+r63UbJU2LLcxLBpnXdKi3pzfWZ3jCSqm62Cgdy31bH0YjN7Jtcp3rlKnyYke9bFYMSl2LFq/dKR3+79f9v7/5j5LjP+45/np3dvd/kHX+cZItUxGsoE7Ij27Ksmg2hCrIQK0lhu4AKSGlR1wgTGbUjI0Va22htBEpS1AmKRAoCQwrjKG3qCqlao4TrxpXKqIoKSpasSHRYUSJzFEKKok7ij+P93tvZp3/M7N3ucfd4R93u7My+X8Bib7+cu53BlzP77Hee7/Pd1KdzMwvaWXOdnlsMNTrQmeVRCcY7DBfWtaPqzNoMFAPNlMpyD+UeLZxiFuXUpcnDT72uA8+e1Ewp1EAx0P59u9qSP7yRtf85v9dm/75deujQCZUrUQnIikeP/ft2Jb1rHeeRZ8ZVKoc6N11foYfJ7JFcztRXDNRXDCRF84yqk0UX4gC9WtWFiaLZce/Hd+qhQ8c1txiqt5DT/GI0Gfjej++88i8ngHs4HWYj81MBSfrknu0KK1Ew44qew0rUnhbVCX1zi2HdhL6Hn3q95e+9kaklnN9r88BdN+rLd/6k+gqBypUoLejLd/4kkzcbeP3tSzo3U1I5dAVmKoeuczMlHX/7UtK71rGq9dE39xU0OtSrHSP9umFrv94/HNVFH+wlxSXtbhvboi/fuVtbB3o0NV/W1oEeffnO3R1Z1lBiZLzjUCUEG+3Vt6Zkqk+LsLg9LWon9ElRmk25UtGBZ0+2JUDbqLswnN9r98BdNxJ8r8FiGJ3ZuTinx6w68sso73qYRQF6VM1lxQj6IikuaXTb2JaODb5XIhjvMJQ+w0Y7eW5WhcAU1FQbCCsVnTyXngAwK3nvnN/YaMV8TnOlUBV3mcXFIjxqx3tTX24xCtDLS+ktcYC+WFGF9Ba8RwTjHWYj81OBqrDiKldqcsYl5QO74u91ioFioJmFslz1xzDQk65L2NWc3906obtbj3u9do8O6Y1z07o0t5wzvmmgoBu2Dia9a5mUD3LKBznVzgOs5p1Xg/RSuUL+OdaFr84dhtJn2GijQz0KfUXOuEftafHJPdsbHkOa8t6l9Z/f1QmfE1PzdRM+s166rluP+2rcf/uYCkGgazf36gPXDOnazb0qBAEDOG1UrYO+bbBH1w331eWfb+orqK8YUAcdq0rXsFKXoEoINpJXGuc4NmvvRGcvlTTSn9fkXFkVj1JUNvfldfZSKeldW7f1nN+1Ez4lqb+Y12ypnPlKGd163FeDMq+dpz7/fFk1B30xjKq3VFcVLafoWozWIBgHMu7sVOOA9e0m7Z3o1IVZXTfcrx0jy6k17p7KiY/rSb/o1gmf3XrcV4sBnHSoz0FfVltqcTGsLAXp5KJ3D4JxIOPCSuMLerlJeyfaOdKvk+9Oa2q+vpbyrm3pyotdb53xnSP9l+cD9+Uznw/MRFd0k2ZBejmsRCPpZddCGC6NppOPnj0kMQHoeHvHtuid6ZJKYbQITCms6J3pkvampGxV1XrrjO8d26KJqfrjnphK33Gv1/23j2kxdM2WynKPnpnIjm6TD3LqL+a1uT+qh37dcJ92bRvQzi39unZzr7YO9Giot6DeQqAgl54J+bgcI+NAxq2sMV7bnhaHx89rdKh42Qjx4fHzeiDpnVuHUxdmFZg0/s700nFsGyw2Tb84PH5em3oDTc6VtViTK5+2414v8qCB5gpBLlqUqFjfHlY8SnMJK1osL4+qk5Pe+QjGkVqUPlubXE5qdC1O0+T+UxdmtXWgR9sGe5fa0pgzPtST1/GJaQU5U5AzlSuuNy/Oa/do47ST4xNTmp4PVQhySzWkp+dDHZ9Iz4JNV+vI6Ys6emZSM6VQk3OLOnL6Iud3E1wLISm+rlx54mg1L71ccVJeOgTBOFJpvbm33azcZFCkWXsnykoOsXv04Vcqu1zR3YmcqekHYqlckUzKWc3qihbljWbZw0+9rocOnYhXXY36+qFDJySJVTlX4FqIK2mWk+7uS8H50sTROGAnSG+vFI2NIW2ePjah+x59Tvu+eUj3PfrchtYIfuSZcZXKoc5Ozuu1t6d0dnJepXLYNPcW6ZaVHOJ3Z0rRConVHKF4tPvdmcaVbQrxwkyVeASrEk+6LaZowaarceDZk3EgnlPOcvFz1I56652HAFSZmYr5nAZ68hruL2p0U692jPSTl54ARsbREq0erXn97Uu6NF9WTqbATOXQdW6mpHJ46b3vPDpOVnKIS+WKgsDqFgApVypNR7pvvGZTgyoyhdRVkVmvmVKonFwL5eUVVwOL2lGPMpBoBfLS24tgHC3xyDPjWgxDnZuun3C3UYt2LIbRCGEuV3P7vuIqhdxay6os1FIuBKa5xej/ajUHXGo+0n3/7WP6xsGjunZzXn2FQHOLYSrvCKxXT5DT7OJy4O3x6qv9BW7mrpSVFC6kA3nprUEwjpY4PjGlydlF5Womqr07VdJiuDETz4r5nOZKoSpeE9R41I56OYsCmUbtaK8br9mkV9+a1KX55ZVEN/XmtfuaTQ23z8odgfUKco0/vJu1d7PqF7bZUrmrvrChs6w5Lz0O0slLr0cwjpZo9cSz3aNDly+GMlDI/GIoV6O3EGi2we39lRfNTpeFihF7x7boh2+cV5AzFeIvSVML4ap1w7NwR2C9pkuNrxPN2rtZt35hQzpEeenWcKCsdlGj5VH1StOF6rKMYBwtsd7b8evVrbfvr8aWvnzDYHxLX3pO/6xUjDg8fl59hZymF5b7Y7AnyHzd8PWqXi/M6tsYSGssC1/YHn7qdR149qRmSqEGioH279tF5ZyMywc55deQl147sp5V6fk0Rqq0euIZo0HrkMtpU09OlxaWL2SbenKyFBUar60YIUn9xbxmS+UNm4PQLkfPTGp6IaxbcGl6IdTRM5OJ7VMn6i8EUc64X96O7KGUJWqtlpe+WFlOc8lSXjrBOFqiHSPXWRgNaofBYqAzF+tHFKZLFb1/OD2BTVYqRixVA6mNxp0qISt94e+P6ff+9/G6uQ45i9qRPVHJSldYkcpx9RyLS1kSjKMqlzP15AL15K+cl74YuhbLFVVSEqQTjKMl7tgzqntOX7zstiPBc/u9O1O6bAJnZZXa1p0oKxUjqnXCV34+VLowR3I11QCMtIXuML0QTWg2aan2fsWjduBKrpSXvhh6zYJGnZmXTjCOlnj62ISeeOlNbR/q0fXxyPgTL72pm3cME5C32bnpxkF3s/ZOdP/tY/q1J17RmxfnFFZcQc402JPX13/+pqR3bV2GevNLAUa1frYkDfZwKV7pgbtuJPjuEladWFSzGJY8bgfegygvXeor1o+mh5XlAD1Ke4mekxpJT0/SKFKFVeE6R7NLS2eNC1yZSZLHS8d7faZHWuzft0tSNOrnWi45WW0HulFfITqbq5N0q/FQfyGNZznSIMiZ+oqBNvcVtH2oR+8f7tMN2wZ0/ZZ+XbOpVyP9RQ305OsWaGslhmPQElnJ8UVneOSZceWDqGZ96NFzPv5yl6Y7LTfvGNZAMdBMKVyqMz5QDHTzjuGkdw1IzM6RAb169vI1KHaMDCSwN+hm1QovAz3LbUuj6OWKFsJQC4sbX9mFYBwtkZUc3yzIwqI/xyemdGGmpIokuVSuhJqPJwWnySPPjGt0U2/deZHGqjDt8KuPv6SDR84upSV9+uZr9bv33pL0bqEF3F35nCkwWyqFG3r6K2QgG6qj6FGqSzTI6O5aiNNcFhaX012u9v8swThaglXhOkcW0lRmF0KFtakpLoVxe5qcujCrwKTxd6aXSn5uGyym8o5RKxdh+tXHX9J3X35r6XVY8fj1SwTkGTRdCnXdcK/enS4tnRfXDvZQZQgdy8zUW4jLL/Yut5fKFS2Uw6V89LUiZxwtcceeUT346Q9qdKhXk3OLGh3q1YOf/iCjfwlots7SBq2/1BalMPpQ9ppHbXtaDPXk9ebFeZXj0d5yxfXmxfnUTeCsLsI0MTVftwjT08cmNuTvHzxyVtJyibvqPL5qO7Jl50i/FlaszrxQrnAnFalTzEdrqmwd7NH7Nvet+ffS9QmAVKEOeGe4dqhHpycXGranRZDLyb0SBeLVOsRxe5os3cKsfpvwFe0p0epFmJqVHeu0cmTYGHvHtuiHb5xXzqL0uVJY0TvTJf3CbVuS3jWgLdL1SQZg3ZqttJmmFTjHtg3IzFQIcuop5FQIcjIzjW1L1wSv6u34fGAK3ZUPTNcN96budvypC7PqW7E63kZO0A5yjatrBGma6IA1Ozx+XqNDRRWDnCouFYOcRoeKOjx+PuldA9qCkXEg485Ozq+rvRN95e49+pdPvKKp+bLKYUX5XE4j/QV95e49Se/aulQnNo9tH1xqmy2VNTrUu8pvdZ6dI/1649y0Ls2Vl3J8N/XldcPWwSv/8hrc9hPDOnzyQsN2ZM+pC7PaOtCjbYPL54G7p3IuBXA10jM0BuCqlONhxZX5t+UUpUbcsWdUv3PPh/XR60f0vs19+uj1I/qdez6cujSo+28f02Lomi2V5R49p3Fi896xLZqYiibbVdMKJqZK2ju2MWkFp843DsKatSPddo70a26x/u4Q1bfQTQjGgYyrTtS87JZ/Su/4p+crxOWyMrH58Ph5bR+sTyvYPrhxaQVvNpjjsFo70i0rX1KBq0WaCpBxu0eH9NrZKbnVTH70qD0tqtU7CoHVVe94UEpdIJuFic2nLsxq22CPtg+1Jq0gC+U4sXZ37BnVg4omBp++MKsdG1wqE+h0BONAxtXlW1eifOuh3nyq8q1bXb0D69PqRb1MjQPvlN7MwRpk4UsqcLVIUwEyLgv51q2u3oH1aXVawXXDjSe0NmsHgDRjZBzoAmkfdWr1SCzWp9VpBb/52Z/SA//5JU2XQlU8qj09WAz0m5/9qQ35+wDQSQjGAXS8+28f0zcOHtVsqay+QqC5xZAJXglr5Re8O/aM6uH7biGHGEBXIE0FQMfLShUSrN2R0xd19MykzkzO6+iZSR05fTHpXQKAlmBkHEAqpD3VpurpYxN65Jlxnbowq52M+Db08FOv66FDJ5QzKZ+LUpIeOnRCkvTAXTcmvHcAsLEYGQe6wNPHJnTfo89p3zcP6b5Hn9PTxyaS3qWuVC3RODE1X1eikf6od+DZk/KKazF0LZSjZ6+4Djx7MuldA4ANRzAOZBwBYOeoLdFoFj0XAtMjz4wnvWsdZWq+rMqKtkrcDgBZQ5oKkHFZqdGdhfSOUxdmNdxXqGujROPlWPQHQDchGAcyrl0BYCuD5XatwNnqgJ8SjQCAlUhTATJu50i/5hbDuraNDgBbnQrTjvSOdqTztHqxnKzY1Ju/bLVNi9sBIGsIxoGMa0cA2OpguR0rcLYj4KdE49rs37dLuZypEJh68tFzLmfav29X0rsGABuOYQYg41q9WqLU+lSYdqR3tCudJyslGlupWr7wwLMnNVMKNVAMtH/fLsoaAsgkgnGgC7Q6AGx1sNyOFTjJ5+4sD9x1I8E3gK5AmgqA96zVqTDtSO8gnxsAkARz765iUbfeequ/+OKLSe8GkDnVSiStSoVphywcAwCgM5jZj9z91ituRzAOAAAAbKy1BuOkqQAAAAAJIRgHAAAAEkIwDgAAACSEYBwAAABICME4AAAAkBCCcQAAACAhBOMAAABAQgjGAQAAgIQQjAMAAAAJIRgHAAAAEkIwDgAAACSEYBwAAABICME4AAAAkBCCcQAAACAhBOMAAABAQgjGAQAAgIQQjAMAAAAJIRgHAAAAEkIwDgAAACSEYBwAAABICME4AAAAkBCCcQAAACAhBOMAAABAQgjGAQAAgIQQjAMAAAAJIRgHAAAAEkIwDgAAACSEYBwAAABICME4AAAAkBCCcQAAACAhBOMAAABAQgjGAQAAgIQQjAMAAAAJIRgHAAAAEkIwDgAAACSEYBwAAABICME4AAAAkBCCcQAAACAhBOMAAABAQgjGAQAAgIQQjAMAAAAJIRgHAAAAEkIwDgAAACSEYBwAAABICME4AAAAkBCCcQAAACAhBOMAAABAQgjGAQAAgIQQjAMAAAAJIRgHAAAAEpL6YNzM7jaz18zshJl9Nen9AQAAANYq1cG4mQWS/kDSz0q6SdJ9ZnZTsnsFAAAArE2qg3FJt0k64e7j7l6S9LikzyS8TwAAAMCapD0Yv07SqZrXp+M2AAAAoOPlk96B98gatPllG5n9sqRfjl9Om9lrLd0rtNs2Se8mvRNoG/q7u9Df3YX+7i5Z7++fWMtGaQ/GT0vaWfN6h6QzKzdy90clPdqunUJ7mdmL7n5r0vuB9qC/uwv93V3o7+5Cf0fSnqbygqTdZrbLzIqS7pV0MOF9AgAAANYk1SPj7l42sy9J+oGkQNK33f1owrsFAAAArEmqg3FJcvfvS/p+0vuBRJGC1F3o7+5Cf3cX+ru70N+SzP2y+Y4AAAAA2iDtOeMAAABAahGMo2OZWWBmf2Vm34tfP2ZmJ83s5fjxkbjdzOxhMzthZkfM7Jaav/E5MzsePz6X1LHgyszsDTP7cdy3L8ZtW8zsybj/njSzkbidPk+5Jv3962b2Zs05/nM1238t7u/XzOxTNe13x20nzOyrSRwLrszMhs3sCTM7Zmavmtlezu9satLXnNurcXcePDryIelfSPqOpO/Frx+TdE+D7X5O0v9UVHf+E5Kej9u3SBqPn0fin0eSPi4eTfv7DUnbVrT9tqSvxj9/VdI36fNsPJr0969L+rUG294k6RVJPZJ2SfobRZP2g/jnMUnFeJubkj42Hg37+08k7Y9/Lkoa5vzO5qNJX3Nur/JgZBwdycx2SPp5SQfWsPlnJP0HjzwnadjM3ifpU5KedPfz7n5B0pOS7m7ZTqMVPqPowq74+bM17fR59/iMpMfdfcHdT0o6Iem2+HHC3cfdvSTp8XhbdBAz2yTpdkl/JEnuXnL3i+L8zpxV+roZzm2RpoLO9XuS/pWkyor234pvW/6umfXEbddJOlWzzem4rVk7OpNL+l9m9qN41VxJusbd35Kk+Hk0bqfP069Rf0vSl+Jz/NvVtAXR32k3JukdSX8cpx4eMLMBcX5nUbO+lji3myIYR8cxs38gacLdf7Tin74maY+kjyu6TfmV6q80+DO+Sjs600+7+y2SflbSF83s9lW2pc/Tr1F/f0vS35H0EUlvSfr38bb0d7rlJd0i6Vvu/lFJM4rSUpqhv9OrWV9zbq+CYByd6KclfdrM3lB0a+pOM/tTd38rvm25IOmPFd3GkqJvzDtrfn+HpDOrtKMDufuZ+HlC0ncV9e/b8e1pxc8T8eb0eco16m93f9vdQ3evSPpDcY5nxWlJp939+fj1E4oCNs7v7GnY15zbqyMYR8dx96+5+w53v0HSvZIOufs/qblom6Lcwr+Of+WgpH8az8D/hKTJ+JbnDyT9jJmNxLfEfiZuQ4cxswEzG6r+rKiv/lpR31YrJnxO0n+Pf6bPU6xZf1fP8dg/VP05fq+Z9ZjZLkm7Jf1Q0guSdpvZLjMrKrpeHGzXcWBt3P2spFNm9oG46ZOS/p84vzOnWV9zbq8u9Stwoqv8JzPbruj21cuSvhC3f1/R7PsTkmYlfV6S3P28mf2GopNakh509/Pt3WWs0TWSvht9z1Je0nfc/c/N7AVJf2ZmvyjpbyX9o3h7+jzdmvX3f7SoZKkrqrZyvyS5+1Ez+zNFAVxZ0hfdPZQkM/uSooAskPRtdz/a7oPBmvyKomt4UVEVlM8rGhDk/M6eRn39MOd2c6zACQAAACSENBUAAAAgIQTjAAAAQEIIxgEAAICEEIwDAAAACSEYBwAAABJCMA4AWGJmj5nZPUnvBwB0C4JxAMBVM7Mg6X0AgDQjGAeADDCzG8zsmJn9iZkdMbMnzKzfzD5mZv/HzH5kZj+oWcn2l8zsBTN7xcz+q5n1N/ibvxGPlOdWtN9hZn9hZt+R9ONm7x1v+4aZ/VszO2xmL5rZLfF+/I2ZfWHlewJAtyEYB4Ds+ICkR939ZkmXJH1R0u9LusfdPybp25J+K972v7n7x939w5JelfSLtX/IzH5b0qikz7t7pcF73SbpX7v7TU3e+5/XbHvK3fdK+ktJj0m6R9InJD34Ho8XAFKPYBwAsuOUu//f+Oc/lfQpSR+S9KSZvSzp30jaEf/7h8zsL83sx5L+saQP1vydr0sadvf7vfkyzT9095OrvPe+mn87GD//WNLz7j7l7u9Imjez4as4TgDIjHzSOwAA2DArA+cpSUfjUemVHpP0WXd/xcz+maQ7av7tBUkfM7Mt7n7ezP6upEfif/uGopHvmSu8d+3rhfi5UvNz9TWfQwC6GiPjAJAd15tZNfC+T9JzkrZX28ysYGbVEfAhSW+ZWUHRyHitP5f07yT9DzMbcvfn3f0j8eOgGlv53s9u1EEBQJYRjANAdrwq6XNmdkTSFsX54pK+aWavSHpZ0t+Lt/26pOclPSnp2Mo/5O7/RdIfSjpoZn1X8d7feo/HAgBdwZqnAwIA0sLMbpD0PXf/UDe9NwCkHSPjAAAAQEIYGQcAAAASwsg4AAAAkBCCcQAAACAhBOMAAABAQgjGAQAAgIQQjAMAAAAJIRgHAAAAEvL/Ab6MpApkvMd8AAAAAElFTkSuQmCC\n", | |
"text/plain": [ | |
"<Figure size 864x720 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(width, height))\n", | |
"sns.regplot(x=\"peak-rpm\", y=\"price\", data=df)\n", | |
"plt.ylim(0,)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Comparing the regression plot of \"peak-rpm\" and \"highway-mpg\" we see that the points for \"highway-mpg\" are much closer to the generated line and on the average decrease. The points for \"peak-rpm\" have more spread around the predicted line, and it is much harder to determine if the points are decreasing or increasing as the \"highway-mpg\" increases.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question #3:</h1>\n", | |
"<b>Given the regression plots above is \"peak-rpm\" or \"highway-mpg\" more strongly correlated with \"price\". Use the method \".corr()\" to verify your answer.</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>peak-rpm</th>\n", | |
" <th>highway-mpg</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>peak-rpm</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.058598</td>\n", | |
" <td>-0.101616</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>highway-mpg</th>\n", | |
" <td>-0.058598</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.704692</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>price</th>\n", | |
" <td>-0.101616</td>\n", | |
" <td>-0.704692</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" peak-rpm highway-mpg price\n", | |
"peak-rpm 1.000000 -0.058598 -0.101616\n", | |
"highway-mpg -0.058598 1.000000 -0.704692\n", | |
"price -0.101616 -0.704692 1.000000" | |
] | |
}, | |
"execution_count": 33, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"df[[\"peak-rpm\",\"highway-mpg\",\"price\"]].corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"The variable \"peak-rpm\" has a stronger correlation with \"price\", it is approximate -0.704692 compared to \"highway-mpg\" which is approximate -0.101616. You can verify it using the following command:\n", | |
"df[[\"peak-rpm\",\"highway-mpg\",\"price\"]].corr()\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Residual Plot</h3>\n", | |
"\n", | |
"<p>A good way to visualize the variance of the data is to use a residual plot.</p>\n", | |
"\n", | |
"<p>What is a <b>residual</b>?</p>\n", | |
"\n", | |
"<p>The difference between the observed value (y) and the predicted value (Yhat) is called the residual (e). When we look at a regression plot, the residual is the distance from the data point to the fitted regression line.</p>\n", | |
"\n", | |
"<p>So what is a <b>residual plot</b>?</p>\n", | |
"\n", | |
"<p>A residual plot is a graph that shows the residuals on the vertical y-axis and the independent variable on the horizontal x-axis.</p>\n", | |
"\n", | |
"<p>What do we pay attention to when looking at a residual plot?</p>\n", | |
"\n", | |
"<p>We look at the spread of the residuals:</p>\n", | |
"\n", | |
"<p>- If the points in a residual plot are <b>randomly spread out around the x-axis</b>, then a <b>linear model is appropriate</b> for the data. Why is that? Randomly spread out residuals means that the variance is constant, and thus the linear model is a good fit for this data.</p>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 864x720 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"width = 12\n", | |
"height = 10\n", | |
"plt.figure(figsize=(width, height))\n", | |
"sns.residplot(df['highway-mpg'], df['price'])\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<i>What is this plot telling us?</i>\n", | |
"\n", | |
"<p>We can see from this residual plot that the residuals are not randomly spread around the x-axis, which leads us to believe that maybe a non-linear model is more appropriate for this data.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Multiple Linear Regression</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>How do we visualize a model for Multiple Linear Regression? This gets a bit more complicated because you can't visualize it with regression or residual plot.</p>\n", | |
"\n", | |
"<p>One way to look at the fit of the model is by looking at the <b>distribution plot</b>: We can look at the distribution of the fitted values that result from the model and compare it to the distribution of the actual values.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"First lets make a prediction " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"Y_hat = lm.predict(Z)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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ShARkSyn0C4itZPKa7THNGwInTvXObT/7W/w4otw113Qu3f8r+vd2/e1v/MOfPe7dSpBRESynEK7iNROOsy0g2+RqUN7zL59fqWYgQN9L3tNjR4Nd97pr4d95plalyEiIllOoV1Eaic2057KPe3gQ/vKlbVePH3CBP/55Cc/gXq1/D/mT34CRUVw7bWwaVPtxhARkeym0C4itbNmDbRqBc2aRV1J1bp394urr1xZ45c659dk79ULRoyofQkNGsAjj8COHbWbrRcREVFoF5HaSfXlHmNiK8jUoq99+nT44AO45RZ/g9W66NUL7rgDJk2IYxLTAAAgAElEQVSC556r21giIpJ9FNpFpHbWrk2P0N69u9/Woq/97rv9Wxw7NjGl3Hqrv+nSNdfA1q2JGVNERLKDQruI1M6aNanfzw7QvLlP3jWcaX/nHZg1C266CRo1SkwpDRvCww/D5s1w222JGVNERLKDQruI1Nz+/bBhQ3rMtINvkalhaL/nHjjiCPj2txNbSmGh/yDw17/CG28kdmwREclcCu0iUnPr1vmrNNMptC9b5muOw9atvu/8yiuhZcvEl3PnndChA1x9da0XtRERkSyj0C4iNZcON1Yqq6AAPv/8y7qr8eyzPkxffHE45TRvDvff7y9yHT8+nHOIiEhmUWgXkZpLlzXaY2IXo8bZIjNhgr+R6oknhlfSyJEwapSfdS8uDu88IiKSGRTaRaTm0nGmHeIK7evWwauvwrhxdV/msTp//CPUr+/bZOLs3BERkSyl0C4iNbd2LTRt6m+ulA7atoXWreNa9vHpp32AHjcu/LI6dIDf/hZefhkefzz884mISPpSaBeRmovdWCnsqehEMfMtMnHMtE+YAH37fjk5H7ZrroGBA+H734f165NzThERST8K7SJSc+myRntZcSz7uGoVvPVWcmbZY+rVg4cegi++gOuuS955RUQkvSi0i0jNxWba00lBAWzcWOWtSCdO9NtE3QE1Xt26wc9/DlOmwOTJyT23iIikB4V2EamZ0lL49NP0C+2xFWSq6GufMMG3qnTqlKSayvjhD/1qNd/5Dnz0UfLPLyIiqU2hXURqZvNmOHAAjj026kpqppoVZFas8OumX3RREmsqo2FDP9NfUgIXXgj79kVTh4iIpCaFdhGpmXXr/DbdQnteHjRuXOlM+0sv+e255yavpPI6d4aH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\n", | |
"text/plain": [ | |
"<Figure size 864x720 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(width, height))\n", | |
"\n", | |
"\n", | |
"ax1 = sns.distplot(df['price'], hist=False, color=\"r\", label=\"Actual Value\")\n", | |
"sns.distplot(Yhat, hist=False, color=\"b\", label=\"Fitted Values\" , ax=ax1)\n", | |
"\n", | |
"\n", | |
"plt.title('Actual vs Fitted Values for Price')\n", | |
"plt.xlabel('Price (in dollars)')\n", | |
"plt.ylabel('Proportion of Cars')\n", | |
"\n", | |
"plt.show()\n", | |
"plt.close()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>We can see that the fitted values are reasonably close to the actual values, since the two distributions overlap a bit. However, there is definitely some room for improvement.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2>Part 3: Polynomial Regression and Pipelines</h2>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p><b>Polynomial regression</b> is a particular case of the general linear regression model or multiple linear regression models.</p> \n", | |
"<p>We get non-linear relationships by squaring or setting higher-order terms of the predictor variables.</p>\n", | |
"\n", | |
"<p>There are different orders of polynomial regression:</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<center><b>Quadratic - 2nd order</b></center>\n", | |
"$$\n", | |
"Yhat = a + b_1 X^2 +b_2 X^2 \n", | |
"$$\n", | |
"\n", | |
"\n", | |
"<center><b>Cubic - 3rd order</b></center>\n", | |
"$$\n", | |
"Yhat = a + b_1 X^2 +b_2 X^2 +b_3 X^3\\\\\n", | |
"$$\n", | |
"\n", | |
"\n", | |
"<center><b>Higher order</b>:</center>\n", | |
"$$\n", | |
"Y = a + b_1 X^2 +b_2 X^2 +b_3 X^3 ....\\\\\n", | |
"$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>We saw earlier that a linear model did not provide the best fit while using highway-mpg as the predictor variable. Let's see if we can try fitting a polynomial model to the data instead.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>We will use the following function to plot the data:</p>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 38, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"def PlotPolly(model, independent_variable, dependent_variabble, Name):\n", | |
" x_new = np.linspace(15, 55, 100)\n", | |
" y_new = model(x_new)\n", | |
"\n", | |
" plt.plot(independent_variable, dependent_variabble, '.', x_new, y_new, '-')\n", | |
" plt.title('Polynomial Fit with Matplotlib for Price ~ Length')\n", | |
" ax = plt.gca()\n", | |
" ax.set_facecolor((0.898, 0.898, 0.898))\n", | |
" fig = plt.gcf()\n", | |
" plt.xlabel(Name)\n", | |
" plt.ylabel('Price of Cars')\n", | |
"\n", | |
" plt.show()\n", | |
" plt.close()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"lets get the variables" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"x = df['highway-mpg']\n", | |
"y = df['price']" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's fit the polynomial using the function <b>polyfit</b>, then use the function <b>poly1d</b> to display the polynomial function." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
" 3 2\n", | |
"-1.557 x + 204.8 x - 8965 x + 1.379e+05\n" | |
] | |
} | |
], | |
"source": [ | |
"# Here we use a polynomial of the 3rd order (cubic) \n", | |
"f = np.polyfit(x, y, 3)\n", | |
"p = np.poly1d(f)\n", | |
"print(p)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's plot the function " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"PlotPolly(p, x, y, 'highway-mpg')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([-1.55663829e+00, 2.04754306e+02, -8.96543312e+03, 1.37923594e+05])" | |
] | |
}, | |
"execution_count": 42, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"np.polyfit(x, y, 3)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>We can already see from plotting that this polynomial model performs better than the linear model. This is because the generated polynomial function \"hits\" more of the data points.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question #4:</h1>\n", | |
"<b>Create 11 order polynomial model with the variables x and y from above?</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 45, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
" 3 2\n", | |
"-1.557 x + 204.8 x - 8965 x + 1.379e+05\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ0AAAEWCAYAAAC9qEq5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3Xl8VNX5+PHPM5OVLISELRAWFVQQRFDRSt1bBauCVqtWq23tl7ZfrdraRWtbu9m91Vqt31K1oj/X2gq0iooLWrXIIiibSlSEsJMQCAlZZub5/XFPYJJMJuvMnZDn/Xrllbnnbs/cZO4z95xzzxVVxRhjjEmGgN8BGGOM6T0s6RhjjEkaSzrGGGOSxpKOMcaYpLGkY4wxJmks6RhjjEkaSzo9gIj8WET+n99xRBORy0Xk+XYu26n4ReT7InJvx6Nrc7v/JyI/jDM/5Y53LCKyXkQ+1cl1979HERkuIntFJOimF4rIVzqwra+LyDa3jaLOxNMVIjJfRK5K9n5TWUf/hslkSSeJ3Elin/twbhORv4lIrt9xdYaqPqyqZ3V1OyJymohE3DFp/PmX28cvVPUrbrmRIqIiktYNsX9NVX8Wtf+yLr4HdX/PtKiyNBHZLiLtuhGuO+Lo7LZVdYOq5qpquBPbTgf+AJzltlHelVjdNjv0OVHVaao6u6v77Q5+nOx7ypekRpZ0ku88Vc0FJgHHAz/wOZ5UsNmdsBp/zvM7oE6oBKZFTZ8D7PIplmQaBGQBqzu6onhaOwe1+TlpY32TouwP5hNV3QTMB8YBiMgQEZknIhUiUioi/xNrPRF5WkS+0azsHRGZ4V6riHxNRNaJyC4RuVtExM0LiMgPRORj9y38QRHp6+Y1Xkl8SUQ2unW/JiLHu+1XishdUfv8ooi8FjX9R7feHhFZJiInd/UYNfsG96r7Xem+AX+i2bJZ7ttxfzf9AxEJiUi+m/65iNzhXj/gpnPw/gZDoq6yhrhNZrjjUyUiq0XkuDbCfQi4Mmr6SuDBZjF+SUTWum1+KCJfdeUx43Dv/0kRedyt85aITGjlWGWKyB0istn93OHK4r3HxnVjXUUeJiKLRWS3iMwVkcIY+zwceM9NVorIS678JBFZ4tZdIiInRa2zUERuE5HXgRrg0HgHNcbnpMX6za8uROR/oo7zGhGZ5MqHiMg/RGSHiHwkItfF23d3E5ETReQN91l6W0ROi5q3UER+JiKvu7ifb/xfdvOvdJ/bchH5obiqVRGZCnwfuMT9bd+O2uWI1rbnJ0s6PhGRYXjfhpe7okeBMmAIcBHwCxE5M8aqs4ErorYzARgKPBO1zLl43w4nAJ8DznblX3Q/p+N92HOBu2jqBGA0cAlwB3AL8CngKOBzInJqK29pCXAMUAg8AvxdRLJaWbYzTnG/C9zV0H+jZ6pqrYvh1KjlPwamRE2/0mydaryrk+grrc1u9vnAY0ABMI+Wx6m5OcApIlIgIgXAycDcZstsx/vb5ANfAm4XkUltxDEd+DsHjusc8aq0mrsFOBHvbzABmAz8oI1tx3Ml8GW8/8cQcGfzBVT1fbz/C/D+Lme45PS0W74Ir+rtaWna1vMFYCaQh/c3alWMz0nc9UXkYuDHLv58vL9juXhXRP8C3sb7vJwJ3CAiZ9NBIt6XuA6uMxTvuPwc72/5beAfIjIgarHP4/1fDAQy3DKIyFjgz8DlQDHQ170HVPVZ4BfA4+5vO6Gt7fnNkk7yzRGRSuA1vJPgL9wH65PA91S1VlVXAPfifbiamwuMFpHRbvoLeP9w9VHL/EpVK1V1A/Ay3okIvH/aP6jqh6q6F7gZuLTZN9yfuRieB6qBR1V1u/vG+R9gYqw3par/T1XLVTWkqr8HMoEj2nlMhrhvf40/n2vnes29Apzq3s/ReCe+U13yO97F316vqeozrp3jIbwTeTy1eCe1S4BL8RJVbfQCqvq0qn6gnleA5/GSUzzLVPVJVW3AO4Fn4SWX5i4Hfur+VjuAnxD7/6e9HlLVVS5p/RDvC0ewHet9Blinqg+5/4VHgXeB6CrTB1R1tZvf0Mp2WnxO2rn+V4DfqOoSd5xLVfVjvL//AFX9qarWq+qHwF/x/lYtiMhQEXnMXTUuF5EbXNkEvC8YHXUF8Iz7n4qo6gJgKV5CbfQ3VX1fVfcBT3Dgc3sR8C9Vfc19zn8EtKetsLXt+arLjbKmw2ao6gvRBa66o0JVq6KKPwZaVOmoap2IPAFcISI/AS7D+6eMtjXqdQ3eFQ1431qjvxl+jPc/MCiqbFvU630xpmM26IrIjXgf+CF4H4h8oL2X85tVtaSdy8bzCt6JeRKwElgA3Id3ki5V1Z0d2FbzY5glImmqGoqzzoPALwEBvtd8pohMA24FDsf7wtfHxRnPxsYXqhoRr0PAkBjLxfrbxlquvTZGvf4YSMf7e26LvXircTSuP7SVbbemxeeknesPAz6IUT4C9+UmqixI619ELsa7wrwc72R9DV411ia8v3FHjQAuFpHo5JuO96WwUbzPbfT/QY2ItKfDRmvb85UlndSwGSgUkbyoxDMc7x88ltl4375fA2qaVzW1sZ8RUdPD8apOtgGdPumL137zPbwqi9Xu5LgL7+TbXdrzze4NvKurC4BXVHWNiAzH+/b9SivrdOcw6//Bq/5QvL/NYY0zRCQT+Adetc9cVW0QkTkcOEatxTEsahsBvL9TrOqxxr9tY4P+8KjlOvMeh0W9Hg40AO1J2s3/xxrXfzZquqvHPN76G4k67s3KP1LV0THmxXKnqkbc62V4VY1dsRHv6jFmW20bthBVayAi2XhVl4161KMCrHotBajqRrwT5i/FaxA/GrgaeLiV5f8LRIDf4yWf9noU+KaIHCJeF9TGuuB4397bIw8vee0A0kTkR3hXOt1pB957brXhWVVr8E4Q13AgybwBfJXWk842oEhch4quUO85IecB52vLZ4Zk4FU57gBC7qonust5a3EcKyIXuirDG4A6YFGM3T8K/EBEBrgG4x8BjZ0wOvMerxCRsSLSB/gp8GQ7u1Q/AxwuIp8Xr9v4JcBY4N8d2HdX3At8W0SOFc8oERkBLAb2iMj3RCRbRIIiMk5Ejo+1kaiE0xlp7nPc+JOO97c4T0TOdvvOEq8re3u+7D3p1j1JRDLwqk6jv9BtA0ZKD+nJ1yOC7CUuA0bifVN8CrjV1fu25kFgPAdOLO1xP16SehX4CK/N4Rtx12if5/B6GL2PV5VSS/uqUNrNJZTbgNddu0+sdg3wkks63kmmcTqPA73fmm/3XbwT9oduu12pksK1NbToPuyuYK/Dq1vfhdfIO68dcczFayfahddGc2Er7SA/x2sjeAevyu4tV9bZ9/gQ8ABeFU2Wi71N6t2ncy5wI1AOfBc4t4NVm52mqn/H+z95BKjCa38pdAnzPLyqso/wrtruxWuU72734FVFN/78zX2xnI5XRbcD7/PxHdpxDnb/T9/A69iyBe99bcf7AgJeNSB4HSbe6r63kRjS8guZ6QlE5Epgpqp+0u9YTGKIyI+BUap6RVvLmt7D1VJUAqNV9SO/4+kou9LpgVyVx/8Cs/yOxRiTeCJynoj0Ee++q9/hXc2u9zeqzrGk08O4+wp24NXjPuJzOMaY5JiOV/W+Ge8+uktjtBv2CFa9ZowxJmnsSscYY0zS2H06zRQWFuqwYcPaXtAYY8x+77zzzk5VHdDWcpZ0mhk2bBjz58/3OwxjjOlRhg4dGnccvUZWvWaMMSZpLOkYY4xJGks6xhhjksaSjjHGmKSxpGOMMSZpLOkYY4xJGks6xhhjksaSTjfJ3PAKuSv+6ncYxhiT0izpdJPMTYvIW3Y3RNrznCtjjOmdLOl0k4aiI5BwHcE9G/wOxRhjUpYlnW7SUHg4AOkV7/kciTHGpC5LOt0kVHAYKkHSyy3pGGNMayzpdJe0TEJ9R5JW8b7fkRhjTMqypNONQoWHk25JxxhjWuVr0hGR9SKyUkRWiMhSV1YoIgtEZJ373c+Vi4jcKSKlIvKOiEyK2s5Vbvl1InJVVPmxbvulbl1J5PtpKDqCtKoypH5vIndjjDE9Vipc6Zyuqseo6nFu+ibgRVUdDbzopgGm4T0bfDQwE7gHvCQF3AqcAEwGbm1MVG6ZmVHrTU3kG2nsTJBWsS6RuzHGmB4rFZJOc9OB2e71bGBGVPmD6lkEFIhIMXA2sEBVK1R1F7AAmOrm5avqf1VVgQejtpUQoaIjAOvBZowxrfE76SjwvIgsE5GZrmyQqm4BcL8HuvKhwMaodctcWbzyshjlLYjITBFZKiJLy8vLO/1mwjnFRDLyLOkYY0wr/H5c9RRV3SwiA4EFIvJunGVjtcdoJ8pbFqrOAmYBTJgwIeYy7SJCQ+HhpJVbZwJjjInF1ysdVd3sfm8HnsJrk9nmqsZwv7e7xcuAYVGrlwCb2ygviVGeUPt7sGnnc5cxxhysfEs6IpIjInmNr4GzgFXAPKCxB9pVwFz3eh5wpevFdiKw21W/PQecJSL9XAeCs4Dn3LwqETnR9Vq7MmpbCdNQeASBhr0E9yY8vxljTI/jZ/XaIOAp14s5DXhEVZ8VkSXAEyJyNbABuNgt/wxwDlAK1ABfAlDVChH5GbDELfdTVa1wr78OPABkA/PdT0I1FDX2YHufcF7MJiRjjOm1fEs6qvohMCFGeTlwZoxyBa5pZVv3A/fHKF8KjOtysB0Q6ufGYCt/j7oRpydz18YYk/L87r120NGMHEJ5JdaDzRhjYrCkkwANhUfYGGzGGBODJZ0EaOg/hrTd65HaXX6HYowxKcWSTgLUDT8V0QhZHy/0OxRjjEkplnQSoKH/UYRyi8n+6Hm/QzHGmJRiSScRRKgd+Wkyy15H6qsBWLmlmgeXbGXllmqfgzPGGP9Y0kmQ2kPPQiINZG5YyMot1Vz31DpmLdrCdU+ts8RjjOm1LOkkSP3AYwhn9yd7/QssL6uiIaxEFBrCyvKyKr/DM8YYX1jSSZRAkNqRZ5K54VWOLU4nPSgEBNKDwsSSPL+jM8YYX/g9yvRBrfaQT5Oz9nGODa3gzgtOZHlZFRNL8hhfnON3aMYY4wtLOglUN2Qykcy+ZH20gPGnn2nJxhjT61n1WiIF0qkdcTpZH7+MhPb5HY0xxvjOkk6C1Rx5EYH6PeS83WI8UmOM6XUs6SRY/eBj2XfoNPJW/JVg1Sa/wzHGGF9Z0kmC3Sd+B0XIX/Rbv0MxxhhfWdJJgkhuMXsnziT7o+fI2LTI73DazUZRMMZ0N0s6SfLmwEuozCgm89WfQbje73DaZKMoGGMSwZJOEqzcUs218zZwY/UV5FV9SNq/vwGRBr/DistGUTDGJILvSUdEgiKyXET+7aYPEZE3RWSdiDwuIhmuPNNNl7r5I6O2cbMrf09Ezo4qn+rKSkXkpmS/t0aNJ/AXwxP5UcOXGLjtVfq99F2IhP0KqU0TS/JsFAVjTLfzPekA1wNro6Z/DdyuqqOBXcDVrvxqYJeqjgJud8shImOBS4GjgKnAn10iCwJ3A9OAscBlbtmkiz6BPy5n8d7Y68n+8FkKXv1Byiae8cU53HnBaGaeWMydF4y2G1uNMd3C1xEJRKQE+AxwG/AtERHgDODzbpHZwI+Be4Dp7jXAk8BdbvnpwGOqWgd8JCKlwGS3XKmqfuj29Zhbdk2C31YLjSfwxmFw8oqPYU92mPxldyF1e6g84zdoeuqd1McX51iyMcZ0K7+vdO4AvgtE3HQRUKmqITddBgx1r4cCGwHc/N1u+f3lzdZprbwFEZkpIktFZGl5eXlX31NM44tzuPL4wftP4nuPvYbKk35A1oaF9J93BYG9WxKyX2OMSSW+JR0RORfYrqrLootjLKptzOtoectC1VmqepyqHldUVBQn6u5VM+5yKqb+H8E9Gxnw1OdI25n0izBjjEkqP690pgDni8h64DG8arU7gAIRaaz2KwE2u9dlwDAAN78vUBFd3myd1spTSt2wk9k5/VE0mE7/f11JxuY3/Q7JGGMSxreko6o3q2qJqo7E6wjwkqpeDrwMXOQWuwqY617Pc9O4+S+pqrryS13vtkOA0cBiYAkw2vWGy3D7mJeEt9ZhocLR7Dz/EcK5xRQ98z9kffS83yEZY0xC+N2mE8v38DoVlOK12dznyu8Dilz5t4CbAFR1NfAEXgeBZ4FrVDXs2n2uBZ7D6x33hFs2JUVyB7PzvIdoGHAU/V74Jtml//Y7JGOM6XbiXSyYRhMmTND58+f7tn8J7aNw/lfJ2LaCiqn3UFcyxbdYjDGmvYYOHbpMVY9ra7lUvNLp1TQtm4qz7yZUcCj9FlxH+o6uXZyl6vhpqRqXMSaxLOmkIM3Io3zaLCKZBRQ++1WCeza2vVIMqTp+WqrGZYxJPEs6KSqSM5Dyc+5FIiH6vXBDpwYJTdXx01I1LmNM4lnSSQGtVTWFCw5h12m/JGPnGvIX/abD203V8dNSNS5jTOL5OgyOOVDV1BBW0oNbW4xzVjfidPaO/yK5Kx+gvngytYeeFXMbjUPsRK/bfPidVBnSJlXjMsYkniUdn8Wqamp+En5j+FcZ98EiBiy8hYb+YwjnH7jnta2klarjp6VqXMaYxLLqNZ+1VdW0cks135i7nkt2fZ19DRHSF9wEGtk/39pHjDE9iSUdn7X1CIHGpLJRB3Bb6AoKy9+iz9q/759v7SPGmJ7EqtdSQLyqpokleQQDW9Gw8k9O47v9V9Dvzd9SO/wUIrnFPbZ9pLV2KGPMwc2udHqEA6NGrD76+6ARCl77CbjRJJo/NiHV2X06xvRelnRS3PKyKsIRL+2EI/DGrr5UHXcdWRteIfuDp/0Or1OsHcqY3suSToqL1WZTPe4L1A8YT/5/f43U7/U7xA6zdihjei9LOikuZkeDQJDdU35IYF85ecvu9jvEDhtfnMP1p5Rw3LA8rj+lpMdUCxpjus46EvQAsToaNAwcT82RnyVn1UOsKJrGa7sH9phG+ZVbqvnjq2U0hJW3N+/lsKLsHhG3Mabr7EqnB6ua/C1CaTkEX/opsxZt7jGN8tamY0zvZUmnB4tk9eOlQV/iE4HVTJM3e8wJ3OsGLggQDFibjjG9iSWdnu6Yz7NGR/D99EfIDTb0oBO4NvttjOkNLOn0cOOH5LN3yi0MlZ3846j/dmvbSKIetNa8G3hPuDozxnQP35KOiGSJyGIReVtEVovIT1z5ISLypoisE5HHRSTDlWe66VI3f2TUtm525e+JyNlR5VNdWamI3JTs95gsJeNOZt8hZ3PYB7MJVG/rlm0m8gZO6zJtTO/l55VOHXCGqk4AjgGmisiJwK+B21V1NLALuNotfzWwS1VHAbe75RCRscClwFHAVODPIhIUkSBwNzANGAtc5pY9KO054duIhsl/8/fdsr1ENva3Nd6cMebg5VvSUU/jnY3p7keBM4AnXflsYIZ7Pd1N4+afKSLiyh9T1TpV/QgoBSa7n1JV/VBV64HH3LIHpXB+CXvHf5E+pf8ifduKLm8v0VcjPW3oHmNM9/C1TcddkawAtgMLgA+ASlUNuUXKgKHu9VBgI4Cbvxsoii5vtk5r5bHimCkiS0VkaXl5eXe8NV/sPWYm4T4D6PvGL5s8/qAz7GrEGJMIviYdVQ2r6jFACd6VyZhYi7nf0sq8jpbHimOWqh6nqscVFRW1HXiK0owc9kz+Fhk73iF73bwub8+uRowx3S0leq+paiWwEDgRKBCRxpESSoDN7nUZMAzAze8LVESXN1untfKD2r7R51M/4GjyF/8BqU/9G0WNMb2Ln73XBohIgXudDXwKWAu8DFzkFrsKmOtez3PTuPkvqaq68ktd77ZDgNHAYmAJMNr1hsvA62zQ9a//qU4C7J7yfYI1O8hd8Re/o2nVnFU7uWFOKXNW7fQ7FGNMEvk59loxMNv1MgsAT6jqv0VkDfCYiPwcWA7c55a/D3hIRErxrnAuBVDV1SLyBLAGCAHXqGoYQESuBZ4DgsD9qro6eW/PPw0DJ1Azejq57zxAzZEXEc4f7ndITcxZtZPfvOQ1ty3e4PWKmzGuv58hGWOSRFTtjvBoEyZM0Pnz5/sdRpcFqrcz8PFp1A09kV1np9ZI1DfMKd2fbAAmD8/jjhmjfIzIGNNVQ4cOXaaqx7W1XJvVayKSIyIB9/pwETlfRNK7I0iTOJGcgeyd9HWyP36JzI9f9jucJk4bVRB32hhz8GpP9dqrwMki0g94EVgKXAJcnsjATNftHX8l2evm0PeN29gx9EQ0LdvvkIADVWkLSys5bVSBVa0Z04u0pyOBqGoNcCHwJ1W9AO8Of5PqghnsnvIj0qo2kbs8tToVzBjXnztmjLKEY0wv066kIyKfwLuyedqV2cPfeoj6IZO9TgVv309a5Yd+h2OM6eXak3SuB24GnnI9xQ7F69Zseog9J34HTcum72s/hRTpOJKoEayNMakt7hWL6858nqqe31imqh8C1yU6MNN9ItlF7DnhRgr+cyt91j5OzdhLfY2ncQTrhrCSHtxqw+wY04vEvdJx97scm6RYTALVHHkxtUNPIn/RbwnuKfM1luVlVdSH3AjWoZ7xtFNjTPdoT/XachGZJyJfEJELG38SHpnpXiLsPvVnIELBK7d0eUDQrsjPTts/CF7ETRtjeof2JJ1CoBzvkQPnuZ9zExmU6T7RbSfh3CHs+cRNZG5ZTJ/Vj/oW0559of2jsYqbNsb0Dm1+xVTVLyUjENP9YradHPFZsj56nvw3f0f9kOMJFR6e9LgmluSRkbbVxWVPDjWmN2kz6YhIFt5TO48CshrLVfXLCYzLdINYT/8cX5xD5am3MeAfF1K44Hp2XPAkmpHcRvzGZ/UsL6tiYkmedSIwphdpT/XaQ8Bg4GzgFbxHBFjLbw/Q2tM/I30GsOvM3xPcs4GCV3/gSzdqe1aPMb1Te5LOKFX9IVCtqrOBzwDjExuW6Q7xnv5ZP2QyVcffQPaHz5Kz+uGkx9aV+3TsHh9jeq72dBtqcL8rRWQcsBUYmbCITLcaX5zT6tXE3glXk7F1Ofn//TWhviOoG3ZyUmLqyn06K7dUc+0/1xEKK2nBrdx1od3jY0xP0p4rnVlusM8f4D0EbQ3wm4RGZZJDAuw649eECkfTb8H1pG9/Oym7jdXW1F7z11bQEFYUb935aysSF6gxptu1mXRU9V5V3aWqr6rqoao6UFX/LxnBmcTTjDzKp/2FSHZ/iuZ/lbRdH7R73c5Wc7XW1tTOiNuYNsakslaTjoh8S0SujlH+DRG5IbFhmWSK9BlA+WfuRQPpFD3zFYKVH7W5TmMV2axFW7juqXUdSjzx2praMm1MEelB7/6e9KA33Zw9CtuY1BXvSufLeD3Xmpvl5nWJiAwTkZdFZK2IrBaR6115oYgsEJF17nc/Vy4icqeIlIrIOyIyKWpbV7nl14nIVVHlx4rISrfOnSIiLSMxAOH84ZSf81eINDBg7mVkbH0r7vJdqSKDzvdeG1+cw10XHs5XP1HMXRce3mL9xkdhL95QxW9e2miJx5gUEy/pqKrWxyisA7rj5B0CblTVMcCJwDUiMha4CXhRVUfjPTTuJrf8NGC0+5kJ3ANekgJuBU4AJgO3NiYqt8zMqPWmdkPcB61Q0ZHsnP4okawCip7+ElkfPt/qsl2rIuuaeAlrYWll3GljjL/itumIyKD2lHWGqm5R1bfc6ypgLTAUmA7MdovNBma419OBB9WzCCgQkWK8+4cWqGqFqu4CFgBT3bx8Vf2vqirwYNS2TCvC+cPYOf1RGvqPpd8LN5D/xi+Q0L4Wy40vzuH6U0o4blge159SkjI9yOxR2Maktnhdpn8LPC0iNwKNdS3H4vVc+113BiEiI4GJwJvAIFXdAl5iEpGBbrGhwMao1cpcWbzyshjlpg2RrH7s/Mzf6Lvot+Sueoisja+y69Rf0jB44v5lVm6p5o+vltEQVt7evJfDirJTIvHYo7CNSW2tJh1VfVBEdgA/BcbhdRNaDdyqqvO7KwARyQX+AdygqnviNLvEmqGdKI8Vw0y8ajiGDrW8BEBaFq8d9i3K649jxqbf0X/e5dQeejZVE79GqOiIVofYaa+VW6oTNgzOjHH9LdkYk6Li3hzqkku3JZjmRCQdL+E8rKr/dMXbRKTYXeUUA9tdeRkwLGr1EmCzKz+tWflCV14SY/kWVHUWXgcJJkyYYH1wib6BczC/C/6cJ4/8DyM/foLsD59l34gzOGvgOTwSHMDecHqH23Tac4NnIpOSMcY/7bk5NCFcT7L7gLWq+oeoWfOAxh5oVwFzo8qvdL3YTgR2u2q454CzRKSf60BwFvCcm1clIie6fV0ZtS3ThugHrVWGsngi70q2ff5F9hx7LRlb32LSkm/zVubXeHrQLOYc8xaTAu/HbPuJpa0bPNvqjm3D4CSXHW/Tnfx8etYU4AvAShFZ4cq+D/wKeMLdI7QBuNjNewY4BygFaoAvAahqhYj8DFjilvupqjaexb4OPABk412xJeyq7WAT60FrmtmXvcdew96JM8ncvJisjxZw+PoXCa5aCKtAJUC4zyAiOQMJ5wxmZySHTfsyKCwsZFBhAZqWTSQtm2EVVRwvShV9qNA8KqubXsk0JjzlwJNFG692evKjrnvi1VtPPt4mNbWadETkelX9o4hMUdXXu3vHqvoarXe9PjPG8gpc08q27gfuj1G+FK89ynRQ9IPVWjxoLZBOXckU6kqmsPuTtxKo3krGzjWk71xDcO9mgtVbCW9/lz57dzGRGjK3N31I240AmQemI1sC6EOFhPOGECoYxcl1xawK5PNWZDQ1ZDV5smhX25LakqjE0FNP3ok+3qb3iXel8yXgj8CfgElxljMHoegTvRLnkdIiRHKLqc0tpnbkge8KDy7ZyqxFW4goZEk9Xz+ugEvH5SKhfbz67mbmLFtPHjUUShUzDgkzNmcvaVVlZG58lSn7djIlA0IaYLWOZF/pZNIHzqBhwNHu/qDEPAAukYmhp568E3m8Te8UL+msFZH1wAAReSeqXPAuPI5OaGTGV42PlG7sBtjRR0pPLMkjGNiKhpVwIJMjR5YQzvNOsvPKhdciB05eGyP5/OrUw/ZPv/vxJh5+5gUm6rucEHyXyTueJDDnMUJE0VB1AAAgAElEQVQ5xUw59Gzu/fS5vF5Z1OrVSFtXK63NT2RiiD4ewUDPOXnbA/dMd4vXZfoyERmM11B/fvJCMqmgOx4pHXKdBULhph0Cd1aH4k4fOWIox578GRaWTiEwqoCS0elkffwy2R8+T87qhzk58gDDciexK3gZDD4H5EB/mLZ6xsWbn/hv9drsd88Q7/EYxnRU3N5rqrpVVScAW4A897NZVT9ORnDGP10ZlBPgntc3NTnF3vP6pv3zzj2q6SCdzacbbzxdurGKP75axjsVaew7fAYVU//Mwk/9mz+ELyGj6mMmLv0O+Y+eR1bp0xAJA233jIs3v6vvOZ7lZVWEI96xCEfo8Fh1xhws2uy9JiKn4g0hsx6vpmWYiFylqq8mODbjs7a+4carxvp4V22r022NGhCvmuvNHRnMCk3nbj2Xc4KL+VFoHgNe+jYNb93DnhNupKJ6eJNtVdQ00FT8RyMk6lu9tY0Y42lPl+k/AGep6nsAInI48CjekDiml2qr0T0YaNoxsfn0YUXZ7NkX4rCi7BbbjneCPjAvyPNyEud+6gscX/s6eUv/RNFz/8st2cewXS7lXfWST2Gfpv/i08YU8fTackJhSGvl0QiJYG0jxnjak3TSGxMOgKq+70YSML1YW43ugWbDGUVPt5Ww4p2gY82rZSq1I88kZ83jjFh8J09n3MyD4bP4XehzHD6wT5M4Gh+N4MfJ39pGjGlf0lkqIvdx4Nk6lwPLEheS6Qnaqi46Zmguz7+3q8l0o/b0Eot3go45L5BO9bgr+PWWiYxZ939cFXyes4NLeObD62DcJe3etjEmsdozDM7X8Qb6vA64HlgDfC2RQZnUEG/4k7Ya3fukB1qdTuSzeGqCefww9GUuqr+V3ZrDV7b+mH4LbiCwr6LtlY0xCdfmlY57aNsf3I/pJdpzo2T8K4bmg00cmG58Fk9jR4LuvOpobLNZHj6cC8O3MXfsIka//1cytixm9yd/RO2h8Z/j1xOHqumq3viejX/8HHvNpLB44581ineymjam0DXYK2lBYdqYwibr3f5KGaGwsnxTx5/FE2+/44tz+Oapw/YntNxxx7Nj3NkUvHILhS98k5rDFrB7yg/RrJYPd+upQ9V0RW98z8ZflnRMTLEG/IzWns4AnztmAK+UVnJqs6uZxntl4MC9Mu090bW139gPlzucndMfJXfFveQtu5vMLUuoPPU26oad3GTbPXVct67oqcPzmJ6r3Y82EBH7T+xFGofBgdjD4MQ6WUWbs2onDy/bTtnueh5etp05q3ZGzY1/r0w8be03+pEM9aGo+YE09k76GjsueJxIZj5F82fS97WfIA01+9dNZFtTW49r8Esi37MxsbSZdETkJBFZA6x10xNE5M8Jj8z4yhsGxzsZZaS1PBm1dbJ6Yvn2VqenjSkiPegls/QO3ivT1n6r6sNNRkKoqg83mR/qP5YdF/yDveO/SJ81jzPgnxeSvs17skZ7RiTo7LNl2kqWfknkKAzGxNKe6rXbgbPxHqKGqr4tIqckNCrju7ZuZmyrM0BtKNLqdFfulWkrrnU79sWdBiAtkz2f+B61I06nYOFN9J93OXuP+R+qJv1v3M4RXWn/SOURCawLuUmmdrXpqOpGaXqzX7i1Zc3Bo60T8O2vbCQUhuWbqlp0Bhicl8HWqoYm0+3ddlfiKmjW9tR8ujF2L2kdxdEXzaXvG78kb/lfyPp4IUvG/YhXq4bETGhdaf+wEQmM8bSnTWejiJwEqIhkiMi3cVVtpveav7achjBu4ExvOtrIwqy404lS2aztqfl04yjTf/nvFq795zreKQ9QedovKD/7z0Sqd3L8K1eSteRPfOufa1pUobWn/WPOqp3cMKe0WRuWZ3xxDlceP9gSjunV2pN0vob3xM6hQBlwDK08wdP0Jq3fhwNda7fpitNGFcSdbm2U6boRp/OTIX/h6cgJ3JD2T+YEb2btW/9psm5b7R9zVu3kNy9tZPGGKn7z0saYicc01dk2MtNztZl0VHWnql6uqoNUdaCqXqGq5W2t1x4icr+IbBeRVVFlhSKyQETWud/9XLmIyJ0iUioi74jIpKh1rnLLrxORq6LKjxWRlW6dO6VZHaHpvMMHZsedbmy3+eonirnrwsOT9u1+xrj+fPeMYUwensd3zxjWYgTr5qNOR0/XBPO4oeFavlj/HbKljus2fYu+//kxUruL9vj36vK403aCbSpVe/SZxGpP77XZIlIQNd1PRO7vpv0/ADS/Rfwm4EVVHQ286KYBpgGj3c9M4B4XTyFwK3ACMBm4tTFRuWVmRq0X/3Z0025tdakG/6qTZozrzx0zRrVIONBy1Ono6WljiggGYGFkItMafsPGQy6lz7tPMujxafRZ8ygrN+/h2n++76rm3m9xkswISqvTzav17ASbuj36TGK1p3rtaFWtbJxQ1V3AxO7YuXsmT/NBsaYDs93r2cCMqPIH1bMIKBCRYryedQtUtcLFtgCY6ublq+p/VVXxngk0A9Mt2upSnaqajzrdfLqxv3WNZvHuuBvZ8dl/0lB4BAWv/ZTxz1/CqboMRWO2Y1XXh1qdbuvhcr2R3SPUO7Wn91pARPq5E3rjlUUiRzIYpKpbAFR1i4gMdOVDgY1Ry5W5snjlZTHKWxCRmXhXRAwdGnMR00xXe2P5dXd+9BVZ8yu0h5dto/HJ2mH1psefezjl5z5A1kfPEXj5t9yb8XuWR0bx+9DFVFRPabLtHXtDcabbviF2zqqdrT7Y7mCUyDH4TOpqT/L4PfCGiDzppi8GbktcSK2K1R6jnShvWag6C5gFMGHChJ71AHsfdbbbs5/jfUXfLNr85tH3d9Q0WXb/tAi1h07lltWHMnDDv7k+7R/8v4xf8vGOQ8l+fyb7DpsGwQxGFmaxYvOBarPoHnvTxhTxr9XlhBWC0rJjRWMnBIDFG7xqpoM98cQesig5/weBmh1kbF1GWuWHBKs2E9y7BQnXocFMNC2LSJ8BNAwYR/2A8YT6HQYBGzGsu7RnlOkHRWQpcAbeifxCVV2TwJi2iUixu8opBhpvZS8DhkUtVwJsduWnNStf6MpLYixvfObneF/xbh6tDze9obX5dN+cLB4Pn86c8BSmB1/nmxnP0W/hTeS/+Tv2jT6fS4edworNB+5HOuvIA4OcflC+r8lV1Afl+5q851gjOBzsSSep/weRMBlbl5L94bNkblpE2u71+2eFs/sTzh2CpmcTaKhGaisIbllCztrHvflZ/dg3ejo1R36WUL9RiYmvF2k16YhIvqrucdVpW4FHouYVqmqiKqXnAVcBv3K/50aVXysij+F1GtjtEtNzwC+iOg+cBdysqhUiUiUiJwJvAlcCf0pQzKYD/Lw7/7RRBfuvJBqnG2UGA0Tf9+xNH9D42IT6cAZPcTpnnvU/ZISW02ftE+SsfJBL9X4mZAznhcgkXg4fwwtrM/cnjoWllU22tbC0sklSiTeCQ3dIxcFGk/F/kFb+Hn3efZLsD58luG8nkbRs6odMpvrIi6gvPp6GwiMgLbPlihohuPtjMnasImv9i+SsfpjclQ9QV3wceybfSMOgY7o91t4i3pXOI8C5eE8Jja5yEjd9aFd3LiKP4l2l9BeRMrxeaL8CnhCRq4ENeNV5AM8A5wClQA3wJQCXXH4GLHHL/TQqIX4dr4dcNjDf/Rif+Xl3/oxx/dm0u27/6NfRJ/5BeelsiRpFYVBe06eyxxq+p45TqBt+CoF9FTzw0F85g//y9eA8vpE2h6pdfch4egL1A8bx5X7D2bMxnY06gGqyW9w/lBaQuNOoIg17CdTuJlC/G6ndTaB+D4H6KqShhu0Vleyo3ENxToABfQQ0AhKEQBrb9sHytbXs1mz+tTiPgtPGM3LESMJ9BkDAvyfPJ+z/IFRL9gfPkLP2cTK2v4MGM6gddir7DptG3fBT0fQ+XvvZG5WcNqqKGeNaJp05qytYWBrmtFGfYManzyOwr4LsdXPJfft+Bsy9jJrDPkPV5G8SzrM24I4Sr2NXKzO9+1qGqeqG5IXkrwkTJuj8+ZabDlZN25OkSXvS1598n7ej2mQmDMnhnosOb7F+ayfJqx5Zy7qdteRTzScDKzmnz1rO6ltGesU6RA90KqjQXKRPITl5/Yhk5qOBdN5YX0V9BNIIk0kDfQINTOgPUr/XSyz1VYjGv/pp0CANpJGekUEwEIBIGDQMoToCtFxXJUg4byilkWKW7xtIcPBRnHbSFEJ9D4FAsMPH1m/Bqk30WfMoOe8+SaBuNw0Fh1Ez5mJqRp+PZvXbv1x0+xnQ4n6uePOloZrcFfeS+87fUAmw56SbqTniIkixWwCDVZtIq3ifuuGnJS22oUOHLlPV49paLm6bjqqqiDwFHNttkRnjo3jtCLub3WvUfLrxXhvvwXRbuevCph0givMzWbezlj3k8EzkRPYOPJtJ5x4KoTrufOolqratZ7hsp0R2cEikjknpEQK1lUgkxAipJiwRGkijjnQIZBDOGUikXy6akUskM59IZoGXpDL7etMZ+WhGLo+squGepZXUaxoBgZmTirny+MH74/r8g6vZXrmHPGoolCrG5+3l+ydkENy7mfUfrCVtz3oukLfI2vQv+DtE0rJpGDCe+kETqR88kfrBk9CMFO3OrBEyN/2XPqsfIevjl0EC1I48k+qjLqe++PiYJ9y2qjrjzdf0HKqOv56aMRdT8MotFLz6IzI3vkblyT+J+WDA5hJezakRclY/Qt7iPxAI7aNuyIlUnvITwvnDu39fndSeLhmLROR4VV3S9qLGpLaJJXkEA1vRsBIMNG1HGN4vi/W76ppMR+v0w+fSMhk+5nh+s+VAIvjuscMYGXWi+/6c0iZtTZOH53HH1PY1Wo8dWY0srybQStvI3oYINWRRQxbbtJAd4TRuGDMegK+vWU1ZfT1BwhwqWzglZyPfPGIXGdtXkPv2vciKMCoBGvqPpb54MnVDTqC++Fg03d92oUDNDvq8P5c+7/2DtN3rCWcVsveYmVSPvYRIbnHcdeO167VnPkA4dwjl59xHzjt/I3/xHQzYvpJdZ/+Jhv5HtbrfRPfaDO7ZSMHCm8ncuozaYSdTV/JJ8pb+iQF/n07VCTdSPe6KbttXV7Qn6ZwOfE1E1gPVuDYdVT06kYEZkzja7Lfn8mMH8fr63YQjEAx407HXiz0db7SD6A4Fse7D2by7Lu50PG21jeyqCbU6XdPgdZwIE2SdllAeGcHVU7yPtjTUkL5jJZmbF5OxZTE5qx4i9537UUmjfuDR1A89wUtCA4+J3RjfRc3vW5KGajI3vEJ26TNkbViIaJi6QZOomvS/7Dv0bAhmtL1R2v5btDV/PwlQPeFq6oecQL/nr6No7hVUnv5rag89K+biieytF9hXTtHTXyZQt4ddp/2KfaPPBxH2HXo2Ba/+kL5v3MbKjIm8trvI984k7Uk60xIehTFJsrysinDESxfhCE0++OOLc/jzZ1t/zk9j77VQGNJiDGLa1vwZ4/q3egIbOziHst31TaY7It49U9LY9Sd62qmoafqUkuhpTe9D/ZATqB9ygrdeaB/pW5eTuXkRmZsWkbv8L+S9dQ8azPCS0KBJ1A+eRMPAo4lEtaF0hteusoFhsp0Nm1az7911HLp7ERKuI5zdn+rxV3ldmAs6158p3t+iPfOjNQwYx84LHqfw+W9Q+ML17DnuOvZO/FqLqr2E9dYL1VH4/LUEanZSft6DNAwcv39WJGcQlSf/lMGPnM6bL/6dWaHpSb83rrl4Xaaz8EaYHgWsBO5T1ZYDbBnTg7T1wY938m7r4XNdeTjdoc0e/dB8uivOGN2P59/b1WS6UbN8FPOO6kaalk19yUnUl5xEFSD1VWRsWepdCW19i9y370dWzAIglFNMQ/8xrAkNYfGeQgYPH81J448gktkXzcgFieqOHgkRqN1FoGYnaXu9BvCJK9/itcz3KBFvpO6KykKqx1xE7SFnUT/42JTr6BDpM4Cd586m4NUfkr/0ToJVZew++cdNegcmpLeeKgWv3ELGthVUfOqOJglnf2y5g9nUZwxn7V3Mn3R60u+Nay7elc5soAH4D97Vzljg+mQEZUyiJLq7dmdHaZhYkkdmWue/BcdroP7s0QNY8N6u/cN0fPboAfvnpQch+one6THO5a1tWzPyqBtxOnUjTgfcldD2laTvXE36zjXUbVrJ0TWvcKyEYTXeD16vOU3LBFU0EiEQqUeiUp8ijMkayuuRQ/lL5FzeiBzFZ087gRnjB5DS0jKpPP3XhPOHkffWnwnW7GTXp25H0w+M79fdT2nNW3Y3fT54mj3Hf5Ml2Z9k+ZKtMf8H9o74FOPX/okS2cGO4EBfx7mLl3TGqup4ABG5D1icnJCMSaxUHL6nK8mwrbiWl1UhAqpejU/0t9zTRjW9CjptVL8ObTuauhsv64dMBuArj7/He7uqGCI7GSnbOKZvDV+ZkE2grhIJ1bKjJsKL63ZRE8lgl/Tl/BPGUFIyglC/w9D0HD5etZP3Siv5bE8ai06EquO+QThnEH1f+wlF//4iFVPvIZLd/c+TyvpgPnlv3U3N4TP476DPx/07FRz9GVj7J3586PuEJ01J2Tad/XfJqWrIHkVjertED9vS2WTYVlzxqhR/fPZIABat38OJI/P3T7d32/H0z0lnDUE26iA26iCkX1+qjz7QBvP4kq3MathCRCEgkBku5sqBB3r4daRdJdXUjPkc4T4D6PfCt+g/51LKp80iXHBIt20/fccq+i28mbpBk6g8+Scsf6si7t8p3HcEDYVHcHJ4EeXF13ZbHJ0RL+lMEJE97rUA2W66sfdafsKjMyaF+Dl8TzztaaeKdxXVPNF0ZNvxtNUbMFWPZ3epG3E65efNpvC5/2XA3MuoOOsu6ovbvHeyTYHq7RQ+dw3h7CJ2nXUnBDPadSz3HfJp8pbdTaBmB5E+/lVVxh2RoDeyEQlMPKk4hhkkNq6ubLutdVP1eHan4J4yCufPJK2qjN2f/GGXRjAI1Oyk6JmrCVaVsXP6o4QKD4yY0daxTKt4n4FPTqfykz+mZuwlnX4/rWnviASWdJqxpGOM6W5SW0m/F28ka9Mb1Iyezu5P/qhJB4P2CO7d7N2LU73du2oqOaljQagy8IlphPJKqDjn3o6t2w7tTTrteXKoMcaYLtCsAiqmzWLPsdeSvW4e/edcQvqOVe1eP1j5EUVzryCwr4Lyc+7reMIB72bRkZ8mc9ObSN2etpdPEEs6xhiTDIEge4+9hopz/kqgtpIBT11MwUvfIVi1qdVVpKHaG8rmn59FwnXsPPcBGgZP7HQI9cXHIhoirfKDTm+jq+xxeMYYk0R1JVPYfsl8ct++l9x3HiD7o+epLfkk9cXHUz/keACCezaRVvkBOasfIbhvJ/sOncqeE77d5UcphPJHAJC2ewMNgzqfvLrCko4xxiSZZuRSdfwNVI+5lLwVfyWz7DWyP36pxXJ1g4+l4uy7aBg4oVv2G84biiKk7dnY9sIJYknHGGN8EskdzO5P/hCAwN4tZGx9CwLphPJLCOeVoJndfGdKMINw7mCCe/x7RJolHWOMSQGR3GJqR30m4fsJ548gzcekYx0JjDGmFwnlDyPoY/XaQZ90RGSqiLwnIqUicpPf8RhjjJ/C+cMJ1lYg9Xt92f9BnXREJAjczYFRsi8TkbH+RmWMMf4JuUdX+9Wuc1AnHWAyUKqqH6pqPfAYMN3nmIwxxjehvl7S8atd52BPOkOB6MrLMlfWhIjMFJGlIrK0vLw8acEZY0yyhfOGAfjWbfpgTzqxRtVrMdicqs5S1eNU9biiou5/7oUxxqQKzcghnN2f4O6Pfdn/wZ50yoBhUdMlwGafYjHGmJQQzh9mVzoJsgQYLSKHiEgGcCkwz+eYjDHGV6H84damkwiqGgKuBZ4D1gJPqOpqf6Myxhh/hfKHEazeCqHapO/7oB+RQFWfAZ7xOw5jjEkVYddtOq2qjFC/UUnd90F9pWOMMaalxm7TfoxMYEnHGGN6mf1XOj6061jSMcaYXiaSWUAkI4+03ZZ0jDHGJJqI15mgyqrXjDHGJEE4fzhpPtwgaknHGGN6oVD+cIJVmyESSup+LekYY0wvFMofjmiI4N4tSd2vJR1jjOmFIrmDAQhWb0vqfi3pGGNMLxTJKgAgUFeZ1P1a0jHGmF4okumSTq0lHWOMMQm2/0rHko4xxphE07Q+aCAdqdud1P1a0jHGmN5IhEhmX2vTMcYYkxyRrAKrXjPGGJMckawCu9IxxhiTHJFMu9IxxhiTJFa9ZowxJmkimQUE6naDatL26UvSEZGLRWS1iERE5Lhm824WkVIReU9Ezo4qn+rKSkXkpqjyQ0TkTRFZJyKPi0iGK89006Vu/shkvT9jjOkJNLMvEmlAQjVJ26dfVzqrgAuBV6MLRWQscClwFDAV+LOIBEUkCNwNTAPGApe5ZQF+DdyuqqOBXcDVrvxqYJeqjgJud8sZY4xx/LhB1Jeko6prVfW9GLOmA4+pap2qfgSUApPdT6mqfqiq9cBjwHQREeAM4Em3/mxgRtS2ZrvXTwJnuuWNMcbgz/hrqdamMxSIfpRdmStrrbwIqFTVULPyJtty83e75VsQkZkislRElpaXl3fTWzHGmNTmx/hraYnasIi8AAyOMesWVZ3b2moxypTYyVHjLB9vWy0LVWcBswAmTJiQvBY1Y4zxUeOVjhwMSUdVP9WJ1cqAYVHTJcBm9zpW+U6gQETS3NVM9PKN2yoTkTSgL1DRiZiMMeagtP9KJ4njr6Va9do84FLX8+wQYDSwGFgCjHY91TLwOhvMU1UFXgYucutfBcyN2tZV7vVFwEtueWOMMUAkMx/oBW06InKBiJQBnwCeFpHnAFR1NfAEsAZ4FrhGVcPuKuZa4DlgLfCEWxbge8C3RKQUr83mPld+H1Dkyr8F7O9mbYwxBghmEEnPOTjadOJR1aeAp1qZdxtwW4zyZ4BnYpR/iNe7rXl5LXBxl4M1xpiDWLJHJUi16jVjjDFJ5I1KYEnHGGNMEngjTffejgTGGGOSKJLZ16rXjDHGJIdm2pWOMcaYJIlkFSB1eyASTsr+LOkYY0wvFskqQFAC9XuSsj9LOsYY04s1jkqQrKFwLOkYY0wvluyRpi3pGGNMLxbJ7Askb6RpSzrGGNOLHbjSSU4PNks6xhjTiyX7mTqWdIwxphfTjDxUgpZ0jDHGJIGINyqBdSQwxhiTDMkcf82SjjHG9HKaxPHXLOkYY0wvl8zHG1jSMcaYXi6ZD3KzpGOMMb1cJKvg4B4GR0R+KyLvisg7IvKUiBREzbtZREpF5D0ROTuqfKorKxWRm6LKDxGRN0VknYg8LiIZrjzTTZe6+SOT+R6NMaaniGQWEAjXQqg24fvy60pnATBOVY8G3gduBhCRscClwFHAVODPIhIUkSBwNzANGAtc5pYF+DVwu6qOBnYBV7vyq4FdqjoKuN0tZ4wxppn9Q+EkoQebL0lHVZ9X1ZCbXASUuNfTgcdUtU5VPwJKgcnup1RVP1TVeuAxYLqICHAG8KRbfzYwI2pbs93rJ4Ez3fLGGGOi7B8KJwlVbKnQpvNlYL57PRTYGDWvzJW1Vl4EVEYlsMbyJtty83e75VsQkZkislRElpaXl3f5DRljTE+SzJGm0xK1YRF5ARgcY9YtqjrXLXMLEAIeblwtxvJK7OSocZaPt62WhaqzgFkAEyZMiLmMMcYcrMK5xew75Cw0Izfh+0pY0lHVT8WbLyJXAecCZ6pq44m+DBgWtVgJsNm9jlW+EygQkTR3NRO9fOO2ykQkDegLVHT+HRljzMEpnD+cXZ/+Y1L25VfvtanA94DzVbUmatY84FLX8+wQYDSwGFgCjHY91TLwOhvMc8nqZeAit/5VwNyobV3lXl8EvBSV3IwxxvggYVc6bbgLyAQWuLb9Rar6NVVdLSJPAGvwqt2uUdUwgIhcCzwHBIH7VXW129b3gMdE5OfAcuA+V34f8JCIlOJd4VyanLdmjDGmNWJf/puaMGGCzp8/v+0FjTHG7Dd06NBlqnpcW8ulQu81Y4wxvYQlHWOMMUljSccYY0zSWNIxxhiTNJZ0jDHGJI31XmtGRHYAH3dy9f54N6ymGourYyyujrG4OiZV44KuxTZCVQe0tZAlnW4kIkvb02Uw2SyujrG4Osbi6phUjQuSE5tVrxljjEkaSzrGGGOSxpJO95rldwCtsLg6xuLqGIurY1I1LkhCbNamY4wxJmnsSscYY0zSWNIxxhiTNJZ0OklE7heR7SKyKqrsxyKySURWuJ9zfIhrmIi8LCJrRWS1iFzvygtFZIGIrHO/+6VIXL4eMxHJEpHFIvK2i+snrvwQEXnTHa/H3XOcUiGuB0Tko6jjdUwy44qKLygiy0Xk327a1+MVJy7fj5eIrBeRlW7/S12Zr5/HOHEl/PNoSafzHgCmxii/XVWPcT/PJDkm8J5DdKOqjgFOBK4RkbHATcCLqjoaeNFNp0Jc4O8xqwPOUNUJwDHAVBE5Efi1i2s0sAu4OkXiAvhO1PFakeS4Gl0PrI2a9vt4NWoeF6TG8Trd7b/xHhi/P4+txQUJ/jxa0ukkVX2VFHz8tapuUdW33OsqvA/gUGA6MNstNhuYkSJx+Uo9e91kuvtR4AzgSVfux/FqLS7fiUgJ8BngXjct+Hy8YsWV4nz9PPrJkk73u1ZE3nHVb0m/ZI4mIiOBicCbwCBV3QJeAgAGpkhc4PMxc1UyK4DtwALgA6BSVUNukTJ8SJDN41LVxuN1mztet4tIZrLjAu4AvgtE3HQRKXC8YsTVyO/jpcDzIrJMRGa6slT4PMaKCxL8ebSk073uAQ7Dqw7ZAvzer0BEJBf4B3CDqu7xK47mYsTl+zFT1bCqHgOUAJOBMbEWS25ULeMSkXHAzcCRwPFAId7j2pNGRM4FtqvqsujiGIsm9Xi1Ehf4fN1jw3gAAAOGSURBVLycKao6CZiGV618ig8xxBIrroR/Hi3pdCNV3eZOFBHgr3gnsKQTkXS8E/vDqvpPV7xNRIrd/GK8b8++x5Uqx8zFUgksxGtzKhCRNDerBNicAnFNddWUqqp1wN9I/vGaApwvIuuBx/Cq1e7A/+PVIi4R+X8pcLxQ1c3u93bgKReD75/HWHEl4/NoSacbNf4TORcAq1pbNoExCHAfsFZV/xA1ax5wlXt9FTA3FeLy+5iJyAARKXCvs4FP4bU3vQxc5Bbz43jFiuvdqBOV4LUDJPV4qerNqlqiqiOBS4GXVPVyfD5ercR1hd/HS0RyRCSv8TVwlovB789jzLiS8XlMa3sRE4uIPAqcBvQXkTLgVuA01yVTgfXAV30IbQrwBWClaw8A+D7wK+AJEbka2ABcnCJxXebzMSsGZotIEO9L2BOq+m8RWQM8JiI/B5bjJcxUiOslERmAV6W1AvhakuNqzffw93i15mGfj9cg4Ckv55EGPKKqz4rIEvz9PLYW10OJ/jzaMDjGGGOSxqrXjDHGJI0lHWOMMUljSccYY0zSWNIxxhiTNJZ0jDHGJI0lHWOSRET2tr1Ul7b/RREZEjW9XkT6J3KfxnSUJR1jDh5fBIa0tZAxfrKbQ43xkbtx8f+A/9/eHbNGEYRhHP8/ghCC8SNYWEk6IRYBS8FC0ihW6a1ULGxFP0FQQRQr7W1UbCxFK42gla3YSRpRCCnktZhZOCWeVrs5+P+a42Z3httieXdud5851puuVdWbJLd62/H+ebuq7vY+N4BN4AuwA2zTXuRbo70MuQus9/GuJNmgpVRfrKpPYxyX9DfOdKRp3aGtX3IKuMDvsfwngLO0/KubSQ4nWev7nQTO0woNVfUEeAds9nVQdvsYOz3U8T5wfYwDkuZxpiNN6wyw2uNIAI4OmVjAix5UuZfkKy265DTwdCgqSZ7/Y/wh8HWbVqSkSVl0pGkdAtZnZiYA9CK0N9P0k3a+7reMwDzDGEN/aVL+vSZN6yVwefjSwxbneQ1sJFnqaxOdm9n2HVjZv5t0MHjlI41nuSeSD7aAq8C9JB9p5+Mr5iQhV9XbJM+AD8Bn2n2cb33zI+DBHw8SSAeKKdPSgklypKp+JFmmFalLVfV+6t8l/Q9nOtLieZhkFVgCHltwtEic6UiSRuODBJKk0Vh0JEmjsehIkkZj0ZEkjcaiI0kazS8if388IMuDVQAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"f1 = np.polyfit(x,y,11)\n", | |
"p1 = np.poly1d(f1)\n", | |
"print(p)\n", | |
"PlotPolly(p1,x,y,'Length')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"# calculate polynomial\n", | |
"# Here we use a polynomial of the 3rd order (cubic) \n", | |
"f1 = np.polyfit(x, y, 11)\n", | |
"p1 = np.poly1d(f1)\n", | |
"print(p)\n", | |
"PlotPolly(p1,x,y, 'Length')\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>The analytical expression for Multivariate Polynomial function gets complicated. For example, the expression for a second-order (degree=2)polynomial with two variables is given by:</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"$$\n", | |
"Yhat = a + b_1 X_1 +b_2 X_2 +b_3 X_1 X_2+b_4 X_1^2+b_5 X_2^2\n", | |
"$$" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can perform a polynomial transform on multiple features. First, we import the module:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 46, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.preprocessing import PolynomialFeatures" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We create a <b>PolynomialFeatures</b> object of degree 2: " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 47, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)" | |
] | |
}, | |
"execution_count": 47, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pr=PolynomialFeatures(degree=2)\n", | |
"pr" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 48, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"Z_pr=pr.fit_transform(Z)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The original data is of 201 samples and 4 features " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 49, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(201, 4)" | |
] | |
}, | |
"execution_count": 49, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"Z.shape" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"after the transformation, there 201 samples and 15 features" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 50, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(201, 15)" | |
] | |
}, | |
"execution_count": 50, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"Z_pr.shape" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2>Pipeline</h2>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Data Pipelines simplify the steps of processing the data. We use the module <b>Pipeline</b> to create a pipeline. We also use <b>StandardScaler</b> as a step in our pipeline.</p>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 51, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.pipeline import Pipeline\n", | |
"from sklearn.preprocessing import StandardScaler" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We create the pipeline, by creating a list of tuples including the name of the model or estimator and its corresponding constructor." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 52, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"Input=[('scale',StandardScaler()), ('polynomial', PolynomialFeatures(include_bias=False)), ('model',LinearRegression())]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"we input the list as an argument to the pipeline constructor " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 56, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Pipeline(memory=None,\n", | |
" steps=[('scale', StandardScaler(copy=True, with_mean=True, with_std=True)), ('polynomial', PolynomialFeatures(degree=2, include_bias=False, interaction_only=False)), ('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False))])" | |
] | |
}, | |
"execution_count": 56, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pipe=Pipeline(Input)\n", | |
"pipe" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can normalize the data, perform a transform and fit the model simultaneously. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 58, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/preprocessing/data.py:625: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n", | |
" return self.partial_fit(X, y)\n", | |
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/base.py:465: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n", | |
" return self.fit(X, y, **fit_params).transform(X)\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"Pipeline(memory=None,\n", | |
" steps=[('scale', StandardScaler(copy=True, with_mean=True, with_std=True)), ('polynomial', PolynomialFeatures(degree=2, include_bias=False, interaction_only=False)), ('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False))])" | |
] | |
}, | |
"execution_count": 58, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pipe.fit(Z,y)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Similarly, we can normalize the data, perform a transform and produce a prediction simultaneously" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 59, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/pipeline.py:331: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n", | |
" Xt = transform.transform(Xt)\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"array([13102.74784201, 13102.74784201, 18225.54572197, 10390.29636555])" | |
] | |
}, | |
"execution_count": 59, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ypipe=pipe.predict(Z)\n", | |
"ypipe[0:4]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question #5:</h1>\n", | |
"<b>Create a pipeline that Standardizes the data, then perform prediction using a linear regression model using the features Z and targets y</b>\n", | |
"</div>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 60, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/preprocessing/data.py:625: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n", | |
" return self.partial_fit(X, y)\n", | |
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/base.py:465: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n", | |
" return self.fit(X, y, **fit_params).transform(X)\n", | |
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/pipeline.py:331: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n", | |
" Xt = transform.transform(Xt)\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"array([13699.11161184, 13699.11161184, 19051.65470233, 10620.36193015,\n", | |
" 15521.31420211, 13869.66673213, 15456.16196732, 15974.00907672,\n", | |
" 17612.35917161, 10722.32509097])" | |
] | |
}, | |
"execution_count": 60, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"Input = [('scale',StandardScaler()),('model',LinearRegression())]\n", | |
"pipe = Pipeline(Input)\n", | |
"pipe.fit(Z,y)\n", | |
"\n", | |
"ypipe = pipe.predict(Z)\n", | |
"ypipe[0:10]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"</div>\n", | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"Input=[('scale',StandardScaler()),('model',LinearRegression())]\n", | |
"\n", | |
"pipe=Pipeline(Input)\n", | |
"\n", | |
"pipe.fit(Z,y)\n", | |
"\n", | |
"ypipe=pipe.predict(Z)\n", | |
"ypipe[0:10]\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2>Part 4: Measures for In-Sample Evaluation</h2>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>When evaluating our models, not only do we want to visualize the results, but we also want a quantitative measure to determine how accurate the model is.</p>\n", | |
"\n", | |
"<p>Two very important measures that are often used in Statistics to determine the accuracy of a model are:</p>\n", | |
"<ul>\n", | |
" <li><b>R^2 / R-squared</b></li>\n", | |
" <li><b>Mean Squared Error (MSE)</b></li>\n", | |
"</ul>\n", | |
" \n", | |
"<b>R-squared</b>\n", | |
"\n", | |
"<p>R squared, also known as the coefficient of determination, is a measure to indicate how close the data is to the fitted regression line.</p>\n", | |
" \n", | |
"<p>The value of the R-squared is the percentage of variation of the response variable (y) that is explained by a linear model.</p>\n", | |
"\n", | |
"\n", | |
"\n", | |
"<b>Mean Squared Error (MSE)</b>\n", | |
"\n", | |
"<p>The Mean Squared Error measures the average of the squares of errors, that is, the difference between actual value (y) and the estimated value (ŷ).</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Model 1: Simple Linear Regression</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's calculate the R^2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The R-square is: 0.7609686443622008\n" | |
] | |
} | |
], | |
"source": [ | |
"#highway_mpg_fit\n", | |
"lm.fit(X, Y)\n", | |
"# Find the R^2\n", | |
"print('The R-square is: ', lm.score(X, Y))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can say that ~ 49.659% of the variation of the price is explained by this simple linear model \"horsepower_fit\"." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's calculate the MSE" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can predict the output i.e., \"yhat\" using the predict method, where X is the input variable:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 62, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The output of the first four predicted value is: [13728.4631336 13728.4631336 17399.38347881 10224.40280408]\n" | |
] | |
} | |
], | |
"source": [ | |
"Yhat=lm.predict(X)\n", | |
"print('The output of the first four predicted value is: ', Yhat[0:4])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"lets import the function <b>mean_squared_error</b> from the module <b>metrics</b>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 63, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.metrics import mean_squared_error" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"we compare the predicted results with the actual results " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 64, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The mean square error of price and predicted value is: 15021126.02517414\n" | |
] | |
} | |
], | |
"source": [ | |
"mse = mean_squared_error(df['price'], Yhat)\n", | |
"print('The mean square error of price and predicted value is: ', mse)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Model 2: Multiple Linear Regression</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's calculate the R^2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 65, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The R-square is: 0.8093562806577458\n" | |
] | |
} | |
], | |
"source": [ | |
"# fit the model \n", | |
"lm.fit(Z, df['price'])\n", | |
"# Find the R^2\n", | |
"print('The R-square is: ', lm.score(Z, df['price']))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can say that ~ 80.896 % of the variation of price is explained by this multiple linear regression \"multi_fit\"." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's calculate the MSE" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" we produce a prediction " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 66, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"Y_predict_multifit = lm.predict(Z)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" we compare the predicted results with the actual results " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 67, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The mean square error of price and predicted value using multifit is: 11980366.870726489\n" | |
] | |
} | |
], | |
"source": [ | |
"print('The mean square error of price and predicted value using multifit is: ', \\\n", | |
" mean_squared_error(df['price'], Y_predict_multifit))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Model 3: Polynomial Fit</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's calculate the R^2" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"let’s import the function <b>r2_score</b> from the module <b>metrics</b> as we are using a different function" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 68, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.metrics import r2_score" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We apply the function to get the value of r^2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 69, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The R-square value is: 0.6741946663906517\n" | |
] | |
} | |
], | |
"source": [ | |
"r_squared = r2_score(y, p(x))\n", | |
"print('The R-square value is: ', r_squared)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can say that ~ 67.419 % of the variation of price is explained by this polynomial fit" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>MSE</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can also calculate the MSE: " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 70, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"20474146.426361226" | |
] | |
}, | |
"execution_count": 70, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"mean_squared_error(df['price'], p(x))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2>Part 5: Prediction and Decision Making</h2>\n", | |
"<h3>Prediction</h3>\n", | |
"\n", | |
"<p>In the previous section, we trained the model using the method <b>fit</b>. Now we will use the method <b>predict</b> to produce a prediction. Lets import <b>pyplot</b> for plotting; we will also be using some functions from numpy.</p>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 71, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"import numpy as np\n", | |
"\n", | |
"%matplotlib inline " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Create a new input " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 72, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"new_input=np.arange(1, 100, 1).reshape(-1, 1)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Fit the model " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 73, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n", | |
" normalize=False)" | |
] | |
}, | |
"execution_count": 73, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"lm.fit(X, Y)\n", | |
"lm" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Produce a prediction" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 74, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([-7796.47889059, -7629.6188749 , -7462.75885921, -7295.89884352,\n", | |
" -7129.03882782])" | |
] | |
}, | |
"execution_count": 74, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"yhat=lm.predict(new_input)\n", | |
"yhat[0:5]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"we can plot the data " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 75, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.plot(new_input, yhat)\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Decision Making: Determining a Good Model Fit</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Now that we have visualized the different models, and generated the R-squared and MSE values for the fits, how do we determine a good model fit?\n", | |
"<ul>\n", | |
" <li><i>What is a good R-squared value?</i></li>\n", | |
"</ul>\n", | |
"</p>\n", | |
"\n", | |
"<p>When comparing models, <b>the model with the higher R-squared value is a better fit</b> for the data.\n", | |
"<ul>\n", | |
" <li><i>What is a good MSE?</i></li>\n", | |
"</ul>\n", | |
"</p>\n", | |
"\n", | |
"<p>When comparing models, <b>the model with the smallest MSE value is a better fit</b> for the data.</p>\n", | |
"\n", | |
"\n", | |
"<h4>Let's take a look at the values for the different models.</h4>\n", | |
"<p>Simple Linear Regression: Using Highway-mpg as a Predictor Variable of Price.\n", | |
"<ul>\n", | |
" <li>R-squared: 0.49659118843391759</li>\n", | |
" <li>MSE: 3.16 x10^7</li>\n", | |
"</ul>\n", | |
"</p>\n", | |
" \n", | |
"<p>Multiple Linear Regression: Using Horsepower, Curb-weight, Engine-size, and Highway-mpg as Predictor Variables of Price.\n", | |
"<ul>\n", | |
" <li>R-squared: 0.80896354913783497</li>\n", | |
" <li>MSE: 1.2 x10^7</li>\n", | |
"</ul>\n", | |
"</p>\n", | |
" \n", | |
"<p>Polynomial Fit: Using Highway-mpg as a Predictor Variable of Price.\n", | |
"<ul>\n", | |
" <li>R-squared: 0.6741946663906514</li>\n", | |
" <li>MSE: 2.05 x 10^7</li>\n", | |
"</ul>\n", | |
"</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Simple Linear Regression model (SLR) vs Multiple Linear Regression model (MLR)</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Usually, the more variables you have, the better your model is at predicting, but this is not always true. Sometimes you may not have enough data, you may run into numerical problems, or many of the variables may not be useful and or even act as noise. As a result, you should always check the MSE and R^2.</p>\n", | |
"\n", | |
"<p>So to be able to compare the results of the MLR vs SLR models, we look at a combination of both the R-squared and MSE to make the best conclusion about the fit of the model.\n", | |
"<ul>\n", | |
" <li><b>MSE</b>The MSE of SLR is 3.16x10^7 while MLR has an MSE of 1.2 x10^7. The MSE of MLR is much smaller.</li>\n", | |
" <li><b>R-squared</b>: In this case, we can also see that there is a big difference between the R-squared of the SLR and the R-squared of the MLR. The R-squared for the SLR (~0.497) is very small compared to the R-squared for the MLR (~0.809).</li>\n", | |
"</ul>\n", | |
"</p>\n", | |
"\n", | |
"This R-squared in combination with the MSE show that MLR seems like the better model fit in this case, compared to SLR." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Simple Linear Model (SLR) vs Polynomial Fit</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<ul>\n", | |
" <li><b>MSE</b>: We can see that Polynomial Fit brought down the MSE, since this MSE is smaller than the one from the SLR.</li> \n", | |
" <li><b>R-squared</b>: The R-squared for the Polyfit is larger than the R-squared for the SLR, so the Polynomial Fit also brought up the R-squared quite a bit.</li>\n", | |
"</ul>\n", | |
"<p>Since the Polynomial Fit resulted in a lower MSE and a higher R-squared, we can conclude that this was a better fit model than the simple linear regression for predicting Price with Highway-mpg as a predictor variable.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Multiple Linear Regression (MLR) vs Polynomial Fit</h3>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<ul>\n", | |
" <li><b>MSE</b>: The MSE for the MLR is smaller than the MSE for the Polynomial Fit.</li>\n", | |
" <li><b>R-squared</b>: The R-squared for the MLR is also much larger than for the Polynomial Fit.</li>\n", | |
"</ul>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2>Conclusion:</h2>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Comparing these three models, we conclude that <b>the MLR model is the best model</b> to be able to predict price from our dataset. This result makes sense, since we have 27 variables in total, and we know that more than one of those variables are potential predictors of the final car price.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h1>Thank you for completing this notebook</h1>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n", | |
"\n", | |
" <p><a href=\"https://cocl.us/skills_network_DA0101EN_bottom\"><img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/BottomAd.png\" width=\"750\" align=\"center\"></a></p>\n", | |
"</div>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>About the Authors:</h3>\n", | |
"\n", | |
"This notebook was written by <a href=\"https://www.linkedin.com/in/mahdi-noorian-58219234/\" target=\"_blank\">Mahdi Noorian PhD</a>, <a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>, Bahare Talayian, Eric Xiao, Steven Dong, Parizad, Hima Vsudevan and <a href=\"https://www.linkedin.com/in/fiorellawever/\" target=\"_blank\">Fiorella Wenver</a> and <a href=\" https://www.linkedin.com/in/yi-leng-yao-84451275/ \" target=\"_blank\" >Yi Yao</a>.\n", | |
"\n", | |
"<p><a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a> is a Data Scientist at IBM, and holds a PhD in Electrical Engineering. His research focused on using Machine Learning, Signal Processing, and Computer Vision to determine how videos impact human cognition. Joseph has been working for IBM since he completed his PhD.</p>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<hr>\n", | |
"<p>Copyright © 2018 IBM Developer Skills Network. This notebook and its source code are released under the terms of the <a href=\"https://cognitiveclass.ai/mit-license/\">MIT License</a>.</p>" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.8" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment