Skip to content

Instantly share code, notes, and snippets.

@patrickthoreson
Created February 19, 2019 01:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save patrickthoreson/f2478984a9f64c7ca0bbd0dd8e969f48 to your computer and use it in GitHub Desktop.
Save patrickthoreson/f2478984a9f64c7ca0bbd0dd8e969f48 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/corsera_da0101en_notebook_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 5: Model Evaluation and Refinement</h1>\n",
"\n",
"We have built models and made predictions of vehicle prices. Now we will determine how accurate these predictions are. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Table of content</h1>\n",
"<ul>\n",
" <li><a href=\"#ref1\">Model Evaluation </a></li>\n",
" <li><a href=\"#ref2\">Over-fitting, Under-fitting and Model Selection </a></li>\n",
" <li><a href=\"#ref3\">Ridge Regression </a></li>\n",
" <li><a href=\"#ref4\">Grid Search</a></li>\n",
"</ul>"
]
},
{
"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."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# Import clean data \n",
"path = 'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/module_5_auto.csv'\n",
"df = pd.read_csv(path)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"df.to_csv('module_5_auto.csv')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"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>Unnamed: 0</th>\n",
" <th>Unnamed: 0.1</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>...</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>0</td>\n",
" <td>0</td>\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>...</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>1</td>\n",
" <td>1</td>\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>...</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>2</td>\n",
" <td>2</td>\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>...</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>3</td>\n",
" <td>3</td>\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>...</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>4</td>\n",
" <td>4</td>\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>...</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 × 31 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 Unnamed: 0.1 symboling normalized-losses make \\\n",
"0 0 0 3 122 alfa-romero \n",
"1 1 1 3 122 alfa-romero \n",
"2 2 2 1 122 alfa-romero \n",
"3 3 3 2 164 audi \n",
"4 4 4 2 164 audi \n",
"\n",
" aspiration num-of-doors body-style drive-wheels engine-location ... \\\n",
"0 std two convertible rwd front ... \n",
"1 std two convertible rwd front ... \n",
"2 std two hatchback rwd front ... \n",
"3 std four sedan fwd front ... \n",
"4 std four sedan 4wd front ... \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 31 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# DataFrame before extracting/overlaying with only the numeric data:\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" First lets only use numeric data "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"scrolled": 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>Unnamed: 0</th>\n",
" <th>Unnamed: 0.1</th>\n",
" <th>symboling</th>\n",
" <th>normalized-losses</th>\n",
" <th>wheel-base</th>\n",
" <th>length</th>\n",
" <th>width</th>\n",
" <th>height</th>\n",
" <th>curb-weight</th>\n",
" <th>engine-size</th>\n",
" <th>...</th>\n",
" <th>stroke</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>diesel</th>\n",
" <th>gas</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>0.890278</td>\n",
" <td>48.8</td>\n",
" <td>2548</td>\n",
" <td>130</td>\n",
" <td>...</td>\n",
" <td>2.68</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>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>0.890278</td>\n",
" <td>48.8</td>\n",
" <td>2548</td>\n",
" <td>130</td>\n",
" <td>...</td>\n",
" <td>2.68</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>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>122</td>\n",
" <td>94.5</td>\n",
" <td>0.822681</td>\n",
" <td>0.909722</td>\n",
" <td>52.4</td>\n",
" <td>2823</td>\n",
" <td>152</td>\n",
" <td>...</td>\n",
" <td>3.47</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>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>99.8</td>\n",
" <td>0.848630</td>\n",
" <td>0.919444</td>\n",
" <td>54.3</td>\n",
" <td>2337</td>\n",
" <td>109</td>\n",
" <td>...</td>\n",
" <td>3.40</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>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>99.4</td>\n",
" <td>0.848630</td>\n",
" <td>0.922222</td>\n",
" <td>54.3</td>\n",
" <td>2824</td>\n",
" <td>136</td>\n",
" <td>...</td>\n",
" <td>3.40</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>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 21 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 Unnamed: 0.1 symboling normalized-losses wheel-base \\\n",
"0 0 0 3 122 88.6 \n",
"1 1 1 3 122 88.6 \n",
"2 2 2 1 122 94.5 \n",
"3 3 3 2 164 99.8 \n",
"4 4 4 2 164 99.4 \n",
"\n",
" length width height curb-weight engine-size ... stroke \\\n",
"0 0.811148 0.890278 48.8 2548 130 ... 2.68 \n",
"1 0.811148 0.890278 48.8 2548 130 ... 2.68 \n",
"2 0.822681 0.909722 52.4 2823 152 ... 3.47 \n",
"3 0.848630 0.919444 54.3 2337 109 ... 3.40 \n",
"4 0.848630 0.922222 54.3 2824 136 ... 3.40 \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 diesel gas \n",
"0 11.190476 0 1 \n",
"1 11.190476 0 1 \n",
"2 12.368421 0 1 \n",
"3 9.791667 0 1 \n",
"4 13.055556 0 1 \n",
"\n",
"[5 rows x 21 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df=df._get_numeric_data()\n",
"# Dataframe after extrating and overlaying with only the numeric data:\n",
"# (notice columns \"make\", \"aspiration\", \"num-of-door\", \"body-style\", \"drive-wheels\" and others are gone)\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Libraries for plotting "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"from IPython.core.interactiveshell import InteractiveShell\n",
"InteractiveShell.ast_node_interactivity = \"all\"\n",
"# this step allows this Jupyer notebook to print all output in each cell, not just the last one"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"%%capture\n",
"! pip install ipywidgets"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from IPython.display import display\n",
"from IPython.html import widgets \n",
"from ipywidgets import interact, interactive, fixed, interact_manual"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Functions for plotting</h2>"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def DistributionPlot(RedFunction, BlueFunction, RedName, BlueName, Title):\n",
" width = 12\n",
" height = 10\n",
" plt.figure(figsize=(width, height))\n",
"\n",
" ax1 = sns.distplot(RedFunction, hist=False, color=\"r\", label=RedName)\n",
" ax2 = sns.distplot(BlueFunction, hist=False, color=\"b\", label=BlueName, ax=ax1)\n",
"\n",
" plt.title(Title)\n",
" plt.xlabel('Price (in dollars)')\n",
" plt.ylabel('Proportion of Cars')\n",
"\n",
" plt.show()\n",
" plt.close()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def PollyPlot(xtrain, xtest, y_train, y_test, lr,poly_transform):\n",
" width = 12\n",
" height = 10\n",
" plt.figure(figsize=(width, height))\n",
" \n",
" \n",
" #training data \n",
" #testing data \n",
" # lr: linear regression object \n",
" #poly_transform: polynomial transformation object \n",
" \n",
" xmax=max([xtrain.values.max(), xtest.values.max()])\n",
"\n",
" xmin=min([xtrain.values.min(), xtest.values.min()])\n",
"\n",
" x=np.arange(xmin, xmax, 0.1)\n",
"\n",
"\n",
" plt.plot(xtrain, y_train, 'ro', label='Training Data')\n",
" plt.plot(xtest, y_test, 'go', label='Test Data')\n",
" plt.plot(x, lr.predict(poly_transform.fit_transform(x.reshape(-1, 1))), label='Predicted Function')\n",
" plt.ylim([-10000, 60000])\n",
" plt.ylabel('Price')\n",
" plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1 id=\"ref1\">Part 1: Training and Testing</h1>\n",
"\n",
"<p>An important step in testing your model is to split your data into training and testing data. We will place the target data <b>price</b> in a separate dataframe <b>y</b>:</p>"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"y_data = df['price']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"drop price data in x data"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"x_data=df.drop('price',axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"pandas.core.series.Series"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"pandas.core.frame.DataFrame"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(y_data)\n",
"type(x_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we randomly split our data into training and testing data using the function <b>train_test_split</b>. "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of test samples : 31\n",
"number of training samples: 170\n"
]
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"\n",
"x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=0.15, random_state=1)\n",
"\n",
"\n",
"print(\"number of test samples :\", x_test.shape[0])\n",
"print(\"number of training samples:\",x_train.shape[0])\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The <b>test_size</b> parameter sets the proportion of data that is split into the testing set. In the above, the testing set is set to 10% of the total dataset. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #1):</h1>\n",
"\n",
"<b>Use the function \"train_test_split\" to split up the data set such that 40% of the data samples will be utilized for testing, set the parameter \"random_state\" equal to zero. The output of the function should be the following: \"x_train_1\" , \"x_test_1\", \"y_train_1\" and \"y_test_1\".</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of test samples : 81\n",
"number of training samples: 120\n"
]
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.4, random_state=0)\n",
"\n",
"print(\"number of test samples :\", x_test1.shape[0])\n",
"print(\"number of training samples:\",x_train1.shape[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.4, random_state=0) \n",
"print(\"number of test samples :\", x_test1.shape[0])\n",
"print(\"number of training samples:\",x_train1.shape[0])\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's import <b>LinearRegression</b> from the module <b>linear_model</b>."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We create a Linear Regression object:"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"lre=LinearRegression()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we fit the model using the feature horsepower "
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lre.fit(x_train[['horsepower']], y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's Calculate the R^2 on the test data:"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.707688374146705"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lre.score(x_test[['horsepower']], y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can see the R^2 is much smaller using the test data."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.6449517437659684"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lre.score(x_train[['horsepower']], y_train)\n",
"# Hmmmmm... no, the R^2 is smaller using the training data (see below, and compare to cell above)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #2): </h1>\n",
"<b> \n",
"Find the R^2 on the test data using 90% of the data for training data\n",
"</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of test samples : 21\n",
"number of training samples: 180\n"
]
},
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"0.7340722810055448"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"0.6479796296498318"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"# from sklearn.model_selection import train_test_split # Already imported, see cells above\n",
"x_train2, x_test2, y_train2, y_test2 = train_test_split(x_data, y_data, test_size=0.1, random_state=0)\n",
"\n",
"print(\"number of test samples :\", x_test2.shape[0])\n",
"print(\"number of training samples:\",x_train2.shape[0])\n",
"# from sklearn.linear_model import LinearRegression # already imported (see cells above)\n",
"lre2=LinearRegression()\n",
"lre2.fit(x_train2[['horsepower']], y_train2)\n",
"lre2.score(x_test2[['horsepower']], y_test2)\n",
"lre2.score(x_train2[['horsepower']], y_train2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.1, random_state=0)\n",
"lre.fit(x_train1[['horsepower']],y_train1)\n",
"lre.score(x_test1[['horsepower']],y_test1)\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Sometimes you do not have sufficient testing data; as a result, you may want to perform Cross-validation. Let's go over several methods that you can use for Cross-validation. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Cross-validation Score</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets import <b>model_selection</b> from the module <b>cross_val_score</b>."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from sklearn.model_selection import cross_val_score"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We input the object, the feature in this case ' horsepower', the target data (y_data). The parameter 'cv' determines the number of folds; in this case 4. "
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# lre=LinearRegression() # already run, see cells above\n",
"# Re-fitting using \"cross-validation\" method;\n",
"# previously we had fitted with just 1 fixed set of training data:\n",
"# lre.fit(x_train[['horsepower']], y_train) # already fitted, see cells above\n",
"# Now are fit using 4 combinations of trainings sets from partitioning the data into 4:\n",
"Rcross = cross_val_score(lre, x_data[['horsepower']], y_data, cv=4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The default scoring is R^2; each element in the array has the average R^2 value in the fold:"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([0.7746232 , 0.51716687, 0.74785353, 0.04839605])"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Rcross"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can calculate the average and standard deviation of our estimate:"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean of the folds are 0.522009915042119 and the standard deviation is 0.2911839444756029\n"
]
}
],
"source": [
"print(\"The mean of the folds are\", Rcross.mean(), \"and the standard deviation is\" , Rcross.std())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can use negative squared error as a score by setting the parameter 'scoring' metric to 'neg_mean_squared_error'. "
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([20254142.84026704, 43745493.26505169, 12539630.34014931,\n",
" 17561927.72247591])"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"-1 * cross_val_score(lre,x_data[['horsepower']], y_data,cv=4,scoring='neg_mean_squared_error')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #3): </h1>\n",
"<b> \n",
"Calculate the average R^2 using two folds, find the average R^2 for the second fold utilizing the horsepower as a feature : \n",
"</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([0.59015621, 0.44319613])"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"The R^2 of the 2nd fold is 0.443196127755029\n"
]
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"Rcross2 = cross_val_score(lre, x_data[['horsepower']], y_data, cv=2)\n",
"Rcross2\n",
"print(\"The R^2 of the 2nd fold is\", Rcross2[1])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"Rc=cross_val_score(lre,x_data[['horsepower']], y_data,cv=2)\n",
"Rc[1]\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also use the function 'cross_val_predict' to predict the output. The function splits up the data into the specified number of folds, using one fold to get a prediction while the rest of the folds are used as test data. First import the function:"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.model_selection import cross_val_predict"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We input the object, the feature in this case <b>'horsepower'</b> , the target data <b>y_data</b>. The parameter 'cv' determines the number of folds; in this case 4. We can produce an output:"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([14141.63807508, 14141.63807508, 20814.29423473, 12745.03562306,\n",
" 14762.35027598])"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat = cross_val_predict(lre,x_data[['horsepower']], y_data,cv=4)\n",
"yhat[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1 id=\"ref2\">Part 2: Overfitting, Underfitting and Model Selection</h1>\n",
"\n",
"<p>It turns out that the test data sometimes referred to as the out of sample data is a much better measure of how well your model performs in the real world. One reason for this is overfitting; let's go over some examples. It turns out these differences are more apparent in Multiple Linear Regression and Polynomial Regression so we will explore overfitting in that context.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create Multiple linear regression objects and train the model using <b>'horsepower'</b>, <b>'curb-weight'</b>, <b>'engine-size'</b> and <b>'highway-mpg'</b> as features."
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lr = LinearRegression()\n",
"lr.fit(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_train)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(170,)"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"pandas.core.series.Series"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_train.shape\n",
"type(y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prediction using training data:"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([11927.70699817, 11236.71672034, 6436.91775515, 21890.22064982,\n",
" 16667.18254832])"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat_train = lr.predict(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"yhat_train[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prediction using test data: "
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([11349.16502418, 5914.48335385, 11243.76325987, 6662.03197043,\n",
" 15555.76936275])"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat_test = lr.predict(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"yhat_test[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's perform some model evaluation using our training and testing data separately. First we import the seaborn and matplotlibb library for plotting."
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's examine the distribution of the predicted values of the training data."
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/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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7d+/n9WrV7Nnz55khyKVQM2aNWnevDnVqlUr0fYJnae9vMrKynIaiCoiIlKxLV++nHr16pGeno6fvE4kMZxzbN68mR07dtCqVat895nZTOdcVlFt6IqoIiIiUint2bNHCbuUCTMjPT29VGd1lLSLiIhIpaWEXcpKaV9rStpFRERERFKcknYRERERkRSnpF1EREQkicaMGYOZsWDBgiLXffHFF1m7tuBlb2I3adIkLrjggnzLdu3aRXp6Otu3b8+3/OKLL2bUqFHFaivennzySV5++WVuuOEGMjMzad++PbVq1SIzM5PMzExGjx4dc1tjxozhkUceKXSd9evX079//9KGnRAJm/JRRERERIr2+uuvc+aZZzJy5EhGjBhR6LovvvgiGRkZHHPMMXHbf506dejbty9jx45l2DB/+Zzt27fzySef8Nprr8VtP8V14MABXnjhBWbNmsVVV10FwIoVK7jggguYPXt21G2qVo2c3g4cOLDIfR511FE0atSIL774glNPPbXkwSeAknYRERGRW26BKIlgiWVmwpNPFrrKzp07mTp1KhMnTmTAgAH5kvaHH36Yf//736SlpXHeeeeRlZXFjBkzuOKKK6hVqxafffYZ7dq1Y8aMGTRu3JgZM2Zw6623MmnSJKZNm8Ytt9zC7t27qVWrFv/6179o06ZN1DiGDh3KM888k5e0jxkzhn79+lG7du2Y2hoxYgR169bl1ltvBSAjI4O3336bli1b8sorr/DXv/6Vffv2ceqpp/L0008DMHz4cGbMmIGZ8dOf/pRf/epX+drMycmhS5cuUZPwkDPPPJOzzjqLjz/+mEsuuYRWrVpx//33s2/fPpo0acIrr7zCkUceyT//+U/mzp3Lk08+yZVXXkl6ejrTp09n/fr1PPbYY3lJ/cUXX8yrr76qpF1EREREvLFjx9KvXz9OOukkGjVqxKxZs+jSpQvvvfceY8eO5YsvvqB27dps2bKFRo0a8fe//51HH32UrKzCp/Vu27YtU6ZMoWrVqkyYMIE777yTN998M+r6/fr145prrmHz5s2kp6czcuRIfvnLX5aorXDz58/njTfeYOrUqVSrVo1f/OIXvPrqq3To0IE1a9Ywd+5cALZt23bYtlOnTqVr164x7ef7779nypQpAGzdupUBAwZgZvzjH//gscce46GHHjpsmw0bNjB16lTmzJnD4MGD85L2rKws7r333pj2W5aUtIuIiIgU0SOeKK+//jq33HILAEOGDOH111+nS5cuTJgwgZ/85CfUrl0bgEaNGhWr3e3btzNs2DAWL16MmbF///5C169evToDBgxg9OjRDBo0iNmzZ9O3b98StRXuo48+YubMmWRnZwOwe/dujjzySC688EKWLVvGL3/5S/r375+3r3Dr1q2jXbt2Me1nyJAheX9/++23DB48mPXr17N3715OOumkiNtcfPHFmBkdO3ZkzZo1ecuPPPLIUo0bSBQl7SIiIiJJsHnzZnJycpg7dy5mRm5uLmbGww8/jHMupnm9q1atysGDBwHyXbjnD3/4Az179mTMmDGsWLGCs88+u8i2hg4dyr333otzjosuuohq1arF3FZ4HOGxOOcYNmwYDzzwwGHbfPXVV3zwwQc89dRTjBo1ihdeeCHf/bVq1Yr5YkR16tTJ+/uGG27gzjvv5Pzzz2fChAk8+OCDEbepUaNG3t/OuXyx16pVK6b9liXNHiMiIiKSBKNHj+aqq65i5cqVrFixglWrVtGqVSs++eQT+vbtywsvvMAPP/wAwJYtWwCoV68eO3bsyGujZcuWzJw5EyBfycr27dtp1qwZ4AevxqJnz54sXryYp556iqFDhxarrZYtWzJr1iwAZs2axfLlywE455xzGD16NBs2bMg7jpUrV7Jp0yYOHjzIoEGDuOeee/K2DdeuXTuWLFkSU+zhQvE653jppZeKvf2iRYvIyMgo9naJpqRdREREJAlef/31w2Y0GTRoEK+99hr9+vVjwIABZGVlkZmZyaOPPgrA1VdfzfXXX09mZia7d+/m7rvv5uabb6Z79+5UqVIlr53f/va33HHHHZxxxhnk5ubGFE9aWhqDBg1i8+bN9OjRo1htDRo0iC1btpCZmckzzzyTV5LSvn177r33Xvr27UvHjh3p06cP69atY82aNZx99tlkZmZy9dVXR+yJP++88/Lq1ItjxIgRDBw4kLPOOoumTZsWe/uJEyem5LSPFn46QLysrCw3Y8aMZIchIiIiCTR//vyYa6YlOQYOHMjDDz9M69aty2R/zjm6d+/OO++8Q4MGDeLefqTXnJnNdM4VPrIY9bSLiIiISIp68MEHWbduXZntb8OGDfz2t79NSMJeWhqIKiIiIiIpqU2bNoXOLx9vTZs2ZcCAAWW2v+JQT7uIiIiISIpT0i4iIiIikuKUtIuIiIiIpDjVtIsIOAcrV8KMGf7fgQPw0EMQNn2YiIiIJI962kUquzvugCZNoFUruOwyePRReOwx+Mtfkh2ZiEiFV6VKFTIzM8nIyOCyyy7Lu5hSSUyaNIkLLrgAgHHjxkW9EijAtm3bePrpp4u9jxEjRuTNGR++39NOOy3fsgMHDtC0adNCZ36J1Fa8XXrppSxbtoxTTz2VzMxMjjvuOJo0aUJmZiaZmZmsWLEi5rZ+//vfM3HixELXGTt2LPfcc08po45MSbtIZfbll/Dgg5CdDc88A9Onw65dcOGF8Pvfw+LFyY5QRKRCq1WrFrNnz2bu3LlUr16df/zjH/nud85x8ODBYrc7YMAAbr/99qj3lzRpj6RHjx6sXr06XwI8YcIEMjIyOProo+Oyj5KYN28eubm5HH/88XzxxRfMnj2bP//5z1x++eXMnj2b2bNn07Jly3zbFHYhqvvuu4+ePXsWus+LLrqIN998kz179sTjEPJR0i5SmT34INSvD6+/DtdfD1lZUKOGT+Br1IBrroESfFmIiJQ3t9wCZ58d33+33FK8GLp3786SJUtYsWIF7dq14xe/+AVdunRh1apVjB8/ntNOO40uXbpw2WWXsXPnTgDef/992rZty5lnnslbb72V19aLL77IjTfeCMB3333HwIED6dSpE506deLTTz/l9ttvZ+nSpWRmZnLbbbcB8Mgjj5CdnU3Hjh25++6789q67777aNOmDb1792bhwoWHxZ2WlsZll13GG2+8kbds5MiRDB06FIDnnnuO7OxsOnXqxKBBgyKeTTj77LMJXdhy06ZNecl0bm4ut912W15c//d//wfAunXr6NGjR95Zio8//viwNl999VUuuuiiQh/zAwcO0LBhQ+666y5OOeUUpk2bxt133012djYZGRlcf/31hC5EeuWVVzJ27FgAmjdvzogRI+jcuTMdO3Zk0aJFAJgZ3bt359133y10vyWhpF2kslq0CP7zH/jFL6Bhw/z3NWsGjz8OU6ZAgV4fERGJvwMHDvDee+9x8sknA7Bw4UKuuuoqvvzyS+rUqcO9997LhAkTmDVrFllZWTz++OPs2bOHa6+9lv/97398/PHHrF+/PmLbN910E2eddRZfffUVs2bNokOHDjz44IOccMIJzJ49m0ceeYTx48ezePFipk2bxuzZs5k5cyZTpkxh5syZjBw5ki+//JK33nqL6dOnR9zH0KFDGTlyJAB79+7l3XffZdCgQQBccsklTJ8+na+++op27drx/PPPx/y4PP/88zRo0IDp06czffp0nnvuOZYvX85rr73Gueeey+zZs/nqq6/IzMw8bNupU6fStWvXIvexfft2unTpwrRp0zjttNO4+eabmT59OnPmzGH79u28//77Ebdr2rQpX375Jddccw2PP/543vKsrKyIPyJKSwNRRSqrhx/2venRuoJ+8hMYORJ+9zvo3x9atCjb+EREytCTTyZnv7t3785LOLt3787w4cPX6VwoAAAgAElEQVRZu3YtLVq0oFu3bgB8/vnnfPPNN5xxxhkA7Nu3j9NOO40FCxbQqlUrWrduDfie4GefffawfeTk5PDyyy8Dvoa+QYMGbN26Nd8648ePZ/z48XTu3BmAnTt3snjxYnbs2MHAgQOpXbs2QNQLD2VnZ7Nz504WLlzI/Pnz6datG0cccQQAc+fO5a677mLbtm3s3LmTc889N+bHZ/z48Xz99deMHj0a8An24sWLyc7O5qc//Sn79+/n4osvjpi0r1u3jiZNmhS5j+rVqzNw4MC8/3/00Uc88sgj7Nmzh02bNtG1a1fOO++8w7a75JJLAOjatWu+nvUjjzyStWvXxnyMsVLSLlIZrVoFL78M110HTZtGXscMnnsOMjLgZz+D99/3y0REJG5CNe0F1alTJ+9v5xx9+vTh9ddfz7fO7NmzsTh9LjvnuOOOO7juuuvyLX/yySdj3seQIUMYOXIk8+fPzyuNAbj66qsZO3YsnTp14sUXX2TSpEmHbVu1atW82v3wenDnHH/7298iJvpTpkzhnXfe4cc//jG33XYbV111Vb77a9WqFVNtea1atfKO8YcffuDGG29k1qxZNGvWjLvuuitqGzVq1AD8D6EDBw7kLd+zZw+1atUqcr/FpfIYkcroscf8NI+33lr4ei1a+Lr38eMhrFZSRETKTrdu3Zg6dSpLliwBfGK5aNEi2rZty/Lly1m6dCnAYUl9yDnnnMMzzzwD+Brx77//nnr16rFjx468dc4991xeeOGFvFr5NWvWsGHDBnr06MGYMWPYvXs3O3bs4H//+1/UOIcOHcorr7xCTk5Ovh75HTt2cPTRR7N//35effXViNu2bNmSmTNnAuT1qofieuaZZ9i/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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Title = 'Distribution Plot of Predicted Value Using Training Data vs Training Data Distribution'\n",
"DistributionPlot(y_train, yhat_train, \"Actual Values (Train)\", \"Predicted Values (Train)\", Title)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Figure 1: Plot of predicted values using the training data compared to the training data. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So far the model seems to be doing well in learning from the training dataset. But what happens when the model encounters new data from the testing dataset? When the model generates new values from the test data, we see the distribution of the predicted values is much different from the actual target values. "
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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zJkzOffcc8nOzmb79u106dKFdevWATBz5kyOOeYYAD7//HOOOOIIDjnkEI444ggWLVpUYT3Gjh1bavmTJ09m5MiRNGnSJKqybr31Vv70pz+V/N+vXz/y8vIA+O9//8uPfvQjsrOzueyyyyguLqa4uJgLL7yQfv360b9/fx566KG9ynzvvfc49NBDqVev4hHLc3NzGTFiBIcddhjDhg1j8eLFAEycOJF+/fqRlZXFsccey/bt27n99tt55plnSlrpzYyjjjqKKVOmVLiMRIhraDezkWa2yMyWmNmNER5vaGbPBY9/ZmZdwh67KZi+yMxGVFammV0RTHNm1iZsupnZX4PH5prZofFbYxEREZHqe/nllxk5ciQZGRm0atWK2bNnA/DGG2/w8ssv89lnnzFnzhx+97vfMWbMGAYOHMgzzzxDTk4OjRs3LrfcXr16MX36dL788ktuv/12/u///q/CeowcOZJZs2axfv16wAfesWPHVquscAsWLOC5555jxowZ5OTkULdu3ZL6FxQU8PXXX/PVV19x0UUX7fXcGTNmcNhhh1W6jF/84hc8+uijzJo1i3vuuYcrrrgCgNtuu413332XOXPmMHnyZBo3bswtt9zCueeeW6qVfuDAgXz44YdRr1NNidvFlcysLvAIcCKQD3xhZq845+aHzXYJsME518PMzgHuA842sz7AOUBfoD3wjpllBM8pr8wZwGvAtDJV+THQM/g7HHgsuBURERGJ7OGHE7LYCRMmcE3QIn/OOecwYcIEDj30UN555x0uuugimjRpAkCrVq2qVG5hYSEXXHABubm5mBm7du2qcP4GDRpw6qmnMmnSJEaPHk1OTg7Dhw+vVlnh3n33XWbNmsWgQYMA2L59O+3ateOUU05h2bJlXHnllYwaNapkWeFWr15N7969Kyx/48aNfPrpp4wePbpkWlFREQBDhw7l/PPP58wzz+QnP/lJuWW0a9cu5l2OYiGeV0T9EbDEObcMwMwmAqcB4aH9NODW4P4k4O/mB7E8DZjonNsJLDezJUF5lFemc+7LYFrZepwGPOWcc8CnZtbCzA5yzq2O6dqKiIiI7IP169fz3nvv8fXXX2NmFBcXY2bcf//9OOeiGue7Xr167N69G6BUv+w//OEPHHvssUyePJm8vLySbjMVGTt2LHfeeSfOOU477TTq168fdVnh9Qivi3OO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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Title='Distribution Plot of Predicted Value Using Test Data vs Data Distribution of Test Data'\n",
"DistributionPlot(y_test,yhat_test,\"Actual Values (Test)\",\"Predicted Values (Test)\",Title)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Figur 2: Plot of predicted value using the test data compared to the test data. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Comparing Figure 1 and Figure 2; it is evident the distribution of the test data in Figure 1 is much better at fitting the data. This difference in Figure 2 is apparent where the ranges are from 5000 to 15 000. This is where the distribution shape is exceptionally different. Let's see if polynomial regression also exhibits a drop in the prediction accuracy when analysing the test dataset.</p>"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from sklearn.preprocessing import PolynomialFeatures"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Overfitting</h4>\n",
"<p>Overfitting occurs when the model fits the noise, not the underlying process. Therefore when testing your model using the test-set, your model does not perform as well as it is modelling noise, not the underlying process that generated the relationship. Let's create a degree 5 polynomial model.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's use 55 percent of the data for testing and the rest for training:"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=0.45, random_state=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will perform a degree 5 polynomial transformation on the feature <b>'horse power'</b>. "
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"PolynomialFeatures(degree=5, include_bias=True, interaction_only=False)"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pr = PolynomialFeatures(degree=5)\n",
"x_train_pr = pr.fit_transform(x_train[['horsepower']])\n",
"x_test_pr = pr.fit_transform(x_test[['horsepower']])\n",
"pr"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's create a linear regression model \"poly\" and train it."
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly = LinearRegression()\n",
"poly.fit(x_train_pr, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see the output of our model using the method \"predict.\" then assign the values to \"yhat\"."
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6728.73877623, 7308.06173582, 12213.81078747, 18893.1290908 ,\n",
" 19995.81407813])"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat = poly.predict(x_test_pr)\n",
"yhat[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's take the first five predicted values and compare it to the actual targets. "
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Predicted values: [ 6728.73877623 7308.06173582 12213.81078747 18893.1290908 ]\n",
"True values: [ 6295. 10698. 13860. 13499.]\n"
]
}
],
"source": [
"print(\"Predicted values:\", yhat[0:4])\n",
"print(\"True values:\", y_test[0:4].values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will use the function \"PollyPlot\" that we defined at the beginning of the lab to display the training data, testing data, and the predicted function."
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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NHliPUfVPLEepY1Nq/f3GjdunObPn6+dO3dKCu0mk5+frx07dshaq2uvvVb33XefPv/8c0lS27ZttWfPnmqPa63Vo48+qsLCQl144YXavXu32rZtq3bt2mnLli1avHhx2djyx6xqXHPHDDsAAIBL+JJ8kkJr2fOL8hUfF6+0sWll9fqUlJSkmTNnaty4cSopKVFsbKyeeOIJRUdHa8qUKbLWyhijhx9+WJJ0880365ZbblHr1q21YsWK49axT58+XTNnztT+/fs1cuRIvf3224qNjVVKSooGDhyowYMHq1evXho1alTZa/x+v8aNG6fTTjtNS5YsqXRcc2fKry+C5PV6bUZGhtNtAACAJmL9+vUaMGCA023AYRX9HhhjVlprvdW9liUxAAAAgIsR2AEAAAAXI7ADAAAALkZgBwAAAFyMwA4AAAC4GIEdAAAAcDECOwAAQBMXHR2t5ORkDR48WNdee62CwWCdj/Xuu+/q8ssvlyQtXLhQDz30UKVjv//+e82ePbvW7/E///M/+tOf/lRhvXv37kpOTlZycrJmzJhR62NX5V//+pfWrVtX9vh3v/udli5dWq/vURcEdgAAgCaudevWyszM1Jo1a9SiRQs98cQTRz1vrVVJSUmtjztx4sQqQ3NdA3tVpk+frszMTGVmZlb5ZaEujg3s999/v8aNG1ev71EXBHYAAIBmZMyYMcrJyVFubq4GDBigadOmKSUlRd98843eeustjRw5UikpKbr22mu1d+9eSdKbb76p/v37a/To0Xr11VfLjvXss8/qjjvukCRt27ZNV111lYYOHaqhQ4dq+fLlmjFjhjZt2qTk5GTde++9kqQ//vGPOvPMMzVkyBDNnDmz7FhpaWnq16+fxo0bpw0bNtTqMyUmJmrnzp2SpIyMDJ133nmSQjPykydP1nnnnadevXrp8ccfL3vNc889pyFDhmjo0KH6yU9+ouXLl2vhwoW69957lZycrE2bNumnP/2pXn75ZUnSsmXLdMYZZygpKUmTJ0/WwYMHy9575syZSklJUVJSkrKzs2vVe03E1PsRAQAAUKH7Fq3Vus276/WYA7u108wJg2o0tri4WG+88YYuvvhiSdKGDRv0zDPPaPbs2dq5c6cefPBBLV26VG3atNHDDz+sRx55RL/61a9066236u2331bv3r113XXXVXjsO++8U+eee64WLFigI0eOaO/evXrooYe0Zs0aZWZmSpLeeustbdy4UStWrJC1VhMnTtT777+vNm3aaN68eVq1apWKi4uVkpKiYcOGVfg+jz76qP7xj39Ikh5++GFddNFFVX7m7OxsvfPOO9qzZ4/69eunqVOn6ssvv1RaWpo++ugjderUSbt27VKHDh00ceJEXX755brmmmuOOsaBAwf005/+VMuWLVPfvn01adIkzZkzR3fffbckqVOnTvr88881e/Zs/elPf9JTTz1Vo38fNcUMOwAAQBO3f/9+JScny+v1Kj4+XlOmTJEkJSQkaMSIEZKkTz75ROvWrdOoUaOUnJysuXPnKi8vT9nZ2erZs6f69OkjY4xuvPHGCt/j7bff1tSpUyWF1szHxcUdN+att97SW2+9pTPOOEMpKSnKzs7Wxo0b9cEHH+iqq66Sx+NRu3btNHHixEo/S/klMdWFdUm67LLL1LJlS3Xq1EldunTRtm3b9Pbbb+uaa65Rp06dJEkdOnSo8hgbNmxQz5491bdvX0nSTTfdpPfff7/s+auvvlqSNGzYMOXm5lbbU20xww4AANBIajoTXt9K17Afq02bNmX3rbW68MIL9eKLLx41JjMzU8aYeunDWqvf/OY3+tnPfnZUfdasWSf0HjExMWVr8A8cOHDUcy1btiy7Hx0dreLiYllra/V+1toqny99j9Lj1zdm2AEAAKARI0boo48+Uk5OjiQpGAzqyy+/VP/+/fX1119r06ZNknRcoC81duxYzZkzR5J05MgR7d69W23bttWePXvKxlx00UV6+umny9bGf/vtt9q+fbvOOeccLViwQPv379eePXu0aNGiWvWemJiolStXSpJeeeWVasePHTtW8+fPV2FhoSRp165dknRcv6X69++v3Nzcsn82zz//vM4999xa9XgiCOwAAABQ586d9eyzz+qGG27QkCFDNGLECGVnZ6tVq1ZKT0/XZZddptGjRyshIaHC1z/22GN65513lJSUpGHDhmnt2rXq2LGjRo0apcGDB+vee+/V+PHj9V//9V8aOXKkkpKSdM0112jPnj1KSUnRddddp+TkZP3oRz/SmDFjatX7zJkzddddd2nMmDGKjo6udvygQYOUmpqqc889V0OHDtUvfvELSdL111+vP/7xjzrjjDPKvqBIUqtWrfTMM8/o2muvVVJSkqKionTbbbfVqscT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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"PollyPlot(x_train[['horsepower']], x_test[['horsepower']], y_train, y_test, poly,pr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Figur 4 A polynomial regression model, red dots represent training data, green dots represent test data, and the blue line represents the model prediction. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that the estimated function appears to track the data but around 200 horsepower, the function begins to diverge from the data points. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" R^2 of the training data:"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.5567716902028981"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly.score(x_train_pr, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" R^2 of the test data:"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"-29.87162132967278"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly.score(x_test_pr, y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see the R^2 for the training data is 0.5567 while the R^2 on the test data was -29.87. The lower the R^2, the worse the model, a Negative R^2 is a sign of overfitting."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's see how the R^2 changes on the test data for different order polynomials and plot the results:"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f11fb567cf8>]"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Text(0.5, 0, 'order')"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Text(0, 0.5, 'R^2')"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'R^2 Using Test Data')"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Text(3, 0.75, 'Maximum R^2 ')"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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lLr7SGJnxP0gSfUmVYc5wN27d28vKiqKugyRo8LSpUvp06cP+fn59OzZk7Vr19KpUyf27NnD8OHD2bt3Lxs3bqSuro6MjAyKiorIy8vjww8/ZP/+/RQVFbF//37WrFnDCSecwPbt29m3bx+DBg1i3bp1mBkHDhygurqaoqIiKisr2bt3L507d6b+//OlS5dy6qmnArBjxw6qqqooKipq9vzxVqxYQWFhIZ07d+bAgQOsXr2aE088EYDKykqqqqoYMmTIx5+7du1ahg0bRk7OYTdDZt++fWzYsIHjjz8+1H//9rRkyZKP3L0gYUN37xCv008/3UUkOTp37uzvvPOOf+ELX/D9+/f7Kaec4vPnz/dLLrnE3d2rqqr80KFD7u4+Z84cv/zyy93dvba21seOHevPPPOMn3766f7qq6+6u/sjjzzi06ZNc3f3qVOn+pe//GWvq6vzZ5991rt27ervvvuu19bW+mmnneZLly79uIZ6v//9733q1Kktmj/eueee64sXL3Z391mzZvntt9/eqn+XadOm+V133dWqeaMClHkzvmOzwkys4MZj9wGZxC74ubvB9FnAuGAwH+jj7j2CabXEziQB2ODuk8KsVURaZuTIkaxbt47f/e53XHzxxYdNq6qqYurUqaxatQoz49Ch2F1VMjIyePTRRxk5ciQ33HADY8Y0fqPgz33uc5gZJ598Mn379uXkk08G4MQTT2TdunWMGtX0NZytmf+qq65i79691NbW8tZbb7X43+PXv/41ZWVlLFy4sMXzpoPQjllY7MliDxC7q+gIYIrF3WIZwN1vcfdR7j4K+Amxh93U218/TUEhkpomTZrEt771LaZMmXLY+O9+97uMGzeO9957j+eee44DBz65vnHVqlV06dKFLVu2HPFzc3NzgVi41L+vH66piT13Kf4i9fjPb+78Df3mN79h7dq1XHnllUybNq3J9W5o7ty5/Md//AezZ88+bHkdSZgHuEcD5R67I2Y1sStLL2ui/RTgdyHWIyLt7Nprr+V73/vex7/c61VVVTFgQOzu7I8++uhh42fMmMHLL79MZWUlTz/9dKuX3bdvX5YvX05dXR1//OMfW/058bKzs/n+97/PokWLWL58ebPmWbp0KTfccAOzZ8+mT58+7VJHKgozLAYQdwdOYBNHuLd/cKrZEGBe3Og8iz2MZlFw75rG5rs+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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Rsqu_test = []\n",
"\n",
"order = [1, 2, 3, 4]\n",
"for n in order:\n",
" pr = PolynomialFeatures(degree=n)\n",
" \n",
" x_train_pr = pr.fit_transform(x_train[['horsepower']])\n",
" \n",
" x_test_pr = pr.fit_transform(x_test[['horsepower']]) \n",
" \n",
" lr.fit(x_train_pr, y_train)\n",
" \n",
" Rsqu_test.append(lr.score(x_test_pr, y_test))\n",
"\n",
"plt.plot(order, Rsqu_test)\n",
"plt.xlabel('order')\n",
"plt.ylabel('R^2')\n",
"plt.title('R^2 Using Test Data')\n",
"plt.text(3, 0.75, 'Maximum R^2 ') "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see the R^2 gradually increases until an order three polynomial is used. Then the R^2 dramatically decreases at four."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following function will be used in the next section; please run the cell."
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def f(order, test_data):\n",
" x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=test_data, random_state=0)\n",
" pr = PolynomialFeatures(degree=order)\n",
" x_train_pr = pr.fit_transform(x_train[['horsepower']])\n",
" x_test_pr = pr.fit_transform(x_test[['horsepower']])\n",
" poly = LinearRegression()\n",
" poly.fit(x_train_pr,y_train)\n",
" PollyPlot(x_train[['horsepower']], x_test[['horsepower']], y_train,y_test, poly, pr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following interface allows you to experiment with different polynomial orders and different amounts of data. "
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {
"collapsed": 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"
},
{
"data": {
"text/plain": [
"<function __main__.f(order, test_data)>"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interact(f, order=(0, 6, 1), test_data=(0.05, 0.95, 0.05))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4a):</h1>\n",
"\n",
"<b>We can perform polynomial transformations with more than one feature. Create a \"PolynomialFeatures\" object \"pr1\" of degree two?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [],
"source": [
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.1, random_state=0)\n",
"pr1 = PolynomialFeatures(degree=2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"pr1=PolynomialFeatures(degree=2)\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4b): </h1>\n",
"\n",
"<b> \n",
" Transform the training and testing samples for the features 'horsepower', 'curb-weight', 'engine-size' and 'highway-mpg'. Hint: use the method \"fit_transform\" \n",
"?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PolynomialFeatures(degree=2, include_bias=True, interaction_only=False)"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x_train_pr1 = pr1.fit_transform(x_train1[['horsepower','curb-weight','engine-size','highway-mpg']])\n",
"x_test_pr1 = pr1.fit_transform(x_test1[['horsepower','curb-weight','engine-size','highway-mpg']]) \n",
"pr1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"x_train_pr1=pr.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"\n",
"x_test_pr1=pr.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- The answer is below:\n",
"\n",
"x_train_pr1=pr.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"x_test_pr1=pr.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4c): </h1>\n",
"<b> \n",
"How many dimensions does the new feature have? Hint: use the attribute \"shape\"\n",
"</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(180, 15)"
]
},
"execution_count": 85,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x_train_pr1.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"There are now 15 features: x_train_pr1.shape \n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4d): </h1>\n",
"\n",
"<b> \n",
"Create a linear regression model \"poly1\" and train the object using the method \"fit\" using the polynomial features?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly1 = LinearRegression()\n",
"poly1.fit(x_train_pr1, y_train1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"poly1=linear_model.LinearRegression().fit(x_train_pr1,y_train)\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" <div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4e): </h1>\n",
"<b>Use the method \"predict\" to predict an output on the polynomial features, then use the function \"DistributionPlot\" to display the distribution of the predicted output vs the test data?</b>\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 5994.81221449, 9959.94471308, 22998.02440058, 22213.70374348,\n",
" 19423.6345494 ])"
]
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Predicted values: [ 5994.81221449 9959.94471308 22998.02440058 22213.70374348]\n",
"True values: [ 6295. 10698. 13860. 13499.]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/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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TC3tIiIiJY9a2iXaCmVLu4iIiIiIRIaSdhERERGRQk5Ju4iIiIhIIRfNiyuJSFFx6BAsWACTJsHMmdC5M1xzDVSqFO+aiYiICGppFynZJkyA/v2hVi1o3RruvBOmToXbb4d69eD++2HbtnjXUkSkxChdujSJiYk0b96cAQMGZF5MqSCmTJlCnz59APj000959NFHs113x44dvPDCC/ku47777jtitpUpU6bQsWPHw5alpaVx3HHH5TjzS7hYkda/f39WrlzJGWecQWJiIieddBK1atUiMTGRxMREVq9ena94H3/8MT/88EPm/0OHDs3TXPIFoaRdpKT67DPo3Rv++19ISoK33oK1a2HjRvj2W+jUCe67D046ySfzBw7Eu8YiIsVehQoVSElJYeHChZQrV46XXnrpsMedcxw6dCjfcZOSkhg+fHi2jxc0aQ+na9eurFu37rAE+Ouvv6Z58+Ycf/zxESmjIBYtWkR6ejonn3wyM2fOJCUlhQceeIDLLruMlJQUUlJSqF+/fr5iZk3ab7311rAXhooEJe0iJdG33/oW9latYMkSeOMN+N3voG5d/3jnzvDpp7BwoV/vqadg8GDI41X0RESKuqFDoVu3yN6GDs1fHbp06cKKFStYvXo1TZo04aabbqJNmzasXbuWCRMm0LFjR9q0acOAAQPYs2cPAF9++SWnnXYaZ555Jh9//HFmrJEjR3LLLbcAsGnTJi6++GJatWpFq1at+O677xg+fDg//vgjiYmJDBs2DIAnnniC9u3b07JlS+69997MWH//+9859dRTOffcc1m6dOkR9S5VqhQDBgzg/fffz1yWnJzMoEGDAHjllVdo3749rVq1ol+/fmF/TejWrRsZ029v3bo1M5lOT09n2LBhmfX697//DcDGjRvp2rVr5q8U06ZNOyLmu+++y4UXXpjrfv/iiy8y9+1ll13G3r17ARg2bBhNmzalZcuW3H333UybNo3PP/+cO+64I7OVvmHDhmzcuJEtW7bkWk5+KWkXKWkWLIA+fXwL+hdfwLHHZr9us2bw5pvw9NPw0Udw/fWgazuIiERdWloaX3zxBS1atABg6dKlXHnllcyfP59KlSrx0EMP8fXXXzNv3jzatWvHU089xf79+7nuuusYN24c06ZN46effgob+7bbbuOss84iNTWVefPm0axZMx599FEaNmxISkoKTzzxBBMmTGD58uXMmjWLlJQU5s6dy9SpU5k7dy7JycnMnz+fjz/+mNmzZ4ctY9CgQSQnJwNw4MABPv/8c/r16wfAJZdcwuzZs0lNTaVJkya89tprYWOE89prr1G1alVmz57N7NmzeeWVV1i1ahXvvfcePXv2JCUlhdTUVBITE4947vTp02nbtm2O8Tdv3syjjz7KxIkTmTdvHi1btuTZZ59l06ZNfP755yxatIgFCxYwYsQIunTpwgUXXMDTTz99WCt969at+e677/K8TXmlgagiJcnKldCzJ1Su7Puz16qVt+cNHQrbt8ODD0K1avBiVuE1AAAgAElEQVTEE2AW3bqKiMTRM8/Ep9x9+/ZlJpxdunThmmuuYcOGDdSrV48OHToAMGPGDBYvXkznzp0B+PXXX+nYsSM//PADDRo0oFGjRgBcccUVvPzyy0eUMWnSJN566y3A96GvWrUqP//882HrTJgwgQkTJtC6dWsA9uzZw/Lly9m9ezcXX3wxFStWBHy3m3Dat2/Pnj17WLp0KUuWLKFDhw5Ur14dgIULF/LXv/6VHTt2sGfPHnr27Jnn/TNhwgQWLFjA6NGjAdi5cyfLly+nffv2/P73v+fgwYNcdNFFYZP2jRs3UiuXz73vvvuOxYsX06lTJ8Dv2zPPPJMaNWpQqlQprrvuOnr37p05ViCc2rVrs2HDhjxvU14paRcpKTZtgvPOg19/hWnT/EDT/Lj/fvj5Z/jHP6B6dfjLX6JTTxGREiyjT3tWlUJm83LOcd555zFq1KjD1klJScEi1KDinGPEiBFcf/31hy1/5pln8lzGwIEDSU5OZsmSJZldYwCGDBnC2LFjadWqFSNHjmTKlClHPLdMmTKZfff3799/WL2ee+65sIn+1KlT+eyzz/jd737HsGHDuPLKKw97vEKFCofFCsc5R69evXj77bePeGzOnDn85z//ITk5mRdffJEJEyaEjbF//34qVKiQYzkFoe4xIiXFsGGwYQN8/jk0bZr/55vBs8/CFVfAX/8KL74Y+TqKiEiuOnTowPTp01mxYgUAv/zyC8uWLeO0005j1apV/PjjjwBHJPUZzjnnHF4MzuHp6ens2rWLKlWqsHv37sx1evbsyeuvv57ZV379+vVs3ryZrl27MmbMGPbt28fu3bsZN25ctvUcNGgQ77zzDpMmTTqsRX737t0cf/zxHDx4kHfffTfsc+vXr8/cuXMBMlvVM+r14osvcvDgQQCWLVvG3r17WbNmDbVr1+a6667jmmuuYd68eUfEbNKkSeY+y06nTp345ptvWLlyJQB79+7N/IVh165d9OnTh6effpr58+cDHLHfMurUvHnzHMspCCXtIiXB0qXw7rtw881wxhkFj1OqFLz+up915vbb/UBVERGJqVq1ajFy5EgGDRpEy5Yt6dChAz/88APly5fn5Zdfpnfv3px55pnUy+YX1WeffZbJkyfTokUL2rZty6JFi0hISKBz5840b96cYcOG0aNHDy6//HI6duxIixYt6N+/P7t3784cnJmYmEi/fv3o0qVLtvVs2rQpFStWpHv37of9UvDggw9yxhlncN5553HaaaeFfe5dd93Fiy++SKdOndi6dWvm8muvvZamTZvSpk0bmjdvzvXXX09aWhpTpkwhMTGR1q1b89FHH3H77bcfEbN3795hW/VDHXfccbz22mtcdtlltGrVik6dOrFs2TJ27txJ7969adWqFd27d+epp54C/BeThx9+OHMg6oEDB1i9enVmt6JIMqdBZUdo166dyxixLFIsXHEFjBkDq1ZB7dpHH2/LFt9af/LJ8N13ULr00ccUEYmzJUuW0KRJk3hXQ6Jk3759nH322UyfPp3SUfrc+vDDD1m8ePFhs+2ECneMmdlc51y73GKrpV2kuFuyBN57z7eyRyJhBz+A9Z//hFmz/L2IiEghV6FCBe6//37Wr18ftTKcc9xxxx1Ria2kXaS4e+ABqFjR92mPpIED/dSRf/mLn5VGRKQYUA+E4q1nz56cdNJJUYt/6aWXcmw2Uykf7bGlpF2kOFu0CN5/H265Je/TO+aVmR+MWqYMXHed5m8XkSKvfPnybNu2TYm7RJxzjm3btlG+fPkCx9CUjyLF2QMPQKVKcNdd0Ylft66fs/2GG/wA1WuuiU45IiIxULduXdatWxeVq1mKlC9fnroZVx4vAA1EDUMDUaVYWLgQWraEESPg73+PXjmHDkH37pCSAosXwwknRK8sERGRYkYDUUVKuvvv91c+vfPO6JZTqhS88gocOAB/+lN0yxIRESmhlLSLFEfLl8Po0X4u9Ro1ol9eo0YwdKifpSY1NfrliYiIlDBK2kWKo1Gj/EDRG26IXZl/+hNUrepnkxEREZGIUtIuUtw455P2rl2hTp3Y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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"yhat1 = poly1.predict(x_test_pr1)\n",
"yhat1[0:5]\n",
"print(\"Predicted values:\", yhat1[0:4])\n",
"print(\"True values:\", y_test1[0:4].values)\n",
"Title='Distribution Plot of Predicted Value Using Test Data vs Data Distribution of Test Data'\n",
"DistributionPlot(y_test1, yhat1, \"Actual Values (Test)\", \"Predicted Values (Test)\", Title)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"yhat_test1=poly1.predict(x_train_pr1)\n",
"Title='Distribution Plot of Predicted Value Using Test Data vs Data Distribution of Test Data'\n",
"DistributionPlot(y_test, yhat_test1, \"Actual Values (Test)\", \"Predicted Values (Test)\", Title)\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4f): </h1>\n",
"\n",
"<b>Use the distribution plot to determine the two regions were the predicted prices are less accurate than the actual prices.</b>\n",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"The predicted value is lower than actual value for cars where the price $ 10,000 range, conversely the predicted price is larger than the price cost in the $30, 000 to $40,000 range. As such the model is not as accurate in these ranges .\n",
" \n",
"-->\n",
"\n",
"<img src = \"https://ibm.box.com/shared/static/c35ipv9zeanu7ynsnppb8gjo2re5ugeg.png\" width = 700, align = \"center\">\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"ref3\">Part 3: Ridge regression</h2> "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" In this section, we will review Ridge Regression we will see how the parameter Alfa changes the model. Just a note here our test data will be used as validation data."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's perform a degree two polynomial transformation on our data. "
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"pr=PolynomialFeatures(degree=2)\n",
"x_train_pr=pr.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg','normalized-losses','symboling']])\n",
"x_test_pr=pr.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg','normalized-losses','symboling']])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's import <b>Ridge</b> from the module <b>linear models</b>."
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from sklearn.linear_model import Ridge"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create a Ridge regression object, setting the regularization parameter to 0.1 "
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"RigeModel=Ridge(alpha=0.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Like regular regression, you can fit the model using the method <b>fit</b>."
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/linear_model/ridge.py:125: LinAlgWarning: scipy.linalg.solve\n",
"Ill-conditioned matrix detected. Result is not guaranteed to be accurate.\n",
"Reciprocal condition number5.744325e-17\n",
" overwrite_a=True).T\n"
]
},
{
"data": {
"text/plain": [
"Ridge(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 106,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"RigeModel.fit(x_train_pr, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Similarly, you can obtain a prediction: "
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"yhat = RigeModel.predict(x_test_pr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's compare the first five predicted samples to our test set "
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"predicted: [ 6058.74746162 9738.42225187 21911.13686391 22618.87848318]\n",
"test set : [ 6295. 10698. 13860. 13499.]\n"
]
}
],
"source": [
"print('predicted:', yhat[0:4])\n",
"print('test set :', y_test[0:4].values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We select the value of Alfa that minimizes the test error, for example, we can use a for loop. "
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%%capture\n",
"Rsqu_test = []\n",
"Rsqu_train = []\n",
"dummy1 = []\n",
"ALFA = 10 * np.array(range(0,1000))\n",
"for alfa in ALFA:\n",
" RigeModel = Ridge(alpha=alfa) \n",
" RigeModel.fit(x_train_pr, y_train)\n",
" Rsqu_test.append(RigeModel.score(x_test_pr, y_test))\n",
" Rsqu_train.append(RigeModel.score(x_train_pr, y_train))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can plot out the value of R^2 for different Alphas "
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 864x720 with 0 Axes>"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f11fb30e1d0>]"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f11fb30e978>]"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Text(0.5, 0, 'alpha')"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Text(0, 0.5, 'R^2')"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f11fbbbcfd0>"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuEAAAJQCAYAAAAg1rpCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzs3XmUZWV9L/zvr6p6YJSpiUiL3YmojGEohrzcGNFo0NwIMb4G4hDeRIkmZvBmucQsjYn35l3eLBON90W96FWTXCLhJUF5b3CIN5BpodJEgoADCChtKzbI0Aw9VNXz/nFOVZ+urupuoM6uhv581tpr7/3sZz/n2X3o5vvs85x9qrUWAACgOyOL3QEAANjTCOEAANAxIRwAADomhAMAQMeEcAAA6JgQDgAAHRPCAQCgY0I4AAB0TAgHAICOjS12B7pwyCGHtFWrVi12NwAAeAq7/vrr72mtrdiVuntECF+1alXWrFmz2N0AAOAprKq+vat1TUcBAICOCeEAANAxIRwAADq2R8wJBwBYTFu2bMnatWuzcePGxe4KC2D58uVZuXJllixZ8rjbEMIBAIZs7dq12W+//bJq1apU1WJ3hyegtZZ77703a9euzerVqx93O6ajAAAM2caNG3PwwQcL4E8BVZWDDz74CX+qIYQDAHRAAH/qWIj3UggHAICOCeEAAGxn3333TZKsW7cur3zlK+es84IXvGCnP4j4/ve/P4888sjM/ste9rLcf//9C9fRvun+zuf+++/PBz/4wQV/3cdLCAcAYF7PeMYzcvnllz/u82eH8KuuuioHHHDAQnTtMRHCAQDo1Nve9rZtAugf/MEf5E/+5E/y0EMP5UUvelFOOumkHHfccfn0pz+93bl33nlnjj322CTJo48+mnPPPTfHH398fvEXfzGPPvroTL03velNGR8fzzHHHJN3vetdSZIPfOADWbduXc4888yceeaZSZJVq1blnnvuSZL86Z/+aY499tgce+yxef/73z/zekcddVTe8IY35JhjjslLXvKSbV5n2h133JGf+ImfyCmnnJJ3vvOdM+XzXdOFF16Yb33rWznhhBPy1re+dZeufZg8ohAAoEN/+P/dnFvWPbigbR79jP3zrp87Zt7j5557bn7nd34nv/7rv54kueyyy/LZz342y5cvzxVXXJH9998/99xzT04//fS8/OUvn/eLhx/60Iey995758Ybb8yNN96Yk046aebYH/3RH+Wggw7K5ORkXvSiF+XGG2/Mb/3Wb+VP//RPc/XVV+eQQw7Zpq3rr78+H//4x/OlL30prbWcdtpp+amf+qkceOCBufXWW/PJT34yH/nIR/KqV70qf/M3f5PXvOY125z/27/923nTm96U173udbnoootmyue7pve85z256aabcsMNNyRJJiYmHtO1LzR3wgEAnuJOPPHE/OAHP8i6devy7//+7znwwANzxBFHpLWW3/u938vxxx+fn/7pn853v/vd3H333fO280//9E8zYfj444/P8ccfP3Pssssuy0knnZQTTzwxN998c2655ZYd9ulf/uVf8vM///PZZ599su++++YVr3hF/vmf/zlJsnr16pxwwglJkpNPPjl33nnnduf/67/+a84777wkyWtf+9qZ8l29psd67QttqHfCq+qsJH+WZDTJR1tr75l1/Igkf57kgH6dC1trV1XVq5O8daDq8UlOaq3dUFXXJDksyfTnEi9prf1gmNcBALBQdnTHephe+cpX5vLLL8/3v//9nHvuuUmSSy65JOvXr8/111+fJUuWZNWqVTt9/vVcd4rvuOOOvPe97811112XAw88MOeff/5O22mtzXts2bJlM9ujo6NzTkeZry+7ek2P59oX0tDuhFfVaJKLkrw0ydFJzquqo2dVe0eSy1prJyY5N8kHk6S1dklr7YTW2glJXpvkztbaDQPnvXr6uAAOALBz5557bi699NJcfvnlM087eeCBB3LooYdmyZIlufrqq/Ptb397h208//nPzyWXXJIkuemmm3LjjTcmSR588MHss88+edrTnpa77747n/nMZ2bO2W+//bJhw4Y52/rUpz6VRx55JA8//HCuuOKK/ORP/uQuX88ZZ5yRSy+9NElm+rSja5rdj8d67QttmNNRTk1yW2vt9tba5iSXJjl7Vp2WZP/+9tOSrJujnfOSfHJovQQA2AMcc8wx2bBhQw4//PAcdthhSZJXv/rVWbNmTcbHx3PJJZfkec973g7beNOb3pSHHnooxx9/fP74j/84p556apLkx3/8x3PiiSfmmGOOya/8yq/kjDPOmDnnggsuyEtf+tKZL2ZOO+mkk3L++efn1FNPzWmnnZbXv/71OfHEE3f5ev7sz/4sF110UU455ZQ88MADM+XzXdPBBx+cM844I8cee2ze+ta3PuZrX2i1o48CnlDDVa9MclZr7fX9/dcmOa219uaBOocl+XySA5Psk+SnW2vXz2rnW0nObq3d1N+/JsnBSSaT/E2S/9J2chHj4+NtZ8+wBAAYlq997Ws56qijFrsbLKC53tOqur61Nr4r5w/zTvhcXy2dHZbPS/KJ1trKJC9L8pdVNdOnqjotySPTAbzv1a2145L8ZH95beZQVRdU1ZqqWrN+/fonch0AALCghhnC1yZ55sD+ymw/3eRXk1yWJK21a5MsTzL4/JpzM2sqSmvtu/31hiR/ld60l+201i5urY231sZXrFjxBC4DAAAW1jBD+HVJjqyq1VW1NL1AfeWsOt9J8qIkqaqj0gvh6/v7I0n+z/TmkqdfNlZVh/S3lyT5j0luCgAAPIkM7RGFrbWJqnpzks+l9/jBj7XWbq6qdydZ01q7MsnvJvlIVb0lvakq5w/M735+krWttdsHml2W5HP9AD6a5AtJPjKsawAAgGEY6nPCW2tXJblqVtnvD2zfkuSM2ef1j12T5PRZZQ8nOXnBOwoAAB3yi5nDctFFyXOfmwzp6TMAADx5CeHDMjKSfPObyXe/u9g9AQD2cPfff38++MEPPq5zX/ayl+X+++/fYZ3f//3fzxe+8IXH1f5sq1atynHHHZfjjjsuRx99dN7xjndk06ZNOzzniVzfYhHCh2X6ge/f+Mbi9gMA2OPtKKROTk7u8NyrrroqBxxwwA7rvPvd785P//RPP+7+zXb11Vfnq1/9ar785S/n9ttvzwUXXLDD+kI4Wz33ub3117++uP0AAPZ4F154Yb71rW/lhBNOyFvf+tZcc801OfPMM/NLv/RLOe6445Ik55xzTk4++eQcc8wxufjii2fOXbVqVe65557ceeedOeqoo/KGN7whxxxzTF7ykpfk0UcfTZKcf/75ufzyy2fqv+td78pJJ52U4447Ll/vZ6H169fnxS9+cU466aT82q/9Wp71rGflnnvu2WG/991333z4wx/Opz71qfzwhz/MQw89lBe96EUzbX/605+e8/rmq7c7GeoXM/dohx2W7Ldf8v73J2vXJqeempxySnL44UnN9TtGAMAe4Xd+J7nhhoVt84QTepljHu95z3ty00035Yb+615zzTX58pe/nJtuuimrV69OknzsYx/LQQcdlEcffTSnnHJKfuEXfiEHH3zwNu3ceuut+eQnP5mPfOQjedWrXpW/+Zu/yWte85rtXu+QQw7Jv/3bv+WDH/xg3vve9+ajH/1o/vAP/zAvfOEL8/a3vz2f/exntwn6O7L//vtn9erVufXWW3PyySfniiuuyP7775977rknp59+el7+8pdvd30TExNz1qvdKIMJ4cNSlfzxHycf/3jy3vcmExO98qc/vRfITzstOf30XjDfb7/F7SsAsMc59dRTZwJ4knzgAx/IFVdckSS56667cuutt24XwlevXp0TTjghSXLyySfnzjvvnLPtV7ziFTN1/vZv/zZJ8i//8i8z7Z911lk58MADd7mv00+wbq3l937v9/JP//RPGRkZyXe/+93cfffdc9afq97Tn/70XX7NYRPCh+mNb+wtGzf2RrzXXddbvvzl5Mr+7xZVJcce2wvk08H8qKN6X+wEAJ56dnDHukv77LPPzPY111yTL3zhC7n22muz99575wUveEE2bty43TnLli2b2R4dHZ2ZjjJfvdHR0Uz0b0S2x/nEuA0bNuTOO+/Mc57znFxyySVZv359rr/++ixZsiSrVq2as5+7Wm8xCeFdWL68F65PH3js+X339cL4F7/YWy6/PPlI/3eH9t9/693yE09Mjjsu+bEfS0ZHF6f/AMCT2n777ZcNGzbMe/yBBx7IgQcemL333jtf//rX88UvfnHB+/Af/sN/yGWXXZa3ve1t+fznP5/77rtvp+c89NBD+fVf//Wcc845OfDAA/PAAw/k0EMPzZIlS3L11Vfn29/+dpLtr2++ersTIXyxHHhg8jM/01uSZGoqufXW5Etf2hrM3/OeZPoby3vtlRxzTC+QTy/PeU6ycqW75gDADh188ME544wzcuyxx+alL31pfvZnf3ab42eddVY+/OEP5/jjj89zn/vcnH766fO09Pi9613vynnnnZe//uu/zk/91E/lsMMOy37zTMk988wz01rL1NRUfv7nfz7vfOc7kySvfvWr83M/93MZHx/PCSeckOf1n0Y3+/re9ra3zVlvd1KP96OBJ5Px8fG2Zs2axe7GY/fII8kttyRf/WpvufHG3voHP9haZ9my3l3yZz87OfLI3vLsZyerVvUC+sDHRgDA4vja176Wo446arG7sag2bdqU0dHRjI2N5dprr82b3vSmmS9SPhnN9Z5W1fWt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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",
"\n",
"plt.plot(ALFA,Rsqu_test, label='validation data ')\n",
"plt.plot(ALFA,Rsqu_train, 'r', label='training Data ')\n",
"plt.xlabel('alpha')\n",
"plt.ylabel('R^2')\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Figure 6:The blue line represents the R^2 of the test data, and the red line represents the R^2 of the training data. The x-axis represents the different values of Alfa "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The red line in figure 6 represents the R^2 of the test data, as Alpha increases the R^2 decreases; therefore as Alfa increases the model performs worse on the test data. The blue line represents the R^2 on the validation data, as the value for Alfa increases the R^2 decreases. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #5): </h1>\n",
"\n",
"Perform Ridge regression and calculate the R^2 using the polynomial features, use the training data to train the model and test data to test the model. The parameter alpha should be set to 10.\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Ridge(alpha=10, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"0.6941673281626455"
]
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"pr2=PolynomialFeatures(degree=2)\n",
"x_train_pr2=pr2.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg','normalized-losses','symboling']])\n",
"x_test_pr2=pr2.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg','normalized-losses','symboling']])\n",
"# from sklearn.linear_model import Ridge # already performed, see cells above\n",
"RigeModel2=Ridge(alpha=10)\n",
"RigeModel2.fit(x_train_pr2, y_train)\n",
"RigeModel2.score(x_test_pr2, y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"RigeModel = Ridge(alpha=0) \n",
"RigeModel.fit(x_train_pr, y_train)\n",
"RigeModel.score(x_test_pr, y_test)\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"ref4\">Part 4: Grid Search</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The term Alfa is a hyperparameter, sklearn has the class <b>GridSearchCV</b> to make the process of finding the best hyperparameter simpler."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's import <b>GridSearchCV</b> from the module <b>model_selection</b>."
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from sklearn.model_selection import GridSearchCV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We create a dictionary of parameter values:"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[{'alpha': [0.001, 0.1, 1, 10, 100, 1000, 10000, 100000, 100000]}]"
]
},
"execution_count": 114,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"parameters1= [{'alpha': [0.001,0.1,1, 10, 100, 1000, 10000, 100000, 100000]}]\n",
"parameters1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a ridge regions object:"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 115,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"RR=Ridge()\n",
"RR"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a ridge grid search object "
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"Grid1 = GridSearchCV(RR, parameters1,cv=4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the model "
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
" DeprecationWarning)\n"
]
},
{
"data": {
"text/plain": [
"GridSearchCV(cv=4, error_score='raise-deprecating',\n",
" estimator=Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001),\n",
" fit_params=None, iid='warn', n_jobs=None,\n",
" param_grid=[{'alpha': [0.001, 0.1, 1, 10, 100, 1000, 10000, 100000, 100000]}],\n",
" pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
" scoring=None, verbose=0)"
]
},
"execution_count": 117,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Grid1.fit(x_data[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The object finds the best parameter values on the validation data. We can obtain the estimator with the best parameters and assign it to the variable BestRR as follows:"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Ridge(alpha=10000, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BestRR=Grid1.best_estimator_\n",
"BestRR"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We now test our model on the test data "
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.6696539200409065"
]
},
"execution_count": 119,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BestRR.score(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #6): </h1>\n",
"Perform a grid search for the alpha parameter and the normalization parameter, then find the best values of the parameters\n",
"</div>"
]
},
{
"cell_type": "code",
"execution_count": 125,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[{'alpha': [0.001, 0.1, 1, 10, 100, 1000, 10000, 100000, 100000],\n",
" 'normalize': ['True', 'False']}]"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/lib/python3.6/site-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
" DeprecationWarning)\n"
]
},
{
"data": {
"text/plain": [
"GridSearchCV(cv=4, error_score='raise-deprecating',\n",
" estimator=Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001),\n",
" fit_params=None, iid='warn', n_jobs=None,\n",
" param_grid=[{'alpha': [0.001, 0.1, 1, 10, 100, 1000, 10000, 100000, 100000], 'normalize': ['True', 'False']}],\n",
" pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
" scoring=None, verbose=0)"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"Ridge(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize='True', random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"0.675693924469948"
]
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"# from sklearn.model_selection import GridSearchCV # already performed, see cells above\n",
"parameters2= [{'alpha': [0.001,0.1,1, 10, 100, 1000, 10000, 100000, 100000], 'normalize': ['True','False']}]\n",
"parameters2\n",
"RR2=Ridge()\n",
"RR2\n",
"Grid2 = GridSearchCV(RR2, parameters2,cv=4)\n",
"Grid2.fit(x_data[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_data)\n",
"BestRR2=Grid2.best_estimator_\n",
"BestRR2\n",
"BestRR2.score(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"parameters2= [{'alpha': [0.001,0.1,1, 10, 100, 1000,10000,100000,100000],'normalize':[True,False]} ]\n",
"Grid2 = GridSearchCV(Ridge(), parameters2,cv=4)\n",
"Grid2.fit(x_data[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']],y_data)\n",
"Grid2.best_estimator_\n",
"\n",
"-->"
]
},
{
"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/corsera_da0101en_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": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment