Skip to content

Instantly share code, notes, and snippets.

@MisterPotz
Created August 19, 2019 15:45
Show Gist options
  • Save MisterPotz/b751f1964ab683fc13aa627826da2c58 to your computer and use it in GitHub Desktop.
Save MisterPotz/b751f1964ab683fc13aa627826da2c58 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
" <a href=\"https://cocl.us/DA0101EN_edx_link_Notebook_link_top\">\n",
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/TopAd.png\" width=\"750\" align=\"center\">\n",
" </a>\n",
"</div>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"https://www.bigdatauniversity.com\"><img src = \"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/CCLog.png\" width = 300, align = \"center\"></a>\n",
"\n",
"<h1 align=center><font size=5>Data Analysis with Python</font></h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Module 4: Model Development</h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>In this section, we will develop several models that will predict the price of the car using the variables or features. This is just an estimate but should give us an objective idea of how much the car should cost.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some questions we want to ask in this module\n",
"<ul>\n",
" <li>do I know if the dealer is offering fair value for my trade-in?</li>\n",
" <li>do I know if I put a fair value on my car?</li>\n",
"</ul>\n",
"<p>Data Analytics, we often use <b>Model Development</b> to help us predict future observations from the data we have.</p>\n",
"\n",
"<p>A Model will help us understand the exact relationship between different variables and how these variables are used to predict the result.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Setup</h4>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Import libraries"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"load data and store in dataframe df:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/edx_DA0101EN_objectstorage\">HERE</a> for free storage."
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>symboling</th>\n",
" <th>normalized-losses</th>\n",
" <th>make</th>\n",
" <th>aspiration</th>\n",
" <th>num-of-doors</th>\n",
" <th>body-style</th>\n",
" <th>drive-wheels</th>\n",
" <th>engine-location</th>\n",
" <th>wheel-base</th>\n",
" <th>length</th>\n",
" <th>...</th>\n",
" <th>compression-ratio</th>\n",
" <th>horsepower</th>\n",
" <th>peak-rpm</th>\n",
" <th>city-mpg</th>\n",
" <th>highway-mpg</th>\n",
" <th>price</th>\n",
" <th>city-L/100km</th>\n",
" <th>horsepower-binned</th>\n",
" <th>diesel</th>\n",
" <th>gas</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>alfa-romero</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>convertible</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>...</td>\n",
" <td>9.0</td>\n",
" <td>111.0</td>\n",
" <td>5000.0</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>13495.0</td>\n",
" <td>11.190476</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>alfa-romero</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>convertible</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>...</td>\n",
" <td>9.0</td>\n",
" <td>111.0</td>\n",
" <td>5000.0</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>16500.0</td>\n",
" <td>11.190476</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>122</td>\n",
" <td>alfa-romero</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>hatchback</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>94.5</td>\n",
" <td>0.822681</td>\n",
" <td>...</td>\n",
" <td>9.0</td>\n",
" <td>154.0</td>\n",
" <td>5000.0</td>\n",
" <td>19</td>\n",
" <td>26</td>\n",
" <td>16500.0</td>\n",
" <td>12.368421</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>audi</td>\n",
" <td>std</td>\n",
" <td>four</td>\n",
" <td>sedan</td>\n",
" <td>fwd</td>\n",
" <td>front</td>\n",
" <td>99.8</td>\n",
" <td>0.848630</td>\n",
" <td>...</td>\n",
" <td>10.0</td>\n",
" <td>102.0</td>\n",
" <td>5500.0</td>\n",
" <td>24</td>\n",
" <td>30</td>\n",
" <td>13950.0</td>\n",
" <td>9.791667</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>audi</td>\n",
" <td>std</td>\n",
" <td>four</td>\n",
" <td>sedan</td>\n",
" <td>4wd</td>\n",
" <td>front</td>\n",
" <td>99.4</td>\n",
" <td>0.848630</td>\n",
" <td>...</td>\n",
" <td>8.0</td>\n",
" <td>115.0</td>\n",
" <td>5500.0</td>\n",
" <td>18</td>\n",
" <td>22</td>\n",
" <td>17450.0</td>\n",
" <td>13.055556</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 29 columns</p>\n",
"</div>"
],
"text/plain": [
" symboling normalized-losses make aspiration num-of-doors \\\n",
"0 3 122 alfa-romero std two \n",
"1 3 122 alfa-romero std two \n",
"2 1 122 alfa-romero std two \n",
"3 2 164 audi std four \n",
"4 2 164 audi std four \n",
"\n",
" body-style drive-wheels engine-location wheel-base length ... \\\n",
"0 convertible rwd front 88.6 0.811148 ... \n",
"1 convertible rwd front 88.6 0.811148 ... \n",
"2 hatchback rwd front 94.5 0.822681 ... \n",
"3 sedan fwd front 99.8 0.848630 ... \n",
"4 sedan 4wd front 99.4 0.848630 ... \n",
"\n",
" compression-ratio horsepower peak-rpm city-mpg highway-mpg price \\\n",
"0 9.0 111.0 5000.0 21 27 13495.0 \n",
"1 9.0 111.0 5000.0 21 27 16500.0 \n",
"2 9.0 154.0 5000.0 19 26 16500.0 \n",
"3 10.0 102.0 5500.0 24 30 13950.0 \n",
"4 8.0 115.0 5500.0 18 22 17450.0 \n",
"\n",
" city-L/100km horsepower-binned diesel gas \n",
"0 11.190476 Medium 0 1 \n",
"1 11.190476 Medium 0 1 \n",
"2 12.368421 Medium 0 1 \n",
"3 9.791667 Medium 0 1 \n",
"4 13.055556 Medium 0 1 \n",
"\n",
"[5 rows x 29 columns]"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# path of data \n",
"path = 'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/automobileEDA.csv'\n",
"df = pd.read_csv(path)\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>1. Linear Regression and Multiple Linear Regression</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Linear Regression</h4>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"<p>One example of a Data Model that we will be using is</p>\n",
"<b>Simple Linear Regression</b>.\n",
"\n",
"<br>\n",
"<p>Simple Linear Regression is a method to help us understand the relationship between two variables:</p>\n",
"<ul>\n",
" <li>The predictor/independent variable (X)</li>\n",
" <li>The response/dependent variable (that we want to predict)(Y)</li>\n",
"</ul>\n",
"\n",
"<p>The result of Linear Regression is a <b>linear function</b> that predicts the response (dependent) variable as a function of the predictor (independent) variable.</p>\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
" Y: Response \\ Variable\\\\\n",
" X: Predictor \\ Variables\n",
"$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" <b>Linear function:</b>\n",
"$$\n",
"Yhat = a + b X\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<ul>\n",
" <li>a refers to the <b>intercept</b> of the regression line0, in other words: the value of Y when X is 0</li>\n",
" <li>b refers to the <b>slope</b> of the regression line, in other words: the value with which Y changes when X increases by 1 unit</li>\n",
"</ul>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Lets load the modules for linear regression</h4>"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Create the linear regression object</h4>"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm = LinearRegression()\n",
"lm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>How could Highway-mpg help us predict car price?</h4>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For this example, we want to look at how highway-mpg can help us predict car price.\n",
"Using simple linear regression, we will create a linear function with \"highway-mpg\" as the predictor variable and the \"price\" as the response variable."
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"X = df[['highway-mpg']]\n",
"Y = df['price']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the linear model using highway-mpg."
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.fit(X,Y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can output a prediction "
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([16236.50464347, 16236.50464347, 17058.23802179, 13771.3045085 ,\n",
" 20345.17153508])"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Yhat=lm.predict(X)\n",
"Yhat[0:5] "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>What is the value of the intercept (a)?</h4>"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"38423.305858157386"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.intercept_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>What is the value of the Slope (b)?</h4>"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([-821.73337832])"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>What is the final estimated linear model we get?</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we saw above, we should get a final linear model with the structure:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"Yhat = a + b X\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plugging in the actual values we get:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b>price</b> = 38423.31 - 821.73 x <b>highway-mpg</b>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #1 a): </h1>\n",
"\n",
"<b>Create a linear regression object?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm_t = LinearRegression()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm1 = LinearRegression()\n",
"lm1 \n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #1 b): </h1>\n",
"\n",
"<b>Train the model using 'engine-size' as the independent variable and 'price' as the dependent variable?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([-68402.03332369, -68402.03332369, -86480.16764678, -51145.63237893,\n",
" -73332.43359362, -73332.43359362])"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"X_t = df[['engine-size']]\n",
"y_t = df['price']\n",
"lm_t.fit(X_t,y_t)\n",
"y_th = lm.predict(X_t)\n",
"y_th[:6]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm1.fit(df[['highway-mpg']], df[['price']])\n",
"lm1\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #1 c):</h1>\n",
"\n",
"<b>Find the slope and intercept of the model?</b>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Slope</h4>"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([166.86001569])"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm_t.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Intercept</h4>"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"-7963.338906281049"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm_t.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",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #1 d): </h1>\n",
"\n",
"<b>What is the equation of the predicted line. You can use x and yhat or 'engine-size' or 'price'?</b>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# You can type you answer here\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"# using X and Y \n",
"Yhat=-7963.34 + 166.86*X\n",
"\n",
"Price=-7963.34 + 166.86*engine-size\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Multiple Linear Regression</h4>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>What if we want to predict car price using more than one variable?</p>\n",
"\n",
"<p>If we want to use more variables in our model to predict car price, we can use <b>Multiple Linear Regression</b>.\n",
"Multiple Linear Regression is very similar to Simple Linear Regression, but this method is used to explain the relationship between one continuous response (dependent) variable and <b>two or more</b> predictor (independent) variables.\n",
"Most of the real-world regression models involve multiple predictors. We will illustrate the structure by using four predictor variables, but these results can generalize to any integer:</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"Y: Response \\ Variable\\\\\n",
"X_1 :Predictor\\ Variable \\ 1\\\\\n",
"X_2: Predictor\\ Variable \\ 2\\\\\n",
"X_3: Predictor\\ Variable \\ 3\\\\\n",
"X_4: Predictor\\ Variable \\ 4\\\\\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"a: intercept\\\\\n",
"b_1 :coefficients \\ of\\ Variable \\ 1\\\\\n",
"b_2: coefficients \\ of\\ Variable \\ 2\\\\\n",
"b_3: coefficients \\ of\\ Variable \\ 3\\\\\n",
"b_4: coefficients \\ of\\ Variable \\ 4\\\\\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The equation is given by"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>From the previous section we know that other good predictors of price could be:</p>\n",
"<ul>\n",
" <li>Horsepower</li>\n",
" <li>Curb-weight</li>\n",
" <li>Engine-size</li>\n",
" <li>Highway-mpg</li>\n",
"</ul>\n",
"Let's develop a model using these variables as the predictor variables."
]
},
{
"cell_type": "code",
"execution_count": 63,
"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."
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.fit(Z, df['price'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What is the value of the intercept(a)?"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"-15806.624626329198"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.intercept_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"What are the values of the coefficients (b1, b2, b3, b4)?"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([53.49574423, 4.70770099, 81.53026382, 36.05748882])"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" What is the final estimated linear model that we get?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we saw above, we should get a final linear function with the structure:\n",
"\n",
"$$\n",
"Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n",
"$$\n",
"\n",
"What is the linear function we get in this example?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b>Price</b> = -15678.742628061467 + 52.65851272 x <b>horsepower</b> + 4.69878948 x <b>curb-weight</b> + 81.95906216 x <b>engine-size</b> + 33.58258185 x <b>highway-mpg</b>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #2 a): </h1>\n",
"Create and train a Multiple Linear Regression model \"lm2\" where the response variable is price, and the predictor variable is 'normalized-losses' and 'highway-mpg'.\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm2 = LinearRegression().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",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #2 b): </h1>\n",
"<b>Find the coefficient of the model?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 1.49789586 -820.45434016]\n",
"38201.31327245728\n"
]
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"print(lm2.coef_)\n",
"print(lm2.intercept_)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm2.coef_\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>2) Model Evaluation using Visualization</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we've developed some models, how do we evaluate our models and how do we choose the best one? One way to do this is by using visualization."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"import the visualization package: seaborn"
]
},
{
"cell_type": "code",
"execution_count": 69,
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>When it comes to simple linear regression, an excellent way to visualize the fit of our model is by using <b>regression plots</b>.</p>\n",
"\n",
"<p>This plot will show a combination of a scattered data points (a <b>scatter plot</b>), as well as the fitted <b>linear regression</b> line going through the data. This will give us a reasonable estimate of the relationship between the two variables, the strength of the correlation, as well as the direction (positive or negative correlation).</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's visualize Horsepower as potential predictor variable of price:"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
]
},
{
"data": {
"text/plain": [
"(0, 48283.62810642804)"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"width = 12\n",
"height = 10\n",
"plt.figure(figsize=(width, height))\n",
"sns.regplot(x=\"highway-mpg\", y=\"price\", data=df)\n",
"plt.ylim(0,)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>We can see from this plot that price is negatively correlated to highway-mpg, since the regression slope is negative.\n",
"One thing to keep in mind when looking at a regression plot is to pay attention to how scattered the data points are around the regression line. This will give you a good indication of the variance of the data, and whether a linear model would be the best fit or not. If the data is too far off from the line, this linear model might not be the best model for this data. Let's compare this plot to the regression plot of \"peak-rpm\".</p>"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"(0, 47422.919330307624)"
]
},
"execution_count": 71,
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #3:</h1>\n",
"<b>Given the regression plots above is \"peak-rpm\" or \"highway-mpg\" more strongly correlated with \"price\". Use the method \".corr()\" to verify your answer.</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 72,
"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": 72,
"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",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Residual Plot</h3>\n",
"\n",
"<p>A good way to visualize the variance of the data is to use a residual plot.</p>\n",
"\n",
"<p>What is a <b>residual</b>?</p>\n",
"\n",
"<p>The difference between the observed value (y) and the predicted value (Yhat) is called the residual (e). When we look at a regression plot, the residual is the distance from the data point to the fitted regression line.</p>\n",
"\n",
"<p>So what is a <b>residual plot</b>?</p>\n",
"\n",
"<p>A residual plot is a graph that shows the residuals on the vertical y-axis and the independent variable on the horizontal x-axis.</p>\n",
"\n",
"<p>What do we pay attention to when looking at a residual plot?</p>\n",
"\n",
"<p>We look at the spread of the residuals:</p>\n",
"\n",
"<p>- If the points in a residual plot are <b>randomly spread out around the x-axis</b>, then a <b>linear model is appropriate</b> for the data. Why is that? Randomly spread out residuals means that the variance is constant, and thus the linear model is a good fit for this data.</p>"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"width = 12\n",
"height = 10\n",
"plt.figure(figsize=(width, height))\n",
"sns.residplot(df['highway-mpg'], df['price'])\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<i>What is this plot telling us?</i>\n",
"\n",
"<p>We can see from this residual plot that the residuals are not randomly spread around the x-axis, which leads us to believe that maybe a non-linear model is more appropriate for this data.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Multiple Linear Regression</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>How do we visualize a model for Multiple Linear Regression? This gets a bit more complicated because you can't visualize it with regression or residual plot.</p>\n",
"\n",
"<p>One way to look at the fit of the model is by looking at the <b>distribution plot</b>: We can look at the distribution of the fitted values that result from the model and compare it to the distribution of the actual values.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First lets make a prediction "
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"Y_hat = lm.predict(Z)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
]
},
{
"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",
"\n",
"\n",
"ax1 = sns.distplot(df['price'], hist=False, color=\"r\", label=\"Actual Value\")\n",
"sns.distplot(Yhat, hist=False, color=\"b\", label=\"Fitted Values\" , ax=ax1)\n",
"\n",
"\n",
"plt.title('Actual vs Fitted Values for Price')\n",
"plt.xlabel('Price (in dollars)')\n",
"plt.ylabel('Proportion of Cars')\n",
"\n",
"plt.show()\n",
"plt.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>We can see that the fitted values are reasonably close to the actual values, since the two distributions overlap a bit. However, there is definitely some room for improvement.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Part 3: Polynomial Regression and Pipelines</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p><b>Polynomial regression</b> is a particular case of the general linear regression model or multiple linear regression models.</p> \n",
"<p>We get non-linear relationships by squaring or setting higher-order terms of the predictor variables.</p>\n",
"\n",
"<p>There are different orders of polynomial regression:</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><b>Quadratic - 2nd order</b></center>\n",
"$$\n",
"Yhat = a + b_1 X^2 +b_2 X^2 \n",
"$$\n",
"\n",
"\n",
"<center><b>Cubic - 3rd order</b></center>\n",
"$$\n",
"Yhat = a + b_1 X^2 +b_2 X^2 +b_3 X^3\\\\\n",
"$$\n",
"\n",
"\n",
"<center><b>Higher order</b>:</center>\n",
"$$\n",
"Y = a + b_1 X^2 +b_2 X^2 +b_3 X^3 ....\\\\\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>We saw earlier that a linear model did not provide the best fit while using highway-mpg as the predictor variable. Let's see if we can try fitting a polynomial model to the data instead.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>We will use the following function to plot the data:</p>"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"def PlotPolly(model, independent_variable, dependent_variabble, Name):\n",
" x_new = np.linspace(15, 55, 100)\n",
" y_new = model(x_new)\n",
"\n",
" plt.plot(independent_variable, dependent_variabble, '.', x_new, y_new, '-')\n",
" plt.title('Polynomial Fit with Matplotlib for Price Length')\n",
" ax = plt.gca()\n",
" ax.set_facecolor((0.898, 0.898, 0.898))\n",
" fig = plt.gcf()\n",
" plt.xlabel(Name)\n",
" plt.ylabel('Price of Cars')\n",
"\n",
" plt.show()\n",
" plt.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"lets get the variables"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"x = df['highway-mpg']\n",
"y = df['price']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's fit the polynomial using the function <b>polyfit</b>, then use the function <b>poly1d</b> to display the polynomial function."
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 3 2\n",
"-1.557 x + 204.8 x - 8965 x + 1.379e+05\n"
]
}
],
"source": [
"# Here we use a polynomial of the 3rd order (cubic) \n",
"f = np.polyfit(x, y, 3)\n",
"p = np.poly1d(f)\n",
"print(p)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's plot the function "
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"PlotPolly(p, x, y, 'highway-mpg')"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([-1.55663829e+00, 2.04754306e+02, -8.96543312e+03, 1.37923594e+05])"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.polyfit(x, y, 3)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>We can already see from plotting that this polynomial model performs better than the linear model. This is because the generated polynomial function \"hits\" more of the data points.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #4:</h1>\n",
"<b>Create 11 order polynomial model with the variables x and y from above?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[-1.24263342e-08 4.72184704e-06 -8.02843159e-04 8.05639976e-02\n",
" -5.29740763e+00 2.39470229e+02 -7.58845417e+03 1.68447180e+05\n",
" -2.56531039e+06 2.55140506e+07 -1.49106895e+08 3.87929899e+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",
"f_11 = np.polyfit(x, y, 11)\n",
"print(f_11)\n",
"p_11 = np.poly1d(f)\n",
"PlotPolly(p, 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(p)\n",
"PlotPolly(p1,x,y, 'Highway MPG')\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>The analytical expression for Multivariate Polynomial function gets complicated. For example, the expression for a second-order (degree=2)polynomial with two variables is given by:</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
"Yhat = a + b_1 X_1 +b_2 X_2 +b_3 X_1 X_2+b_4 X_1^2+b_5 X_2^2\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can perform a polynomial transform on multiple features. First, we import the module:"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.preprocessing import PolynomialFeatures"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We create a <b>PolynomialFeatures</b> object of degree 2: "
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" horsepower curb-weight engine-size highway-mpg\n",
"0 111.0 2548 130 27\n",
"1 111.0 2548 130 27\n",
"2 154.0 2823 152 26\n",
"3 102.0 2337 109 30\n",
"4 115.0 2824 136 22\n",
".. ... ... ... ...\n",
"196 114.0 2952 141 28\n",
"197 160.0 3049 141 25\n",
"198 134.0 3012 173 23\n",
"199 106.0 3217 145 27\n",
"200 114.0 3062 141 25\n",
"\n",
"[201 rows x 4 columns]\n"
]
}
],
"source": [
"pr=PolynomialFeatures(degree=2)\n",
"pr\n",
"print(Z)"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [],
"source": [
"Z_pr=pr.fit_transform(Z)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The original data is of 201 samples and 4 features "
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"(201, 4)"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"after the transformation, there 201 samples and 15 features"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"(201, 15)"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z_pr.shape\n",
"#len(Z_pr[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Pipeline</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Data Pipelines simplify the steps of processing the data. We use the module <b>Pipeline</b> to create a pipeline. We also use <b>StandardScaler</b> as a step in our pipeline.</p>"
]
},
{
"cell_type": "code",
"execution_count": 87,
"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."
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"Input=[('scale',StandardScaler()), ('polynomial', PolynomialFeatures(include_bias=False)), ('model',LinearRegression())]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we input the list as an argument to the pipeline constructor "
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Pipeline(memory=None,\n",
" steps=[('scale', StandardScaler(copy=True, with_mean=True, with_std=True)), ('polynomial', PolynomialFeatures(degree=2, include_bias=False, interaction_only=False)), ('model', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False))])"
]
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pipe=Pipeline(Input)\n",
"pipe"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can normalize the data, perform a transform and fit the model simultaneously. "
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pipe.fit(Z,y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Similarly, we can normalize the data, perform a transform and produce a prediction simultaneously"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ypipe=pipe.predict(Z)\n",
"ypipe[0:4]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1>Question #5:</h1>\n",
"<b>Create a pipeline that Standardizes the data, then perform prediction using a linear regression model using the features Z and targets y</b>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### We must compare different models that we made. Simple Linear Model, Multiple Regression model, Polyline from one variable, Polynomial Features from different variables."
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"201"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"single_poly = p(df['highway-mpg'])\n",
"len(single_poly)"
]
},
{
"cell_type": "code",
"execution_count": 113,
"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",
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
]
},
{
"data": {
"image/png": "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Mj4u0L7rrrt4//33WbRoEW+//XaZ7Rs1alTsGcYYZs2axQMPPFBq3wYNGlBQUICfnx/du3cnKSmJ5cuXM2vWLEaMGMHTTz9dqH3Dhg2xN8O2F4aWJ4XCGMOrr77KyJEjS23nur+3165fVgoKCmjRokWxz7ike3gbiy9tShIYGIi/v3+hc+fOnaNx48al3rMuU0qJyBXkDLASmABYp5LAPxCal71YJwS4HfiL8x4+uzoO8nMgY0fZbUXkytNnLly/unK/ypjdLsngwYNZunQpOTk5ZGdn8/HHH3udRZ42bZo7v7t3794VetbIkSN5+37iNIYAACAASURBVO23ycrKAuDQoUMcO3asWLsePXrw/fffA3YVjyZNmnDnnXfyxBNPsHnzZp+f179/f/es8qJFi0oc07x587h48SIAKSkpZGdnF2v3ww8/sH79esDOoR40aFCxNsHBwXTq1IklS5YAdnDsSucYOHCgewzvv/++17GMGDGC+fPnu39hOHXKrmsRFBREZmYmAHFxcXz11VecOHGC/Px8Fi5cyJAhQ0r8DFJSUir836suUMAtcgX5BLiIHXBzuuwFk54eBXKAd8rzQC2cFJFqEhMTw7Rp04iNjSUuLo577723UDqJS+vWrenZsyf/9V//VeFnjRgxgttvv534+HgiIiKYMGGCO5D0NHr0aFavXg3Ad999R2xsLA6Hg+eff55f//rXPj9v7ty5vPjii8TGxnLkyBGaN29erM29995Lr169iImJITw8nAceeMDrDHnPnj157733iIyM5NSpUzz00ENen/n+++/z1ltvERUVRe/evd2LTV9++WVee+01+vXrR0ZGhte+9957L9dddx2RkZFERUXxwQcfAHD//fdz4403MmzYMNq2bcvvf/97hg0bRlRUFDExMe4FpkUdPXqUxo0b07ZtW58+r7rI8vVPOFeqvn37GtfqYZEr3c3AFmC/KcBa0gI63QX9XvO5/0DgLPCdrx2MgX9cDR3GQVyFqnmLSC2za9cuevb0Xkr0SpCTk0NERASbN2/2GrhWpiNHjnD33Xe7c7ErKicnh8aNG2NZFosWLWLhwoWFqq34Kj09nTFjxrB9+/bLGk91e+mllwgODmb69Ok1PZRK4+3nyLKsJGNMX2/tNcMtcoXIxN5BajxgZX0PeZnQMqZc97gFe+HkYV87WNalDXBERGrY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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"pipeline_p = Pipeline([('scale', StandardScaler()), ('model', LinearRegression())])\n",
"pipeline_p.fit(Z,y)\n",
"ypipe_p = pipeline_p.predict(Z)\n",
"ypipe_p[0:4]\n",
"plt.figure(figsize=(width, height))\n",
"ax1 = sns.distplot(ypipe_p, hist=False, color=\"blue\", label=\"Predicted with MLR\")\n",
"sns.distplot(ypipe, hist=False, color='red', label = \"Predicted with polynomial features\", ax=ax1)\n",
"sns.distplot(df['price'], hist=False, color='cyan', label=\"dataset\", ax = ax1)\n",
"sns.distplot(single_poly, hist=False, color='orange', label=\"Polyline (single predictor)\", ax=ax1)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"</div>\n",
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"Input=[('scale',StandardScaler()),('model',LinearRegression())]\n",
"\n",
"pipe=Pipeline(Input)\n",
"\n",
"pipe.fit(Z,y)\n",
"\n",
"ypipe=pipe.predict(Z)\n",
"ypipe[0:10]\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Part 4: Measures for In-Sample Evaluation</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>When evaluating our models, not only do we want to visualize the results, but we also want a quantitative measure to determine how accurate the model is.</p>\n",
"\n",
"<p>Two very important measures that are often used in Statistics to determine the accuracy of a model are:</p>\n",
"<ul>\n",
" <li><b>R^2 / R-squared</b></li>\n",
" <li><b>Mean Squared Error (MSE)</b></li>\n",
"</ul>\n",
" \n",
"<b>R-squared</b>\n",
"\n",
"<p>R squared, also known as the coefficient of determination, is a measure to indicate how close the data is to the fitted regression line.</p>\n",
" \n",
"<p>The value of the R-squared is the percentage of variation of the response variable (y) that is explained by a linear model.</p>\n",
"\n",
"\n",
"\n",
"<b>Mean Squared Error (MSE)</b>\n",
"\n",
"<p>The Mean Squared Error measures the average of the squares of errors, that is, the difference between actual value (y) and the estimated value (ŷ).</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Model 1: Simple Linear Regression</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the R^2"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<bound method DataFrame.info of highway-mpg\n",
"0 27\n",
"1 27\n",
"2 26\n",
"3 30\n",
"4 22\n",
".. ...\n",
"196 28\n",
"197 25\n",
"198 23\n",
"199 27\n",
"200 25\n",
"\n",
"[201 rows x 1 columns]>\n",
"The R-square is: 0.4965911884339175\n"
]
}
],
"source": [
"print(X.info)\n",
"#highway_mpg_fit\n",
"lm.fit(X, Y)\n",
"# Find the R^2\n",
"print('The R-square is: ', lm.score(X, Y))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can say that ~ 49.659% of the variation of the price is explained by this simple linear model \"horsepower_fit\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the MSE"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can predict the output i.e., \"yhat\" using the predict method, where X is the input variable:"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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>"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import mean_squared_error"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we compare the predicted results with the actual results "
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean square error of price and predicted value is: 31635042.944639895\n"
]
}
],
"source": [
"mse = mean_squared_error(df['price'], Yhat)\n",
"print('The mean square error of price and predicted value is: ', mse)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Model 2: Multiple Linear Regression</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the R^2"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<bound method DataFrame.info of horsepower curb-weight engine-size highway-mpg\n",
"0 111.0 2548 130 27\n",
"1 111.0 2548 130 27\n",
"2 154.0 2823 152 26\n",
"3 102.0 2337 109 30\n",
"4 115.0 2824 136 22\n",
".. ... ... ... ...\n",
"196 114.0 2952 141 28\n",
"197 160.0 3049 141 25\n",
"198 134.0 3012 173 23\n",
"199 106.0 3217 145 27\n",
"200 114.0 3062 141 25\n",
"\n",
"[201 rows x 4 columns]>\n",
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)\n",
"The R-square is: 0.8093562806577458\n"
]
}
],
"source": [
"# fit the model \n",
"print(Z.info)\n",
"lm.fit(Z, df['price'])\n",
"print(lm)\n",
"# Find the R^2\n",
"print('The R-square is: ', lm.score(Z, df['price']))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can say that ~ 80.896 % of the variation of price is explained by this multiple linear regression \"multi_fit\"."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the MSE"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" we produce a prediction "
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"Y_predict_multifit = lm.predict(Z)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" we compare the predicted results with the actual results "
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean square error of price and predicted value using multifit is: 11980366.870726489\n"
]
}
],
"source": [
"print('The mean square error of price and predicted value using multifit is: ', \\\n",
" mean_squared_error(df['price'], Y_predict_multifit))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Model 3: Polynomial Fit</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the R^2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"let’s import the function <b>r2_score</b> from the module <b>metrics</b> as we are using a different function"
]
},
{
"cell_type": "code",
"execution_count": 102,
"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"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"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"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>MSE</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can also calculate the MSE: "
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"20474146.426361226"
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean_squared_error(df['price'], p(x))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Model 4: Multiple Variable Polynomial Features \n",
"Let's find R-squared first"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The R-square value is: 0.8463341969864728\n"
]
}
],
"source": [
"r_squared_mpr = r2_score(df['price'], ypipe)\n",
"print('The R-square value is: ', r_squared_mpr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we can observe from the results of R-squared, Model 4 may be the most accurate one that we have now. It makes sense because Polynomial model that introduces multiple variables is more accurate than the linear one.\n",
"Let's find MSE for Model 4."
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"9656613.4039896"
]
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean_squared_error(df['price'], ypipe)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Part 5: Prediction and Decision Making</h2>\n",
"<h3>Prediction</h3>\n",
"\n",
"<p>In the previous section, we trained the model using the method <b>fit</b>. Now we will use the method <b>predict</b> to produce a prediction. Lets import <b>pyplot</b> for plotting; we will also be using some functions from numpy.</p>"
]
},
{
"cell_type": "code",
"execution_count": 125,
"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 "
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24\n",
" 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48\n",
" 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72\n",
" 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96\n",
" 97 98 99]\n",
"<bound method DataFrame.info of highway-mpg\n",
"0 27\n",
"1 27\n",
"2 26\n",
"3 30\n",
"4 22\n",
".. ...\n",
"196 28\n",
"197 25\n",
"198 23\n",
"199 27\n",
"200 25\n",
"\n",
"[201 rows x 1 columns]>\n",
"0 13495.0\n",
"1 16500.0\n",
"2 16500.0\n",
"3 13950.0\n",
"4 17450.0\n",
" ... \n",
"196 16845.0\n",
"197 19045.0\n",
"198 21485.0\n",
"199 22470.0\n",
"200 22625.0\n",
"Name: price, Length: 201, dtype: float64\n"
]
}
],
"source": [
"new_input=np.arange(1, 100, 1).reshape(-1, 1)\n",
"print(np.arange(1, 100, 1))\n",
"print(X.info)\n",
"print(Y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Fit the model "
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 133,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.fit(X, Y)\n",
"lm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Produce a prediction"
]
},
{
"cell_type": "code",
"execution_count": 134,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([37601.57247984, 36779.83910151, 35958.10572319, 35136.37234487,\n",
" 34314.63896655])"
]
},
"execution_count": 134,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat=lm.predict(new_input)\n",
"yhat[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can plot the data "
]
},
{
"cell_type": "code",
"execution_count": 135,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(new_input, yhat)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Decision Making: Determining a Good Model Fit</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Now that we have visualized the different models, and generated the R-squared and MSE values for the fits, how do we determine a good model fit?\n",
"<ul>\n",
" <li><i>What is a good R-squared value?</i></li>\n",
"</ul>\n",
"</p>\n",
"\n",
"<p>When comparing models, <b>the model with the higher R-squared value is a better fit</b> for the data.\n",
"<ul>\n",
" <li><i>What is a good MSE?</i></li>\n",
"</ul>\n",
"</p>\n",
"\n",
"<p>When comparing models, <b>the model with the smallest MSE value is a better fit</b> for the data.</p>\n",
"\n",
"\n",
"<h4>Let's take a look at the values for the different models.</h4>\n",
"<p>Simple Linear Regression: Using Highway-mpg as a Predictor Variable of Price.\n",
"<ul>\n",
" <li>R-squared: 0.49659118843391759</li>\n",
" <li>MSE: 3.16 x10^7</li>\n",
"</ul>\n",
"</p>\n",
" \n",
"<p>Multiple Linear Regression: Using Horsepower, Curb-weight, Engine-size, and Highway-mpg as Predictor Variables of Price.\n",
"<ul>\n",
" <li>R-squared: 0.80896354913783497</li>\n",
" <li>MSE: 1.2 x10^7</li>\n",
"</ul>\n",
"</p>\n",
" \n",
"<p>Polynomial Fit: Using Highway-mpg as a Predictor Variable of Price.\n",
"<ul>\n",
" <li>R-squared: 0.6741946663906514</li>\n",
" <li>MSE: 2.05 x 10^7</li>\n",
"</ul>\n",
"</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Simple Linear Regression model (SLR) vs Multiple Linear Regression model (MLR)</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Usually, the more variables you have, the better your model is at predicting, but this is not always true. Sometimes you may not have enough data, you may run into numerical problems, or many of the variables may not be useful and or even act as noise. As a result, you should always check the MSE and R^2.</p>\n",
"\n",
"<p>So to be able to compare the results of the MLR vs SLR models, we look at a combination of both the R-squared and MSE to make the best conclusion about the fit of the model.\n",
"<ul>\n",
" <li><b>MSE</b>The MSE of SLR is 3.16x10^7 while MLR has an MSE of 1.2 x10^7. The MSE of MLR is much smaller.</li>\n",
" <li><b>R-squared</b>: In this case, we can also see that there is a big difference between the R-squared of the SLR and the R-squared of the MLR. The R-squared for the SLR (~0.497) is very small compared to the R-squared for the MLR (~0.809).</li>\n",
"</ul>\n",
"</p>\n",
"\n",
"This R-squared in combination with the MSE show that MLR seems like the better model fit in this case, compared to SLR."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Simple Linear Model (SLR) vs Polynomial Fit</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<ul>\n",
" <li><b>MSE</b>: We can see that Polynomial Fit brought down the MSE, since this MSE is smaller than the one from the SLR.</li> \n",
" <li><b>R-squared</b>: The R-squared for the Polyfit is larger than the R-squared for the SLR, so the Polynomial Fit also brought up the R-squared quite a bit.</li>\n",
"</ul>\n",
"<p>Since the Polynomial Fit resulted in a lower MSE and a higher R-squared, we can conclude that this was a better fit model than the simple linear regression for predicting Price with Highway-mpg as a predictor variable.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Multiple Linear Regression (MLR) vs Polynomial Fit</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<ul>\n",
" <li><b>MSE</b>: The MSE for the MLR is smaller than the MSE for the Polynomial Fit.</li>\n",
" <li><b>R-squared</b>: The R-squared for the MLR is also much larger than for the Polynomial Fit.</li>\n",
"</ul>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Multiple Linear Regression with Polynomial Features (MLR/PF) vs Multiple Linear Regression\n",
"<ul>\n",
"<li><b>MSE</b>: The MSE for the MLR/PF is smaller than the MSE for the simple MLR.</li>\n",
"<li><b>R-squared</b>: The R-squared for the MLR/PF is also much larger than for the simple MLR.</li>\n",
"</ul>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Conclusion:</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Comparing these three models, we conclude that <b>the MLR/PF model is the best model</b> to be able to predict price from our dataset. This result makes sense, since we have 27 variables in total, and we know that more than one of those variables are potential predictors of the final car price.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Thank you for completing this notebook</h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
"\n",
" <p><a href=\"https://cocl.us/DA0101EN_edx_link_Notebook_bottom\"><img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/BottomAd.png\" width=\"750\" align=\"center\"></a></p>\n",
"</div>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>About the Authors:</h3>\n",
"\n",
"This notebook was written by <a href=\"https://www.linkedin.com/in/mahdi-noorian-58219234/\" target=\"_blank\">Mahdi Noorian PhD</a>, <a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>, Bahare Talayian, Eric Xiao, Steven Dong, Parizad, Hima Vsudevan and <a href=\"https://www.linkedin.com/in/fiorellawever/\" target=\"_blank\">Fiorella Wenver</a> and <a href=\" https://www.linkedin.com/in/yi-leng-yao-84451275/ \" target=\"_blank\" >Yi Yao</a>.\n",
"\n",
"<p><a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a> is a Data Scientist at IBM, and holds a PhD in Electrical Engineering. His research focused on using Machine Learning, Signal Processing, and Computer Vision to determine how videos impact human cognition. Joseph has been working for IBM since he completed his PhD.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<hr>\n",
"<p>Copyright &copy; 2018 IBM Developer Skills Network. This notebook and its source code are released under the terms of the <a href=\"https://cognitiveclass.ai/mit-license/\">MIT License</a>.</p>"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python",
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment