Skip to content

Instantly share code, notes, and snippets.

@emilfh
Created January 14, 2021 22:11
Show Gist options
  • Save emilfh/c5f20d2cea1151cd0508d05926725244 to your computer and use it in GitHub Desktop.
Save emilfh/c5f20d2cea1151cd0508d05926725244 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center>\n",
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/Logos/organization_logo/organization_logo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n",
"</center>\n",
"\n",
"# Model Development\n",
"\n",
"Estimated time needed: **30** minutes\n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"- Develop prediction models\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some questions we want to ask in this module\n",
"\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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Setup</h4>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Import libraries\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"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:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/DA101EN_object_storage\">HERE</a> for free storage.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"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>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://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DA0101EN-SkillsNetwork/labs/Data%20files/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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Linear Regression</h4>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<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"
]
},
{
"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",
"$$\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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Lets load the modules for linear regression</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Create the linear regression object</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 4,
"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>\n"
]
},
{
"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.\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"X = df[['highway-mpg']]\n",
"Y = df['price']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the linear model using highway-mpg.\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.fit(X,Y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can output a prediction \n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([16236.50464347, 16236.50464347, 17058.23802179, 13771.3045085 ,\n",
" 20345.17153508])"
]
},
"execution_count": 7,
"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>\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"38423.3058581574"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.intercept_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>What is the value of the Slope (b)?</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([-821.73337832])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>What is the final estimated linear model we get?</h3>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we saw above, we should get a final linear model with the structure:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"Yhat = a + b X\n",
"$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plugging in the actual values we get:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b>price</b> = 38423.31 - 821.73 x <b>highway-mpg</b>\n"
]
},
{
"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",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2 = LinearRegression()\n",
"lm2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"lm1 = LinearRegression()\n",
"lm1\n",
"```\n",
"\n",
"</details>\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",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2.fit(df[['engine-size']],df[['price']])\n",
"lm2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"lm1.fit(df[['engine-size']], df[['price']])\n",
"lm1\n",
"```\n",
"\n",
"</details>\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",
"\n",
"</div>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Slope</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[166.86001569]])"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Intercept</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-7963.33890628])"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2.intercept_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"# Slope \n",
"lm1.coef_\n",
"\n",
"# Intercept\n",
"lm1.intercept_\n",
"```\n",
"\n",
"</details>\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",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "can't multiply sequence by non-int of type 'float'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-18-85db23aaff8d>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Write your code below and press Shift+Enter to execute\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mYhat\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m7963.34\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m166.86\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mPrice\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m7963.34\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m166.86\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m'engine-size'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: can't multiply sequence by non-int of type 'float'"
]
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"Yhat=-7963.34 + 166.86*X\n",
"Price=-7963.34 + 166.86*engine-size"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"# using X and Y \n",
"Yhat=-7963.34 + 166.86*X\n",
"\n",
"Price=-7963.34 + 166.86*engine-size\n",
"\n",
"```\n",
"\n",
"</details>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Multiple Linear Regression</h4>\n"
]
},
{
"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>\n"
]
},
{
"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",
"$$\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",
"$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The equation is given by\n"
]
},
{
"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",
"$$\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.\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"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.\n"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.fit(Z, df['price'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is the value of the intercept(a)?\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-15806.62462632922"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.intercept_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What are the values of the coefficients (b1, b2, b3, b4)?\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([53.49574423, 4.70770099, 81.53026382, 36.05748882])"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" What is the final estimated linear model that we get?\n"
]
},
{
"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?\n"
]
},
{
"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>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Wlrite your code below and press Shift+Enter to execute \n",
"lm3 = LinearRegression()\n",
"Z2 = df[['normalized-losses','highway-mpg']]\n",
"lm3.fit(Z2, df[['price']])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"lm2 = LinearRegression()\n",
"lm2.fit(df[['normalized-losses' , 'highway-mpg']],df['price'])\n",
"\n",
"\n",
"```\n",
"\n",
"</details>\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>\n"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1.49789586, -820.45434016]])"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm3.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"lm2.coef_\n",
"\n",
"```\n",
"\n",
"</details>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>2) Model Evaluation using Visualization</h3>\n"
]
},
{
"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.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"import the visualization package: seaborn\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"# import the visualization package: seaborn\n",
"import seaborn as sns\n",
"%matplotlib inline "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Regression Plot</h3>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's visualize **highway-mpg** as potential predictor variable of price:\n"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 48265.58637172825)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAJNCAYAAABwXMA5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAACMx0lEQVR4nOzdeXycZ3nv/889+4x2yZJXJbbsJM5CVtskkDhOgCa0kFAawCkkgQAxEFp6KC10OWlP2t855bSnnHDYHCBkoRDSQMG0hbLExoTE8ZKFxIkT2/IieZMtjaSRZp/n/v0xI0eyLWmkkWZGo+/79fJL9mM9M7ccR/7OPdd9XcZai4iIiIiIFIer1AsQEREREZlNFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKyFPqBRTbnDlz7OLFi0u9DBERERGpcDt27DhhrW0+9fqsC+CLFy9m+/btpV6GiIiIiFQ4Y8yBM11XCYqIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIEXlKvYDZYNOuLtZvbqcjHKW1IcS61W2sWd5S6mWJiIiISAloB3yabdrVxT0bdtIViVMf9NIViXPPhp1s2tVV6qWJiIiISAkogE+z9Zvb8boNIZ8HY7IfvW7D+s3tpV6aiIiIiJSAAvg06whHCXrdI64FvW46w9ESrUhERERESkkBfJq1NoSIpTIjrsVSGRY1hEq0IhEREREpJQXwabZudRupjCWaTGNt9mMqY1m3uq3USxMRERGRElAAn2Zrlrdw700X0lIToC+WoqUmwL03XaguKCIiIiKzlNoQFsGa5S0K3CIiIiICaAdcRERERKSoFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIrIU+oFiEy3Tbu6WL+5nY5wlNaGEOtWt7FmeUuplyUiIiKzlHbApaJt2tXFPRt20hWJUx/00hWJc8+GnWza1VXqpYmIiMgspQAuFW395na8bkPI58GY7Eev27B+c3uplyYiIiKzlAK4VLSOcJSg1z3iWtDrpjMcLdGKREREZLZTDXgRqAa5dFobQnRF4oR8r/9Vj6UyLGoIlXBVIiIiMptpB3yaqQa5tNatbiOVsUSTaazNfkxlLOtWt5V6aSIiIjJLKYBPM9Ugl9aa5S3ce9OFtNQE6IulaKkJcO9NF+odCBERESkZlaBMs45wlPqgd8Q11SAX15rlLQrcIiIiUja0Az7NWhtCxFKZEddUgywiIiIyeymATzPVIIuIiIjIcArg00w1yCIiIiIynGrAi0A1yCIiIiIyRDvgIiIiIiJFpAAuIiIiIlJE0x7AjTFuY8xzxph/z/260Rjzc2PM7tzHhmGf+xfGmD3GmFeNMTcMu36FMebF3O990Rhjctf9xpjv5a4/Y4xZPN1fj4iIiIhIIYqxA/4p4JVhv/4c8Etr7TnAL3O/xhhzAbAWuBC4EfiKMcadu+erwF3AObkfN+aufxgIW2uXAV8APj+9X4qIiIiISGGmNYAbYxYBvwd8Y9jlm4GHcj9/CHjXsOuPWmsT1tp9wB5glTFmPlBrrX3aWmuBh0+5Z+ixHgfeMrQ7LiIiIiJSjqZ7B/z/An8OOMOuzbXWHgHIfRxqD7IQ6Bj2eZ25awtzPz/1+oh7rLVpoA9omtKvQERERERkCk1bADfGvAPostbuyPeWM1yzY1wf655T13KXMWa7MWb78ePH81yOiIiIiMjUm84d8DcDNxlj9gOPAtcbY74NHMuVlZD72JX7/E6gddj9i4DDueuLznB9xD3GGA9QB/ScuhBr7f3W2hXW2hXNzc1T89WJiIiIiEzCtAVwa+1fWGsXWWsXkz1c+YS19gPABuCO3KfdAfwo9/MNwNpcZ5MlZA9bbs2VqUSMMVfm6rtvP+Weoce6Jfccp+2Ai4iIiIiUi1JMwvwH4DFjzIeBg8B7AKy1O40xjwEvA2ngbmttJnfPx4EHgSDwk9wPgG8Cjxhj9pDd+V5brC9CRERERGQyzGzbMF6xYoXdvn17qZchIiIiIhXOGLPDWrvi1OuahCkiIiIiUkQK4CIiIiIiRaQALiIiIiJSRArgIiIiIiJFpAAuIiIiIlJECuAiIiIiIkWkAC4iIiIiUkQK4CIiIiIiRaQALiIiIiJSRArgIiIiIiJFpAAuIiIiIlJECuAiIiIiIkWkAC4iIiIiUkQK4CIiIiIiRaQALiIiIiJSRArgIiIiIiJFpAAuIiIiIlJECuAiIiIiIkWkAC4iIiIiUkQK4CIiIiIiRaQALiIiIiJSRArgIiIiIiJFpAAuIiIiIlJECuAiIiIiIkWkAC4iIiIiUkQK4CIiIiIiReQp9QJEZGybdnWxfnM7HeEorQ0h1q1uY83yllIvS0RERCZJAVymnQLk5G3a1cU9G3bidRvqg166InHu2bCTe0F/hiIiIjOUSlBkWg0FyK5IfESA3LSrq9RLmxHWb27H6zaEfB6MyX70ug3rN7eXemkiIiIySQrgMq0UIAvTEY4S9LpHXAt63XSGoyVakYiIiBRKAVymlQJkYVobQsRSmRHXYqkMixpCJVqRiIiIFEoBXKaVAmRh1q1uI5WxRJNprM1+TGUs61a3lXppIiIiMkkK4DKtFCALs2Z5C/fedCEtNQH6YilaagLce9OFOoApIiIyg6kLikyrNctbuJdsLXhnOMoidUGZsDXLW/TnJSIiUkEUwGXaKUCKiIiIvE4lKCIiIiIiRaQALiIiIiJSRCpBmQE0SVJERESkcmgHvMxpkqSIiIhIZVEAL3OaJCkiIiJSWRTAy5wmSYqIiIhUFgXwMqdJkiIiIiKVRQG8zJXDJMlNu7q49f4tXP35J7j1/i2qPxcREREpgAJ4mSv1KHIdAhURERGZWmpDOAOUcpLk8EOgACGfh2gyzfrN7WqFKCIiIjIJ2gGXMekQqIiIiMjUUgCXMekQqIiIiMjUUgCXMZXDIVARERGRSqIa8FmgkFH2a5a3cC/ZWvDOcJRFE7xfREREREZSAK9wQ11MvG4zoovJvTChEK7ALSIiIjI1VIJS4TTKXkRERKS8KIBXOHUxERERESkvCuAVTl1MRERERMqLAniFUxcTERERkfKiAF7hSj3KXkRERERGUheUWUBdTERERETKh3bARURERESKSAFcRERERKSIVIIyCxQyCVNEREREppZ2wCvc0CTMrkh8xCTMTbu6Sr00ERERkVlJO+AVbvgkTICQz0M0mWb95nbtgs8QegdDRESksmgHvMJpEubMpncwREREKo8CeIXTJMyZbfg7GMZkP3rdhvWb20u9NBEREZkkBfAKp0mYM5vewRAREak8CuAVTpMwZza9gyEiIlJ5dAhzFtAkzJlr3eo27tmwk2gyTdDrJpbK6B0MERGRGU474CJlTO9giIiIVB7tgIuUOb2DISIiUlm0Ay4iIiIiUkQK4CIiIiIiRaQALiIiIiJSRArgIiIiIiJFpAAuIiIiIlJECuAiIiIiIkWkAC4iIiIiUkQK4CIiIiIiRaRBPCJlbtOuLtZvbqcjHKW1IcS61W0azCMiIjKDaQdcpIxt2tXFPRt20hWJUx/00hWJc8+GnWza1VXqpYmIiMgkKYCLlLH1m9vxug0hnwdjsh+9bsP6ze2lXpqIiIhMkgK4SBnrCEcJet0jrgW9bjrD0RKtSERERAqlGnAZl2qQS6e1IURXJE7I9/r/qrFUhkUNoRKuSkRERAqhHXAZk2qQS2vd6jZSGUs0mcba7MdUxrJudVuplyYiIiKTpAAuY1INcmmtWd7CvTddSEtNgL5YipaaAPfedKHegRAREZnBVIIiY+oIR6kPekdcUw1yca1Z3qLALSIiUkG0Ay5jam0IEUtlRlxTDbKIiIjI5CmAy5hUgywiIiIytRTAZUyqQRYRERGZWqoBl3GpBrm01AZSRESksmgHXKSMqQ2kiIhI5VEAFyljagMpIiJSeRTARcqYRtGLiIhUHgVwkTKmNpAiIiKVRwFcpIypDaSIiEjlUQAXKWNqAykiIlJ51IZQpMypDaSIiEhl0Q64iIiIiEgRaQdcKp4G2YiIiEg50Q64VDQNshEREZFyowAuFU2DbERERKTcKIBLRdMgGxERESk3CuBS0TTIRkRERMqNArhUNA2yERERkXKjAC4VTYNsREREpNyoDaFUPA2yERERkXIybTvgxpiAMWarMeYFY8xOY8z/yF1vNMb83BizO/exYdg9f2GM2WOMedUYc8Ow61cYY17M/d4XjTEmd91vjPle7vozxpjF0/X1iIiIiIhMheksQUkA11trLwEuBW40xlwJfA74pbX2HOCXuV9jjLkAWAtcCNwIfMUYM9S+4qvAXcA5uR835q5/GAhba5cBXwA+P41fj4iIiIhIwaYtgNusgdwvvbkfFrgZeCh3/SHgXbmf3ww8aq1NWGv3AXuAVcaY+UCttfZpa60FHj7lnqHHehx4y9DuuIiIiIhIOZrWQ5jGGLcx5nmgC/i5tfYZYK619ghA7uNQce5CoGPY7Z25awtzPz/1+oh7rLVpoA9oGmtNaceScWwBX5WIiIiIyORNawC31mastZcCi8juZl80xqefaefajnF9rHtGPrAxdxljthtjtp84fpzOcJRoMj3O6kVEREREpl5R2hBaa3uBTWRrt4/lykrIfezKfVon0DrstkXA4dz1RWe4PuIeY4wHqAN6zvD891trV1hrVzQ2zSHjWI72xTkeSZCtahERERERKY7p7ILSbIypz/08CLwV2AVsAO7IfdodwI9yP98ArM11NllC9rDl1lyZSsQYc2Wuvvv2U+4ZeqxbgCfsBBJ1JJ6iMxwjkc6M/8kiIiIiIlNgOvuAzwceynUycQGPWWv/3RjzNPCYMebDwEHgPQDW2p3GmMeAl4E0cLe1digZfxx4EAgCP8n9APgm8IgxZg/Zne+1E11kKuNwuDdOQ8hLfcg3yS9VRERERCQ/ZraVYFx86eX2hz/ffMbfC3jdNNf48bo1IFRERERECmOM2WGtXXHqdSXNYeKpDIfCMfrjqVIvRUREREQqlAL4KRxrORFJcLQvrnaFIiIiIjLlFMBHEU2m6QxHGUyoXaGIiIiITB0F8DFkHMux/jhdkTiOdsNFREREZAoogOdhIJ6mMxwjllS7QhEREREpjAJ4ntKOw5G+GN0DGt4jIiIiIpOnAD5BfbHs8J54SrvhIiIiIjJxCuCTkMo4HOmLEx5MajdcRERERCZEAXySrLWEo0kO98VJpp1SL0dEREREZggF8AIlUhkO9cboi2p4j4iIiIiMTwF8Clhr6R5McLg3Riqj3XARERERGZ0C+BSKpzJ0hmP0xbQbLiIiIiJn5in1AiqNtZbugQTRZJo51X68br3GkcJ88Rev8Y0n9zGYzFDlc/ORq5fwx289t9TLEhERkUlSOpwmsWSGQ+EY/XHthsvkffEXr3HfE3uIpTJ4XBBLZbjviT188RevlXppIiIiMkkK4NPIsZYTkQRH++KkVRsuk/CNJ/fhMuBxuXAZV+5j9rqIiIjMTArgRRBNpjnUG2MgkS71UmSGGUxmcJmR11wme11ERERmJgXwIsk4lq7+OF39cTKOhvdIfqp8bk796+LY7HURERGZmRTAi2wgkeZQOEY0qd1wGd9Hrl6CYyHtODjWyX3MXhcREZGZSV1QSiDtOBzti1MT8NJU5cN1ao2BSM5QtxN1QREREakcCuAlFImniKcyNNf4CXhVUiBn9sdvPVeBW0REpIKoBKXEUhmHw70xugcSWKvacBEREZFKpwBeJvpiKTrDMeIpdbcQERERqWQK4GUklXE40hcnPJjUbriIiIhIhVIALzPWWsLRJIf74iTTGt4jIiIiUmkUwMtUIpXhUG+MvphG2YuIiIhUEgXwMmatpXsgwZG+mEbZi4iIiFQIBfAZIJbM0BnWKHsRERGRSqAAPkM49vVR9o5G2YuIiIjMWArgM8xAIk1nOEYsqXaFIiIiIjPRrAvgJwYSxGZ4r+2043CkT8N7RERERGaiWRfAuweT3PHAVn7xyrEZH177YikO9cZIpGf2CwoRERGR2WTWBXADnBhI8j//cxd/9N3n2XW0v9RLKkgy7XC4N05fVO0KRURERGaCWRfAl8ypYvW5cwB4+Ug/n/iX5/j8T3fRPZAo8comz1pL96DaFYqIiIjMBLMugHvdLv72nRfyz++9hLbmKgD+a+cxbn9gG9/denBGT5+MJbPDe9SuUERERKR8zboAPuTS1nrWf+AK/ttbz6E24CGWyvD1X+/jQw9u48ndJ2ZsfXjGUbtCERERkXI2awM4gNtleOclC3jkw6v4g8sX4nYZjvTFuWfDTv7s8d+y78RgqZc4aWpXKCIiIlKeZnUAH1IT8HL3dcv45u0rWLW4AYBnD/by0Ye3c98vd9MXm5kHHNWuUERERKT8mNkWzC6+9HL7w59vHvNztrR385VNe+kMxwCoCXj44JsWc9MlC3C7TDGWOeW8bhfNNX4CXneplyIiIiIyKxhjdlhrV5x6XTvgZ3BlWxPfvGMFH7+2jSqfm0g8zf97Yg8ffXg7Ow6ES728SUllHA73ajdcREREpNS0Az6OcDTJN5/cx09ePMrQn9SblzbxsWuXsrAhOD2LnGbaDRcRERGZftoBn6SGkI/P/M55fO0Dl/OGhXUA/GZvN3c+tI37N7czOANb/g3thvcMJrUbLiIiIlJk2gGfAGstv3rtOF/7VTtdkezgnoaQl49c08YNF87FZWZefbjPk90N93u0Gy4iIiIylUbbAVcAn4REKsNj2zv5ztaDJHKDe86dW80nr1vGRbld8pnEGEN90Et9yIuZgS8iKt2mXV2s39xORzhKa0OIdavbWLO8pdTLEhERkXEogOdMRQAfcjyS4P7N7fxyV9fJa29Z3sJdq9torvFPyXMUk3bDy8+mXV3cs2EnXrch6HUTS2VIZSz33nShQriIiEiZUw34NGiu8fNXv3c+X1x7KefOrQbgl7u6uOOBrTzy9AESqZk1BCeZdjjcG6c3qtrwcrF+cztetyHk82BM9qPXbVi/ub3USxMREZFJUgCfAhctrOMr77+cP7vhPBpCXuJph289tZ87vrWNTa92zagwa62lZzDJ4b44yVx5jZRORzhK8JRuNUGvm85wtEQrEhERkUIpgE8RlzG8/aJ5PHznKtaubMXrNnRFEtz776/wJ997gd3HIqVe4oQkUhkO9cZm7BTQStHaECJ2yjspsVSGRQ2hEq1IRERECqUAPsWq/B7uWt3GA3es5M1LmwB48VAfH/v2s/yfn71GOJos8QrzZ62leyDB0b446Yx2w0th3eo2UhlLNJnG2uzHVMaybnVbqZcmIiIik6RDmNNs+/4evrxpLwe6syUDVT43t191Nu+6bCFe98x5/eN2GeZU+6nye0q9lFlnqAtKZzjKInVBERERmTHUBSWn2AEcIONYNrxwmAef2k8knh3cs6ghyCfWLOXKtqairqVQ1QEPc6r8uFxqVygiIiIyloK7oBhjzjbGvDX386AxpmYqF1jJ3C7D71+2kIfvXMXNly7AZaAzHOMv/+0lPveDFznYPXMO1A3E0xzqjRGfYR1eRERERMpFXgHcGPNR4HFgfe7SIuCH07SmilUX9PKpt5zD129fweVn1QOwdV8PH354O1/ZtIeB+MwYa5/KOBzpy7YrFBEREZGJyXcH/G7gzUA/gLV2N6Ai1ElaMqeKf7zlYv7u5guZXxcg41ge33GI2x7Yyo9fOEzGKf+yoKF2hUf6YjqgKSIiIjIB+Z6oS1hrk0Njyo0xHqD8U2IZM8bw5mVzWLm4ke8/28m3txykL5biC7/YzYYXDnP3dcu4tLW+1MscVyyZbVeoA5rTR6PoRUREKku+O+C/Msb8JRA0xrwN+Ffgx9O3rNnD53Fx66qzePjOldxw4VwA9h4f5NOPvcDf/ngnR/viJV7h+DKO5Vh/nOORxIwaOjQTDI2i74rEqQ966YrEuWfDTjbt6ir10kRERGSS8g3gnwOOAy8C64D/BP56uhY1GzVV+/nsjcv5yvsv44L52fOtm187wR3f2soDv9l32jCWchSJp+gM64DmVNIoehERkcqTbwAPAg9Ya99jrb0FeCB3TabY8nm1/L9bL+Mvf3c5TdU+UhnLt7cc5I4HtvKLV46V/Q5zKuNwuDdG94B2w6eCRtGLiIhUnnwD+C8ZGbiDwC+mfjkC2frwt54/l4c/tIoPXHkWXrfhxECS//mfu/ij7z7PrqP9pV7iuPpi2g2fChpFLyIiUnnyDeABa+3A0C9yP1cCmGZBn5s737yEhz60itXnzgHg5SP9fOJfnuPzP91F90CixCsc29BueM9gUrvhk6RR9CIiIpUn3wA+aIy5fOgXxpgrgNj0LElONa8uwN++80K+8N5LWNpcBcB/7TzG7Q9s4zvPHCSZLu82gL3RJId6YyTS2g2fqDXLW7j3pgtpqQnQF0vRUhPg3psuVBcUERGRGSyvUfTGmJXAo8Dh3KX5wPustTumcW3TohSj6KdSxrH85KUjfPPJ/fTFUgDMrwvw8WuX8uZlTQy1iixHxhjqg17qQ96yXqeIiIjIVBhtFH1eATz3AF7gPMAAu6y1qaldYnHM9AA+ZCCe5uEt+/m3514f3HP5WfXcfd0ylsypKvHqRtra3sOj2zo40h9jfm2QD1x5Fu+8dAF+j3v8m0VERERmqEkFcGPM9dbaJ4wx7z7T71trfzCFayyKSgngQw52R/nKpj1s3R8GwGXgnZcs4INvWkxd0Fvi1WXD931P7MbjMgS8LuIph7Rj+dRbzuHGi+ZRH/KVeokiIiIi02K0AD7e6MJrgSeAd57h9yww4wJ4pTmrKcQ//MHFbGnv5iub9tIZjvGj5w/zxK4u7rhqMTddMh+PO99S/6n36LYOPC5zspVe0Osmlsrw6NYOVi1pZDCZobnaj89TujWKiIiIFNOYAdxa+zfGGBfwE2vtY0Vak0zClW1NXHF2Az98/jAPP7WfSDzNlzbu4ce/Pczda5ayYnFjSdZ1pD9GbWDkX7OA18XR/uwZ3kQqO8q+MeSjLlT6HXsRERGR6TbutqO11gE+WYS1FIXbZXC7KvMAoNft4j1XLOLhD6/iHRfPxwAHuqP8+fdf5K9/+BKHwsVvXDO/Nkg8NbJLSzzlMK/29bby1lq6BxMc6YuRzpR3RxcRERGRQuX7vv/PjTGfMca0GmMah35M68qmidtlaG0I0VTlx+OqzLKHhpCPT7/tXNbfdgUXL6oD4Km93XzowW3cv7mdwUS6aGtZu7KVtGOJpTJYsh/TjmXtytbTPjeWzNAZjjFQxPWJiIiIFFu+bQj3ka35HsFaO+OmgaxYscJu374dyO68RhJp+qIpUhW682qtZfPuE3ztV3s51p8d3NMQ8vKRa9q44cK5uIrQDnCoC8rR/hjzaoOsXdnKqraxX79V+z00Vfsr9t0KERERqXwFtSE0xgSBTwBXkw3ivwa+Zq2dccN4hgfw4QYSaXqjybIfajNZiVSGx3Z08t1nDhLPfY3nza3h7uuWctHCuhKv7sw8LhfNNX6CPrUrFBERkZmn0AD+GNAP/Evu0q1AvbX2vVO6yiIYLYAPiSbT9EZTxFOVObXxeCTB13/dzi9e6Tp57S3LW7hrdRvNNf4Srmx0dUEvjVU+De8RERGRGaXQAP6CtfaS8a7NBOMF8CHxVIbeaIposjLrkV861MeXN+7l1WMRAAIeF7euOov3rliE31t+O84+j4uWmoDaFYqIiMiMMVoAzzfNPGeMuXLYg70R+M1ULa4cBbxu5tUFWNgQpNo/Xrv0meeihXV8+f2X8ec3nEdDyEs87fCtp/Zzx7e2senVLvKdkFosybTDod4YfbEZOYBVRERE5KR8d8BfITuG/mDu0lnAK4ADWGvtxdO2wimW7w74qZJph95YksFEpuzCaaEGE2n+5ZmDfP/ZTlKZ7Nf2hoV1fPK6pZwzt6bEqztdyOehuUYHNEVERKS8FVqCcvZYv2+tPVDA2opqsgF8SDrj0BtLEYmnKy6IHwrH+Nqv9vKbvd0AGOB33zCfO69eTEOZjYzXAU0REREpdwUF8EpSaAAfknEsfbEU/bEUToX9GW7f38NXNu1lf3cUgCqfm9uvOpt3XbYQbwnH2p+JDmiKiIhIuVIAz5mqAD7EcSz98RR9sRQZp3L+LDOOZcMLh3kwN9YeYFFDkE+sWcqVbU0lXt1IlX5Ac9OuLtZvbqcjHKW1IcS61W2sWd5S6mWJiIjIOBTAc6Y6gA+x1tIfzw71STuV00u8L5bioaf2s+GFwwy9vli1uIFPrFnGWU2h0i5uGGMMjVU+6oLeUi9lSm3a1cU9G3bidRuCXjexVIZUxnLvTRcqhIuIiJQ5BfCc6QrgQyp1uua+E4N8eeMenj3YC4DbZXjXpQu446rFVAfKp0tMld/DnAqaoHnr/VvoisQJ+V7/M44m07TUBPjuXVeOcefU0Q68iIjI5BTahlDyZIyhNuCltTFES23llEUsmVPFP95yMX9384XMrwuQcSzff/YQtz2wlR+/cLhsym8GE2kOhWMV07+9IxwleEpf9qDXTWc4WpTnH9qB74rEqQ966YrEuWfDTjbt6hr/ZhERETmjykiHZara72FRQ4h5dQECZTjcZqKMMbx52Ry+9cGVfPSaJQS9bvpiKb7wi9187Ns7eL6jt9RLBCDtOBzti3M8ksApkxcGk9XaECJ2ylTWWCrDoobilP+s39yO120I+TwYk/3odRvWb24vyvOLiIhUIgXwIgj5PCyoD7KgPjiilGCm8uWmZj5850puvHAeAHuPD/Lpx17gb3+8k6N98RKvMCsST3GoN0b8lAA7k6xb3UYqY4kms20vo8k0qYxl3eq2ojx/qXfgRUREKpECeBFV2nTNpmo/f37jeXzl/ZdxwfxaADa/doI7vrWVB36z77Sd21JIZRwO98boHkjMyL7ta5a3cO9NF9JSE6AvlqKlJlDUA5il3oEXERGpRDqEWUKVNF3TWssTucN6JwaSAMyp9nHX6jbesrylLPp0+zzZ4T1+z8wvByqWTbu6+LPHXyAST5N2HDwuFzUBD/94yyU6iCkiIjIOHcIsQ0P9q1sbgtQFvWURUifLGMNbzp/LQ3eu4rYrz8LncXFiIMn//M9d/NF3n+OVI/2lXiLJtMPh3ji90WSplzKjWACT/W+Myf1aREREJk074GUk41j6Yyn64zN/qM/R/jj3/6qdTa8dP3nthgvn8pGrl9BU7S/hyrICXjfNNf6ym+xZbsqhDaKIiMhMpR3wGcDtMjRU+TirMURT9cwOh/NqA9zzzgv4wnsvYWlzFQD/tfMYtz+wje88c5BkurQ90uOpDIfCMSLxVEnXUe50CFNERGTqzdyEV8GMMdQFs73E59YG8M/gFoaXtNbztQ9cwaffdg51QS+xVIZvPLmPDz24jV/vPlHS2nfHWo5HEnT1x2f8Ow7TRYcwRUREpp4CeJmr8ntYmGthWDVDO6e4XYZ3XLyAR+5cxS1XLMTtMhzpi/M3G3bymcd/S/vxgZKubyA3vCeWLH3XlnJT6jaIIiIilUg14DNMJXROOdgd5au/2ssz+3oAcBl458UL+OCbF1MX9JZ0bXVBL41VvhEHYmf7KPahr78zHGXRLPz6RUREJmu0GnAF8BkqnXHojaWIxNMzNohvae/mq5v20hGOAVAT8HDHVYu56ZL5eEpY/z7UncbncZ0cxe51G4JeN7FUhlTGFrUXt4iIiMxMOoRZYTxuF3Oq/ZzVGKI+5MPtmnktDK9sa+Ibd6zg42uWUuV3E4mn+dLGPXz0kR1s399TsnUl0w6HemP0xVIaxS4iIiJTTgF8hnO7DI1VPlobQjRV+fG4ZtZ/Uq/bxXuuWMTDd67iHRfPxwAHuqP8+fdf5K9/+BKHcrvjxWatpXsgwf7uQQKekX+m6gIiIiIihZiZp/rkNC6XoS7kpTboYSCRpjeaIpUpbau/iWgI+fj0287lpksW8KWNe/htZx9P7e1m674ebrliEe9/41klOYQ6tyZATzRBtd978l0GdQGZmNleQy8iInKqmbVdKuMyxlATeL2FYWCGtTBc1lLNF957Cfe84wJaavykHcuj2zq4/YGt/OTFIzhFrndfu7KVVMYSiadIpjMMJlLqAjIBQzX0XZE49UEvXZE492zYyaZdXaVemoiISMnoEOYsEEtmCEeTxFMzq81eIpXhsR2dfPeZg8Rzg3vOnVvNJ69bxkUL64q2jq3tPTy6rYOj/THm1wX52Oo2bnjD/KI9/0x26/1b2N89QH8sTTLj4HO7qA16WNxUrUmaIiJS8dQFJWc2BvAhsWSG3lhyxvW7Ph5J8PVft/OLV17fNb1+eQt3XbOEltpASdZUHfAwp8qPawYefi2mFX//c/qiKVwugzFgLTiOpS7kZftfv63UyxMREZlW6oIiBH1u5tdlh/oEfTOnNKW5xs9f/u75fHHtpZw3twaAJ3Z1cce3tvHQU/tLsrM/EE/TGY4RTaaL/twzSTLtgAGXMRgMLmPA5K6LiIjMUgrgs1DAOzOD+EUL6/jy+y/jz244j4aQl0Ta4aGnD/DBb21j466uovdDTzsOR/viHI8kcDTK/oy87uw7BI5jsdae/HPyufXOgYiIzF4K4LPY8CAe8s2MhjguY3j7RfN4+M5VrF3Zitdt6Iok+Lv/eIU/+d7zvHYsUvQ1ReIpDvXGZlyNfTGcO7eWpiofHrchYy0et6Gpysc5c2tLvTQREZGSUQAXAl438+oCLGwIUl2CVn+TUeX3cNfqNh64YyVvXtoEwIuH+vn4t5/ln372KuFosqjrSWUcDvfG6B5IzNjJpNNh3eo2fJ7s36/z5tYwry6Az+NWFxkREZnVdAhTTpNMO/TGkgwmMjMmTO44EObLG/ewvzs7IKfK5+a2q87m9y9biLfIY+29bhfNNf4Z1wJyugz1Ae8MR1mkPuAiIjKLqAtKjgJ4/lIZh75Yikg8PSOCeMaxbHjhMA8+tZ9IPHs4clFDkE+sWcoblzRiTPHqjo0x1Ae91Ie8RX1eERERKR8K4DkK4BOXHhbEiz0IZzL6Yikeemo/G144zNDZyFWLG/j4mqWc3VRV1LX4vW6aq/34PKr2EhERmW0UwHMUwCcv41j6Yyn64ykyM6Drx74Tg3x54x6ePdgLgNtleNelC7j9qrOpCXiLtg5jDI0hH3Wh4j2niIiIlF7R+4AbY1qNMRuNMa8YY3YaYz6Vu95ojPm5MWZ37mPDsHv+whizxxjzqjHmhmHXrzDGvJj7vS+a3Hv6xhi/MeZ7uevPGGMWT9fXI9kA21Dlo7UhRFO1v+i11RO1ZE4V/3jLxfzdzRcyvy5AxrF8/9lD3P7ANn78wuGivYiw1tI9mOBwb4xURv2vRUREZrvpTFBp4E+ttecDVwJ3G2MuAD4H/NJaew7wy9yvyf3eWuBC4EbgK8aYoVNsXwXuAs7J/bgxd/3DQNhauwz4AvD5afx6JMflMtQFvbQ2hphbG8BfxocNjTG8edkcvvXBlXz0miUEvW76Yim+8IvdrPv2Dp7v6C3aWuKpDIfCMfpiqaI9p4iIiJSfaQvg1toj1tpncz+PAK8AC4GbgYdyn/YQ8K7cz28GHrXWJqy1+4A9wCpjzHyg1lr7tM3Wyzx8yj1Dj/U48Jah3XEpjiq/h4X12V7iVWXcwtDncXHrqrN4+M6V3HDhXADajw/y6cde4G837ORIX6wo63CspXsgwdG+OGnthouIiMxKRakhyJWGXAY8A8y11h6BbEgHhvqRLQQ6ht3Wmbu2MPfzU6+PuMdamwb6gKZp+SJkTAGvm7m1AVobQ9QGy7fzR1O1n8/euJyvvP8yLpifHQazefcJPvitbXzzyX3EksUZphNNpjnUq1H2IiIis9G0b1kaY6qB7wN/Yq3tHyOYnek37BjXx7rn1DXcRbaEhbPOOmu8JUsBvG4Xc6r9NIR8ROIp+mNp0k757fQun1fL/7v1Up7I9ag+MZDkX545yE93HuWua9p4y/ktuHJ/V7e29/Dotg6O9MeYXxtk7cpWVrU1FryGjGM52henNuilqcpXti9aREREZGpN6w64McZLNnz/i7X2B7nLx3JlJeQ+duWudwKtw25fBBzOXV90husj7jHGeIA6oOfUdVhr77fWrrDWrmhubp6KL03G4XYZ6kM+WhuDNNeU54FNYwxvOX8uD925ituuPAufx0X3QJL/9ZNd/PF3n+OVI/1sbe/hvid20z2YoDbgoXswwX1P7GZr+2l/zSatP5aiMxwjkdYoexERkdlgOrugGOCbwCvW2n8e9lsbgDtyP78D+NGw62tznU2WkD1suTVXphIxxlyZe8zbT7ln6LFuAZ6ws62vYpkzxlATyB7YnFcXIOgrvwObQa+bD715CQ9+aCVrzs2+QHv5SIS7v/Mcn/+vXZjc5xgMQa8bj8vw6LaOsR90grKj7OP0RXVAU0REpNJNZwnKm4HbgBeNMc/nrv0l8A/AY8aYDwMHgfcAWGt3GmMeA14m20Hlbmvt0Jbgx4EHgSDwk9wPyAb8R4wxe8jufK+dxq9HChTyeQj5PCTSGfpiqbIbdT+vNsA977yAmzt7+fITe9lzfIBwNEWvSdEU8lEf8uIyhoDXxdH+qT+0OdSuMJpK01ztx1OG7xqIiIhI4TSIR0omnXHoj6fpj6XKbsJmxrH85KWjfPGXu0nn+oV7XYbmGj8uA3OqA/zz+y6Ztud3GUNTta+oA4NERERkahV9EI/IeDxuF41VPs5qDNFUVV514m6X4R0Xz+ev3n4+VbmymZRjOdwXpyuSPFmqMl0cazkeybYrnAlTR0VERCR/5du4WWYNl8tQF/JSF/IykEjTF0uRSJXHgcRrlzcT9Ll58Kn97OseJJF2SGYcvrhxN/u6B/ngmxZP64j5aDJNZzhDU7Wf6jLusy4iIiL5UwmKlKV4aqhOvLz6ZD+zr5uvbNxLRzhbA17t9/DBN53NTZcsmLaa7aE2iMcicc5uDPGxa5eyZnnL+DeKiIhISY1WgqIALmUtmXbojSYZKCCIT3Uf73TG4YfPH+ahp/czmMju1J/dGOIT1y1l5eLC+4MPN9QG0ePKHv5MpB0cC39/80UK4SIiImVOATxHAXxmmmwQPzXAxlMOacfyqevPKXiYTm80ybd+s59//+2Rk9Ofrmpr4uNr2ljUECrosYd8+nsvcKh3kIFEhlTGwet2Ue1309pYxffWXVVWdfMiIiIykg5hyozm87hoqQ2wqCE0oVroR7d14HGZaenjXR/y8d/edi7rb7uCSxbVAfB0ezd3Prid9b/aOyXlMwd6BgkPpkg7FpfLkHYs4cEU+04M0hmO0RtNllUrRxERERmfArjMKBMN4kf6YwS8I/+aT3Uf72Ut1fzzey/hb955AXNr/aQdy/e2d3L7A1v5zxePFNRiMZl2wGTbEhoMLmPAZK9ba+kZTHKoN0a8TA6tioiIyPjUVkFmpKEgXj9Oacr82iDdgwmC3tcncMZTDvNqg1O6HmMM157bzJVLGnlsRyfffeYg4WiKf/rZa2x44TCfvG4ZFy2sm/Djet2GRBocx2IMDGV5n9uc/Jxk2uFwb4zaoJfGkA+Xy4x4jE27uli/uZ2OcJTWhhDrVrepflxERKSEtAMuM9pQEF/YEKTqDDvia1e2knYssVQGS/Zj2rGsXdk6Levxe93cduXZPHTnKt6SC7mvHRvgjx99nr//j1fo6o9P6PEWN1VTH/TicRsca/G4DfVBL2c3VZ/2uf2xFId6Y8SSr++Gb9rVxT0bdtIViVMf9NIViXPPhp1s2tVV2BcqIiIik6YALhXB73Ez9wxBfFVbIzdeMJeewSR7jw/SM5jkxgvmFnwAczzNNX7+6vfO54trL+W8uTUAPLGrizu+tY2Hn96fd8nI2pWteD1u5lT7WTKnijnVfrwe96gvIFIZhyN9MY5HEjiOZf3mdrxuQ8jnwZjsR6/bsH5z+5R9rSIiIjIxKkGRipIN4m4S6Qy90RQbX+nipy8fo7HKd7ILyk9fPsZ582qnPYQDXLSwji+//zJ+/vIxvv7rffQMJnnwqQP854tH+di1bVx7bjPGmFHvX9XWyI1H5/LYjk5iqQxBr5v3XrFo3LVH4iliyQwHegZpDPlG/F7Q66YzHJ2Sr0+k0qmES0Smg3bApSIN7Yj/2/OH8LmnpwtKvlzGcMOF83j4zpXcuqoVr9vQFUlw77+/wp987wV2H4uMeu/W9p6TLyCWNlfRWOXjpy8fY2t7z7jPm3YcWqoDRBKpEZ1SYqnMhNokbtrVxa33b+Hqzz/BrfdvUfmKzBoq4RKR6aIALhXtUG+MmoAXr8d18nDiVHdBGc/W9h4+/b0X+PBD23nlcIQ/uf4c3rysCYAXD/XxsW8/yz/97FXC0eRp9xbaRnHtylb6Y2leOxbh5cN97D4WoT+WYt3qtrzuVwCR2UwlXCIyXRTApaK1NoSIpTK4jMHrduH1uEimp74LymiGBgF1DyaoDXjoHkzw7a0HeecbFvCPt1zM4qYQFvjPF49y+ze38tj2DlIZ5+T9U9ZG0ZDtooKdUFtEBRCZzTrC0REdlEAlXCIyNRTApaKtW91GKmOJJtNYa4mnMlgMn1izlJBv+o9AjLWDfcXZDXz99hV86i3LqA14GExm+Nqv2vnwQ9t5em831lrm1waJp5wRjzmRNoqPbuug2u9hcWMVbXOqObuxiiq/h6/+am9e9yuAyGw29AJ+uImWcImInIkCuFS0NctbuPemC2mpCdAXS9FSE+Demy7kdy6ax7y6AAvqg9MaxMfbwXa7DDdfupCH71zFuy5dgMtAZzjGX/3wJT73gxe5/rzmgtoonun5/R4XB7oH6Yulxr1fAaT0VINfOqe+gI8m06QyNu8SLhGR0agLilS8NctbRu1aEPC6mVfnJp7K0BdLTcn4+OHyHQRUG/Tyx285h3desoCvbNrLjgNhtu0Ps+NAmKvamuiLpTgxkGBebZC1K1vz7uAy1vN3DySIJtM0V/vxuM/8Wnzd6jbu2bCTaDJN0OsmlsoogBTRUA2+N9f/fagG/15QJ44iWLO8hXvJlmJ1hqMsUhcUEZkiCuAiZIN4wOsmmXboi6UYSKRHdA6ZrLUrW7nvid3EUpmTbRDH2sFeMqeK//0Hb+Cpvd189Vd7Odwb5zd7u3G7DCGfe8JrGu/5Y8kMneEYTdU+agLe0+5XACmt4TX4ACGfh2gyzfrN7fpvUCRjvYAXEZksMxUhYyZZsWKF3b59e6mXIWUunXHoj6fpj6UmdGjxTLa29/Dotg6O9scmtIOdTDvc94vd/HTnUYZW4HUbagIe/vx3lue9C57v84d8HuZU+0bdDZ+pZnIf56s//wT1Qe+IXvHWWvpiKX792etLuDIREcmHMWaHtXbFqde1Ay5yBh63i8YqH/VBL5F4mr5YirTjjH/jGaxqa5zU0B+fx8WRvjjz6wIMJNL0x7P1pz2DKf7XT3fxlfdfxvy68Q9j5vv80WSaQ70Zmqr9VPsr41vDTC/haG0I0RWJjzinoBp8EZGZr7K2ukTOoJBDbC6XoS7kpbUxSHONH5+nuP/LHOmPUeV3M682wFkNwZMHKvtiKT74rW1888l9xJL5jbXPR8axdPXH6eqPk3Fm/rtjM72Nog4BiohUJgVwqWhTNUjGGENNwMuihhDz6gIEfe7xb5oCw9sQBrxuWuuDNFZ58boNqYzlX545yO3f2srPXz5WcKnMcAOJNIfCMeKpqQv3pTDT2yiO1sVnJuzei4jI6CrjfWaRUUzHIbaQz0PI5yGRztAXzR7YnC6nHaJMO/g9bv7kd89lz/EBHt3eQfdAkv/1k1388PlDfPK6ZZw/v3ZKnjvtOBzujdEQ8tFQ5ZuSxyy2Sijh0CFAEZHKox1wqWjTuQPq97hpqQ3Q2hiiNujFNeyg3FRZ1dbIjRfMpWcwyd7jg/QMJrnxgrlcfe4cPvjmxTz4oZWsObcZgFeORLj7O8/xDz/ZxYmBxJStIRxNcqQvRjozuRr4UlIJh4iIlCMFcKloxRgk43W7mFPtp7UxRGOVD7dr6oL41vYefvjCYVKOg8tAynH44QuH2dreA8C82gD3vPMCvvC+S1jWXA3Az14+xu0PbOU7zxwkmZ6a0BxLZjjUGyOanL7d/umgEg4RESlHakMoFW14F4zhg2SmM4RZa4kk0vRFU6QK3DX+yIPbONATxWUMxoC14FjL2Y0hvvHBlSM+N+NYfvLSUR54ch+9uSmX8+sCfOzapVy9rGlEK7tC1AW9NFb5puzxREREKpXaEMqsVIpBMsYYagNeagNeBhNpemMpEpM8zNjRG8Nlst1Yso8NOJaO3thpn+t2Gd5x8XzWnNvMI1sO8IPnDnGkL87fbNjJZWfVc/eapbTldskL0RdLEUtlaKkJFKUrzEzu4z0VZvvXLyJSibQDLlIEsWSG3lhywi0Db/i/m8FaXK7Xg67jOGAM//Unq8e892BPlK9u2ssz+7LlKi4D77h4AR9602LqQqdPvZwoYwyNVT7qgmM/ViEBshTvYJST2f71i4jMdKPtgKsGXKQIgj438+uCLGwITmjITWtDCCdXdmKxONbi2Oz18ZzVGOJ/vfsN/K93X0RrQxDHwoYXDnPbA1v5wbOdBR+qtNbSPZDgaF981McqtA3kTO/jXajZ/vWLiFQqBXCRaTZ8ENAHH9jGy4f7WdQQoibgHbeO+q5r2qgNejFAJmMxQG3Qy13X5N/F441LmvjmHSv4xJqlVPndDCTSfGnjXj768A627e8p7ItjaIJmjMEztGMsNEDO9D7ehZrtX7+ISKVSABeZRpt2dfFH332WZ/Z10xmO8cy+bv7ou8/y1J4TNNf4aW0IZgP2KEF8VVsjn71hORfMr6O5xs8F8+v47A3LJzza3uN2ccsVi3jkzlW88+L5uAwc6Iny2e+/yF/+24sFB7qMYznWH6crEscZNkGz0ABZjC425Wy2f/0iIpVKhzBFptFf/9tviSReD1COhUgiw1//22958i/eiifXwrA+6KUvliIST5820XJVW+OEA/dwW9t7eHRbB0f6Y8yvDbJ2ZSs3XbKAL23cwwudfWxp72H7/jB/cPlCPnDl2VSdUiJzpvtHW89APE086dBU7aPK76G1IcT+7gH6Y2mSGQef20Vt0MPipvwOg65b3cY9G3YSTaZH1EDPlj7es/3rFxGpVNoBF5lGh/rOPBDn1Oset4umXC/xhtDU9RLf2t7DfU/spnswQW3AQ/dgIvvrgST//N5L+Nt3XsDcWj9px/K97Z3c/sBWfvLikZMvAka7f6gP+ZmkHSe7G94f541LGuiKJElmsn3MkxmHrkiSq/J8QbFmeQu3XL6Q45EErxyNcDyS4JbLF86aA4jqYy4iUpm0Ay4yjUbrMTTadbfL0JDrLBKJp+mLpUg7kz8s+ei2Djwuc7IMZGgX9dFtHaxqa2T1uc28cUkj/7qjk+88c5BwNMU//uw1fvTCYT553bJx7x/LQCLNr147QVOVl8FE5uQOeE3Aw9PtPfxxHuvftKuLx589RHONn7Nyz/34s4e4eFH9rAmhGkUvIlJ5tAMuMo1G28ceb3/b5TLUhby0NgaZU+PH657c/6pH+mMEvCPvDXhdHO1/vY+43+vmA1eezUN3ruKt52eD3mvHBvjjR59n19F+Tn3qU+8fy+G+GHVBL62NIc6bW0NbczVzqv1514CrC4iIiFQiBXCRabSwzj+h66caGurT2hiipXbig2/m1waJp0buoMdTDvNqg6d9bnONn7/83fP50q2Xcd68muznph0OdMfoHkyeLEsZ7f6xnt9xLMmMQ8axEzpEqC4gIiJSiRTARabR3//+xdT43QyVdLsM1Pjd/P3vXzzhx6r2e1jUEGJeXYDAKaF0NGtXtpLOhV5L9mPasaxd2TrqPRcsqOXLf3gZn7vxPGr8HizQPZhkf3eU7sEEqYwz5v2jPr+1ROIp4imHj169JK/71QVEREQqkQK4yDRas7yFj17TRrXfg9tlqPZ7+Og1hY0SD/k8LKgPsqA+SMg39jGOVW2NfOr6c2iq8hOJp2mq8vOp688Zt37bZQy/c+E8vnvXG1lzbjMGSDuW7sEUAa+b+qr8Jmmuamvkxgvm0jOYZO/xQXoGk/zO+S0sm1tDNHl63/BTrVvdRipjiSbTWJv9qC4gIiIy02kUvcg0KsYo8UQ6Q180xcAZBuFMlUO9Mb72q738Zk83kK1hf/sb5nHnm5fQWOUb9b6hLioelyHgdRFPOaQde/JFQHXAw5wqP64xur4MjbLvDEdZNMFR9iIiIqU02ih6BXCRaXTr/VvYd2KASDw9ogvIkjnVfPeuK6f0uZJph95YksFEttxjOjx7IMyXNu5hf3e2BrvKlz3A+e7LF57xoOinv/cC3YOJEXXcsVSGpio///y+SwDw5nqhB335ldWIiIjMFKMFcJWgiEyj1471c3wgQTSZyZVSZDg+kGD3sf4pfy6fx0VLTYBFDcG8xtxPxuVnN/D121fwqbcsozbgYTCZYf3mdj780Hae3tt9WvDPpwtLKuNwpC/G8UhixBRNERGRSqU+4CLjGCqB6AhHaZ1gCUQs6ZAZ1oTEAhkHosnJ9/Yej9ftornGT0PIS29uuuZU7oi7XYabL13Idee18NDTB/jR84foDMf4qx++xMrFDXxizVLObqoCsl1QTt0BH62LSiSeIpbMnJyiKSIiUqm0Ay4yhqEa7q5InPqgl65InHs27GTTrq687k9kzhy0R7s+lYbG3Lc2BKkLenFN8Y54bdDLH12/jK/fvoIrzm4AYNv+MB9+aDtf2riHSDzF2pWtDCTS7O8eZO/xAfZ3DzKQSI/aRWX4FM2MdsNFRKRCKYCLjKHQQTDOKDvPo12fDtM15n7IkjlV/O8/eAN/d/OFLKgP4Fj4wbOHuO2bW9myL1eWYsAYxp9AlDOQSNMZjk7rwVIREZFS0fu8ImPoCEepD45suTeRQTBuA+kzZG331Jdnj7+WKR5zP5wxhjcvm8PKxY384LlDfHvLAfrjaX74/GG8bsPcGv/Jlon5jrLPOJau/jiDfg9zqv1T/sJBRESkVBTARcbQ2hCiKxIf0W97IoNgljVX89qxASzZ+u+hTeBlzdV5r6GQGvQzGRpzXxv0EEmk6YumSE1RSYzP42LtylZ+54K5fPPJffzkpaOkMpbO3jjVfjfN1f4JjbIHGEykiacyNFX7qVZtuIiIVACVoIiModBBMJ97+/k0Vvvwe1143Qa/10VjtY/Pvf38vO4vtAZ9LMPH3DfX+M/YRnCyGqt8/NkN53FuSzW+3OMOJDLs745yrD9Bc3VgQo83tBuu2nAREakECuAiY1izvIV7b7qQlpoAfbEULTWBCQ3RWbO8hX+65RIua21gXm2Ay1ob+KdbLsn7/kJr0PNVkwvic2sD+PMcc5+PO9+8hJDPdbLkxgL98TQHegb52cvHJlwLP5BIcygcy2uKpoiISLnS+7ki41izvKWgko9C7i+0Bn2iqvweqvweYskM4WiSeCpT8GMaY3C7DWQsFnBsNoT/w0928aPnD/HJ65Zx/vzavB8v7Tgc7YtTHfDQVKXacBERmXkUwEWmWSE13IXWoE9W0Ocm6AsSTaYJR1MkJhnEH93WQbXfQ3O1/+S1SDxFLOXQG0vxypEId3/nOd52wVw+es0S5gz7vPEMxNO5vuGqDRcRkZlFJSgi06jQGu5Ca9ALFfJ5WFgfZG5tAJ9n4t8uzjQJszrgIeB18YX3XXLyMOrPXz7G7Q9s5TvPHCSZzv9A6FBt+NG++JQdJBUREZluCuAi06jQGu5Ca9CnSpXfw6KGEC21gQkd1pxfGySeGhmMhyZhXrKonq9+4HI+/bZzqQ96iaccvvHkPj704DZ+vfvEhKZ3RpNpOsMx+qKpvO8REREpFb1vKzKNpqKGu9Aa9KlU7fdQ7fcQiafozaN94dqVrdz3xG5iqQwBr4t4yiHt2JOTMN0uwzsuns+a85p55OkD/OC5Qxzpi/M3G3Zy2Vn13L1mKW15tmy01tI9mCCSSNFc48fvmbrDpCIiIlNJO+Ai06i1IUTslPrpYtRwT7eagJdFDUHm1PjxuEb/NrKqrZFPXX8OTVV+IvE0TVV+PnX9OacN4an2e/j4mqV8844VXJn7vecO9nLXIzu47xe76Yvlv7OdTDsc7o0THkxOaBddRESkWMxs+wdqxYoVdvv27aVehswSm3Z18ZnHX2AgkSbjWNwuQ7XfM6FWhOXOWkt/LE1vLDllPbqf2dfNVzbupSOcHdhTE/Bwx1Vnc9MlC/BMoATG53FpN1xERErGGLPDWrvi1OsqQZGKN9WTJCfKANhsUMUaKq1pnjGvT9acqiD+xiVNXHFWAz98/jAPPb2fSDzNlzbu5ccvHOET1y1l5eKxx9gPGdoNbwh5qQ/5ClqTiIjIVNEOuFS0oS4kXrch6HUTS2VIZWzRDjLeev+W09oIRpNpWmoCfPeuK6f9+UvBWkt/PDviPu0U3pmkN5rkW7/Zz3+8eIShXH9VWxMfX9M2oVIev9dNc7V/Ut1cREREJmO0HXD9SyQVrViTJEfTEY4SPGWy5HQO0ikHxhjqgl5aG7M14oWOuK8P+fhvbzuX9R+4gksW1QHwdHs3dz64na/9ai8DifymYiZSGQ71xuiNqjZcRERKSwFcKlqpA3ClHsLMhzGG2txhzeYpCOJLW6r55/dewt++8wLm1vpJO5bHtndyxwNb+c8Xj+RV9mKtpWcwyaHe2JRM+RQREZkMBXCpaKUOwKUepFMOjDHUBLy0NoYKDuLGGFaf28yDH1zJh968mIDHRTia4p9+9hqf+JdnebGzL6/HydaGx+geSOBM0cFRERGRfKkGXCpaqWvAh9awfnM7neEoi0pwCLQc5dtHfDzHIwm+/ut2fvHK65NFrzuvmbtWtzG3NgDA1vYeHt3WwZH+GPNrg6xd2TqiDaLX7aKp2jeiTl9ERGQqjFYDrgAuFW+mB+BSd3GZTgOJNOHBZMFBfOfhPr60cS+vHo0A4Pe4WLuylaVzqvnq5r14XGbEIKAz9iIPeGiq8uN2VVqfmtmtkv//EZHypwCeowAuM0k57OAXw1TsiDvW8vOXj/H1X++jZzAJgNdtqA14aAz5MCYbrGOpDE1Vfv75fZec9hhul6GhykdtwHva78nMM1v+/xGR8qUuKCKTtGlXF7fev4WrP/8Et96/hU27usa/aYqUuotLsQxN1myqnvwOtMsYbrhwHg/fuZI/XNWK121IZSzdgyk6hx26DHhdHO2PnfExMo7lRCTB4d4YyXThLRSltGbL/z8iMvMogIuMYWgHrSsSpz7opSsS554NO4sWwkvdxaWYTrYvbAjRWOXDZSYXxEM+Dx+5po1vfXAldbmd7FjK4WA4xtH+OIOJDPNqg2M+RjzXsrBH4+xntNn0/4+IzCw6dSQVr5Aa0OE7aJANd9FkmvWb24vyFnZrQ4j93QP0x9IkMw4+t4vaoIfFTdXT/txDil1D63IZ6kM+agJe+mIp+mKpSYXgBfVB/uLty/nfP9tFJJYm5WQHBEXiaS5trSeVccbsyGKtpTeaZDCR1iHNGaq1IXTaIKzZ0gZURMqbdsClohW6g13qHbSr2hrpiiRJZhxcBpIZh65Ikqva8hvFXqipeAdgsiU8bpehscpHa0OQ2qD3ZA33RKxqa+TPf2c5F8yvpTbgwe0yWOA/XzrKhx/aztN7u8cN96mMw9G+OMf646QLPCwqxaU2oCJSrrSlIxWt0B3sqdhBK2QH+en2HpqrfUTir++A1wQ8PN3ewx/nvYLJK/TPb/ghuOEB/l7I+8/A43Yxp9pPXdBLOJpkIJ7f5Mshq9oaT3Y86Y+lePjpA/zw+UN0hmP81Q9fYuXiBj6xZilnN1WN+TiDiTSxZIaGkI/aoGdSLwikuNYsb+FemNFdkESkMimAS0XrCEepD47saDGRHex1q9u4Z8NOosn0iC4K+e6gFRpAO8JR5lT7aa4JnLxmrS3aDnyhf35TWcLjdbtoqQlQH3TojSbzHkE/XG3QyyevX8Y7LpnPlzfuZceBMNv2h/nwQ9t512ULueOqs6kZowOKYy3dgwkiiRRzqv0ETnl3ZDqojV5h1ixv0Z+XiJQdlaBIRSt0Euaa5S3ce9OFtNQE6IulaKkJTKiFWaFdGEo9ybPQ55+OEh6fx0VLbYCFDUGq/ZPbQ1jcVMX//oM38Hc3X8iC+gCOhR88e4jbvrmVDS8cHnes/dAkza5IfNzPLUSpDwGLiMj0UACXijYVNaBrlrfw3buu5NefvZ7v3nXlhHbTCg2gpa5hLfT5p/MFhN/jpqU2QGtjiJrAxGvEjTG8edkcHrhjJXetbiPkc9MfT/N/f7GbdY/s4LmD4XEfYyCepjMcpT+emuyXMSa10RMRqUwK4FLRCt3BLlRrQ4juwQTtxwfYdbSf9uMDdA8mirYDX6hCn3/d6jZODCR46VAfLx7q46VDfZwYSEzpCwiv20VzjZ/WhiB1Qe+E2xf6clMzH75zFW+/aB4GaD8xyJ/+62/5mw07Odx75p7hQ4Z6hx/qjZFIZ8b83Ikq9SFgERGZHqoBl4pXyhrQq9oa2bq/B5dhRBeTW1fm38Wk1DWshTz/bzt76Y+NrNXuj6X5bWfvlH9NHreLpmo/9SEf/bn2hc4E2hc2Vvn4sxvO46ZLFvCljXvYebifX+8+wZb2bt5zxSLe/8azCfpGr/lOpDIcCseoDXppDPlwTcFIe7XRExGpTNoBF5lGT7f3UON3k3EsibQl41hq/G6ebu8p9dKK4htP7sPjNgS8boJeNwGvG4/b8I0n903bcw6Nk29tDFE3ifaF582r4YtrL+Wvfvd8mqv9pDKW72zt4PYHtvKznUfHDfX9sRSd4dikDomeqtQlSCIiMj0UwEWm0WvH+hlMZvC6XAQ8LrwuF4PJDLuP9Zd6aUUxmMxw6kawy2SvTze3y9BUnS1NmWiNuDGGt5zfwoN3ruT2q87G53HRPZjkH376Kn/03ed45cjY//3SjkNXf5zDBZallLoESUREpodKUESmUSpjcRxLBou1YAwYIJmZHePNq3zZ1o3DQ7hjs9eLxZOrEa8PeQkPTqx9YdDr5oNvWsyNF83j65vb2fjqcV45EuHu7zzH71wwl49cs4Q51f5R74/nylJqAl4aq3y4J1GWUuoSJBERmXraAReZZhkLQ1UL1mZ/PVt85OolODa7I+xYJ/cxe73YvO7X2xdOtH/3vNoA//0dF/B/33cJy1qqAfjZy8e4/YGtfOeZgyTTY0/IjMRTdPRE6Yumxp28KSIilU8BXGSauQxYXv8xBWfzZow/fuu5fOr6ZQS9btJOdkf5U9cv44/fem7J1uT3uFlQH6SlNoDXPbFvgRcvquer77+cP33buTSEvMRTDt94ch8fenAbv959YsxwPTTEpzMcI1aEEhwRESlfZrbtxqxYscJu37691MuQWeKiv/kJA4nTd0dr/C5e/B9vL8GKZDhrLX2xFL3R0TumbG3v4dFtHRzpjzG/Nsjala2samtkIJHmkacP8G/PHSKdG8ZzaWs9d1+3lKXN1eM+d5XfQ2OVb8IvAkREZOYwxuyw1q449bq+84tMI5dxnWxBaOD1nxv9r1cOjDHUh3wsyh3UPNXW9h7ue2I33YMJagMeugcT3PfEbra291Dt9/DxNUv55h0ruLIt21by+Y5e1j2yg//7i930RccezjOYSNMZjhEeTKosRURkltEhTJFp5PO4cCcNLpfBmGwNuONYfJ7ZE8A37epi/eZ2OsJRWhtCrFvdVnaHCkcc1IwmGUxksNby6LYOPC5zchhO0Js9VProtg5W5UJ3a2OI//n7b2Drvh6+smkvB3uibHjhME/s6uKON53NzZcswDPKLre1lnA0ezC0scpHlV/fkkVEZoPZkwJESuCclhrm1PjwuAwZx+JxGebU+DinpabUSyuKTbu6uGfDTroiceqDXroice7ZsJNNu7pKvbQz8rpdtNQETu6IH+mPEfCO/DYZ8Lo42n/6dMxVSxr5xu1XcPd1S6nyuxlIpPnyxr189OEdbNs/dt/3VMbhWH+cI32xcQ90iojIzKcALjKN1q1uw+t2M68uwHlza5hXF8Drds+aQSrrN7fjdRtCPg/GZD963Yb1m9tLvbQxDY23X9JUlW0ZOezgbDzlMK82eMb7PG4Xf3D5Ih65cxXvvHg+LgMHeqJ89vsv8pf/9iIdPWOPkI8lMxzqjdE9kMBxVJYiIlKpFMBFxrFpVxe33r+Fqz//BLfev2VCu7drlrdwy+ULOR5J8MrRCMcjCW65fGHZlWBMl45wlHTGof34ALuO9tN+fIB0xqEzPHYQLRcfu3Yp1kI642BMdgx82rGsXdk65n31IR//7W3nsv4DV3Bpax0AW9p7+PBD2/nar/aO2Yt86GBoRzhKf3zsOnIREZmZFMBFxlBoCcWmXV08/uwhmmv8nD+vhuYaP48/e6hsSzCmWo3fw6HeOGnH4nYZ0o7lUG+c6hlS6zw0iXJubZBoMsOCuiCfedu5J+u/x7O0pZr/855L+Nt3XsC82gBpx/LY9k7ueGAr//niETJj7HJnHMuJSILOcJR4Sm0LRUQqycz4V1CkRNZvbieZztA9kCaZcfC5XdQEPKzf3J7XLvbwEgyAkM9DNJnO+/6Z7mR3j6GcaU+5PgOcaRJlJJ4iPJgi7Yxfr22MYfW5zbxxSSP/uqOT7zxzkHA0xT/97DV+9PxhPnndMt6wqG7U+5Nph8O9Mar9HhrUtlBEpCIogIuM4bVj/fTH07gwuI0hnbF0DyZJZ/rzur8jHKU+OLK9XdDrnjElGIUaSGZYWB/gxEDy5AuYedV+BicwiKYcu6jUBLxU+Tz0xlL0xfKbbun3uvnAlWdzw4Xz+Pqv2/nFK13s7hrgU997nuvOa+au1W3MrQ2Mev9AIs1gMkNd0Et90ItrNk10EhGpMArgImNI5ebGD4UdY7JtBJN5zpNvbQjRFYmf3AGHbB3xoobQ1C+2DA19/W3DBtNEk2laakYPmsMNlQB53WZECdC9kHcIn64A73IZGqt81AY89ESTDMRHr+serrnGz1/+7vm869KFfGnjHnYdjbDx1eM8tbeb961sZe3KVgK5toenstbSG00SiaeoD2Wf2xgFcRGRmUbvZYqMwedxgc2OEbfY7LRES959vNetbiOVsUSTaazNfkxl7KzpglLo119oF5VitEH05FoXLmwIjnihNZ4LFtTypT+8jM/deB5NVT4SaYeHnz7AB7+1jSd2dY25q55xLN0D2bH2Yx3oFBGR8qQALjKGQvt4Dx3ia6kJ0BdL0VIT4N6bLix5CUWxFPr1d4SjJ4fgDJlICU8x2yD6Pdl2k/PrgvhH2cE+lcsYfufCeTx85yre/8az8LoNXZEEf/8fr/CpR5/ntWORMe9PZRy6+uMc6o3poKaIyAyiEhSRMaxb3cY9G3Yyr85zcgriRHewz3SIbzYp5OtvbQixv3uA/tjrh2Brgx4WN1WPfzOlqcEP+tws9AUZSKQJDyZ54NftPLajk1gqQ9Dr5r1XLOK2Ny0+7Z4PX72Et180j6/9qp0n95zgpcP9fPzbz/L2i+Zx59VLaKzyjfqciVSGw70xqvweGnVQU0Sk7Om7tMgYZvsOdqld1dZIVyR7gNNlIJlx6IokuSrPNoCtDSG6BxMj+pB3DyaKUoNf7ffwgx0dPLTlAIl0BrcLEukMD205wCNP7T/jPQvqg9x784X803suZsmcKizwny8d5fYHtvK9bR2kMmN3XRlMpOkMZwf5jNXiUERESks74CLjmO072KX0dHsPtQE3fbE0KQsuA3VBD0+39/DHedx/VVsjW/f34DKMCPC3rswvwBfqm7/Zj9uV7aADYA3gODy2o/O0XfDhLj+rgftvu4J//+0RvvWbffTHs60r/+PFI3z82qVc2dY46uHLoUE+kXiahpCP2qAOaoqIlBvtgItI2drdFWEgnsHrdhHwuvC6XQzEM+zuGrs2esjT7T00V/vwuV04FnxuF83VPp5u75nmlWcNJjO4TLYXuDEGQ/aFQCyPem23y3DzpQt4+M5VvPuyhbgMdIZj/NUPX+Kz33+R/d2DY97vWEv3YPagZkQTNUVEyop2wEXGUY59qGeLZNoBkz2sCLk2kMZmr+ehIxxlTrWf5mFtD621RevDXuVzM5hIY8lgbXb9Jnfd73WTyCOI1wa9fPL6Zbzjkvl8eeNedhwIs/1AmI88tJ13XbqQO950NjUB76j3pzIOxyMJ+mIpGqt8E+rUIiIi00M74CJjKEYbOxmd150N3o5jsdbi5Oqafe78SipaG0Kn7TYXsw/7W5Y3k7HgZLtX4ljIWHjr+S0srA/SXOPH48rv2/Dipir+9x+8gb9/14UsrA/iWPjBc4e47Ztb+dHzh8et+U6mHY72xTmsjimzyqZdXdx6/xau/vwT3Hr/Fn3vEikTCuAiYyhmGzs53blza2mq8uFxGzLW4nEbmqp8nDO3Nq/7S92H/Wh/koaQh6GhlS4DDSEPR/uTQHai5qKGIPUh36h12lvbe/j0917g1q9v4U8f+y0e4+Kbd6zgrtVthHxu+uNp7vvlbtY9soNnD4bHXVM81zHlaF+cRFpBvJJpA0GkfCmAi4yh0D7UUph1q9vw5fprnze3hnl1AXwed94ButRdbDrCUWoDXoJeN163Ieh1Uxvwjvj7MzRRc2H96YN8trb3cN8Tu+keTFAb8NA9mOC+J3bz/MFe1q5s5eE7V/G7F83DAO0nBvnMv/6Wv9mwk8O9sXHXFk2mORSO0dUfH7e7isxM2kAQKV8qBhQZw2wfJV9qa5a3cC/ZINEZjrJoEjX4pexiU+P3sLtrINsJxWVIO5ZDvXHOaTm9j7nP42JeXYBoMk33QJJUxuHRbR14XObki8ChXvSPbutgVVsjjVU+PnPDedx06QK+9MQeXjrcz693n2BLezfvXdHKH646i6Bv7KFAA4k0g8kMNQEP9UEvHvUQrxil6IMvIvlRABcZw9AgnmgyPelBPFKYmdwG8uQ4+aHybHvK9TMI+TwEG9z0xVIc7Y9RExj5bTrgdXG0f+QO97lza7hv7aVsfPU463/VzvGBBP/yzEF++tJRPrq6jbee33LyIOto6+zPtS6sC3qpD3pxudS6cKbTBoJI+dJWh8gYSl3CIKVXyCG2gWSGhfWBETXsC+sDDCbHrr02xlAf8rG4qeq0ji/xlMO82uAZ77l+eQsP3bmS2686G5/HRfdgkn/4yS7+6LvP8cqR/nHXa62lN5qkIxylN5oc84WClL9Sn4EQkdGZ2fYNdsWKFXb79u2lXoaIzABDh9iG6reH3gHJ90XYrfdvYd+JASLxNMmMg8/toibgYcmcar5715V5Pf+fPf4C/bEUacfidhmq/B4+e8NyVo0zDfRof5yvb25n46vHT1572wVz+eg1S5hT7R//iwc8Lhf1VV5qx2hzKOVtqI3qZEu4RKQwxpgd1toVp15XCYqIyCjWb24nmc7QPTAyQK/f3J5XiDnTJM7jA0n+cFX+kzgtYFwGF9k+4vmaVxvgv7/jAm6+tJcvbdzLnq4Bfv7yMX69+zjvf+NZvOeKVnyesd8ETTsOJyIJ+qLZHuJVfv2TMdPM5BIukUo2bSUoxpgHjDFdxpiXhl1rNMb83BizO/exYdjv/YUxZo8x5lVjzA3Drl9hjHkx93tfNLleXcYYvzHme7nrzxhjFk/X1yIis9Nrx/rpHkySzljcxpDOWLoHk+w+Nn45B2QncbbUjJzE2VKT/yTO9ZvbqQt6OaelhuXzajl3bi0NIS//uqMz76/h4kX1fPX9l/OnbzuX+qCXeMrhm0/u54Pf2sbm147nVWaSyjgc649zqDdGbJzyGRERGd901oA/CNx4yrXPAb+01p4D/DL3a4wxFwBrgQtz93zFGDN0dP+rwF3AObkfQ4/5YSBsrV0GfAH4/LR9JSJSMoUOEink/lQmG05druwo+aGDiclMfqV7HeEo6YxzsnQllsqQzjh5d6E4UxvMkM9DVyTOgvrguDvYQ9wuw+9dPJ+HP7yK965YhMdlONof529//DJ/+q8vsPf4QF6Pk0hlONIX40ifhvmIiBRi2gK4tXYzcOo2z83AQ7mfPwS8a9j1R621CWvtPmAPsMoYMx+otdY+bbPbNA+fcs/QYz0OvGVod1xEKkOhg0SGaqifOxjmaF+M5w6G+bPHX8j7fp/HheNY4ukM8VSGeDqD49i8gy+Ow/GBFENDKh0LxwdSWCe/vttjTfIMeN0sagjRVOUfs8PJcNV+Dx+7dinfvGMFV+ZqyJ/v6GPdIzv4wi9eoy+ayutxYsnsMJ9j/fHTDomKiMj4it0FZa619ghA7uNQYdpCoGPY53Xmri3M/fzU6yPusdamgT6gadpWLiJFV+ggkc//dBfhaAoLeNwuLBCOpvj8T3fldX/z0GHF3Cj5oTaCzXkeYjw+eOZAO9r1U+XTxaIulJ2mWR3Ivz67tTHE//z9N/AP734DZzWGcCz8+IUj3PbAVr7/bCfpPAfzDCbSdIajdEU0zEdEZCLKpQ3hmbZv7BjXx7rn9Ac35i5jzHZjzPbjx4+f6VNEpAwVOom0/cRg7gCkwWBwGYPLZK/nw1qLMQaf20XA48LndmGMybs9X2KU3eHRrp8q3zaYHreLlpoAC+qD+L1jD94ZbtWSRr5x+xV88rqlVPs9DCTSfHnjXj7y8A627c+vTh1gIJ6mMxzjeCSRd3gXEZnNin2k/ZgxZr619kiuvGTofeBOoHXY5y0CDueuLzrD9eH3dBpjPEAdp5e8AGCtvR+4H7JtCKfoaxGRaTYVg0Qca0mnM1ib7SLiMuDOs2RjqI/3iYHkyS4o86r94/bxHmIMJ593yKm/Hs9EulgEvG4W1geJxFOEB1Ok8yh18bhdvPvyRbxl+Vy+9dR+/v23hznYE+Wz33+RK9sa+fi1S2ltHP/P21pLJJ5iIKFhPiIi4yn2DvgG4I7cz+8AfjTs+tpcZ5MlZA9bbs2VqUSMMVfm6rtvP+Weoce6BXjCzram5iIVbt3qNvpjKXYfi/DKkT52H4vQH0vlPUikucpL2snWXluyH9NO9no+WhtCeNwu2pqrWT6vlrbmajxuV94vABbWZktVrH39x/Dr06UmkC1LqQ/52Lqvh09/7wVu/foWPv29F9g6SgeWupCXP3nrOay/7Qouba0HYEt7Dx9+aDtf+9VeBhLpvJ57+DCfvmhKw3xERM5gOtsQfhd4GjjPGNNpjPkw8A/A24wxu4G35X6NtXYn8BjwMvBT4G5r7dAW08eBb5A9mLkX+Enu+jeBJmPMHuDT5DqqiEhlsQAmO+kRM0qd2Shqgr4R/bONyX7Tqwn68rq/0EmCf//7F1PjdzO0EewyUON38/e/f/EEvorJcbkMv+3o5csb9xCOJqgNeOgeTHDfE7tHDeEAS5ur+T/vuZi/vekC5tUGSDuWx7Z3cscDW/nPF4+QcfL7L5BxLN2DCTrDMSLx/GreZeoV2kVIRKaHJmGKSNm69f4tp5WgRJNpWmoCeU2SvPrzT+A2jCghmVPtw7Hw689en9caCp0kWMpJhMP//DKOJe04xJIZmqr8/PP7Lhn3/mTa4V93dPAvzxwknsqWsyxrqeaT1y3l4kX1E1qLz+Oisco34r+lTK9CJ7mKSOE0CVNEZpyOcBS3gfbjAyMCdL6HMFsbQrx6tJ9YKoNjIeNkiMTTnDevdsJrmexWRSknEXaEo9QHs+U2bpfBZVwYHxztj+V1v8/j4v1vPJvfuWAe33hyHz9/+Rh7ugb4k++9wHXnNXPX6jbm1gbyeqxk2uFoX5yA101jlY/ABA6LyuQM7yIE2R7y0WQ670muIjJ9yqULioiMYja/hVzj93CoN07asbhdhrRjOdQbpzrPkejzan30REf24e6JpphXm18JSqF9yEuttSHEiYEE7ccH2HW0n30nBumLpTirsQr3BA5INtf4+Yu3L+dLt17G8nk1AGx89Tgf/NY2Hnxq/4SG8sRT2R7iGuYz/QrtIiQi00cBXKSMzfQAWKiTJXJ22I/h18fxy13Hc20Is31Lh37+y135tSMttA/5VCjkBdhVbY0cz5XfuAwkMw7HB5JcvayJRQ2hCfUOB7hgQS1f+sPL+NyN59FU5SORdnj46QPc8cA2ntjVNaEDlxrmM/3GGuQkIqWlAC5SxsohAJbSUBtAj9uQsRaP27CwPpB3G8DBZAav2+D3uAl43fg9brxuk/f9pd5BLPQF2NPtPbTU+PC5XTgWfG4XLTU+nm7vwe0ytNQEmFsbwOPK/58ClzH8zoXzeOjOlfzhqla8bsPxgQR//x+v8KlHn+e1Y5EJfY0nh/n0x0mktSM+lQo9RCwi00cBXKSMlToAllqhbQCrfG6SaUsslTn5I5m2VPnyqz8u9Q5ioS/AOsJR0hnn5OG7WCpDOuOM+PtT5fewcIKTNCFbT/yRa9r41gdXcs05cwB46XA/H//2s/zjf71Kz2ByQo83kEhzKJzdEVcQnxr5DnISkeLTIUyRMjYVg2hmsnWr27hnw06iyfSILg757uBdOL+Gp/eFR1yzuevFeH54vQtKRzhK6wS7oBR6CBVrOT7wegtAx8LxgRSL6ke+ABnaDa/ypekeSOY1wGfIgvog/+OmC3n2YJgvb9zLvhOD/OSlo/zqteN84MqzefdlC/F58t/rGUykGUykqfJ7qAt6dVizQKU8BCwio9MOuEgZm+1vIRe6g7fzSOS0b3Ku3PViPP+mXV185vEXeK4jzLH+OM91hPnM4y/kXUJS7XNnD6FmLG5jSGeyh1Dz3cHvGcyGbzPsx/Drp5rsbjjA5Wc1cP9tV/Cpt5xDbcBDNJnh/s3tfPih7Ty198SEB/IMJtIc7o1xtC+uw5oiUnG0Ay5SxtYsb+FeKFkf6XJQyA7eYDKD15NtvzfEsU7eNeCFPv8//OQVeqMp3MbgNgbrQG80xT/85JW8HtOcnCDE6+nZDrs+jkTGweuCTG4KpzHgMdnroylkN9ztMtx86QKuO6+Zh58+wA+fP8Sh3hh//cOdrDi7gU9ct5TFTVV5Px5k+75Hk2kCXjf1Ia/6iItIRdB3MpEyp7eQJ6/K52YwmcbazMkAagxUFSnE7euOZjuv5Fr+GQPWsezrzq+EJJJIs7A+MGKQ0Lxaf95j4at82bIZv/v1FyBpx6Eqj7KOKr+HoNdNTzRJf2xikyxrg14+ef0y3nHJfL6ycS/bD4TZfiDMRx7azrsuXcgdbzqbmoB3Qo8ZT2U42pfB53FRF/RO+H4RkXKiEhQRqVhvWd5MxsnWPlvIDePJXi+WdGbkIdB0Jv9SjEIPoX7k6iWkM5Z47rnjuef/yNVL8rrf5TLMqfazoD6I1z3xfy4WN1Xx+T94A//fuy5iYX0Qx8IPnjvEbd/cyo+eP5z3WPvhkmmH45EEHT1R+uOpCZe2iIiUAwVwEalYR/uThLwjv82FvC6O9k+sQ8dk1QQ8nFrA4eSu56PQMwAXL6qnNjjyuWqDngmPkQ943SxqCNIQ8uVd/jLEGMNVS5t44IMrWLe6jZDPTX88zX2/3M26R3bw7MHw+A9yBqmMw4lIgs5wTEFcRGYcBXARqVivHesn5Vj8bhcBjwu/20XKsew+1l+U5x8cpVRktOunKvQQ6PrN7YR8bkI+d66dYfbnk+kjb4yhocrHwvrgpDqTeN0u3reylYfvXMXvXjQPA7SfGOQz//pb7vnRTg73xib8mPB6EO/oURAXkZlDNeAiUrFSuXKP4TXYjmNJTqAMpBDJjMXjypXA5GrQsxMp83/+Qs4A7O6KEB5MZnfhLaSdbBlKqoCv3+dxsaA+SF8slX3sCQbexiofn7nhPG66dAFfemIPLx3u58k9J3hmXzfvuWIRf/jGs0YctNza3sOj2zo40h9jfm2QtStbWdXWeNrjpp1sEO8dTFFf5aXG75nwbr2ISLFoB1xEKpbP4wILjrVYbDYsWibUl7oQVT43p5Y5O5a82wgWKprInOyAYsl+zNjs9ULVBb0sbAgSnOTXcu7cGu5beyl/9bvn01ztJ5WxfGdrB3c8sI2f7TyKYy1b23u474nddA8mqA146B5McN8Tu9na3jPq4w4Fce2Ii0g5UwAXkYp1TksNc2p8eFyGjGPxuAxzanyc05LfIJ5CvWV5M44deQjUscU7BDpa/+yp6qvtdbuYXxdkTo0f1yR2m40xvOX8Fh66cyW3X3U2Po+L7sEk//DTV/nkd57jm0/uw+MyBL1uDNmPHpfh0W0d4z72UBBXjbiIlCOVoIhIWStkkuS61W186nvPEU1msEA6k8HjNkUbZHS0P0ljyEtvLIVjs+Un9UFv0Q6BjhY5pzqK1ga8hLxuugeTede3Dxfwuvngmxbz9ovmcf/mdja+epxdR7PDkoJeF9Za0o7F63bREPJytD//evGhGvG+aIr6kJdqlabMKoV8/xCZTgrgIlK2Nu3q4p4NO/G6DfVBL12ROPds2Mm9kNc/or/t7KU/NjIQ9sfS/Laztyj/CHeEo9QEPCTSzsk+3jUBT/6j5CksQBQrgAN43C7m1gYYSKTpHkicbDGYbw03wNzaAP/9HRdw86W9fGnjXvZ0DRBLZfvIuF3ZMH2sP8HZExzmA9l7j0cS9CqIzxqFfv8QmU4qQRGRsrV+c3uue0c2LIV8Hrxuk3cXj288uQ+P2xDwugl63QS8bjxuwzee3DfNK88qdJR8oaPsR4uX0xk7q/0eFtYHqfJ7JlXDDdn2iV99/+XMqfKdvJZxID3U030C0zlPNRTEVZpS+dZvbieVyXC0L86rxyIc7YuTymQm1AVo064ubr1/C1d//gluvX9L3v/viYxHAVxEylZHOErwlJZ3Qa877x3kwWQGrCWRznb/SKSzv57IKPpCnDZK3pxyfRxDo+ytw2mj7PMx2uycSczUmZCh3fDvP9eJ1z25Gm63y5A5Qzi2QEdvnL3HBwpao/qIV77dXRFORJKkHYvbZUg7lhORJLu7InndX+gLYJGxqARFRMpWa0OIrkh8RFu6WCqT9yRIv9tFNJU5ueNrLaQspw3nGUshJSCFjpIvdJT9OS01vHo0gjWvt0E0lqIdQj3SF6cu4CFjs+0fAQJeV9413Mm0g8cFbpcLx1oyjsWxkHYs6x7Zwe9dPJ8737SEutDoY+kfeWo/j+3oJJbKEPS6ee8Vi7jtTYtP/v7wGvG6kNoXVpJk2gHDyQPCxoBjbPZ6HoZeALuNOe0FsEpYpFDaAReRslXoJMjGqmwws8N+DL8+nqEa0q5IfEQNab47YIWOki/UZ29cTlO1D7/bhceVfUHSVO3jszcuL8rztzaEiKcdvG4XHrcLDMRTDvNqg3nd73UbHAuJtEMqkw3fhuxhVsfCj184wm0PbOX7z3aSzpweqh55aj8PbTlAIp3B7YJEOsNDWw7wyFP7T/vc4QN9+qLaEa8EXnc2eDuOxVp78kWgz53fC6zhL4CNMbhcBpch7xfAImNRABeRslXoJEiMobnaS24DGZeB5mpv3juchdagr1vdRn8sxe5jEV450sfuYxH6Y6m8X0C0zanKtS58vY+5Y7PX87FmeQv/eMslXHZWA/Prglx2VgP/eMslRdu9G/4CymUgnXHIWMvala153d8Y8nGmHHx2Q5C7r1tKtd/DQCLNlzfu5SMP72Db/pG15Y/t6MRlsjvoLuPKfcxeH03acegeTHCwJ0pvNHkytMnMc+7cWpqqfHjc2XImj9vQVOXjnLm1pV6aiEpQRKS8FTIJcqiEZV7d6zvO0WSalppAXvd3hKPUB0fulk+kBh1yu+4mV/dtJtaB5LM3LufPHn+BSDxNOuPgcWXb8E1kB7uQP79CrVnewr1kX8h0hqMsypXwXLG4gZ7B5MlOKaMyBsPIPzMDGJeLP7h8EW9dPpdvPbWff//tYQ72RPns91/kyrZGPn7tUlobQ8RSGVxkSxFs7l63yZYxjSfjWHoGk/TFUtQGvNQFvSdLgWRmWLe6jXs27GRenYeg100sNwV2Ii+Ad3cNYKzNln/l+vif0zzxLjwip1IAF5GKNfQPcDSZntQ/wIXWoK/f3E5d0Mv8utdLLqLJNOs3t+cViod2sE8NsBMJ1F/8xWt848l9DCYzVPncfOTqJfzxW8/N+/5CjfYCIJhH3/BwNMmphSVO7jpAXcjLn7z1HN55yXy+vHEvz3f0sqW9h+37w/z+ZQvxugyJzOvx3QJpC4EJTELNOJZwNEl/PEVd0EttQEF8phjtBWC+//9MxQtgkdEogItIxSr0H+BCA/xU7KAXsoP9xV+8xn1P7MFlwOPKvni474k9AEUN4Wcy1CklEk+NuhseG6VbzanXlzZX83/eczG/3nOCr21q52h/nH/d0clolUZ1wYn/0zd8R7w+6KM2qMOaM0Eh//9MxQtgkdEogItIRSv0H+BbOntP20HO9/EK3UEvVLbfuc320B7qgmKy10sdwIfUBLwEvW5ODCSJJkfuhidG6VZxpuvGGFaf08yVS5r41x0d/MszB4mnRn6eAepDhQXnjGPpHkxkg3iVuqZUulKWcE0FTQItXzqEKSIyik27unj82UM01/g5f14NzTV+Hn/2UN5dUAo9hFmogUSajJOtXSVXw5pxyLsNYrF43C7m1QWYU+M/2TIOJjfJ0+dx8f43ns3Dd66i4ZT2hNV+DwGvO+8uLGNJO6/3EY/EUwU/nshUK7SLk0wvBXARkVEU2gUFCjuEWagRg4CGfSzXHdvagJeFDUEC3vwmhY5lTrWfz96wnKYq38m2c5FEmiN9CZqqfcTzOIiZj6HJmh090bJ7YSOz21R8/5LpoxIUESlrpXwLtdAa7kIPYRYq6DUMJOxprfxC3vIM4ABet4sF9UH6oqnTOqAMyXf1q9oauay1jl/uOj7i+i93dfHbzj7WXdvGdec1T8kLklTGoas/Tq/HRUPIR5Vf/7xKaU3FGRSZPtoBF5GyVeq3UFsbQqe1rJtIDXdHOErwlN3cYv4D+IaFDdQHPSP6oNcHPVy0sKEoz1+IupB3UiUowz3y1H5+sev4aZ/vNnB8IMHf/8crfOrR53ntWH6jyfORTDsc64/TGY6eVtMuUkyFfv+S6aUALiJlq9RvoRY6ibPU/wCuW91GbdDHkjlVXLSgliVzqqgN+opWg15qDz194IzXHQvXnDMHgJcO9/Pxbz/LP/7Xq/QMJqfsuZNph6N9cQ71xhTEpSQK/f4l00sBXETKVql3kAudxFnqfwDXLG/hlssXcjyS4JWjEY5HEtxy+cIZ0wWh0MKQM/dQye6g/4+bLuT/vOdi2uZUYYGfvHSU2x/YyqPbOkiO0n1lMhKpzIwO4pt2dXHr/Vu4+vNPcOv9W3SAbwYpeJKwTCsVqYlI2Sp1Gz8ovI1hIX3ICzW8i8tZuT7mjz97iIsX1c+If4Q9LkidIQt7pqiE/bKzGlh/2xX8x4tHeODJffTH09y/uZ3/+O0RPr6mjavamqbswGo2iGfwe900hnwEfYUfNJ1uQyVgXrcZUQJ2L8yIvz8y89soFqqc2zBqB1xEylapd5CnwprlLXz3riv59Wev57t3XVnUb/6lLuEpVO0pB8iG1AU9uKdoGqXbZbjpkgU88uFVvPvyhbgMHOqN8dc/3Mlnv/8i+7sHp+R5hiRSGY70xWbEjvhM//sjs1upzxCNRwFcRMqW3kItTKlLeAp17txa5tX6qfK58boNVT4382r9nDuvjoX1wXF3kUeL6Ge6XhPw8snrlvGNO1aw4uzsIdXtB8J85KHt/L8n9tAfm9pe30OlKZ3h8m1f2BGOks44tB8fYNfRftqPD5DOODPm74/MbuX+AlIlKCJS1mb7W6iFKIcSnkKsW93GPRt2Mq/OQzBXQjP0DojH7WJ+XbZdYU80iT211yKTG+SzuKmKz//BG9jS3sNXNu3lUG+Mf3vuEL985RgfevNi3nHxginbfYfsYc2u/jhht4u6UHlN1qzxe9jdNYDbZXC7DGnHcqg3zjkt1aVemsi4yr0No3bARUQq1Ewv4cnnHZC6kJcF9QF8nqn758wYw1VLm3jggytYt7qNkM9NfzzNfb/cw12P7ODZA+Epe64hqUx2smZHT4y+aArHKebIpjM7+aLGDvsx/LpIGSt1F6rxaAdcRKRClfoQ6FTI5x0Qv8fNwvogPYNJ+qawVMTrdvG+la287YK5PPDkPn7y0lH2nRjkM4//lquXzeFj17axoL7wsfbDpR2H7sEEvbEktQEvtUHvlO64T8RAMsPC+gAnBpIkMw4+t4t51X4Gk1MzRVRkOg29gxZNpk97B60cKICLiFSw2VLCY4yhqdpPyOfheCRB2pm6VoKNVT4+c8N53HTpAr68cQ8vHurnyT0neGZfN7dcsYj3v/GsEWU+UyHjWMLR7AuKmoCHuqAXj7u4b1oPlTC1Nb9echJNpmmpCRR1HSKTUe4bEArgIiJSMYI+NwsbgnQPJKb8sc+dW8P/fd+lbHr1OOs3t9MVSfDdrR38185jfPSaJbztgrm4prh+27GWvliK/niaKr+b+qBvSsttxlLuO4gi4ynnDQjVgIuISEVxuwwttQEag2feY6oPTH7vyRjDdctbePBDK7njqrPxe1z0DCb5/E9f5e7vPMfLh/sn/dhjsdYyEE/TGY7SFYmTykzdDv9o1IVIZPqY2XaYYsWKFXb79u2lXoaIiEyzTbu6+Ngj24gPK1n2u+F/3PQGVrU1TslzHOuPc//mdja+evzktbee38JHr2mjucY/Jc8xmuqAh4aQD2+RS1NEJH/GmB3W2hWnXVcAFxGRSjU0Ce9gzyDNNQHWrmidsvA93IudfXxp4x52dw0AEPC6+MNVZ/HeFa0FlYw88tR+HtvRSSyVIeh1894rFnHbmxaf/H1jDFV+t4K4SJlSAM9RABcRmTmmcpR0KuNwPJIgnpqeLh4Zx/KznUf5xpP7CEez3Vjm1Qb42LVtXHPOnAn3937kqf08tOUALgPGgLXgWLjjyrNHhHB4PYgXs0ZcRManAJ6jAC4iMjMMjZL2us2IQ4CF1iH3RpOEo6lp62c9mEjz7S0H+P6zh0jn+nlf2lrH3WuWsXQCQ2ze+f+eJJbMnGzBbXI/gj43P/6jq0e9r9rvoT6UDeJT+QJGRCZutACul8kiIlKWpmuUdH3Il/fwnq3tPXz6ey9w69e38OnvvcDW9p5x76nye1h37VIe+OAKrmprAuD5jj7WfXsHX/jFa/RGk3mtM5rM4PD65E4LOLnrYxlIZA9r/vDZTv77j16iKxKnPuilKxLnng072bSrK6/nF5HpowAuIjKGTbu6uPX+LVz9+Se49f4tCi9F1BGOEvS6R1ybqlHSQ8N7GkK+UUtDtrb3cN8Tu+keTFAb8NA9mOC+J3bnFcIBFjWE+P9+/yI+/wdv4OzGEI6FH79whNse2MrjOzpJj9PJZLSKlXwrWR586gCQHShkYcpewIhI4RTARURGMVQCoR3EySvkBcx0j5I2xtBQ5WN+XeCMBxgf3daBx5UtfzFkP3pchke3dUzoeVYubuTrt1/BJ69bSrXfw2Aiw1c27eUjD+9g677Rw3xwlB360a6f6kh/jIDXheNYUmmHVMbB73ZNyQsYkWKo5A0QBXARkVFMVwnEbFHoC5h1q9tIZSzRZBprsx+nYxBMwOtmUUOQuqB3xPWhADvyc10c7Y9N+Dk8bhfvvnwRj9y5ipsuWYDLwMGeKJ/7wYv85b+9SEfP6aH4nLm11AbcDG14G6A24OacubV5Pef82iDx1Ou77I5jiSTSNNf4GUykJ/w1iBRTpW+AKICLiIxiOksgZoNCX8AUcxDM0Cj7BfXBk7vhpwZYgHjKYV5tcNLPUxfy8idvPYf1t13Bpa31AGxp7+HOh7bz1U17GRgWjNeubKXK72VRQ5BzWqpY1BCkyu9l7crWvJ5r7cpW0o4llspgyX5MO5b3XtHKsf44neHoiOcTKSeVvgGiUfQiIqNobQjRFYkT8r3+rXIqSyAqXUc4Sv0pu8oTfQFT7FHSAW+2NrwnmmTtylbue2I3sVSGgNdFPOWQdmzeAXgsS5ur+T/vuZhf7znB+l+1c6Qvzr/u6OTnLx/jzquX8PaL5rGqrZFPcQ6PbuvgaH+MebVB1q7Mv4/5ePcn0w5d/XHCbhe1QS+1Ac+EWyWKTJep+P5RzhTARURGsW51G/ds2Ek0mR7RBm+qSyAq1Ux9AeNyGeZU+7n5soW4XPCdZyYXgMdjjGH1Oc1cuaSJx3d08u1nDtAbS/HPP3+NDc8f5u7rl7KqrbGg58vn/lTGoXsgQW80SV3QS23Ai8ulIC6lNVO/f+RLfcBFRMYw1Ee5MxxlkfooT8h09fEuJsexdA8micRT0/5cJwYSfP3X+/j5y8dOXltzbjN3XdvGvNrAtD//EJcx1AQ81AW9eDRdU0qkEr5/gAbxnKQALiJSPJXyAiaaTHMikiTtjN06cCq8cqSfL23cwytHIgD4PC7WrmjlfataTzuTMJ1MLojXK4hLiVTC9w8F8BwFcBERmYyMY+keSBTl4KJjLb94pYuvb26nezA7uKe52s9dq9u4fnlzUWu1FcRFJk8BPEcBXERECjGQSNM9kCDjTP+/n7Fkhu9sPchj2ztIZbLPd9GCWj55/TLOnVsz7c8/nIK4yMQpgOcogIuISKHSGYcTA0miyeK08TvSF+Nrv2rn17tPANme4DdeNI8PX72ExipfUdYwxBhDld9NfdCHL8+hQCKzlQJ4jgK4iIhMlf54ip6BJE6R/i197mCYL2/cS/uJQQBCPjcfeONZvPvyRSUJwyGfh/qQl0ARa9NFZhIF8BwFcBERmUqpjMPxSIJ4KlOU58s4lv948QgPPLmP/nh2B35BfYCPX7uUNy1tKkkvb7/XTX3QS5Vf3Y1FhlMAz1EAFxGR6dAbTRKOpijWv6uReIqHnj7AD587xFA5+hVnN/CJNUtZMqeqKGs4ldftoi7kpcavoT4ioAB+kgK4iIhMl0Q6w/FIgmR6+tsVDtnfPchXNu5l+4EwAC4DN1+6kDuuOpvaUyYJFovbZagNeKkNenFrqI/MYgrgOQrgIiIynay19Awm6YtN//Ce4c+5pb2Hr/5qL53hGAC1AQ8fevNi3nHxgpKFYDNsqI9XnVNkFlIAz1EAFxGRYoglM5wYSJDKFG83PJVx+LfnDvHI0wcYTGZr0pfMqeLu65Zy+VkNRVvHmVT7PdSFvPg9OrAps4cCeI4CuIiIFEsxR9kP1zOY5IHf7OMnLx5l6F/5q5fN4WPXtrGgPljUtZwq6Mu2MAz6FMSl8imA5yiAi4hIsRVzlP1wrx2L8OWNe3jxUD8AXrfhlisW8f43nkXIV9qOJeqcIrOBAniOAriIiJRCMUfZD2etZdOrx1m/uZ2uSAKAxiofH71mCW+7YC6uEncr8bpd1Ie8VKtzilQgBfAcBXARESmlYo6yHy6eyvC9bR08uq2DRK5Ly3nzavij65ZxwYLaoq7lTDwuF3VBLzUBDy51TpEKoQCeowAuIiKlVuxR9sMd649z/+Z2Nr56/OS1t57fwkevaaO5xl/09ZzKZQy1QS91amEoFUABPEcBXEREykWxR9kP92JnH1/auIfdXQMABDwu/vCNZ/GeKxbhL4PR8sYYqv3ZUfdqYSgzlQJ4jgK4iIiUk2KPsh8u41h+tvMo33hyH+FotlPLvNoAH7u2jWvOmVM2NdlqYSgzlQJ4jgK4iIiUo75oip5osmij7IcbTKT59pYDfP/ZQ6RztemXttZx95plLG2pLvp6RhPyZYf6qIWhzBQK4DkK4CIiUq6SaYfjAwkSJdgNB+gMR/nqpnaebu8GsmPtf+/i+XzoTYupD/lKsqYzUQtDmSkUwHMUwEVEpJxZa+mNpuiNpUqyGw6wbX8PX9m4lwM9USBbAnLHm87m5ksW4Cmjemyv20VdyEuNWhhKmVIAz1EAFxGRmSCeynA8UtxR9sOlMw4bXjjCg0/tP9m7/KzGEJ9Ys5RVSxpLsqbRuF2G2oCXWnVOkTKjAJ6jAC4iIjOFtZaewSR9seKOsh+uL5riwaf28+PfHmaodfmVbY18/NqltDaGSrauMzHGUBPI1omrc4qUAwXwHAVwERGZaUq9Gw7QfnyAL23cy/MdvUB21/ndly3ktqvOproMa7HVOUXKgQJ4jgK4iIjMRI5j6R5MEomXbjfcWsuTe7r52q/2cqQvDkB90MudVy/h7RfNK8vyjyp/dkc8UAa9zWX2UQDPUQAXEZGZLJpMcyKSJO2Ubjc8mXZ4fEcn337mAPFUdh3Lmqu5+/qlXLKovmTrGkvQ56Y+6FMLQykqBfAcBXAREZnpMo6leyBx8nBkqZwYSPCNX+/jZy8fO3ltzbnN3HVtG/NqAyVc2ejUwlCKSQE8RwFcREQqxUAiTfdAgoxT2n/LXznSz5c27uGVIxEAfB4Xa1e08r5VrQTLtPTD53FRF/RSE/CWeilSwRTAcxTARUSkkqQzDicGkkSTpd0Nd6zlF6908fVft9M9kASgudrPXauXcP3ylrLt061e4jKdFMBzFMBFRKQS9cdT9AwkcUr873osmeE7Ww/y2PYOUpnsWi5cUMsnr1vGefNqSrq2sXhcQzviHlxleJhUZiYF8BwFcBERqVTpTHaUfSxZmlH2wx3pi7H+V+1s3n3i5LUbL5zHR65ZQmNV+Yy1P5XLGGqDXuo01EemgAJ4jgK4iIhUur5Yip7BZMlG2Q/33MEwX960l/bjgwCEfG4+8MazePfli/B5yndYjob6yFRQAM9RABcRkdkgmc7uhidSpd8NzziW/3jxCA88uY/+eLZWfUF9gI9fu5Q3LW0q69prYwxV/mwLw3J+wSDlSQE8RwFcRERmk95oknA0VRa74ZF4ioefPsAPnz98snPLFWc38Ik1S1kyp6rEqxufhvrIRCmA5yiAi4jIbJNIZ+jqL+0o++EOdA/ylU172bY/DIDLwM2XLuSOq86mNlj+bQGDPjcNIZ+CuIxLATxHAVxERGYja7Oj7PtjpRtlP5y1lmf29fCVTXvpDMcAqA14+NCbF/OOixfMiAOQAa+b+pCXkE9DfeTMFMBzFMBFRGQ2iybTHI+UfnjPkFTG4d+eO8QjTx9gMNe9ZcmcKu5es5TLz24o8eryo6E+MhoF8BwFcBERme0yjuV4JFHy4T3D9QwmeeA3+/jJi0cZSiZvXtbEx65dysL6YEnXli+v20Vt0EttQEN9JEsBPEcBXEREJKs/nqJ7oDzaFQ557ViEL2/cw4uH+gHwug23XLGI97/xrBlT6uF2mZM74jOhlEamjwJ4jgK4iIjI65Jph65InGS6PA5oQrY+fNOrx1m/uZ2uSAKAxiofH71mCW+7YC6uGbK77BrWS9yjXuKzkgJ4jgK4iIjISNZawtEUvdFkqZcyQjyV4XvbOnh0WweJ3AuE8+bV8MnrlnLhgroSry5/Q73E64Je/B51TplNFMBzFMBFRETOLJbMcDySIO2Uz244wLH+OPdvbmfjq8dPXnvr+S189Jo2mmv8JVzZxIV82R3xoE9BfDZQAM9RABcRERmd41hODCQYSJTPAc0hL3b28aWNe9jdNQBAwOPi1jeexXuvWIR/hvXk9nuzO+LV/plR1y6TowCeowAuIiIyvkjugKZTZjnBsZb/euko33hyH+Fotqf53Fo/H7t2KavPmTPjuo943S7qQl5q/OqcUokUwHMUwEVERPKTyjgcjySIpzKlXsppBhNpvr3lAN9/9hDpXE/zSxbVcfd1y1jWUl3i1U2cxzXUS9yDS51TKoYCeI4CuIiIyMT0RpOEo6myalc4pDMc5Wu/auepvd1Adqz9775hPne+eTH1IV+JVzdxbpehJuClLqgWhpVAATxHAVxERGTiEukMXf0JUpnyOqA5ZNv+7Fj7A91RAKr8bm6/ajHvunQB3hnYAtAMa2E4E9cvWQrgOQrgIiIik2OtpXswSX8sVeqlnFE647DhhSM89PR+IvHsIdLWhiCfuG4pb1zSVOLVTY5aGM5sCuA5CuAiIiKFiSbTnIgky65d4ZC+aOr/b+/eg6ys6ziOvz8sC7vcwgsxGBqGznjLMHHNUctKU9SJtFIoi9TRLjpq6Zhmk9hMM+ZUasE4aiooXkZTJ6+kkxpeUBBBEcFERCQQROWyyH2//XF+Gyfcsz7r2T3nPPJ5zZw5z/M75znPb7/z3d3v/vb3/B4mPLOQ+19aQpoezsG778hPjxjKbjv2qm7nytCrR3f696qnIWcrvmzPXIAnLsDNzMzKtyUtV7i2BpcrbLXgnWbGP/E6MxetBArzq084YBd++KUh9GnI7/J/DfV19O9VT68e+f0athcuwBMX4GZmZp2nVpcrbBURPD3/Xa751+ssXbUegE811nP6YUMYsd+gXF/o2KN7t/+tJe4lDGuTC/DEBbiZmVnnquXlCltt3NzC32YsZtJzb7J+U2HqzNABvTn7q3vwhV37V7dzZaqv60a/xnr6NbgQrzWlCvDcX1Yr6RhJr0qaL+miavfHzMxse1Nf141d+jeyU++eNVsA9ujeje8dvBs3n9bE0fsOBOD1d9by8ztf5LL7X+Ht1eur3MOPb9OWFt5t3sCi9z5g5QcbaWnZvgZX8yjXI+CS6oB/A0cBi4HpwOiIeKXUMR4BNzMz6zq1vlxhq7lLVzPu8fnMXboGKBToJw8fzKim3WjM+UWO3YqWMOzuJQyr6pM6At4EzI+IBRGxEbgDGFnlPpmZmW23enavY/AOjfRtqK92V9q196B+/GX0AVw8Yi926tODjZtbuOXZRYy5cRr/nLusJm86lFVLBKvWbeKt99fxzpoNbNxc238MbY/yXoB/BniraH9xajMzM7MqkcSAvj0Z2K+hpi9y7CZx1D4DufnUJr5/8G7U14kVzRv53UPzOOeOWbz69ppqd7EsEcGa9ZtY/P4HLFu9vqbn6G9v8r5+TVvf1R/6k1XSmcCZabdZ0qsf41w7Ays+xnG2lWNYHsevPI5feRy/8jh+5al4/N4EHqrkCbuW86885cTvs2015r0AXwzsWrQ/GFiy7Zsi4jrgunJOJOn5tubwWHaOYXkcv/I4fuVx/Mrj+JXH8SuP41eerohf3qegTAf2lLS7pB7AKOC+KvfJzMzMzKykXI+AR8RmSWcD/wDqgBsjYk6Vu2VmZmZmVlKuC3CAiHiIykzTKmsKiwGOYbkcv/I4fuVx/Mrj+JXH8SuP41eeTo9frtcBNzMzMzPLm7zPATczMzMzyxUX4G2QdKOk5ZJeLmobK+k/kmalx7HV7GMtk7SrpMclzZU0R9K5qX1HSY9Kei0971DtvtaiduLnHMxAUoOkaZJeTPG7LLU7/zJoJ37Ovw6QVCdppqQH0r7zrwPaiJ/zrwMkLZQ0O8Xq+dTmHMyoRPw6NQc9BaUNkr4MNAM3R8R+qW0s0BwRf6hm3/JA0iBgUES8IKkvMAP4FvAj4L2IuFzSRcAOEfHL6vW0NrUTv5NwDn4kSQJ6R0SzpHrgKeBc4EScfx+pnfgdg/MvM0m/AIYD/SLieElX4PzLrI34jcX5l5mkhcDwiFhR1OYczKhE/MbSiTnoEfA2RMQU4L1q9yOvImJpRLyQttcAcyncoXQkMDG9bSKFotK20U78LIMoaE679ekROP8yaSd+lpGkwcBxwF+Lmp1/GZWIn5XPOVhDXIB3zNmSXkpTVPyvmwwkDQEOAJ4DBkbEUigUmcCnq9i1XNgmfuAczCT9+3oWsBx4NCKcfx1QIn7g/MvqKuBCoKWozfmX3VV8OH7g/OuIAB6RNEOFu4GDc7Aj2oofdGIOugDP7hpgKDAMWAr8saq9yQFJfYC7gfMiYnW1+5M3bcTPOZhRRGyJiGEU7o7bJGm/KncpV0rEz/mXgaTjgeURMaPafcmjduLn/OuYQyPii8AI4Kw0tdayayt+nZqDLsAziohl6ZdSC3A90FTtPtWyNHf0buDWiLgnNS9L85tb5zkvr1b/al1b8XMOdlxErASeoDB/2fnXQcXxc/5ldijwzTSH9A7ga5Im4fzLqs34Of86JiKWpOflwL0U4uUczKit+HV2DroAz6g1aZMTgJdLvXd7ly7iugGYGxF/KnrpPmBM2h4D/L3SfcuDUvFzDmYjaYCk/mm7ETgSmIfzL5NS8XP+ZRMRF0fE4IgYAowCHouIU3D+ZVIqfs6/7CT1ThfwI6k38A0K8XIOZlAqfp2dg7m/E2ZXkHQ7cASws6TFwKXAEZKGUZgXtBD4cbX6lwOHAj8AZqd5pAC/Ai4H7pR0OrAI+G51ulfzSsVvtHMwk0HAREl1FAYZ7oyIByRNxfmXRan43eL8K4t//pXnCudfZgOBewtjOXQHbouIyZKm4xzMolT8OvVnoJchNDMzMzOrIE9BMTMzMzOrIBfgZmZmZmYV5ALczMzMzKyCXICbmZmZmVWQC3AzMzMzswpyAW5mVuMkDZH0oTVnJf1W0pEfcexYSRd0Xe/MzKyjvA64mVlORcRvqt0HMzPrOI+Am5nlQ52k6yXNkfSIpEZJEyR9B0DSsZLmSXpK0p8lPVB07D6SnpC0QNI56f0XFm1fKemxtP31dOt0JF0j6fl0zsuKXr+39YMlHSXpnm07m0beJ6a+LpR0oqQrJM2WNFlSfXrfQkm/lzQtPfZI7UMlPStpehrpb+6SqJqZVYELcDOzfNgTGB8R+wIrgW+3viCpAbgWGBERhwEDtjl2L+BooAm4NBW/U4DD0+vDgT6p/TDgydR+SUQMB/YHviJpf+AxYG9Jrec4FbipRJ+HAscBI4FJwOMR8XlgXWpvtToimoBxwFWp7Wrg6og4CFjSfmjMzPLFBbiZWT68ERGz0vYMYEjRa3sBCyLijbR/+zbHPhgRGyJiBbCcwq2WZwAHSuoLbACmUijED2drAX6SpBeAmcC+wD5RuH3yLcApkvoDhwAPl+jzwxGxCZgN1AGTU/vsbfp/e9HzIWn7EOCutH1bic83M8slzwE3M8uHDUXbW4DGon118NjuEbFJ0kIKI9jPAC8BX6Uwaj1X0u7ABcBBEfG+pAlAQ/qMm4D7gfXAXRGxWdJZwBnp9WOLzxsRLZI2peIdoIX///0TJbbNzD6RPAJuZpZ/84DPSRqS9k/OeNwUCkX2FAqj3j8BZqVCuR+wFlglaSAwovWgiFhCYVrIr4EJqW18RAxLj45OGTm56Hlq2n6WrdNsRnXw88zMappHwM3Mci4i1kn6GTBZ0gpgWsZDnwQuAaZGxFpJ61MbEfGipJnAHGAB8PQ2x94KDIiIVzrhS+gp6TkKg0KjU9t5wCRJ5wMPAqs64TxmZjVBW/8jaGZmeSWpT0Q0SxIwHngtIq7swvONA2ZGxA1lfs5CYHian17c3gtYFxEhaRQwOiJGlnMuM7Na4RFwM7NPhjMkjQF6ULho8tquOpGkGRSmp5zfVecADgTGpT8oVgKndeG5zMwqyiPgZmZmZmYV5IswzczMzMwqyAW4mZmZmVkFuQA3MzMzM6sgF+BmZmZmZhXkAtzMzMzMrIJcgJuZmZmZVdB/AeEbiyBsRWWxAAAAAElFTkSuQmCC\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>\n"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 47414.1)"
]
},
"execution_count": 28,
"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": [
"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>\n"
]
},
{
"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>\n"
]
},
{
"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>highway-mpg</th>\n",
" <th>peak-rpm</th>\n",
" <th>price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>highway-mpg</th>\n",
" <td>1.000000</td>\n",
" <td>-0.058598</td>\n",
" <td>-0.704692</td>\n",
" </tr>\n",
" <tr>\n",
" <th>peak-rpm</th>\n",
" <td>-0.058598</td>\n",
" <td>1.000000</td>\n",
" <td>-0.101616</td>\n",
" </tr>\n",
" <tr>\n",
" <th>price</th>\n",
" <td>-0.704692</td>\n",
" <td>-0.101616</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" highway-mpg peak-rpm price\n",
"highway-mpg 1.000000 -0.058598 -0.704692\n",
"peak-rpm -0.058598 1.000000 -0.101616\n",
"price -0.704692 -0.101616 1.000000"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"df[['highway-mpg','peak-rpm','price']].corr()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"# The variable \"highway-mpg\" has a stronger correlation with \"price\", it is approximate -0.704692 compared to \"peak-rpm\" which is approximate -0.101616. You can verify it using the following command:\n",
"\n",
"df[[\"peak-rpm\",\"highway-mpg\",\"price\"]].corr()\n",
"\n",
"```\n",
"\n",
"</details>\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>\n"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Multiple Linear Regression</h3>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First lets make a prediction \n"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [],
"source": [
"Y_hat = lm.predict(Z)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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9bw2bdowceJE8vLyWLhw4a4JF7169eL7778nOzsbgM2bN5dq5bkkCsciIiIiFcjQoUM566yz9rjtnHPO4Y033uDyyy+ndevWZGVl0bVrV9544w0ABg8ezGmnnbbrhLwHHniAPn36cPzxx9OsWbNdr3PvvffSv39/jj766BL7k6Pq1atHr169aNq06a42jN///vcMGTKEXr16MWvWLGrWrLnX84488kjatm3LQQcdxC233EL37t0BaNy4MS+//DIDBw4kKyuLXr16xTSuLlbmnIvbi5VXjx49XKzN2CIiIiLJaPr06XTu3DnsMiSisPfDzMY553oU9nitHIuIiIiIRCgci4iIiIhEKByLiIiIiEQoHIuIiIiIRCgci4iIiIhEKByLiIiIiEQEGo7N7EYzm2pmU8xsqJntvf2JSGX0+edw112wZUvYlYiISAWUnp5Ot27ddl3mzZvHEUccAcC8efN2zTcGmDhxIp988kmpj3HsscdScATvvffeyx133LHHbRMnTix2tN29997Lww8/XOrjByWwcGxmLYDrgB7OuS5AOjAgqOOJpIwxY+DMM+H//g969YI47uojIiICUL16dSZOnLjr0qZNG/73v/8B8QvHhRk4cCBvvfXWHre9+eabXHDBBXF5/UQIuq0iA6huZhlADWBJwMcTSW6//gr9+kHz5vDGG7B4MfToAW+/HXZlIiJSwdWqVQuA22+/ndGjR9OtWzcefPBB7rnnHt566y26devGW2+9xaZNm/jd735Hz549Ofjgg/nwww8B2LJlCwMGDCArK4vzzz+fLYV8+tmxY0fq1avHjz/+uOu2//73vwwYMIB///vf9OzZk65du3LOOeewefPmvZ6ffzV65cqVtGnTBoDc3FxuvfVWevbsSVZWFs899xwAOTk5HHPMMXTr1o0uXbowevTocn+fMsr9CkVwzi02s4eBBcAWYIRzbkTBx5nZYGAwQOvWrYMqRyR8a9dC796wcyd88gl07AhHHQXnnw/nnQfXXAOPPQYZgf21FBGRBLvhBpg4Mb6v2a0bPP548Y/ZsmUL3bp1A6Bt27a8//77u+574IEHePjhh/noo48AaNq0KWPHjuXpp58G4E9/+hPHH388L774ImvXruXQQw/lxBNP5LnnnqNGjRpMmjSJSZMm7drOuaCBAwfy5ptvcthhhzFmzBgaNmzI/vvv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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(Y_hat, 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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Part 3: Polynomial Regression and Pipelines</h2>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><b>Quadratic - 2nd order</b></center>\n",
"$$\n",
"Yhat = a + b_1 X +b_2 X^2 \n",
"$$\n",
"\n",
"<center><b>Cubic - 3rd order</b></center>\n",
"$$\n",
"Yhat = a + b_1 X +b_2 X^2 +b_3 X^3\\\\\\\\\n",
"$$\n",
"\n",
"<center><b>Higher order</b>:</center>\n",
"$$\n",
"Y = a + b_1 X +b_2 X^2 +b_3 X^3 ....\\\\\\\\\n",
"$$\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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>We will use the following function to plot the data:</p>\n"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"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\n"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"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.\n"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"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 \n"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"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": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-1.55663829e+00, 2.04754306e+02, -8.96543312e+03, 1.37923594e+05])"
]
},
"execution_count": 45,
"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>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 11 10 9 8 7\n",
"-1.243e-08 x + 4.722e-06 x - 0.0008028 x + 0.08056 x - 5.297 x\n",
" 6 5 4 3 2\n",
" + 239.5 x - 7588 x + 1.684e+05 x - 2.565e+06 x + 2.551e+07 x - 1.491e+08 x + 3.879e+08\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAEWCAYAAABfdFHAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABFCUlEQVR4nO3deXxU1dnA8d+TyR6ys4UEBAUXdgQRtSouVWytUOtCN2m1tbVatXvta6tdfKt2sfq6tLa24i5aF2qLSkW0KoogKptKCghhD5CQhJBkZp73j3sGJsNkkpBMZpI8389nPjP33HvunLmZ3GfOcs8VVcUYY4yJl5REF8AYY0zPZoHGGGNMXFmgMcYYE1cWaIwxxsSVBRpjjDFxZYHGGGNMXFmg6SZEZL2InJnocoQTkXkiMquN27a7/O3Zfzv3u1JEpsZYv1BEvtbZ79uZRGSoiKiIpB5i/v2fUUS+KCIvhq1TERnexv2IiPxNRHaLyOJDKUtHiMjJIvJhV79vMhORG0XkoUSXI5wFmi7mTrj1IlIrItvcP2mfRJfrUKjqOao6u6P7EZH7RaTRHZPQ4+Lw/YvIV0TktY6XGlR1lKoudPvt0D+liEx1J+anItLHufSFbdxP3E4Ore1bVR9W1bMOcfefAD4JlKnq5EPcx35hATT0PVgvIj9uaXtV/Y+qHtXR9+0M7rtQ0dPf81BYoEmMz6hqH+BY4Djg+gSXJxncqqp9wh6PJ7pA7bADOFFEisPSZgEfJag8XekwYL2q1rU3Yyu1sQL3P/J54GciMq2d+U0SsUCTQKq6CZgHjAYQkfNcs06Va9o4JjKPiAwUkb3hJzURmSgiO0QkLfTLX0R+65oz1onIOWHbDhKRuSKyS0TKReTrYetuFJEnROQhEakRkeUicqSIXCci20Vko4icFbZ9ePPLESKyQER2ikiliDwsIgUdOT6h/bvj8EfgBPcrtyrKtqeJyPKw5X+HN+W4YzLDvV4vIme6k9dPgIvdft8L2+VhIvK6Ow4vikjfGEVtBJ4BZrr9+4CLgIcjyni7O4Z7RGSpiJzs0qOWw33+X4vIYhGpFpFnRaSohWMV9e/aymcM5Y1WW/yUiKx1f8vfiMhB5woRuQz4Cwf+Lj936V93ZdjlyjQoLI+KyJUisgZYE+OYAqCqi4CVwOjQr3cR+ZGIbAX+FvmLXkQGi8hT7v9hp4jcGbbuUhFZ7f4vXhCRw1p7/87i/j5/d+VaJyJXh627UUTmiMgD7vu2UkQmha0/VkSWuXVPiMjjIvIrEcnBO38MkgM1wNCxTm9pf4lggSaBRGQw8ClgmYgcCTwKXAv0A/4F/ENE0sPzqOpWYCHeiSzkS8Bjqtrklo8HPgT6ArcC94mIuHWPAhXAIOAC4H9F5IywfX0GeBAoBJYBL+B9T0qBXwB/aunjAL92+z0GGAzc2KYD0QpVXQ18E1jkajsFUTZbBAwXkb7i/dIdDZSJSK6IZAETgf9E7Pd54H+Bx91+x4Wt/gLwVaA/kA58v5ViPgBc4l6fjXdy3ByxzdvAeKAIeAR4QkQyWynHJcCleMfVD9zRwvtH/bu2su9YPgtMwqt1T3dlaEZV76P53+UGETkd73twEVACfAw8FpF1Bt53dGSsAojnJGAU3ncRYCDe8TsMuDxiex/wnHvPoXjf2cfcuhl4Afd8vP+v/+Ads3YL+19q6/YpwD+A91yZzgCuFZGzwzY7z5W1AJgL3OnypgNPA/fjfe5H8f42uFrkOcDmsJaAzbH2lygWaBLjGfer/DXgFbwTwcXAP1V1vgsYvwWygBOj5J+NF1xC/1yfxwsOIR+r6p9VNeC2LQEGuMD2CeBHqrpPVd/F+0X65bC8/1HVF1TVDzyB9095syvTY8BQiVJTUdVyV/YGVd0B/B44tR3H5Pvi1eSqRKSyHflC778PWAKcgneCfB/v+J4ETAHWqOrOduzyb6r6karWA3PwAkSs938DKBKRo/CCwwNRtnlIVXeqql9VfwdkAK31LzyoqivcSeWnwEXub75fG/+u7XWLqu5S1Q3AH/C+Y23xReCvqvqOqjYA1+HVeIaGbfNrt+/6GPupBHbhfY4fq+pLLj0I3OC+Z5H5J+MF2h+oap07FqGa2jfc+6523+3/Bca3VKsRka+KyHvi9aM+KCKnikh/EfkqcE0bj0XIcUA/Vf2Fqjaq6lrgz7gasPOaqv7L/c8+CIR+EEwBUoE7VLVJVZ8C2jLooqX9JYS1cSbGDFX9d3iCq/J+HFpW1aCIbMT7BRTpWeCPInI4cCRQrarhX76tYfvZ636A9QGKgV2qWhO27cd4J+aQbWGv64FK92UNLYf2VRVR/v54v7ZPBnLxfsTsjlL2lvxWVTvaV/UKMBXvl/0r7v1PBRrccntsDXu9F+8zt+ZB4CrgNLwawBfCV4rI94Cv4Z0MFcjDq3XGsjHs9cdAWpQ8g2j979peke87qKUNo5TlndCCqtaKyE687/H6KPtuSV8XECLtcD8qohmM9yMrWr7DgNtF5HdhaeLK9XGU7T8NTAPq8P6Ot+H9YHuR1mu30d57kDRv8vXRvIYd+X3LdDXzQcAmbT77cVuOX9T9tXBs4s4CTfLYDIwJLbjq+WBgU+SGqrpPRObg/Xo8mua1mdbeo0hEcsNOSkOivcch+DXeyXOsqu50TRWdWV1vyzTjrwC/AzYAN+MFmj/jBZq7OrDftnoQKAceCAvwgDcMF/gRXrPJSvdDYjfeyS5WOQaHvR4CNOH92g9Pb+3veiifcTBe819oX5HNgC3ZjHdiBcD1IxTT/DvWkWMeK+9GYEgLJ9SNwE2q+nCUfNFcpKpB9/qP7nGoNgLrVHXEIeTdApSKiIQFm8HAf93rbjH9vjWdJY85wKdF5AwRSQO+h3eCfKOF7R8AvoLXFtumYbGqutHt79cikikiY4HLiOi0PkS5QC1QJSKlwA86YZ/htuH1uaTH2OYNvKaoycBiVV2Jd9I7Hng1xn6HSpTO7vZS1XV4Naj/ibI6F6+PZQeQKiI/w6vRtFaOL4nISBHJxusjezKshhl639b+rofyGX8gIoWuWe4aoK2jAB8Bvioi40UkA6+J6i1VXd+O9z5Ui/FOzDeLSI47Fie5dX8ErhORUQAiki8iF7a0o7Ag027uffc/XLn2iDeIIUtEfCIyWkSOa8PuFgEB4CoRSRWR6Xjf75BtQLGI5B9qebuCBZokoaof4vW7/B/eL9bP4A2Dbmxh+9fx2qvfaec/8efxOko343Uy3qCq8w+95Pv9HK/juBr4J/BU7M3bbQHeL+ytLfXhuH6Md/BqDKHjtgivOWV7C/t9wj3vFJF3WtimzVT1tbAO2XAv4I0Q+givqWYfzZtAWirHg3gdwVuBTOBqoov1dz2Uz/gssBR4F+/veV9bMrm+lJ8Cf8c76R9B876IuHEB+DPAcLxabQVe3yeq+jRwC/CYiOwBVuB1pHe2Urwm5vDHMFeu8cA6vP/vvwCtBgf3PT4f74dDFd454jm8H6Go6gd4AwTWuv7NtjZxdilRu/FZtyUiC4BHVPUviS6L6XziXez5kP19TTgReQv4o6r+LdFlaSur0XRTrtp9LG1v0jDGdENuxNtA13Q2CxgLPJ/ocrWHDQbohkRkNt61CNdEjDQyxvQ8R+H14fbBGwRwgapuSWyR2seazowxxsSVNZ0ZY4yJK2s6i1BUVKSDBw9ufUNjjDH7vf/++5Wq2i/aOgs0EQYPHsy8efMSXQxjjOlWSktLo82wAFjTmTHGmDizQGOMMSauLNAYY4yJKws0xhhj4soCjTHGmLiyQGOMMSauLNAYY4yJKws0nUQaqumz9C7SdqxsfWNjjOlF7ILNziIp5C29kz0paTT1G5Xo0hhjTNKwGk0n0fRc/LmlpO76MNFFMcaYpGKBphM1FR1FmgUaY4xpxgJNJ/IXjSC1aj34GxJdFGOMSRoWaDpRU9FRiAZIrfpvootijDFJwwJNJ/IXHwVA2q6PElwSY4xJHgkNNCKyXkSWi8i7IrLEpRWJyHwRWeOeC8O2v05EykXkQxE5Oyx9ottPuYjcISLi0jNE5HGX/paIDI3n5/HnDUF9GRZojDEmTDLUaE5T1fGqOskt/xh4SVVHAC+5ZURkJDATGAVMA+4WEZ/Lcw9wOTDCPaa59MuA3ao6HLgNuCWunyQllabC4aTutAEBxhgTkgyBJtJ0YLZ7PRuYEZb+mKo2qOo6oByYLCIlQJ6qLlJVBR6IyBPa15PAGaHaTrz4i46yGo0xxoRJdKBR4EURWSoil7u0Aaq6BcA993fppcDGsLwVLq3UvY5Mb5ZHVf1ANVAcWQgRuVxElojIkp07d3boAzUVjcBXX0nK3soO7ccYY3qKRM8McJKqbhaR/sB8EfkgxrbRaiIaIz1WnuYJqvcC9wKMGzfuoPXt0eQGBKTu+ojG7L4d2ZUxxvQICa3RqOpm97wdeBqYDGxzzWG45+1u8wpgcFj2MmCzSy+Lkt4sj4ikAvnArnh8lhB/kY08M8aYcAkLNCKSIyK5odfAWcAKYC4wy202C3jWvZ4LzHQjyYbhdfovds1rNSIyxfW/XBKRJ7SvC4AFrh8nboJZRQSy+lqgMcYYJ5FNZwOAp13ffCrwiKo+LyJvA3NE5DJgA3AhgKquFJE5wCrAD1ypqgG3ryuA+4EsYJ57ANwHPCgi5Xg1mZld8cGaio+yOc+MMcZJWKBR1bXAuCjpO4EzWshzE3BTlPQlwOgo6ftwgaor+YuOJGflwxD0Q0qiu8GMMSaxEj3qrEdqKjoSCTSSWv1xootijDEJZ4EmDpqKQiPPrPnMGGMs0MSBv/AINCWN9G3vJrooxhiTcBZo4sGXTkPZiWSufwniO8jNGGOSngWaOKkfdhaptZtJq1yV6KIYY0xCWaCJk32HnYaKj8x18wFYvqWOB97eyvItdQkumTHGdC0bexsnmllI46DjyFz3Im+UfY2rnymnKaCk+bZyx2dHMKYkJ9FFNMaYLmE1mjiqH/pJ0qrXsaF8BU0BJajQFFCWVdQkumjGGNNlLNDE0b5hZ6IIU/Ut0nxCikCaT5hQlpvoohljTJexprM4Cmb3p2nAeIZWvsIdn/0ayypqmFCWa81mxphexQJNnNUP+yT5b97K+JxdjDlucOsZjDGmh7GmszjbN/STAGStfT7BJTHGmMSwQBNngbwyGkqn0Oe9+5B9uxNdHGOM6XIWaLpA9QnXIY215C35v0QXxRhjupwFmi7gLzqSupGfJ3v146TujHW3amOM6Xks0HSRmklXEczIJ/+Nm7rV/Gc2o4ExpqMs0HSR93el8mK/S8nYsoSs8ucSXZw2Wb6ljqufXsO9b27h6qfXWLAxxhwSCzRdIHTC/nb5BJbpCPJe+SnpmxcnulitWlZRYzMaGGM6LOGBRkR8IrJMRJ5zy0UiMl9E1rjnwrBtrxORchH5UETODkufKCLL3bo7RERceoaIPO7S3xKRoV3+ATlwwvZrCl9v/B670gdS9PwVpG1blojitNmEslyb0cAY02EJDzTANcDqsOUfAy+p6gjgJbeMiIwEZgKjgGnA3SLic3nuAS4HRrjHNJd+GbBbVYcDtwG3xPejRBd+wq7x5bPi5D8RzO5L8bxvkLZjZSKK1CZjSnK447MjuHxKiU0Eaow5ZAkNNCJSBnwa+EtY8nRgtns9G5gRlv6Yqjao6jqgHJgsIiVAnqouUlUFHojIE9rXk8AZodpOV4o8YR817DB2nvs3gum5FD93CRkbXunqIrXZmJIcLjluoAUZY8whS3SN5g/AD4FgWNoAVd0C4J77u/RSYGPYdhUurdS9jkxvlkdV/UA1UBxZCBG5XESWiMiSnTt3dvAjRRd5wg70GUTleQ/jzzuMohe+Rc7yB7rVaDRjjGmrhAUaETkX2K6qS9uaJUqaxkiPlad5guq9qjpJVScVFx8Uh+Im2GcgO897iH2HnUb+ol+T//ovIRjosvc3xpiukMgazUnAeSKyHngMOF1EHgK2ueYw3PN2t30FED4rZRmw2aWXRUlvlkdEUoF8YFc8Psyh0rRsdn/yDmrHXkrOqkcpfOl7EGhMdLGMMabTJCzQqOp1qlqmqkPxOvkXqOqXgLnALLfZLOBZ93ouMNONJBuG1+m/2DWv1YjIFNf/cklEntC+LnDvkXztU5LCnik/oHrKj8ha9wLF876BNNYmulTGGNMpEt1HE83NwCdFZA3wSbeMqq4E5gCrgOeBK1U11M50Bd6AgnLgv8A8l34fUCwi5cB3cSPYklXd2K+w+7RbSN+yhOJ/Xoo02gWSxpjuT5LxB34ijRs3TufNm9f6hnGUsX4BRfOvpqF0CrvOvht86QktjzHGtKa0tHSpqk6Kti4ZazS9XsPQ06k65RdkVrxOwSvXgwZbzxRDss5XlqzlMsZ0LrvDZpKqP+p8fHt3kPf2Hwhm92PPlB8c0n5C0980BZQ039akufAyWctljOl8VqNJYrXjL6du5Bfo8/5fyVz7wiHtI1nnK0vWchljOp8FmiQRtRlJhOoTf0xj/3EUvHI9vj0b2r3fZJ2vLFnLZYzpfDYYIEIiBgM0b0aSg5qRfDWb6PfU5/DnllE5/ZGDBgcs31LHsooaJpTlRm1+am19oiRruYwx7RdrMID10SSBaM1I4Sfed2sLqB30fT637qfkvfVb9pz4k/3r2tLXMaYkJylP5MlaLmNM57KmsyQQqxkpFEh+8MERzA5Oo8+KB0nftGj/euvrMMYkOws0SSDWdPzhgeTmppnsyiij4NUbkKa9gPV1GGOSnzWdJYmWmpEmlOXiS9mKBhR/SgblE3/G5DcuJ3fJHew54cf7g1R37OuwPhpjegcLNN2C7n/eXXwsdcdcTM7yB6g/fBpNA8Z3y74Ou47GmN7Dms6S3LKKGgJBL9QEgt7ynuO/TzBnAAWv/rTbzvRsfUvG9B4WaJJctD4YTe9D1Sd+RtrucnJWPJjoIh4S61sypvewprMk11IfTMNhp7FvyFRy37mb+uHnEswZkOCSts+YkhyuOaWMheVVTB1eYM1mxvRgVqPpBiJvAx1SfeJ1SNBPcOHN3W5yyuVb6rj91QqWbKzh9lcrulXZjTHtY4GmGwvkDWHt4ZcwaNPzLHtrAVc/vabbnLCtj8aY3sMCTTf3dPbn2KR9uTH1foIBf7c5YXvDtgUBfCnWR2NMT2aBppsbM6Qfvw5+mWNSNvKl1AXd7IStEc/GmJ7IAk03N6Ykh89M/wIf95nAdZlPMbbI36n7j9fNyaIN2zbG9EwJCzQikikii0XkPRFZKSI/d+lFIjJfRNa458KwPNeJSLmIfCgiZ4elTxSR5W7dHSIiLj1DRB536W+JyNAu/6BdYMygPmSdfQNp/hpyl97VafsNXVR575tbOr3/x4Y3G9N7JLJG0wCcrqrjgPHANBGZAvwYeElVRwAvuWVEZCQwExgFTAPuFhGf29c9wOXACPeY5tIvA3ar6nDgNuCWLvhcCeEvPoq9R19IzspHSa1a2yn7jGeHfaz53YwxPUvCAo16at1imnsoMB2Y7dJnAzPc6+nAY6raoKrrgHJgsoiUAHmquki9m+s8EJEntK8ngTNCtZ2eqGbSt9HUTPIW3dwp+4t3raOlYdvGmJ4loX00IuITkXeB7cB8VX0LGKCqWwDcc3+3eSmwMSx7hUsrda8j05vlUVU/UA0URynH5SKyRESW7Ny5s5M+XdcLZhVTM/FbZG78DxkbXunw/qzWYYzpDAkNNKoaUNXxQBle7WR0jM2j1UQ0RnqsPJHluFdVJ6nqpOLig+JQt1I36ov484eSv+jmTpkHzWodxpiOSopRZ6paBSzE61vZ5prDcM/b3WYVwOCwbGXAZpdeFiW9WR4RSQXygV3x+AxJw5dO9Qk/JrV6PTkrH0l0aYwxJqGjzvqJSIF7nQWcCXwAzAVmuc1mAc+613OBmW4k2TC8Tv/FrnmtRkSmuP6XSyLyhPZ1AbDA9eP0aA1DTmXf4JPJXXoXKXsrE12cFj2zopJrnynnmRXJW0ZjTMclclLNEmC2GzmWAsxR1edEZBEwR0QuAzYAFwKo6koRmQOsAvzAlaoacPu6ArgfyALmuQfAfcCDIlKOV5OZ2SWfLAlUn3Ad/Z84j9wlt1N9yi8TXZyDPLOiklsXeF1uizd4o9lmjO6byCIZY+IkYYFGVd8HJkRJ3wmc0UKem4CboqQvAQ7q31HVfbhA1dsECoZRN/pL5Cyfzd5jZtLUb1Sii9TMwvKqg5Yt0BjTM7Wr6UxECkVkbLwKYzpXzcRvEcwqJv+1n0Mw0HqGLjR1eEHMZWNMz9FqoBGRhSKSJyJFwHvA30Tk9/EvmukoTc9lzwk/In3HcrI/eCLRxWlmxui+/PD0wUwekssPTx9stRljerC21GjyVXUPcD7wN1WdiNdxb7qB+iM+TcOgKeQtvo2U+uS6RmjG6L78YcZwCzLG9HBtCTSpbpjxRcBzcS6P6WwiVH/ip4i/nrw3f5Po0hhjeqG2BJqfAy8A5ar6togcDqyJb7FMZ/IXHE7t2EvJXvMs6ZsXJ7o4+8VrZmhjTHKJGWjc0OPBqjpWVb8FoKprVfVzXVI602lqj/0G/rwhFLxyPdKU+BN7PGeGNsYkl5iBxl2ncl4XlcXEkaZmUXXqTfhqKsh7K/FjOZZV1NDodzND++1Wzsb0ZG1pOntDRO4UkZNF5NjQI+4lM52usWQSdaO/TM6qR0jf9GZCy5KXlbp/0rmgWzbG9Ext+e8+0T3/IixNgdM7vzgmHpZvqWNZRQ0TynIZO/laMje+QsEr/8OOC+ai6YmZLHNPvR/hwKyoe+o7986gxpjk0WqgUdXTuqIgJj5CfSFNASXNt5U7PjuCY0/9NX3nfpH8139B1dSbIQG36JlQlkt66lZXLrvDpjE9WZvaK0Tk03h3tswMpanqL1rOYZJFtLtkjjluAjUTryRv6Z00DpzI3mMu6vJyhe51E6pp2W0IjOm5Wg00IvJHIBs4DfgL3izIyTNG1sTk3SXz4JpD7bFXkL5tGflv3ERTv1E09e36udDGlORYgDGmF2jLYIATVfUSYLeq/hw4geb3hTFJrMW7ZEoKVafdSjCziML51yIN1V1eto5cR2PX4BjTfbSl6azePe8VkUHATmBY/IpkOltLNYdgVhG7zvw9fedeQtG/r2XntD+BL71LyhSt76ittZvlW+q46qk1+ANKqm8rd55vt5k2Jpm1pUbznLtB2W+Ad4D1wGNxLJPpQk0DJlB16i/J2PQmhS//qMtmeY7Wd9RW81bvoimgKF7eeat79k1Tjenu2jLqLHTXrL+LyHNApqp2fTuLiZv6I2eQUr+L/Ld+QzCzkOqTftrmkWjhQ6fbU6toqe+obSJvktrjb5pqTLfWYqARkS8BoqoPhtJUtUFELhGROlW1G9L3IHXjLsVXv5M+7/+VYFo2NZO/12qw6UjzV0dGnZ1zTDH/XL0TfwBSfd5ypGdWVLKwvIqpwwtsdmhjEixWjeZ7wClR0h8DFgIdCjQiMhh4ABiId3H4vap6u7vvzePAULxmuotUdbfLcx1wGRAArlbVF1z6RA7cyvlfwDWqqiKS4d5jIl7f0sWqur4j5e7J9hz/faSpjtz37sO3dwdVp/wyZp9N1KHT7QgYhzrqbExJDneef2SLQcpuE21MconVR+NT1YMazl1aWie8tx/4nqoeA0wBrhSRkcCPgZdUdQTwklvGrZuJdz3PNOBuN+knwD3A5cAI95jm0i/DGy03HLgNuKUTyt1ziVD9iRvYM+kastfMpfj5byCNLfedeM1fQorQ5RddjinJ4ZLjBkYNVNFuE22MSZxYgSZNRA76LxaRXKDDQ5NUdYuqvuNe1wCrgVJgOjDbbTYbmOFeTwceU9UGVV0HlAOT3b1y8lR1kaoqXg0mPE9oX08CZ4gk4DL47kSE2mO/ye6pvyZ98xL6PXUB6VuXRt10TEkO15xSxqTBuVxzSlnSjPyy20Qbk1xiNZ3dBzwpIleEmptEZChwl1vXadx+JwBvAQNUdQt4wUhE+rvNSoHwmSArXFqTex2ZHsqz0e3LLyLVQDFQ2Znl74nqj5xBILeMgoXXUTz3y9SNmcWe466B1P2TQ7B8Sx23v1pBU0B5b3MtRxRnJUWwCTWTWR+NMcmhxUCjqr8VkVrgFRHpgze0pw64WVXv6awCuH3/HbhWVffEqHBEW6Ex0mPliSzD5XhNb5SWlh6UobdqLJnEwk88QuHbv2Pi8vvJXPsCteMvY+9RF0BqRof7aA51xFpbzBjd1wKMMUki5vBmVf0j8EcXDCRan01HiEgaXpB5WFWfcsnbRKTE1WZKgO0uvYLmMxKUAZtdelmU9PA8FSKSCuQDB110oar3AvcCjBs3zsbKOsu31HH1PzbRFLiYk1LHckf6sxS+/ity3/kjdaO+yEkFp/A3nxzSEOXWLrqMZxAyxnSttlywiarWxiHICF4T3GpVDb8T11xglns9C3g2LH2miGSIyDC8Tv/FrpmtRkSmuH1eEpEntK8LgAWuH8e0QfjNyV5vOoY/HfYHKs+djb9oOHlLbufklz/HksLreXjIczw2ZSPj+1RBGw9vrIsu23L3TZuCpuvYsTYdlci7TZ0EfBlYLiLvurSfADcDc0TkMmADcCGAqq4UkTnAKrwRa1e6O4ACXMGB4c3z3AO8QPagiJTj1WRmxvkz9SgH3ZwsO43GQZPZOWgyKbVbyFo3n8x1LzJl2+PItkdgCQTT+hDoM5BAzgB2UsjmhgwKC4voV1SIpmahqZloWjYlu2sYK8oestmhBeza27j/fUMBTjlw983I2s6hXr+TaN2tptadj7VJHrEu2LxQVZ8QkWFulFenUtXXiN6HAnBGC3luAm6Kkr4EGB0lfR8uUJn2C78ZWeTNyYJ9Sqgbcwl1Yy4B/z7Sdn1EWuVKUnf/F1/dNhqrNpOyezVHU0/ujvqD9v0jgIwDy/u2ZJH6+AD8+UM5yz+I7Sl5vKvDWaslB919s6N9Q62JVzDojifteB9r0zvEqtFcBzyB14dit27uhcJP8EqM2y2nZtLUfyxN/cfuT3rg7a3cu20LQQWfBLnquHw+PzYPaapHmvby+oebeG7ZevLYSz+p4tND/ByZuYfUqrWMq3qNY9O9oFapeVSumkBW2lnsO+x0NLOgg9PXxBbPYNAdT9rxPNam94gVaHaKyMvAMBGZG7lSVc+LX7FMMujI7ZYnlOXiS9mKBpSUFB8jDyshmH3gpPr0m+m8GjwwdcwHksfNnzwCgBWbqvnDs/9hnH7IFN8HnLXvA7JeeQWVVBpKj2fyiPP4v/NO5p0tDS3WOmLVSmKti2cwCD8mvpTucdK2G9SZzhAr0HwarybzIPC7rimOSSYdvd2y33X2+wMHDxCorPO3uDy6NJ9zT5nCwvKjGTx8FrtHFVNbuZLMtS+QtfZ5Cl/+EVPTC8gt/BSNxV8Ajmi2r1gj2lob7Rb/X/Aa8Zz87AZ1pqNiXUfTCLwpIieq6g43I4Cqam3XFc8kUkd+zd7z+qZmp9R7Xt/E3RccuX/9uaOKWbVtb7PlkOgXgo6mqd9oaiZ/h83LX2b3G/dz+tZHCWx9nG1Dp5N+4rcI5HrXQIVGtMGBEW2hssda19HP3JplFTUEgt7xCATpFk1nxnSGtow6GyAiLwJFeKOSdwCzVHVFfItmkkFrv2Zbaob6ePe+ZttFLse6ej9m85Wk8O+GUdzb9F1KdAffSpvLzA1zSdn4D/YefQE1E69i196mZu/VfLn1WwzE6xe89XeY3qotgeZe4Luq+jKAiEx1aSfGr1imO4jVce5LaT6gMHIZ4IjiLPbU+zmiOKtZemsn5ND6LYF+/EK/RtkZ32HS5ofIXj2HrPLn+FzuxbzJyTS6uV+Lsg98zdtyi4F4sf4O01u1JdDkhIIMgKoujDbZpul9YtU8UiKmEopcjhWkWjshR64fUZJD9eE3UDfqS+S9eQvTN/6F0en/5Hr/pSwKjuLI/tnN8sa6xUC8WX+H6Y3aEmjWishP8QYFAHwJ6PTrakz3E6vmMb60Dy9+uLvZcrjWRne1dkKOtt5feAS7zrmXf/zj70zbdAePpt/Ek4FTWLbl2xDWNGcne2O6VlumoLkU6Ac85R59ga/Gs1AmecSafiRUs7h8SslB15tkpzX/akUux/NeNqtzjuOsxlu5y38e01Ne57qPv0bm2uc7bf/GmPZptUbj7m55dReUxSSZtly82HLtILJPpvly6F42ocEAnVnDCPXD/NY/k3/piTxSMJuif3+H+sNfoPqknxLMKoqZv7tNE9MZeuNnNl0nkXOdmSTX2pxj0PIJ6pxjilynu5LqE845puigfLe9UoE/oCzb1P572cQ6MY4pyeE7pw52Qewk6kZ+GnnvPnKX3kX65sVUn/IL9g2NOstRt5wmpqN642c2XatNszeb3umgSTUjpqCJNcvymJIcLhrfj9L8dC4a3++gE1es2Ztb09rszqHrcJZsrOH2VytYvq2B2gnfYMf5TxLMGUDRi1dRsPAnSOPBl4RF6zvqTMk4E3K8P7MxFmhMi0JT0ED0KWhinaCeWVHJw0u3U1HdyMNLt/PMisibmrZ+PUtLWjsxht/eoNF/YL2/6Eh2zHiMmgnfIGvNs/R78jzSNy9uljeefUdtuf1BIsTzMxsDbQg0InKkiLwkIivc8lgRuT7+RTOJ5k1B452A0lNbup4l+glqzrLtzbaNXD7nmGLSfF4AS2vn9SytnRhrGgPNZiWoaQwcWOlLp+a4a6k872FISaP4ua+Qt+gW8DcAsQc4QMdqJMlac2jtMxvTUW3po/kz8APgTwCq+r6IPAL8Kp4FM4nXlutZWurQ3+cPNts2crkj17O0Vq41EbcliFwGaBownh2fe5q8N2+lz/L7yah4jaqpN9PUb1SLAxw62peRzDMD2JBvE09tCTTZqrpYml9w1/ZpfE23FusE5HXob8QfgGWbapp16A/MTWdrzYGpXwbmprdr3x0pV0FEX1LkcrOBBCffyL7DTqfg1Z/S95mLqZ3wDRaVfJl3Nu87KIh1dGZnmxnA9FZt6aOpFJEjcI3oInIBsCWupTLdwrzVO2kK4Dr0veWQoUWZzbaNXI6nqoi+pPDl0OzNf1q0haue8vpJGoacwvYL51J/xKfIfeduyp6byWtvvrF/fUhb+jKeWVHJtc+UR+mT8owpyeGS4wZakDG9SlsCzZV4zWZHi8gm4Fq8WyebXq/la2U60gfTUVOHF7S43NJoN83Ip+r0W7lv4A30o4pn0n/K9+Rh/r1y8/68rfVlPLOiklsXbGTxhhpuXbCxxWBjDkjGUXim87Xlgs21wJlufrMUVe20HkwR+StwLrBdVUe7tCLgcWAosB64yF00iohcB1wGBICrVfUFlz4RuB/IAv4FXKOqKiIZwAPARGAncLGqru+s8vd2R/bPanE5kXOKxZoZOvbMzrC8z4nc3lDKdamP8s3U56jcsBTZ8DMahkxt9X2fW7nzoOXw9wa7MDKcXb/Te7Rl1Nn/ikiBqtapao2IFIpIZw0EuB+YFpH2Y+AlVR0BvOSWEZGRwExglMtzt4j4XJ57gMuBEe4R2udlwG5VHQ7cBtzSSeU2tD78OZHNRDNG9+UPM4YfdKIPn8k52vI5xxRTl9KH6/xf5wtN15OZkU7x81dQ9Pw3+e+a1Vz11Eeu2e2jg36Fp/sk5nK0ZrveLFlH4ZnO15ams3NUtSq04GoXn+qMN1fVV4HIK/WmA7Pd69nAjLD0x1S1QVXXAeXAZBEpAfJUdZGqKl4NZkaUfT0JnCERoxrMoWtt+HMyCp/JOdoysP+SnreCI3lj6mNUH/8D0re8zQkvX8xPZDbFVB/UJwVQ1+iPudyRi1R7Irt+p/doy6gzn4hkqGoDgIhkARlxLNMAVd0CoKpbRKS/Sy8F3gzbrsKlNbnXkemhPBvdvvwiUg0UA80az0XkcrwaEaWlpZi26egoqkQ0I4XXuqLVwh5euo3QnacDCg8t28Xocy+lfsS5fPDUTXy5bj4X+xby18A0VtXOBIbsz7ujtvm+Ipdbu0j1mRWVUZv7eqp4zndnkktbAs1DwEsi8je8/4xLOVBL6ErRaiIaIz1WnuYJqvfi3cyNcePGdZ+buSeBQx2inKj2+fCLNw+6mBP4aMfeqMvB7P78teAafr77bL6T+iRXpT5Lw7bn8b/2WWrHzCKQP5ShRZm8u/lAc1jkSLtzjinmHyt3ElDwSfMBEqGBBACLN3hNSD092ES/ZXcXBZtgE2mVq0jfvhxf7WZ8NZtJqa+ElFTUl4GmZdNUNIKmfmNo7DcazSzsmnL1UG0ZDHCriCwHzsA7cf8y1AkfJ9tEpMTVZkqA0CXlFcDgsO3KgM0uvSxKenieChFJBfI5uKnOJEBHr0k5VK1dzNkYCLa4XJSdyqtawtVN3+YO/2f5Zb8FTPng72SvepyG0hO4qvh0vr35cOrxAsxZRzefSPS/O+ub1Zb+u7N+/2eONpNCTw80Xf0dSNm7ncy188nc8DLpW5eR4vd+RKgvA3+fQQSz+0HQT0pjLSnV68lc+wLifpc2lExm79EXUD/sk5DadUP1e4o2zd6sqvOAeXEuS8hcYBZws3t+Niz9ERH5PTAIr9N/saoGRKRGRKYAbwGXAP8Xsa9FwAXAAtePYxIsUVfJTx1esL/GEFoOl+FLwRvUGL7sCb8N9McpZew59Vdsy/8JOaseJ2vNM5y56Ve8nZHJwuB4Xg6M561VU5oFi4XlVc3ea2F51f71rc2k0FHJONqtK74D0rSXzLXPk/3Rs6RveRtBaSo4gvojZ9Aw6DgaB0wgmN0fonTdSmOtV+vZ8jbZa+ZS+PIPyX89j9oxl1A39qtoWpT+PRNVi4FGRF5T1U+ISA3Nm5sEUFXN6+ibi8ijwFSgr4hUADfgBZg5InIZsAG4EO8NV4rIHGAV3swEV6pq6IxwBQeGN4cHxfuAB0WkHK8mM7OjZTadI1FXyc8Y3ZdN1Q28Ul7FqVH6QgbkprElbEaDAblpzcocOWQ7SA41k66iZuK3uP7Pc/hk4FXO8C3jXN+bUPVHmuYcQVO/0TT2G8MX+vVn4wZhG4UESWkW5FJTmp/oIpcBCDSS0lDtHnuQhmpSGmuQxlq279rNjl3VDOoj9MsCNACSAuJjx94gqz6sZ59mMf/tHIpPGsmQwUMI5AxA0/OinmS7Qjy/A6m7PnI/AOaS0lSLP38otcdeQf3h0/AXjQBcn9j8KqYO9x30PTjQX3Y4MyZOpvbYK0jfsoScFQ+Rt/ROcj54gj3HXUv9iPO842xiEvuB39y4ceN03ryuqryZrta8b0gO6hu64smPeC+sn2XcoBzuueDIZvlbOjHOemQ1ayr3Acoo+Zjzc1fyxYGbSNuxAl/9gfEnjepjO4Vk5hSQm1+EpmXz+se1NAUFQUmniewUPxMG+JDG2v3BJMV/8Jxt4YIqNJJKalo6Kb5UUAX1429qIp2m6HnS8/AXDGVFwwAW1Q4ks2wMnzr1ZDSzoB1HNUkE/WSuX0DOyofJ2LIY9aVTP+xs9h5zEY0DJzYLqOF9YgA/PH3w/mATax1A+tal5C26mfQdK2gYdDy7T7uFYM6ALviA7aBBMj9+mca+Iwn2KemStywtLV2qqpOirYvZdCYiKcD7oYspjenuWusXqI4YhVYdZfoa72ZuW7nz/OZBqiQvwwUaYaUOpbjvOM6ZdjioklK3lT//6zXqd3zMENlOP6niMH8DYzRAyt7tDJY6guI1l+0jDVLSCablozklBNP7oOl9CGYUEMzMJ5ieh2bkE8zII5iey5xV9fxxaTV1mkGKCJcfW8Ilxw3cX64vPLiKit115LKXPNnL2Ny9/PzkLHx120jds4GtH39ISe1SrpRd8DHwAPjzhtA4YDyNA46lceCx+AuHJ6zm05qUvZVkf/AEOavn4Kvbir/PIPZM/h51R3+uxU78WM2YsdYBNA6cSOWMx8n+8O/kvXEz/Z+cTtWpv2Lf0DPbVN54N2P6qj+m4NWfkrHlbYJp2eyZ/F32jvx8QmteMQONqgZF5D0RGaKqG7qqUMbEy4SyXHwpW9GA4ks5uF9gSGEm63c3NFsOCV0HAweug2nTiUKEYJ8Sikee1vyX8smDGeROYNc/U96s72jykFz+8OnhbfpMRw6rw//uGlJa6OuobQzgJ5Xd5LFb86gLpLLviDH718/670oqGhopoIZRKev5RNYGvlK0jYyK18leMxeAQGYRjSXH0TBoMo2lU/DnD0ts4NEg6ZveJPvDv5O1bj4SbGJf6YlUn3Q9+4ZMhRRfzOyx+upa68cDQFLYe/SFNAycROGCH1D04repHf1l9kz5IaS0fFqN62hLVXJWPEju4tvAl0b1iT8hY8OrFLz+K7LK/0XV6bcSyE3M5RttGQxQAqwUkcXA/jYFVT0vbqUyJq404vmAL04cwOvrqwkEwZfiLR+cL/pya7MOxJoaZ3N1Q7NtI5djaa2vY/def8zlvU1eV2cVubweHMNqHc/0s8aCKr6ajaRvWUrG5rdI37yYrHXegNNAdn8aBh1PQ+kUGgcdH7cTWLNri0YVk7p7DVlrnyfro2dJrd1MMCOfupEzqRv5eQIFw9q831h/i1jrIgUKhlE5/RHy3votfVY8SGrVWnaf8Xs0I3oXdjxH2uUsv5/8N29l35DTqDr5RoI5/akb9SWy1jxL/mu/JPjKrTww4LqEDAhpS6D5edxLYUwXWVZRQyDohYhAkIP+0ceU5HD356LP0RY+6iw1ykShra0H7yQW7cQ1cmAOFdWNzZbbI9b1TCI0i4mRFZFdewPRl0UI5A2hPm8I9Ud9dn/gydj0pveoeJ3s8n8A4O8ziMaBE2kceCyNAybgLzwi5i/7tnhmRSW3L/gvE1M+gs0ryFr2LoX1G1CExtLjqZn8XeqHngmph3b9eEt/i9bWHcSXzp4Tf4K/6Ejy//Nz+j4zk13T7iGQf9hBm8ZrpF3m+n+T9+ZvqD98GrvP+N2BZjIR6o+cQe3axRR9PI/7132Bv/kyunxeuVijzjKBbwLDgeXAfapq96Ex3Vpb/tFbOmm3NlFoRyYSPTzi4s7I5Y44fUQhL364u9lyuIg4FPUqZ2+FF3j25g1h7zEXgSqpu8u92s6Wt8nYtGh/4FFfBk1FR9JUfDTv1ffj9aoChgwdwaljDieYUQC+sPsTqSJNe0mpr8S3dwepu/9L2q6POG3Nu1yWsYYMacKvKXzgH4184ivsG3qmd81Lktl79AX484ZQOP8a+j77eXZN+yNN/cc22yYeI+3SKldSsOCHNPUbw+6pv47aF/NG2hQulqc5UVawMHBsl123FhLrJ8dsvOld/gOcA4wErumKQhkTL/EeVn2oMyVMKMslI/XQf+nG6mD+3Nh+zP9w9/5pND43tvlJOs0H4RMkpEV0b7S4bxH8RSPwF42gbvSXXI2ngvRt75K2czVplatIKX+RE/3VnAjwnnsAQV8mSAoaDKAaJFWbj4oLpuVQkDmM2fVn8UZwJG8Hj+bKk45kxsjkvoi1cdBkKmc8SvG/Lqf4ua+w+8zfHzTzd2fezTSlbhtFz3+LYGYBu86+k+U7Aiyr2HrQ36rw6FOoKc/iHN/bvK4Tu3xeuViBZqSqjgEQkfuAxV1TJGPiKxmnzelIAGytXMsqahDxRjuLHNxcOHV48xrP1OGFbd53MyIE8gZTnzeY+hGfAeBrj39IxbbtHCbbGSzbGZnXyCVjMklp2MOO2kYWlFfhDwp7pA/TJh7FoJJS/AXDCPQZ5AWyFZXsLa/iym40/1sgfyiV0x+h6PlvUvTCVVSffAN7j76w099H/PUUvXAl0lTLzvMe4b3q7Bb/VqNLC6gpm8q5W18nf9owRidRH83+nxhuQsouKI4xySveU6YcagBsrVytNRfeePZQAN5cv4cpQ/P2L7dl363pm5PGKvqwXPuwXA+ntiif8yccDsDjb2/l3qYtBBVSBAJSwiWDBzbL366+kiQSzO7Lzs/MpvDf36Hg1Z/hq9lEzaRrOm+knioFC39CWuUqdp19F/7io1j29taYf6vMkeeQtWkex7KKRk7onHK0UaxAM05E9rjXAmS55U6bGcCY7iRR0+a0prVytaW2FB5c2rPv1sQaxZesx7OzaFoOu86+i/zXfknusj/hq9lE1ak3Ne+fOkR93rmbrLXPU33892k47DSg9ePZMPgTBH2ZZK2bT2Np1wYamxkggs0MYGJJxjnDIL7l6ui+Y+VP1uPZqVTp8+6fyXv7NhoGTmT3Gb8nmNO/9XwtyF75CAWv/5K9R86g6tT/bVZLau14Fr54Nenb32XbFxd2+gWcsWYGsEATwQKNMSYeMv/7LwpeuR5Ny2b36b+lsXRKu/fR590/k7f49+wbchq7PvmHdteOssqfo3DBD9gx/RGaBkxo9/vHEivQ2GxwxhjTBfYd8SkqPzuHYEYBxf+6jNwld4B/X9syq5K7+PfkLf49e4efy66zbj+kJrh9Q05FU9LIWvfvduftCAs0xhjTRfyFw6n87OPUDz+X3HfuYcDj55D10TOgLd8WIn3rO/Sd+wVy3/0zdcdcTNXUmyElrcXtY9H0XJqKjyJ114eH+AkOTccu3TXGGNMumpZD1Wm3sPfoC8h78zcULryO3GV/Yt/gk2ksOY6mwuH46raSWlNBxoZXyVr/bwLZ/dh9yq+oP+r8Do9c8+cNIX378k76NG1jgcYYYxKgseQ4Kmc8RtZ/55H94d/JXv0EfVY82GybYFoOeyZdTd2YWZ12o7VA3mB8a1+AYNMh14zaywKNMcYkiqRQP/zT1A//NAQaSd+xHF/1BgJ9SgjklhHoM7DDc8ZF8ucNQTSAr2Zz1PnY4sECjTHGJANfuneDtoET4/o2gbwhAKTu2dhlgcYGAxhjTC/id4HGt6frbjHWKwKNiEwTkQ9FpFxEfpzo8hhjTKIEs/sR9GWSaoGm84iID7iLAzNQf15ERia2VMYYkyBu8lPfno2tb9tJenygASYD5aq6VlUbgceA6QkukzHGJIw/fwipez7usvfrDYGmFAgP3RUubT8RuVxElojIkp07d3Zp4YwxpqsF8oaQuqci5oWinak3BJpoVzc1m+BNVe9V1UmqOqm4+ODb7xpjTE/izxuCBBpIqdveJe/XGwJNBTA4bLkM2JygshhjTMIF8rxTYlcNCOgNgeZtYISIDBORdGAmMDfBZTLGmITx53nXz3RVoOnxF2y6u4NeBbwA+IC/qurKBBfLGGMSJtBnICqpXTbyrMcHGgBV/Rfwr0SXwxhjkkJKKoHcQdZ0ZowxJn78+Yd12ewAFmiMMaYXCuQOJnXPRuiCuyxboDHGmF7Inz+ElMYaUhqq4v5eFmiMMaYX6srJNS3QGGNML7T/dgHVFmiMMcbEgT+3DEWsRmOMMSZOUjMI5AzskiHOFmiMMaaXCvYZiK8L5juzQGOMMb1UMKPARp0ZY4yJn2BmASn7quL+PhZojDGmlwpmFiAWaIwxxsRLMKOAlMA+8O+L6/tYoDHGmF4qmJEPQEpDdVzfxwKNMcb0UsHMAoC499NYoDHGmF5qf6CJ88gzCzTGGNNLBTMKAKvRGGOMiRNrOjPGGBNXPXowgIhcKCIrRSQoIpMi1l0nIuUi8qGInB2WPlFElrt1d4iIuPQMEXncpb8lIkPD8swSkTXuMavLPqAxxnQHqZkEfZk9to9mBXA+8Gp4ooiMBGYCo4BpwN0i4nOr7wEuB0a4xzSXfhmwW1WHA7cBt7h9FQE3AMcDk4EbRKQwjp/JGGO6He2C2QESEmhUdbWqfhhl1XTgMVVtUNV1QDkwWURKgDxVXaSqCjwAzAjLM9u9fhI4w9V2zgbmq+ouVd0NzOdAcDLGGEPXTEOTbH00pcDGsOUKl1bqXkemN8ujqn6gGiiOsa+DiMjlIrJERJbs3LmzEz6GMcZ0D10xsWbcAo2I/FtEVkR5TI+VLUqaxkg/1DzNE1XvVdVJqjqpuLg4RvGMMaZn6Yr5zlLjtWNVPfMQslUAg8OWy4DNLr0sSnp4ngoRSQXygV0ufWpEnoWHUCZjjOmxghn5PXPUWQxzgZluJNkwvE7/xaq6BagRkSmu/+US4NmwPKERZRcAC1w/zgvAWSJS6AYBnOXSjDHGOF7TWTVo1AafThG3Gk0sIvJZ4P+AfsA/ReRdVT1bVVeKyBxgFeAHrlTVgMt2BXA/kAXMcw+A+4AHRaQcryYzE0BVd4nIL4G33Xa/UNVd8f90xhjTfQQzCxANII01aEZeXN4jIYFGVZ8Gnm5h3U3ATVHSlwCjo6TvAy5sYV9/Bf7aocIaY0wPFj7fWSBOgSbZms6MMcZ0of2zA8RxQIAFGmOM6cUO1GjiNyDAAo0xxvRiXTGDswUaY4zpxbQL7kljgcYYY3qxYHoeiliNxhhjTJyk+NCMPAs0xhhj4ieYkY9Y05kxxph4CWYW2KgzY4wx8RPMyLemM2OMMfET71sFWKAxxpheLt43P7NAY4wxvVwws4CUpjoINMZl/xZojDGml9s/O0CcBgRYoDHGmF4u3vOdWaAxxpheTuM8g7MFGmOM6eWCcZ7vzAKNMcb0cvGewdkCjTHG9HL7azQ9KdCIyG9E5AMReV9EnhaRgrB114lIuYh8KCJnh6VPFJHlbt0dIiIuPUNEHnfpb4nI0LA8s0RkjXvM6srPaIwx3YWmZqMpaXGb7yxRNZr5wGhVHQt8BFwHICIjgZnAKGAacLeI+Fyee4DLgRHuMc2lXwbsVtXhwG3ALW5fRcANwPHAZOAGESmM/0czxphuRsSbhqYnjTpT1RdV1e8W3wTK3OvpwGOq2qCq64ByYLKIlAB5qrpIVRV4AJgRlme2e/0kcIar7ZwNzFfVXaq6Gy+4hYKTMcaYMPGcHSAZ+mguBea516XAxrB1FS6t1L2OTG+WxwWvaqA4xr4OIiKXi8gSEVmyc+fODn0YY4zpjrwZnKvisu/UuOwVEJF/AwOjrPofVX3WbfM/gB94OJQtyvYaI/1Q8zRPVL0XuBdg3LhxUbcxxpierKH0JMRfH5d9xy3QqOqZsda7zvlzgTNccxh4tY7BYZuVAZtdelmU9PA8FSKSCuQDu1z61Ig8Cw/hoxhjTI9Xe+w347bvRI06mwb8CDhPVfeGrZoLzHQjyYbhdfovVtUtQI2ITHH9L5cAz4blCY0ouwBY4ALXC8BZIlLoBgGc5dKMMcZ0objVaFpxJ5ABzHejlN9U1W+q6koRmQOswmtSu1JVAy7PFcD9QBZen06oX+c+4EERKcerycwEUNVdIvJL4G233S9UdVfcP5kxxphm5ECrlQGvj2bevHmtb2iMMWa/0tLSpao6Kdq6ZBh1ZowxpgezQGOMMSauLNAYY4yJKws0xhhj4soCjTHGmLiyUWcRRGQH8HEHdtEXqOyk4nQmK1f7WLnax8rVPj2xXIepar9oKyzQdDIRWdLSEL9EsnK1j5Wrfaxc7dPbymVNZ8YYY+LKAo0xxpi4skDT+e5NdAFaYOVqHytX+1i52qdXlcv6aIwxxsSV1WiMMcbElQUaY4wxcWWB5hCJyF9FZLuIrAhLu1FENonIu+7xqQSUa7CIvCwiq0VkpYhc49KLRGS+iKxxz4VJUq6EHjMRyRSRxSLynivXz116oo9XS+VK+HfMlcMnIstE5Dm3nNDjFaNcCT9eIrJeRJa791/i0hJ+vFooV1yOl/XRHCIROQWoBR5Q1dEu7UagVlV/m8BylQAlqvqOiOQCS4EZwFeAXap6s4j8GChU1R8lQbkuIoHHzN1IL0dVa0UkDXgNuAY4n8Qer5bKNY0Ef8dc+b4LTALyVPVcEbmVBB6vGOW6kcT/T64HJqlqZVhawo9XC+W6kTgcL6vRHCJVfRXvRmtJRVW3qOo77nUNsBooBaYDs91ms/FO8slQroRST61bTHMPJfHHq6VyJZyIlAGfBv4SlpzQ4wUtlitZJfx4dSULNJ3vKhF53zWtJaT5IEREhgITgLeAAe6W2Ljn/klSLkjwMXPNLe8C24H5qpoUx6uFckHiv2N/AH4IBMPSEn68WigXJP54KfCiiCwVkctdWjIcr2jlgjgcLws0nese4AhgPLAF+F2iCiIifYC/A9eq6p5ElSNSlHIl/JipakBVxwNlwGQRGd3VZYimhXIl9HiJyLnAdlVd2pXv25oY5Ur49ws4SVWPBc4BrnTN7skgWrnicrws0HQiVd3mTg5B4M/A5ESUw7Xp/x14WFWfcsnbXD9JqL9kezKUK1mOmStLFbAQrx8k4ccrWrmS4HidBJzn2vcfA04XkYdI/PGKWq4kOF6o6mb3vB142pUh0ccrarnidbws0HSi0BfH+SywoqVt41gGAe4DVqvq78NWzQVmudezgGeToVyJPmYi0k9ECtzrLOBM4AMSf7yilivRx0tVr1PVMlUdCswEFqjql0jw8WqpXIk+XiKS4wa/ICI5wFmuDIn+fkUtV7yOV2pn7KQ3EpFHgalAXxGpAG4AporIeLy2z/XANxJQtJOALwPLXfs+wE+Am4E5InIZsAG4MEnK9fkEH7MSYLaI+PB+eM1R1edEZBGJPV4tlevBJPiORZPo71dLbk3w8RoAPO39ziIVeERVnxeRt0ns8WqpXHH5ftnwZmOMMXFlTWfGGGPiygKNMcaYuLJAY4wxJq4s0BhjjIkrCzTGGGPiygKNMW0kIkMlbLbusPRfiMiZreS9UUS+H7/SGZO87DoaYzpIVX+W6DIYk8ysRmNM+/hE5M/i3SPmRRHJEpH7ReQCABH5lIh8ICKvicgd4u6L4owUkYUislZErnbb/zDs9W0issC9PsNN7YKI3CMiS6T5fWnOEJGnQzsWkU+KyFNEcDWp2a6s60XkfBG5Vbz7kDzvpgUK3ZvkFvHugbNYRIa79CNE5E0RedvV3Goj38OY1ligMaZ9RgB3qeoooAr4XGiFiGQCfwLOUdVPAP0i8h4NnI03f9QN7iT/KnCyWz8J6OPSPwH8x6X/j6pOAsYCp4rIWGABcIyIhN7jq8DfWijzEXjT508HHgJeVtUxQL1LD9mjqpOBO/FmQga4HbhdVY8DNsc+NMZEZ4HGmPZZp6rvutdLgaFh644G1qrqOrf8aETef6pqg7vR1Ha8aUCWAhPdvFMNwCK8gHMyBwLNRSLyDrAMGAWMVG9KjweBL7k50U4A5rVQ5nmq2gQsB3zA8y59eUT5Hw17PsG9PgF4wr1+pIX9GxOT9dEY0z4NYa8DQFbYsrQzb6qqNrkZh78KvAG8D5yGVwtZLSLDgO8Dx6nqbhG5H8h0+/gb8A9gH/CEqvpF5Erg62596Da8DQCqGhSRJj0w71SQ5ucAbeG1MR1iNRpjOs8HwOHi3dgN4OI25nsVL5i8ileL+SbwrgsIeUAdUC0iA/DuHQLsn+Z9M3A9cL9Lu0tVx7tHe5u6Lg57XuRev8mB5sGZ7dyfMYDVaIzpNKpaLyLfAp4XkUpgcRuz/gf4H2CRqtaJyD6Xhqq+JyLLgJXAWuD1iLwPA/1UdVUnfIQMEXkL7wfo513atcBDIvI94J9AdSe8j+llbPZmYzqRiPRR1Vp3/527gDWqelsc3+9OYJmq3tfB/awHJrn+o/D0bKBeVVVEZgKfV9XpHXkv0/tYjcaYzvV1EZkFpON13v8pXm8kIkvxmtW+F6/3ACYCd7rAWQVcGsf3Mj2U1WiMMcbElQ0GMMYYE1cWaIwxxsSVBRpjjDFxZYHGGGNMXFmgMcYYE1f/DzRHjISRgDLPAAAAAElFTkSuQmCC\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",
"f2 = np.polyfit(x, y, 11)\n",
"p2 = np.poly1d(f2)\n",
"print(p2)\n",
"PlotPolly(p2, x, y, 'highway-mpg')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"# Here we use a polynomial of the 11rd order (cubic) \n",
"f1 = np.polyfit(x, y, 11)\n",
"p1 = np.poly1d(f1)\n",
"print(p1)\n",
"PlotPolly(p1,x,y, 'Highway MPG')\n",
"\n",
"```\n",
"\n",
"</details>\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>\n"
]
},
{
"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",
"$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can perform a polynomial transform on multiple features. First, we import the module:\n"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.preprocessing import PolynomialFeatures"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We create a <b>PolynomialFeatures</b> object of degree 2: \n"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pr=PolynomialFeatures(degree=2)\n",
"pr"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [],
"source": [
"Z_pr=pr.fit_transform(Z)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The original data is of 201 samples and 4 features \n"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(201, 4)"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"after the transformation, there 201 samples and 15 features\n"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(201, 15)"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z_pr.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Pipeline</h2>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"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.\n"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"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 \n"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"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": 55,
"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. \n"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/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/envs/python/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": 56,
"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\n"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/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": 61,
"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>\n"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/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/envs/python/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/envs/python/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": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"Input2 = [('scale2',StandardScaler()), ('model2',LinearRegression())]\n",
"pipe2 = Pipeline(Input2)\n",
"pipe2 \n",
"pipe2.fit(Z,y)\n",
"ypipe2 = pipe2.predict(Z) \n",
"ypipe2[0:10]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\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",
"```\n",
"\n",
"</details>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Part 4: Measures for In-Sample Evaluation</h2>\n"
]
},
{
"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",
"<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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Model 1: Simple Linear Regression</h3>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the R^2\n"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The R-square is: 0.4965911884339176\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\".\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the MSE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can predict the output i.e., \"yhat\" using the predict method, where X is the input variable:\n"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The output of the first four predicted value is: [16236.50464347 16236.50464347 17058.23802179 13771.3045085 ]\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>\n"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import mean_squared_error"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we compare the predicted results with the actual results \n"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean square error of price and predicted value is: 31635042.944639888\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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the R^2\n"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The R-square is: 0.8093562806577457\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\".\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the MSE\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" we produce a prediction \n"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {},
"outputs": [],
"source": [
"Y_predict_multifit = lm.predict(Z)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" we compare the predicted results with the actual results \n"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean square error of price and predicted value using multifit is: 11980366.87072649\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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the R^2\n"
]
},
{
"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\n"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import r2_score"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We apply the function to get the value of r^2\n"
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The R-square value is: 0.674194666390652\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\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>MSE</h3>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also calculate the MSE: \n"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"20474146.426361218"
]
},
"execution_count": 93,
"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>\n"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"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 \n"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [],
"source": [
"new_input=np.arange(1, 100, 1).reshape(-1, 1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Fit the model \n"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.fit(X, Y)\n",
"lm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Produce a prediction\n"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([37601.57247984, 36779.83910151, 35958.10572319, 35136.37234487,\n",
" 34314.63896655])"
]
},
"execution_count": 99,
"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 \n"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"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>\n"
]
},
{
"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",
"<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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Simple Linear Regression model (SLR) vs Multiple Linear Regression model (MLR)</h3>\n"
]
},
{
"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.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Simple Linear Model (SLR) vs Polynomial Fit</h3>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Multiple Linear Regression (MLR) vs Polynomial Fit</h3>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Conclusion:</h2>\n"
]
},
{
"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>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Thank you for completing this lab!\n",
"\n",
"## Author\n",
"\n",
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>\n",
"\n",
"### Other Contributors\n",
"\n",
"<a href=\"https://www.linkedin.com/in/mahdi-noorian-58219234/\" target=\"_blank\">Mahdi Noorian PhD</a>\n",
"\n",
"Bahare Talayian\n",
"\n",
"Eric Xiao\n",
"\n",
"Steven Dong\n",
"\n",
"Parizad\n",
"\n",
"Hima Vasudevan\n",
"\n",
"<a href=\"https://www.linkedin.com/in/fiorellawever/\" target=\"_blank\">Fiorella Wenver</a>\n",
"\n",
"<a href=\" https://www.linkedin.com/in/yi-leng-yao-84451275/ \" target=\"_blank\" >Yi Yao</a>.\n",
"\n",
"## Change Log\n",
"\n",
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n",
"| ----------------- | ------- | ---------- | --------------------------------------------- |\n",
"| 2020-10-30 | 2.2 | Lakshmi | Changed url of csv |\n",
"| 2020-09-09 | 2.1 | Lakshmi | Fixes made in Polynomial Regression Equations |\n",
"| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n",
"\n",
"<hr>\n",
"\n",
"## <h3 align=\"center\"> © IBM Corporation 2020. All rights reserved. <h3/>\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python",
"language": "python",
"name": "conda-env-python-py"
},
"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.12"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment