Skip to content

Instantly share code, notes, and snippets.

@dmalc
Created October 9, 2020 02:07
Show Gist options
  • Save dmalc/60be9cc3d9f5efaea5d08945c94c6b95 to your computer and use it in GitHub Desktop.
Save dmalc/60be9cc3d9f5efaea5d08945c94c6b95 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": 61,
"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://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/automobileEDA.csv'\n",
"df = pd.read_csv(path)\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>1. Linear Regression and Multiple Linear Regression</h3>\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": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"lm1= LinearRegression()\n",
"lm1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm1 = LinearRegression()\n",
"lm1 \n",
"\n",
"-->\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": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm1.fit(df[['engine-size']], df[['price']])\n",
"lm1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm1.fit(df[['engine-size']], df[['price']])\n",
"lm1\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #1 c):</h1>\n",
"\n",
"<b>Find the slope and intercept of the model?</b>\n",
"\n",
"</div>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Slope</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[166.86001569]])"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm1.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Intercept</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-7963.33890628])"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm1.intercept_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"# Slope \n",
"lm1.coef_\n",
"# Intercept\n",
"lm1.intercept_\n",
"\n",
"-->\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": 22,
"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>engine-size</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>13728.463133</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>13728.463133</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>17399.383479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10224.402804</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>14729.623228</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>196</th>\n",
" <td>15563.923306</td>\n",
" </tr>\n",
" <tr>\n",
" <th>197</th>\n",
" <td>15563.923306</td>\n",
" </tr>\n",
" <tr>\n",
" <th>198</th>\n",
" <td>20903.443808</td>\n",
" </tr>\n",
" <tr>\n",
" <th>199</th>\n",
" <td>16231.363369</td>\n",
" </tr>\n",
" <tr>\n",
" <th>200</th>\n",
" <td>15563.923306</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>201 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" engine-size\n",
"0 13728.463133\n",
"1 13728.463133\n",
"2 17399.383479\n",
"3 10224.402804\n",
"4 14729.623228\n",
".. ...\n",
"196 15563.923306\n",
"197 15563.923306\n",
"198 20903.443808\n",
"199 16231.363369\n",
"200 15563.923306\n",
"\n",
"[201 rows x 1 columns]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"Yhat=-7963.33890628+166.86001569*X\n",
"Yhat\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"# using X and Y \n",
"Yhat=-7963.34 + 166.86*X\n",
"\n",
"Price=-7963.34 + 166.86*engine-size\n",
"\n",
"-->\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": 31,
"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": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 32,
"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": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-15806.62462632922"
]
},
"execution_count": 33,
"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": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([53.49574423, 4.70770099, 81.53026382, 36.05748882])"
]
},
"execution_count": 34,
"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": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2=LinearRegression()\n",
"lm2.fit(df[['normalized-losses','highway-mpg']], df[['price']])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm2 = LinearRegression()\n",
"lm2.fit(df[['normalized-losses' , 'highway-mpg']],df['price'])\n",
"\n",
"-->\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": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1.49789586, -820.45434016]])"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2.coef_\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm2.coef_\n",
"\n",
"-->\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": 42,
"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": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 48271.76986410989)"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAJNCAYAAABwXMA5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAACMyklEQVR4nOzde5zcZX33/9c155k9b5LNcXPYEAiEM0lAwRBQK1bFQ1FDq6CgRMXWu95t1d4td0t739Vfe9tiPQUVOVgFSq2irbYqCQEh5AAECASSbBJ2c9pkz7tznu/1+2Nmwm6S3Z3d2Tns7Pv5eOSxyTc7M9fksPueaz7X52OstYiIiIiISHG4Sr0AEREREZHpRAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiDylXkCxzZw50y5evLjUyxARERGRCrdjx44T1tpZp16fdgF88eLFbN++vdTLEBEREZEKZ4w5eKbrKkERERERESkiBXARERERkSJSABcRERERKSIFcBERERGRIlIAFxEREREpIgVwEREREZEiUgAXERERESkiBXARERERkSJSABcRERERKSIFcBERERGRIlIAFxEREREpIgVwEREREZEiUgAXERERESkiBXARERERkSJSABcRERERKSIFcBERERGRIlIAFxEREREpIgVwEREREZEiUgAXERERESkiBXARERERkSJSABcRERERKSIFcBERERGRIlIAFxEREREpIgVwEREREZEiUgAXERERESkiBXARERERkSJSABcRERERKSIFcBERERGRIvKUegHTwabdHWzY3Epbd5jmhhDr17SwdnlTqZclIiIiIiWgHfAC27S7gzse3UVHf5T6oJeO/ih3PLqLTbs7Sr00ERERESkBBfAC27C5Fa/bEPJ5MCb90es2bNjcWuqliYiIiEgJKIAXWFt3mKDXPexa0OumvTtcohWJiIiISCkpgBdYc0OISCI17FokkWJBQ6hEKxIRERGRUlIAL7D1a1pIpCzheBJr0x8TKcv6NS2lXpqIiIiIlIACeIGtXd7EndevoKkmQG8kQVNNgDuvX6EuKCIiIiLTlNoQFsHa5U0K3CIiIiICaAdcRERERKSoFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIrIU+oFiBTapt0dbNjcSlt3mOaGEOvXtLB2eVOplyUiIiLTlHbApaJt2t3BHY/uoqM/Sn3QS0d/lDse3cWm3R2lXpqIiIhMUwrgUtE2bG7F6zaEfB6MSX/0ug0bNreWemkiIiIyTSmAS0Vr6w4T9LqHXQt63bR3h0u0IhEREZnuVANeBKpBLp3mhhAd/VFCvjf+qUcSKRY0hEq4KhEREZnOtANeYKpBLq31a1pIpCzheBJr0x8TKcv6NS2lXpqIiIhMUwrgBaYa5NJau7yJO69fQVNNgN5IgqaaAHdev0LvQIiIiEjJqASlwNq6w9QHvcOuqQa5uNYub1LgFhERkbKhHfACa24IEUmkhl1TDbKIiIjI9KUAXmCqQRYRERGRoRTAC0w1yCIiIiIylGrAi0A1yCIiIiKSpR1wEREREZEiKngAN8a4jTHPGWN+nvl1ozHmV8aYPZmPDUM+90vGmL3GmFeNMe8Ycv0yY8yLmd/7mjHGZK77jTEPZa4/Y4xZXOjnIyIiIiKSj2LsgH8OeGXIr78I/MZauwz4TebXGGPOA9YBK4DrgG8aY7IzxL8F3AYsy/y4LnP9VqDbWnsW8I/AVwr7VERERERE8lPQAG6MWQC8C/jukMvvBe7L/Pw+4H1Drj9orY1Za/cDe4HVxpi5QK219mlrrQXuP+U22ft6BHhrdndcRERERKQcFXoH/J+APwOcIddmW2uPAGQ+Zk8nzgfahnxee+ba/MzPT70+7DbW2iTQC8yY1GcgIiIiIjKJChbAjTHvBjqstTtyvckZrtlRro92m1PXcpsxZrsxZvvx48dzXI6IiIiIyOQr5A74lcD1xpgDwIPAtcaYHwDHMmUlZD52ZD6/HWgecvsFwOHM9QVnuD7sNsYYD1AHdJ26EGvt3dbaldbalbNmzZqcZyciIiIiMgEFC+DW2i9ZaxdYaxeTPlz5mLX2I8CjwM2ZT7sZ+Gnm548C6zKdTZaQPmy5NVOm0m+MuSJT333TKbfJ3tcNmcc4bQdcRERERKRclGIQz5eBh40xtwKvAx8EsNbuMsY8DLwMJIHbrbWpzG0+DdwLBIFfZH4AfA94wBizl/TO97piPQkRERERkYkw023DeOXKlXb79u2lXoaIiIiIVDhjzA5r7cpTr2sSpoiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkQK4iIiIiEgRKYCLiIiIiBSRAriIiIiISBEpgIuIiIiIFJECuIiIiIhIESmAi4iIiIgUkafUCxCR0W3a3cGGza20dYdpbgixfk0La5c3lXpZIiIiMkEK4FJwCpATt2l3B3c8uguv21Af9NLRH+WOR3dxJ+jPUEREZIpSCYoUVDZAdvRHhwXITbs7Sr20KWHD5la8bkPI58GY9Eev27Bhc2uplyYiIiITpAAuBaUAmZ+27jBBr3vYtaDXTXt3uEQrEhERkXwpgEtBKUDmp7khRCSRGnYtkkixoCFUohWJiIhIvhTApaAUIPOzfk0LiZQlHE9ibfpjImVZv6al1EsTERGRCVIAl4JSgMzP2uVN3Hn9CppqAvRGEjTVBLjz+hU6gCkiIjKFqQuKFNTa5U3cSboWvL07zAJ1QRm3tcub9OclIiJSQRTApeAUIEVERETeoBIUEREREZEiUgAXERERESkilaBMAZokKSIiIlI5tANe5jRJUkRERKSyKICXOU2SFBEREaksCuBlTpMkRURERCqLAniZ0yRJERERkcqiAF7mymGS5KbdHdx49xau+spj3Hj3FtWfi4iIiORBAbzMlXoUuQ6BioiIiEwutSGcAko5SXLoIVCAkM9DOJ5kw+ZWtUIUERERmQDtgMuodAhUREREZHIpgMuodAhUREREZHIpgMuoyuEQqIiIiEglUQ34NJDPKPu1y5u4k3QteHt3mAXjvL2IiIiIDKcAXuGyXUy8bjOsi8mdMK4QrsAtIiIiMjlUglLhNMpeREREpLwogFc4dTERERERKS8K4BVOXUxEREREyosCeIVTFxMRERGR8qIAXuFKPcpeRERERIZTF5RpQF1MRERERMqHdsBFRERERIpIAVxEREREpIhUgjIN5DMJU0REREQml3bAK1x2EmZHf3TYJMxNuztKvTQRERGRaUk74BVu6CRMgJDPQzieZMPmVu2CTxF6B0NERKSyaAe8wmkS5tSmdzBEREQqjwJ4hdMkzKlt6DsYxqQ/et2GDZtbS700ERERmSAF8AqnSZhTm97BEBERqTwK4BVOkzCnNr2DISIiUnl0CHMa0CTMqWv9mhbueHQX4XiSoNdNJJHSOxgiIiJTnHbARcqY3sEQERGpPNoBFylzegdDRESksmgHXERERESkiBTARURERESKSAFcRERERKSIFMBFRERERIpIAVxEREREpIgUwEVEREREikgBXERERESkiBTARURERESKSIN4RMrcpt0dbNjcSlt3mOaGEOvXtGgwj4iIyBSmHXCRMrZpdwd3PLqLjv4o9UEvHf1R7nh0F5t2d5R6aSIiIjJBCuAiZWzD5la8bkPI58GY9Eev27Bhc2uplyYiIiITpAAuUsbausMEve5h14JeN+3d4RKtSERERPKlGnAZk2qQS6e5IURHf5SQ743/qpFEigUNoRKuSkRERPKhHXAZlWqQS2v9mhYSKUs4nsTa9MdEyrJ+TUuplyYiIiITpAAuo1INcmmtXd7EndevoKkmQG8kQVNNgDuvX6F3IERERKYwlaDIqNq6w9QHvcOuqQa5uNYub1LgFhERqSDaAZdRNTeEiCRSw66pBllERERk4hTAZVSqQRYRERGZXArgMirVIIuIiIhMLtWAy5hUg1xaagMpIiJSWbQDLlLG1AZSRESk8iiAi5QxtYEUERGpPArgImVMo+hFREQqjwK4SBlTG0gREZHKowAuUsbUBlJERKTyKICLlDG1gRQREak8akMoUubUBlJERKSyaAdcRERERKSItAMuFU+DbERERKScaAdcKpoG2YiIiEi5UQCXiqZBNiIiIlJuFMClommQjYiIiJQbBXCpaBpkIyIiIuVGAVwqmgbZiIiISLlR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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"width = 12\n",
"height = 10\n",
"plt.figure(figsize=(width, height))\n",
"sns.regplot(x=\"highway-mpg\", y=\"price\", data=df)\n",
"plt.ylim(0,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>We can see from this plot that price is negatively correlated to highway-mpg, since the regression slope is negative.\n",
"One thing to keep in mind when looking at a regression plot is to pay attention to how scattered the data points are around the regression line. This will give you a good indication of the variance of the data, and whether a linear model would be the best fit or not. If the data is too far off from the line, this linear model might not be the best model for this data. Let's compare this plot to the regression plot of \"peak-rpm\".</p>\n"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 47414.1)"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAJNCAYAAABwXMA5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABcMklEQVR4nO3dfXhj53nf+d+NA4AE32Y4L/TIM5Ql1rLHViLZ8li1G13Tqe02yiaV3a2SSN023q5dT1NnrTbrNE53o92q6V5Wk41rbxvvKErWdtpGdqdNMs3GTm0r04lTybIkW3LHoi2FI5sz0oijGb6DJIBznv0DByQAgiRIAgc4wPdzXbxAPCTIg8GA+OE593M/5pwTAAAAgGgkWn0AAAAAQDchgAMAAAARIoADAAAAESKAAwAAABEigAMAAAARIoADAAAAEUq2+gCiduDAAXfDDTe0+jAAAADQ4Z566qlXnXMHq8e7LoDfcMMNevLJJ1t9GAAAAOhwZvb9WuOUoAAAAAARIoADAAAAESKAAwAAABEigAMAAAARIoADAAAAESKAAwAAABEigAMAAAARIoADAAAAESKAAwAAABEigAMAAAARIoADAAAAESKAAwAAABEigAMAAAARIoADAAAAESKAAwAAABEigAMAAAARIoADAAAAESKAAwAAABFKtvoAgJ06Oz6lU+cmNDmd1ehwn04eH9OJoyOtPiwAAIBNMQOOWDo7PqX7z5zX1Pyy9mZSmppf1v1nzuvs+FSrDw0AAGBTBHDE0qlzE0p5pr50UmbFy5RnOnVuotWHBgAAsCkCOGJpcjqrTMqrGMukPF2czrboiAAAAOpDAEcsjQ73aSnvV4wt5X0dGe5r0REBAADUhwCOWDp5fEx53ymbK8i54mXedzp5fKzVhwYAALApAjhi6cTRET1w180aGezV7FJeI4O9euCum+mCAgAA2h5tCBFbJ46OELgBAEDsMAMOAAAARIgADgAAAESIAA4AAABEiAAOAAAARIgADgAAAESIAA4AAABEiAAOAAAARIgADgAAAESIAA4AAABEiAAOAAAARIgADgAAAESIAA4AAABEiAAOAAAARIgADgAAAESIAA4AAABEiAAOAAAARIgADgAAAESIAA4AAABEiAAOAAAARIgADgAAAESIAA4AAABEiAAOAAAARIgADgAAAESIAA4AAABEiAAO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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": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>peak-rpm</th>\n",
" <th>highway-mpg</th>\n",
" <th>price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>peak-rpm</th>\n",
" <td>1.000000</td>\n",
" <td>-0.058598</td>\n",
" <td>-0.101616</td>\n",
" </tr>\n",
" <tr>\n",
" <th>highway-mpg</th>\n",
" <td>-0.058598</td>\n",
" <td>1.000000</td>\n",
" <td>-0.704692</td>\n",
" </tr>\n",
" <tr>\n",
" <th>price</th>\n",
" <td>-0.101616</td>\n",
" <td>-0.704692</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" peak-rpm highway-mpg price\n",
"peak-rpm 1.000000 -0.058598 -0.101616\n",
"highway-mpg -0.058598 1.000000 -0.704692\n",
"price -0.101616 -0.704692 1.000000"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"df[[\"peak-rpm\",\"highway-mpg\",\"price\"]].corr()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"The variable \"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",
"df[[\"peak-rpm\",\"highway-mpg\",\"price\"]].corr()\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Residual Plot</h3>\n",
"\n",
"<p>A good way to visualize the variance of the data is to use a residual plot.</p>\n",
"\n",
"<p>What is a <b>residual</b>?</p>\n",
"\n",
"<p>The difference between the observed value (y) and the predicted value (Yhat) is called the residual (e). When we look at a regression plot, the residual is the distance from the data point to the fitted regression line.</p>\n",
"\n",
"<p>So what is a <b>residual plot</b>?</p>\n",
"\n",
"<p>A residual plot is a graph that shows the residuals on the vertical y-axis and the independent variable on the horizontal x-axis.</p>\n",
"\n",
"<p>What do we pay attention to when looking at a residual plot?</p>\n",
"\n",
"<p>We look at the spread of the residuals:</p>\n",
"\n",
"<p>- If the points in a residual plot are <b>randomly spread out around the x-axis</b>, then a <b>linear model is appropriate</b> for the data. Why is that? Randomly spread out residuals means that the variance is constant, and thus the linear model is a good fit for this data.</p>\n"
]
},
{
"cell_type": "code",
"execution_count": 46,
"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": 47,
"metadata": {},
"outputs": [],
"source": [
"Y_hat = lm.predict(Z)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAscAAAJcCAYAAAAVVwmuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAACA3UlEQVR4nO3dd3xUVfrH8c+TAqF3kBoiHSH0oqACSrGLFSu2ta19V3ddXXV3/dnb6u5aVl07duydoqKCAlJFiiRAAtJ7TTm/P84EAoYwSWbmTpLv+/W6rwk3M/c+ySh8c/Kcc8w5h4iIiIiIQELQBYiIiIiIxAuFYxERERGREIVjEREREZEQhWMRERERkRCFYxERERGREIVjEREREZEQhWMRqXDM7A4zeymge28xs4OjeP2ofG1mdoGZTYr0dQ9wzyZm9pWZbTazB2N579D9/2JmT8f6viIS3xSORSTizGyima03s6phPj/mwayszCzTzLaHwnDB0cw5V9M5tzj0nOfM7M4iXnd0FOppbma5ZtamiM+NNbMHIn3PCLgUWAPUds79oawXC/13lBd6LzaZ2QwzO35/z3fO3eWcu6Ss9xWRikXhWEQiysxaA4cDDjgx2Gqi7oRQGC44lgdViHMuGxgHnFf4vJnVB44Fng+irgNIBX5ypdiNysyS9vOp75xzNYG6wDPA66HvQbivF5FKTuFYRCLtfGAy8BwwuvAnzKylmb1tZqvNbK2Z/cvMOgFPAIeGRvw2hJ470cwuKfTavUaXzeyfZrYsNEI4zcwOD6c4M5tXeDTRzJLMbI2Z9TSzFDN7KVTbBjP7wcyalOSLNzNnZm3N7FLgHOCm0Nf1vpm9CLQC3g+duyn0mv5m9m3onjPNbFCh66WZ2Zeh1oPPgYbF3P559gnHwChgrnNutpn92cx+CV3rJzMbuZ+voXXo60gqdG7f9+Oi0PdyvZl9amapofNmZg+b2Soz22hms8ysSxH3eA7/30fB9+doM6tqZo+Y2fLQ8UjBbx/MbJCZZZnZn8zsV+B/xXwfcM7lA88C1YCDQ+0ob4be303ABbZPi4qZDSz0PiwzswtC56ua2QNmttTMVprZE2ZWrbj7i0j5pXAsIpF2PvBy6BheEC7NLBH4AFgCtAaaA6865+YBlxMa8XPO1Q3zPj8A3YH6wCvAG2aWEsbrxgBnFfrzcGCNc246PqzVAVoCDUJ1bQ+znr04557Cfw/uC31dJzjnzgOWsmfE+T4zaw58CNwZ+lr+CLxlZo1Cl3oFmIYPxf9gnx849jEWaGhmAwudOw94IfTxL/hR/TrA34CXzKxpSb82MzsZ+AtwCtAI+Br/fQUYBhwBtMeP3p4JrN33Gs65C9j7+/MFcAvQH/++dgP6ArcWetlB+O9RKr4lo7gak4BLgC3AwtDpk4A3Q3W9vM/zWwEfA4+FvqbuwIzQp+8NfT3dgbb4/3ZvK+7+IlJ+xV04NrNnQyMOcyJ0vbxQ39kMM3svEtcUkaKFQlkq8Lpzbho+jJ0d+nRfoBlwo3Nuq3Nuh3Ou1H3GzrmXnHNrnXO5zrkHgapAhzBe+gpwoplVD/357NA5gBx8KG7rnMtzzk1zzm0q5lrvhEYZN5jZO6X8Us4FPnLOfeScy3fOfQ5MBY4NBbY+wF+dczudc18B7+/vQs657cAb+B9QMLN2QK+Cr88594ZzbnnoPq/hQ2PfUtR8GXC3c26ecy4XuAvoHho9zgFqAR0BCz1nRZjXPQf4u3NulXNuNT7AFx4JzwduD30v9vdDS//Qbx9+xf8QNNI5tzH0ue+cc++Evv59X38O8IVzboxzLif039YMMzPgd8D1zrl1zrnNoa93VJhfk4iUM3EXjvG/ih0Rwettd851Dx0Vvf9RJGijgc+cc2tCf36FPSOdLYEloTBVZmb2h9Cv9TeGwlAdim85AMA5twiYB5wQCsgnsiccvwh8Crwa+rX+fWaWXMzlTnbO1Q0dJ5fyS0kFTi8UsjcAA4Gm+B8m1jvnthZ6/pIDXO954IzQKPp5wCfOuVUAZnZ+aKCg4D5dCON7tp+a/1noOusAA5o758YD/wL+Daw0s6fMrHaY123G3l/fktC5AqudczsOcI3JofejoXOuf2hEusCyYl7XEv/D3L4aAdWBaYW+3k9C50WkAoq7cBwaGVlX+JyZtTGzT8z3FX5tZh0DKk9E9iPUg3kGcKSZ/RrqC70e6GZm3fDBpJUVPRGqqAlZW/GhpMBBhe51OPCn0P3qhVoxNuIDWjgKWitOwk8IWwQQGjH8m3OuM3AYcDyhUdhSKurr2vfcMuDFQiG7rnOuhnPuHmAFUM/MahR6fqtib+jc1/g2hpPwo9IvAIRGdf8LXAU0CH3P5lD096wgjBf5/Q/VfNk+NVdzzn0bquFR51wv4BB8O8KNxdVcyHJ88C7QKnRu95cX5nX2p7jXLwN+s9IHfjWN7cAhhb7WOqFJfyJSAcVdON6Pp4CrQ3/Z/hH4Twlem2JmU81scqhPTkSi42QgD+iM783sDnTC96OeD3yPD3v3mFkN85PfBoReuxJoYWZVCl1vBnCKmVU3s7bAxYU+VwvIBVYDSWZ2GxDu6CTAq/je2CvYM2qMmQ02s66h/uhN+BaBvBJcd18rgX3XPN733Ev4UezhZpYY+r4MMrMWzrkl+BaLv5lZlVDbyglh3PcFfJ9sXfa0YdTAh8PVAGZ2IX7k+DdCLQ3ZwLmhmi5i7+D4BHCzmR0SulYdMzs99HEfM+sXGnHfCuwg/O/hGOBWM2tkZg3xfb2xWq/6ZeBoMzvD/CTNBmbWPTSx77/Aw2bWGHYvmzc8RnWJSIzFfTg2s5r4EZw3zGwG8CT+142Y2SlmNqeI49NCl2jlnOuN7yt8xIpYA1REImI08D/n3FLn3K8FB/5X7OfgRyhPwE9oWgpk4SdrAYwH5gK/mllBS8bDwC58mHyevSdQfYqfPLUA/6v3HRT/K/O9hHpgv8P/3fJaoU8dhJ+wtQnfevElZQtnzwCd9+lJvhsfADeY2R+dc8vwo7x/wQfXZfiR1oK/n88G+uF/o3Y7eybXFecF/Kjra865nQDOuZ+AB/Ff90qgK/BNMdf4XaiOtfgR4G8LPuGcG4sP36+aX/lhDnBM6NO18WFyPf69WQuEu8bynfgfBmYBs4HpoXNR55xbil/y7g/47/UM/KRA8L+lWARMDn29XxBef7uIlENWiuUlo878OqkfOOe6hHrV5jvnSjyjuojrPhe67ptlvZaIiIiIVDxxP3IcmimeUehXdhbqXzwgM6tne9bIbAgMAH6KWrEiIiIiUq7FXTg2szH4X/t1ML/g+8X4X8lebGYz8b96PSnMy3UCpoZeNwG4J/SrRRERERGR34jLtgoRERERkSDE3cixiIiIiEhQilpvNDANGzZ0rVu3DroMEREREanApk2btsY5V+RmPnEVjlu3bs3UqVODLkNEREREKjAz2+9uo2qrEBEREREJUTgWEREREQlROBYRERERCYmrnmMRERGR8i4nJ4esrCx27NgRdCmVXkpKCi1atCA5OTns1ygci4iIiERQVlYWtWrVonXr1phZ0OVUWs451q5dS1ZWFmlpaWG/Tm0VIiIiIhG0Y8cOGjRooGAcMDOjQYMGJR7BVzgWERERiTAF4/hQmvdB4VhEREREJEThWERERKQCGjt2LGbGzz//fMDnPvLII2zbtq3U93ruuee46qqr9jqXmZlJixYtyM/P3+t89+7d+f7774u8TmZmJl26dCl1HZGgcCwiIiJSAY0ZM4aBAwfy6quvHvC5ZQ3HRWndujUtW7bk66+/3n3u559/ZvPmzfTt2zei94okhWMRERGRCmbLli188803PPPMM3uF47y8PP74xz/StWtX0tPTeeyxx3j00UdZvnw5gwcPZvDgwQDUrFlz92vefPNNLrjgAgDef/99+vXrR48ePTj66KNZuXJlsXWcddZZe93/1Vdf5ayzziIzM5PDDz+cnj170rNnT7799tvfvHbf0ejjjz+eiRMnAvDZZ59x6KGH0rNnT04//XS2bNlS4u/R/mgpNxEREZFoue46mDEjstfs3h0eeaTYp7zzzjuMGDGC9u3bU79+faZPn07Pnj156qmnyMjI4McffyQpKYl169ZRv359HnroISZMmEDDhg2Lve7AgQOZPHkyZsbTTz/Nfffdx4MPPrjf559xxhn06NGDxx57jKSkJF577TXeeOMNGjduzOeff05KSgoLFy7krLPOYurUqWF9+WvWrOHOO+/kiy++oEaNGtx777089NBD3HbbbWG9/kAUjkVEREQqmDFjxnDdddcBMGrUKMaMGUPPnj354osvuPzyy0lK8hGwfv36JbpuVlYWZ555JitWrGDXrl0HXD/4oIMO4pBDDmHcuHE0adKE5ORkunTpwsaNG7nqqquYMWMGiYmJLFiwIOwaJk+ezE8//cSAAQMA2LVrF4ceemiJvo7iKByLiIiIRMsBRnijYe3atYwfP545c+ZgZuTl5WFm3HfffTjnwlrerPBzCq8TfPXVV3PDDTdw4oknMnHiRO64444DXqugtaJJkyacddZZADz88MM0adKEmTNnkp+fT0pKym9el5SUtNdkvoI6nHMMHTqUMWPGHPDepaGeYxEREZEK5M033+T8889nyZIlZGZmsmzZMtLS0pg0aRLDhg3jiSeeIDc3F4B169YBUKtWLTZv3rz7Gk2aNGHevHnk5+czduzY3ec3btxI8+bNAXj++efDqufUU0/lo48+4rXXXmPUqFG7r9O0aVMSEhJ48cUXycvL+83rWrduzYwZM8jPz2fZsmW7V7jo378/33zzDYsWLQJg27ZtJRp5PhCFYxEREZEKZMyYMYwcOXKvc6eeeiqvvPIKl1xyCa1atSI9PZ1u3brxyiuvAHDppZdyzDHH7J6Qd88993D88cczZMgQmjZtuvs6d9xxB6effjqHH374AfuTC9StW5f+/fvTpEmT3W0YV155Jc8//zz9+/dnwYIF1KhR4zevGzBgAGlpaXTt2pU//vGP9OzZE4BGjRrx3HPPcdZZZ5Genk7//v3DWq4uXOaci9jFyqp3794u3GZsERERkXg0b948OnXqFHQZElLU+2Fm05xzvYt6vkaORURERERCFI5FREREREIUjkVEREREQhSORURERERCFI5FREREREIUjkVEREREQhSORaJp2jS4/HIYOxa2bQu6GhERqSQSExPp3r377iMzM5PDDjsMgMzMzN3rGwPMmDGDjz76qMT3GDRoEPsuwXvHHXdw880373VuxowZxS5td8cdd/DAAw+U+P7RonAsEi15eXDhhfDkk3DKKdCoEZx2GrzyCmzcGHR1IiJSgVWrVo0ZM2bsPlq3bs23334LRC4cF+Wss87itdde2+vcq6++ytlnnx2R68eCwrFItDzzDMye7cPwF1/ABRfAt9/COef4oLzPT9YiIiLRVLNmTQD+/Oc/8/XXX9O9e3fuvfdebrvtNl577TW6d+/Oa6+9xtatW7nooovo06cPPXr04N133wVg+/btjBo1ivT0dM4880y2b9/+m3t06NCBunXrMmXKlN3nXn/9dUaNGsV///tf+vTpQ7du3Tj11FPZVsRvVAuPRq9Zs4bWrVsDkJeXx4033kifPn1IT0/nySefBGDFihUcccQRdO/enS5duvD111+X+fuUVOYriMhvbdoEf/0rDBwIo0aBGRx1FDz2GEyeDPffD/fe6wNzhw5BVysiIlFy3XUwY0Zkr9m9OzzySPHP2b59O927dwcgLS2NsWPH7v7cPffcwwMPPMAHH3wAQJMmTZg6dSr/+te/APjLX/7CkCFDePbZZ9mwYQN9+/bl6KOP5sknn6R69erMmjWLWbNm7d7OeV9nnXUWr776Kv369WPy5Mk0aNCAdu3aUb9+fX73u98BcOutt/LMM89w9dVXh/U1P/PMM9SpU4cffviBnTt3MmDAAIYNG8bbb7/N8OHDueWWW8jLyysycJeUwrFINNx1F6xaBR9+6INxgYQEOOww32rxySfwwAPw3/8GV6eIiFRIBW0VpfHZZ5/x3nvv7e4D3rFjB0uXLuWrr77immuuASA9PZ309PQiXz9q1CgOO+wwHnzwQV599VXOOussAObMmcOtt97Khg0b2LJlC8OHDy9RTbNmzeLNN98EYOPGjSxcuJA+ffpw0UUXkZOTw8knn7z7B4KyUDgWibTFi+Hhh+H886F3kdu2Q+PGcNFF8PTT8Le/QbNmsa1RRERi4kAjvPHIOcdbb71FhyJ+s2mFB3z2o2XLlrRu3Zovv/ySt956i++++w6ACy64gHfeeYdu3brx3HPPMXHixN+8Nikpifz8fMCH8sI1PfbYY0UG6q+++ooPP/yQ8847jxtvvJHzzz8/3C+1SOo5Fom0P/0JkpL86HFx/vAHyM0tn39ziohIuVWrVi02b9683z8PHz6cxx57DOccAD/++CMARxxxBC+//DLgR4FnzZq133ucddZZXH/99bRp04YWLVoAsHnzZpo2bUpOTs7u6+yrdevWTJs2DWD3KHFBTY8//jg5OTkALFiwgK1bt7JkyRIaN27M7373Oy6++GKmT59e4u/HvhSORSLp66/hzTd9QG7evPjnHnwwnHkmPPEEbNgQk/JERETS09NJSkqiW7duPPzwwwwePJiffvpp94S8v/71r+Tk5JCenk6XLl3461//CsAVV1zBli1bSE9P57777qNv3777vcfpp5/O3LlzGTVq1O5z//jHP+jXrx9Dhw6lY8eORb7uj3/8I48//jiHHXYYa9as2X3+kksuoXPnzvTs2ZMuXbpw2WWXkZuby8SJE+nevTs9evTgrbfe4tprry3z98cKfiqIB71793b7rpcnUm7k50PfvrByJcyfD9WrH/g1M2ZAjx5+lFmrV4iIVAjz5s0rdl1fia2i3g8zm+acK7L3USPHIpHy4ot+04977gkvGIOfcjxiBPzzn1DEkjgiIiISWwrHIpGwdSv85S/Qrx+EZuWG7U9/8qPNzz8fndpEREQkbArHIpHwwQewfDncfbdfrq0kjjzSh+r77/cT9EREpNyLp7bVyqw074PCsUgkjB8PderA4YeX/LVmfvR48WJ4663I1yYiIjGVkpLC2rVrFZAD5pxj7dq1pKSklOh1mpAnEgnt20PHjvDee6V7fX4+dO7se5WnTdt74xAR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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": 60,
"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": 50,
"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": 58,
"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": 52,
"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": 53,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-1.55663829e+00, 2.04754306e+02, -8.96543312e+03, 1.37923594e+05])"
]
},
"execution_count": 53,
"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": 65,
"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": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"f1=np.polyfit(x,y,11)\n",
"p1=np.poly1d(f1)\n",
"print(p1)\n",
"PlotPolly(p1,x,y, 'highway mpg')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"# calculate polynomial\n",
"# Here we use a polynomial of the 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"
]
},
{
"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": 66,
"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": 67,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pr=PolynomialFeatures(degree=2)\n",
"pr"
]
},
{
"cell_type": "code",
"execution_count": 69,
"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": 70,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(201, 4)"
]
},
"execution_count": 70,
"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": 71,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(201, 15)"
]
},
"execution_count": 71,
"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": 72,
"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": 73,
"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": 74,
"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": 74,
"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": 75,
"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": 75,
"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": 76,
"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": 76,
"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": 78,
"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([13102.74784201, 13102.74784201, 18225.54572197, 10390.29636555,\n",
" 16136.29619164, 13880.09787302, 15041.58694037, 15457.93465485,\n",
" 17974.49032347, 10510.56542385])"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"Input=[('scale',StandardScaler()), ('model',LinearRegression())]\n",
"pipe=Pipeline(Input)\n",
"pipe.fit(Z,y)\n",
"ypipe-pipe.predict(Z)\n",
"ypipe[0:10]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"</div>\n",
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"Input=[('scale',StandardScaler()),('model',LinearRegression())]\n",
"\n",
"pipe=Pipeline(Input)\n",
"\n",
"pipe.fit(Z,y)\n",
"\n",
"ypipe=pipe.predict(Z)\n",
"ypipe[0:10]\n",
"\n",
"-->\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": 79,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The R-square is: 0.7609686443622008\n"
]
}
],
"source": [
"#highway_mpg_fit\n",
"lm.fit(X, Y)\n",
"# Find the R^2\n",
"print('The R-square is: ', lm.score(X, Y))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can say that ~ 49.659% of the variation of the price is explained by this simple linear model \"horsepower_fit\".\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": 80,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The output of the first four predicted value is: [[13728.4631336 ]\n",
" [13728.4631336 ]\n",
" [17399.38347881]\n",
" [10224.40280408]]\n"
]
}
],
"source": [
"Yhat=lm.predict(X)\n",
"print('The output of the first four predicted value is: ', Yhat[0:4])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"lets import the function <b>mean_squared_error</b> from the module <b>metrics</b>\n"
]
},
{
"cell_type": "code",
"execution_count": 81,
"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": 82,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean square error of price and predicted value is: 15021126.025174143\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": 83,
"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": 84,
"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": 85,
"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": null,
"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": null,
"metadata": {},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"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": null,
"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": null,
"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": null,
"metadata": {},
"outputs": [],
"source": [
"lm.fit(X, Y)\n",
"lm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Produce a prediction\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"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-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.11"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment