Skip to content

Instantly share code, notes, and snippets.

@Durlano
Created November 10, 2020 20:11
Show Gist options
  • Save Durlano/385893042b5c2f6e59a35132c5095a8d to your computer and use it in GitHub Desktop.
Save Durlano/385893042b5c2f6e59a35132c5095a8d to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center>\n",
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/Logos/organization_logo/organization_logo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n",
"</center>\n",
"\n",
"# Model Development\n",
"\n",
"Estimated time needed: **30** minutes\n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"- Develop prediction models\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>In this section, we will develop several models that will predict the price of the car using the variables or features. This is just an estimate but should give us an objective idea of how much the car should cost.</p>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Some questions we want to ask in this module\n",
"\n",
"<ul>\n",
" <li>do I know if the dealer is offering fair value for my trade-in?</li>\n",
" <li>do I know if I put a fair value on my car?</li>\n",
"</ul>\n",
"<p>Data Analytics, we often use <b>Model Development</b> to help us predict future observations from the data we have.</p>\n",
"\n",
"<p>A Model will help us understand the exact relationship between different variables and how these variables are used to predict the result.</p>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Setup</h4>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Import libraries\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"load data and store in dataframe df:\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/DA101EN_object_storage\">HERE</a> for free storage.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>symboling</th>\n",
" <th>normalized-losses</th>\n",
" <th>make</th>\n",
" <th>aspiration</th>\n",
" <th>num-of-doors</th>\n",
" <th>body-style</th>\n",
" <th>drive-wheels</th>\n",
" <th>engine-location</th>\n",
" <th>wheel-base</th>\n",
" <th>length</th>\n",
" <th>...</th>\n",
" <th>compression-ratio</th>\n",
" <th>horsepower</th>\n",
" <th>peak-rpm</th>\n",
" <th>city-mpg</th>\n",
" <th>highway-mpg</th>\n",
" <th>price</th>\n",
" <th>city-L/100km</th>\n",
" <th>horsepower-binned</th>\n",
" <th>diesel</th>\n",
" <th>gas</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>alfa-romero</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>convertible</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>...</td>\n",
" <td>9.0</td>\n",
" <td>111.0</td>\n",
" <td>5000.0</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>13495.0</td>\n",
" <td>11.190476</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>alfa-romero</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>convertible</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>...</td>\n",
" <td>9.0</td>\n",
" <td>111.0</td>\n",
" <td>5000.0</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>16500.0</td>\n",
" <td>11.190476</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>122</td>\n",
" <td>alfa-romero</td>\n",
" <td>std</td>\n",
" <td>two</td>\n",
" <td>hatchback</td>\n",
" <td>rwd</td>\n",
" <td>front</td>\n",
" <td>94.5</td>\n",
" <td>0.822681</td>\n",
" <td>...</td>\n",
" <td>9.0</td>\n",
" <td>154.0</td>\n",
" <td>5000.0</td>\n",
" <td>19</td>\n",
" <td>26</td>\n",
" <td>16500.0</td>\n",
" <td>12.368421</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>audi</td>\n",
" <td>std</td>\n",
" <td>four</td>\n",
" <td>sedan</td>\n",
" <td>fwd</td>\n",
" <td>front</td>\n",
" <td>99.8</td>\n",
" <td>0.848630</td>\n",
" <td>...</td>\n",
" <td>10.0</td>\n",
" <td>102.0</td>\n",
" <td>5500.0</td>\n",
" <td>24</td>\n",
" <td>30</td>\n",
" <td>13950.0</td>\n",
" <td>9.791667</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>audi</td>\n",
" <td>std</td>\n",
" <td>four</td>\n",
" <td>sedan</td>\n",
" <td>4wd</td>\n",
" <td>front</td>\n",
" <td>99.4</td>\n",
" <td>0.848630</td>\n",
" <td>...</td>\n",
" <td>8.0</td>\n",
" <td>115.0</td>\n",
" <td>5500.0</td>\n",
" <td>18</td>\n",
" <td>22</td>\n",
" <td>17450.0</td>\n",
" <td>13.055556</td>\n",
" <td>Medium</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 29 columns</p>\n",
"</div>"
],
"text/plain": [
" symboling normalized-losses make aspiration num-of-doors \\\n",
"0 3 122 alfa-romero std two \n",
"1 3 122 alfa-romero std two \n",
"2 1 122 alfa-romero std two \n",
"3 2 164 audi std four \n",
"4 2 164 audi std four \n",
"\n",
" body-style drive-wheels engine-location wheel-base length ... \\\n",
"0 convertible rwd front 88.6 0.811148 ... \n",
"1 convertible rwd front 88.6 0.811148 ... \n",
"2 hatchback rwd front 94.5 0.822681 ... \n",
"3 sedan fwd front 99.8 0.848630 ... \n",
"4 sedan 4wd front 99.4 0.848630 ... \n",
"\n",
" compression-ratio horsepower peak-rpm city-mpg highway-mpg price \\\n",
"0 9.0 111.0 5000.0 21 27 13495.0 \n",
"1 9.0 111.0 5000.0 21 27 16500.0 \n",
"2 9.0 154.0 5000.0 19 26 16500.0 \n",
"3 10.0 102.0 5500.0 24 30 13950.0 \n",
"4 8.0 115.0 5500.0 18 22 17450.0 \n",
"\n",
" city-L/100km horsepower-binned diesel gas \n",
"0 11.190476 Medium 0 1 \n",
"1 11.190476 Medium 0 1 \n",
"2 12.368421 Medium 0 1 \n",
"3 9.791667 Medium 0 1 \n",
"4 13.055556 Medium 0 1 \n",
"\n",
"[5 rows x 29 columns]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# path of data \n",
"path = 'https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DA0101EN-SkillsNetwork/labs/Data%20files/automobileEDA.csv'\n",
"df = pd.read_csv(path)\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>1. Linear Regression and Multiple Linear Regression</h3>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Linear Regression</h4>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>One example of a Data Model that we will be using is</p>\n",
"<b>Simple Linear Regression</b>.\n",
"\n",
"<br>\n",
"<p>Simple Linear Regression is a method to help us understand the relationship between two variables:</p>\n",
"<ul>\n",
" <li>The predictor/independent variable (X)</li>\n",
" <li>The response/dependent variable (that we want to predict)(Y)</li>\n",
"</ul>\n",
"\n",
"<p>The result of Linear Regression is a <b>linear function</b> that predicts the response (dependent) variable as a function of the predictor (independent) variable.</p>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$\n",
" Y: Response \\\\ Variable\\\\\n",
" X: Predictor \\\\ Variables\n",
"$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" <b>Linear function:</b>\n",
"$$\n",
"Yhat = a + b X\n",
"$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<ul>\n",
" <li>a refers to the <b>intercept</b> of the regression line0, in other words: the value of Y when X is 0</li>\n",
" <li>b refers to the <b>slope</b> of the regression line, in other words: the value with which Y changes when X increases by 1 unit</li>\n",
"</ul>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Lets load the modules for linear regression</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Create the linear regression object</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm = LinearRegression()\n",
"lm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>How could Highway-mpg help us predict car price?</h4>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For this example, we want to look at how highway-mpg can help us predict car price.\n",
"Using simple linear regression, we will create a linear function with \"highway-mpg\" as the predictor variable and the \"price\" as the response variable.\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"X = df[['highway-mpg']]\n",
"Y = df['price']\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the linear model using highway-mpg.\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 9,
"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": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([16236.50464347, 16236.50464347, 17058.23802179, 13771.3045085 ,\n",
" 20345.17153508])"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Yhat=lm.predict(X)\n",
"Yhat[0:5] "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>What is the value of the intercept (a)?</h4>\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"38423.3058581574"
]
},
"execution_count": 11,
"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": 12,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([-821.73337832])"
]
},
"execution_count": 12,
"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": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm1 = LinearRegression()\n",
"lm1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"lm1 = LinearRegression()\n",
"lm1 \n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #1 b): </h1>\n",
"\n",
"<b>Train the model using 'engine-size' as the independent variable and 'price' as the dependent variable?</b>\n",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"lm1.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": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[166.86001569]])"
]
},
"execution_count": 15,
"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": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-7963.33890628])"
]
},
"execution_count": 16,
"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": null,
"metadata": {},
"outputs": [],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"Yhat=-7963.34+166.86*X\n",
"Price=-7963.34+166.86*engine_size"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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": 18,
"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>horsepower</th>\n",
" <th>curb-weight</th>\n",
" <th>engine-size</th>\n",
" <th>highway-mpg</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>111.0</td>\n",
" <td>2548</td>\n",
" <td>130</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>111.0</td>\n",
" <td>2548</td>\n",
" <td>130</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>154.0</td>\n",
" <td>2823</td>\n",
" <td>152</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>102.0</td>\n",
" <td>2337</td>\n",
" <td>109</td>\n",
" <td>30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>115.0</td>\n",
" <td>2824</td>\n",
" <td>136</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>196</th>\n",
" <td>114.0</td>\n",
" <td>2952</td>\n",
" <td>141</td>\n",
" <td>28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>197</th>\n",
" <td>160.0</td>\n",
" <td>3049</td>\n",
" <td>141</td>\n",
" <td>25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>198</th>\n",
" <td>134.0</td>\n",
" <td>3012</td>\n",
" <td>173</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>199</th>\n",
" <td>106.0</td>\n",
" <td>3217</td>\n",
" <td>145</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>200</th>\n",
" <td>114.0</td>\n",
" <td>3062</td>\n",
" <td>141</td>\n",
" <td>25</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>201 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" 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]"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Z = df[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']]\n",
"Z"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the linear model using the four above-mentioned variables.\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 19,
"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": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-15806.62462632922"
]
},
"execution_count": 20,
"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": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([53.49574423, 4.70770099, 81.53026382, 36.05748882])"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lm.coef_"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" What is the final estimated linear model that we get?\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As we saw above, we should get a final linear function with the structure:\n",
"\n",
"$$\n",
"Yhat = a + b_1 X_1 + b_2 X_2 + b_3 X_3 + b_4 X_4\n",
"$$\n",
"\n",
"What is the linear function we get in this example?\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b>Price</b> = -15678.742628061467 + 52.65851272 x <b>horsepower</b> + 4.69878948 x <b>curb-weight</b> + 81.95906216 x <b>engine-size</b> + 33.58258185 x <b>highway-mpg</b>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #2 a): </h1>\n",
"Create and train a Multiple Linear Regression model \"lm2\" where the response variable is price, and the predictor variable is 'normalized-losses' and 'highway-mpg'.\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"lm2 = LinearRegression()\n",
"lm2.fit(df[['normalized-losses' , 'highway-mpg']],df['price'])\n"
]
},
{
"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": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1.49789586, -820.45434016])"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"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": 26,
"metadata": {},
"outputs": [],
"source": [
"# import the visualization package: seaborn\n",
"import seaborn as sns\n",
"%matplotlib inline "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Regression Plot</h3>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>When it comes to simple linear regression, an excellent way to visualize the fit of our model is by using <b>regression plots</b>.</p>\n",
"\n",
"<p>This plot will show a combination of a scattered data points (a <b>scatter plot</b>), as well as the fitted <b>linear regression</b> line going through the data. This will give us a reasonable estimate of the relationship between the two variables, the strength of the correlation, as well as the direction (positive or negative correlation).</p>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's visualize **highway-mpg** as potential predictor variable of price:\n"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 48271.702379454)"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1008x864 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"width = 14\n",
"height = 12\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": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0, 47414.1)"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1008x864 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": 34,
"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": 34,
"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()"
]
},
{
"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": 35,
"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": 44,
"metadata": {},
"outputs": [],
"source": [
"Y_hat = lm.predict(Z)\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"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()\n",
"\n",
"\n"
]
},
{
"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": 45,
"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": 46,
"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": 47,
"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": 48,
"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": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-1.55663829e+00, 2.04754306e+02, -8.96543312e+03, 1.37923594e+05])"
]
},
"execution_count": 49,
"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": 59,
"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",
"f2 = np.polyfit(x, y, 11)\n",
"p2 = np.poly1d(f2)\n",
"print(p2)\n",
"PlotPolly(p2,x,y, 'Highway MPG')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"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": 60,
"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": 61,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pr=PolynomialFeatures(degree=2)\n",
"pr"
]
},
{
"cell_type": "code",
"execution_count": 62,
"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": 63,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(201, 4)"
]
},
"execution_count": 63,
"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": 64,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(201, 15)"
]
},
"execution_count": 64,
"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": 65,
"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": 66,
"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": 67,
"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": 67,
"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": 68,
"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": 68,
"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": 69,
"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": 69,
"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": 70,
"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": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \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]"
]
},
{
"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": 71,
"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": 72,
"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": 73,
"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": 74,
"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": 75,
"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": 76,
"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": 77,
"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": 78,
"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": 79,
"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": 80,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"20474146.426361218"
]
},
"execution_count": 80,
"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": 81,
"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": 82,
"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": 83,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 83,
"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": 84,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([37601.57247984, 36779.83910151, 35958.10572319, 35136.37234487,\n",
" 34314.63896655])"
]
},
"execution_count": 84,
"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": 85,
"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
}
@MarcelRaschke
Copy link

cool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment