Skip to content

Instantly share code, notes, and snippets.

@PBSWE
Created November 30, 2020 20:55
Show Gist options
  • Save PBSWE/e1ea0a31cb215a8ca40964c915ee0f29 to your computer and use it in GitHub Desktop.
Save PBSWE/e1ea0a31cb215a8ca40964c915ee0f29 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: **300** hours\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>In 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": 33,
"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": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 34,
"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": 35,
"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": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 36,
"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": 38,
"metadata": {},
"outputs": [],
"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": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"38423.3058581574"
]
},
"execution_count": 39,
"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": 40,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([-821.73337832])"
]
},
"execution_count": 40,
"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": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"lm1 = LinearRegression()\n",
"lm1 \n"
]
},
{
"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": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\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": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[166.86001569]])"
]
},
"execution_count": 43,
"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": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-7963.33890628])"
]
},
"execution_count": 44,
"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": 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>engine-size</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>13728.463134</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>13728.463134</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.463134\n",
"1 13728.463134\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": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"Yhat = (lm1.intercept_) + (lm1.coef_) * (df[['engine-size']])\n",
"Price = Yhat\n",
"Price"
]
},
{
"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": 46,
"metadata": {},
"outputs": [],
"source": [
"Z = df[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the linear model using the four above-mentioned variables.\n"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 47,
"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": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-15806.62462632922"
]
},
"execution_count": 48,
"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": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([53.49574423, 4.70770099, 81.53026382, 36.05748882])"
]
},
"execution_count": 49,
"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": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"lm2 = LinearRegression()\n",
"\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": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1.49789586, -820.45434016])"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm2.coef_\n",
"\n",
"-->\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": 52,
"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": 53,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 48274.29812956993)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAJNCAYAAABwXMA5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAACNC0lEQVR4nOzdd3yc1Zn3/8+Ze7q6ZMtNcpFtML3ZDkmIMaSRRhpJIAUSSHDaJrvZ7Ca7zz48uzxbwub3ZDdZUkwCoaQAYbMJyYZsEsA4BIwLYMBgsC0XyU2yuqaX8/tjRkZykUcaaWY0+r5fL79k39Y9cwS2/J0z17kuY61FREREREQKw1XsBYiIiIiITCcK4CIiIiIiBaQALiIiIiJSQArgIiIiIiIFpAAuIiIiIlJACuAiIiIiIgXkLvYCCm3GjBl24cKFxV6GiIiIiJS5LVu2HLHWzjz2+rQL4AsXLmTz5s3FXoaIiIiIlDljzN4TXVcJioiIiIhIASmAi4iIiIgUkAK4iIiIiEgBKYCLiIiIiBSQAriIiIiISAEpgIuIiIiIFJACuIiIiIhIASmAi4iIiIgUkAK4iIiIiEgBKYCLiIiIiBSQAriIiIiISAEpgIuIiIiIFJACuIiIiIhIASmAi4iIiIgUkAK4iIiIiEgBKYCLiIiIiBSQAriIiIiISAEpgIuIiIiIFJACuIiIiIhIASmAi4iIiIgUkAK4iIiIiEgBKYCLiIiIiBSQAriIiIiISAEpgIuIiIiIFJACuIiIiIhIASmAi4iIiIgUkAK4iIiIiEgBKYCLiIiIiBSQu9gLmA7Wbe9g7fpW2nrCNNcFWbOqhdXLGou9LBEREREpAu2AT7J12zu46cFtdAxEqQ146BiIctOD21i3vaPYSxMRERGRIlAAn2Rr17ficQxBrxtjMh89jmHt+tZiL01EREREikABfJK19YQJeJwR1wIeh/aecJFWJCIiIiLFpAA+yZrrgkQSqRHXIokUTXXBIq1IRERERIpJAXySrVnVQiJlCceTWJv5mEhZ1qxqKfbSRERERKQIFMAn2epljdx85Vk0VvnpiyRorPJz85VnqQuKiIiIyDSlNoQFsHpZowK3iIiIiADaARcRERERKSgFcBERERGRAlIAFxEREREpIAVwEREREZECUgAXERERESkgBXARERERkQJSABcRERERKSAFcBERERGRAlIAFxEREREpIAVwEREREZECUgAXERERESkgBXARERERkQJSABcRERERKSAFcBERERGRAlIAFxEREREpIAVwEREREZECUgAXERERESkgBXARERERkQJSABcRERERKSAFcBERERGRAlIAFxEREREpIAVwEREREZECUgAXERERESkgBXARERERkQJSABcRERERKSAFcBERERGRAlIAFxEREREpIAVwEREREZECUgAXERERESkgBXARERERkQJSABcRERERKSAFcBERERGRAlIAFxEREREpIAVwEREREZECUgAXERERESkgBXARERERkQJSABcRERERKSAFcBERERGRAnIXewEik23d9g7Wrm+lrSdMc12QNataWL2ssdjLEhERkWlKO+BS1tZt7+CmB7fRMRClNuChYyDKTQ9uY932jmIvTURERKYpBXApa2vXt+JxDEGvG2MyHz2OYe361mIvTURERKYpBXApa209YQIeZ8S1gMehvSdcpBWJiIjIdKca8AJQDXLxNNcF6RiIEvS++kc9kkjRVBcs4qpERERkOtMO+CRTDXJxrVnVQiJlCceTWJv5mEhZ1qxqKfbSREREZJpSAJ9kqkEurtXLGrn5yrNorPLTF0nQWOXn5ivP0jsQIiIiUjQqQZlkbT1hagOeEddUg1xYq5c1KnCLiIhIydAO+CRrrgsSSaRGXFMNsoiIiMj0pQA+yVSDLCIiIiLDKYBPMtUgi4iIiMhwqgEvANUgi4iIiMgQ7YCLiIiIiBTQpAdwY4xjjHnGGPPr7K/rjTG/N8bsyH6sG/a5f2OM2WmMedkY89Zh1y8yxjyf/b1vGWNM9rrPGHNf9vpTxpiFk/31iIiIiIjkoxA74F8EXhr2668CD1trlwIPZ3+NMeZM4GrgLOAK4DvGmKEZ4t8FbgSWZn9ckb1+A9BjrV0C/Btwy+R+KSIiIiIi+ZnUAG6MaQLeAfxg2OV3A3dlf34X8J5h1++11sastbuBncBKY8wcoNpa+6S11gJ3H3PP0GM9ALxxaHdcRERERKQUTfYO+L8Dfw2kh12bZa09CJD9OHQ6cR7QNuzz2rPX5mV/fuz1EfdYa5NAH9AwoV+BiIiIiMgEmrQAbox5J9Bhrd2S6y0nuGZHuT7aPceu5UZjzGZjzObOzs4clyMiIiIiMvEmcwf89cCVxpg9wL3A5caYHwGH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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": 54,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 47414.1)"
]
},
"execution_count": 54,
"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": 55,
"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": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"df[['peak-rpm', 'highway-mpg', 'price']].corr()\n",
"\n",
"# Highway-mpg has a stronger correlation. "
]
},
{
"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": 59,
"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": 60,
"metadata": {},
"outputs": [],
"source": [
"Y_hat = lm.predict(Z)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"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": 62,
"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": 63,
"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": 64,
"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": 65,
"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": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-1.55663829e+00, 2.04754306e+02, -8.96543312e+03, 1.37923594e+05])"
]
},
"execution_count": 66,
"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": 85,
"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",
"\n",
"f1 = np.polyfit(x, y, 11)\n",
"p1 = np.poly1d(f1)\n",
"print(p1)\n",
"PlotPolly(p1, x, y, 'H i g h w a y M P G')"
]
},
{
"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": 67,
"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": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)"
]
},
"execution_count": 68,
"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": 77,
"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": 78,
"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": 79,
"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": 79,
"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": 80,
"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": 80,
"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": 81,
"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": 81,
"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": 84,
"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": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"Input1=[('scale',StandardScaler()), ('model',LinearRegression())]\n",
"pipe1=Pipeline(Input1)\n",
"pipe1.fit(Z,y)\n",
"\n",
"ypipe1 = pipe1.predict(Z)\n",
"ypipe1[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": 85,
"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": 86,
"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": 87,
"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": 88,
"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": 89,
"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": 90,
"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": 91,
"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": 92,
"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": 93,
"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": 94,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"20474146.426361218"
]
},
"execution_count": 94,
"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": 102,
"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": 103,
"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": 104,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 104,
"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": 105,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([37601.57247984, 36779.83910151, 35958.10572319, 35136.37234487,\n",
" 34314.63896655])"
]
},
"execution_count": 105,
"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": 106,
"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.11"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment