Created
July 29, 2020 17:20
-
-
Save Photon12/daddcdea1fc3cf966c1cfba0029a9e17 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"<a href=\"https://www.bigdatauniversity.com\"><img src=\"https://ibm.box.com/shared/static/cw2c7r3o20w9zn8gkecaeyjhgw3xdgbj.png\" width=\"400\" align=\"center\"></a>\n", | |
"\n", | |
"<h1><center>Simple Linear Regression</center></h1>\n", | |
"\n", | |
"\n", | |
"<h4>About this Notebook</h4>\n", | |
"In this notebook, we learn how to use scikit-learn to implement simple linear regression. We download a dataset that is related to fuel consumption and Carbon dioxide emission of cars. Then, we split our data into training and test sets, create a model using training set, evaluate your model using test set, and finally use model to predict unknown value.\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h1>Table of contents</h1>\n", | |
"\n", | |
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n", | |
" <ol>\n", | |
" <li><a href=\"#understanding_data\">Understanding the Data</a></li>\n", | |
" <li><a href=\"#reading_data\">Reading the data in</a></li>\n", | |
" <li><a href=\"#data_exploration\">Data Exploration</a></li>\n", | |
" <li><a href=\"#simple_regression\">Simple Regression Model</a></li>\n", | |
" </ol>\n", | |
"</div>\n", | |
"<br>\n", | |
"<hr>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"### Importing Needed packages" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"import pandas as pd\n", | |
"import pylab as pl\n", | |
"import numpy as np\n", | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"### Downloading Data\n", | |
"To download the data, we will use !wget to download it from IBM Object Storage." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"--2020-07-29 16:51:18-- https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv\n", | |
"Resolving s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)... 67.228.254.196\n", | |
"Connecting to s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)|67.228.254.196|:443... connected.\n", | |
"HTTP request sent, awaiting response... 200 OK\n", | |
"Length: 72629 (71K) [text/csv]\n", | |
"Saving to: ‘FuelConsumption.csv’\n", | |
"\n", | |
"FuelConsumption.csv 100%[===================>] 70.93K --.-KB/s in 0.04s \n", | |
"\n", | |
"2020-07-29 16:51:18 (1.84 MB/s) - ‘FuelConsumption.csv’ saved [72629/72629]\n", | |
"\n" | |
] | |
} | |
], | |
"source": [ | |
"!wget -O FuelConsumption.csv https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"__Did you know?__ When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"\n", | |
"<h2 id=\"understanding_data\">Understanding the Data</h2>\n", | |
"\n", | |
"### `FuelConsumption.csv`:\n", | |
"We have downloaded a fuel consumption dataset, **`FuelConsumption.csv`**, which contains model-specific fuel consumption ratings and estimated carbon dioxide emissions for new light-duty vehicles for retail sale in Canada. [Dataset source](http://open.canada.ca/data/en/dataset/98f1a129-f628-4ce4-b24d-6f16bf24dd64)\n", | |
"\n", | |
"- **MODELYEAR** e.g. 2014\n", | |
"- **MAKE** e.g. Acura\n", | |
"- **MODEL** e.g. ILX\n", | |
"- **VEHICLE CLASS** e.g. SUV\n", | |
"- **ENGINE SIZE** e.g. 4.7\n", | |
"- **CYLINDERS** e.g 6\n", | |
"- **TRANSMISSION** e.g. A6\n", | |
"- **FUEL CONSUMPTION in CITY(L/100 km)** e.g. 9.9\n", | |
"- **FUEL CONSUMPTION in HWY (L/100 km)** e.g. 8.9\n", | |
"- **FUEL CONSUMPTION COMB (L/100 km)** e.g. 9.2\n", | |
"- **CO2 EMISSIONS (g/km)** e.g. 182 --> low --> 0\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"<h2 id=\"reading_data\">Reading the data in</h2>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": 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>MODELYEAR</th>\n", | |
" <th>MAKE</th>\n", | |
" <th>MODEL</th>\n", | |
" <th>VEHICLECLASS</th>\n", | |
" <th>ENGINESIZE</th>\n", | |
" <th>CYLINDERS</th>\n", | |
" <th>TRANSMISSION</th>\n", | |
" <th>FUELTYPE</th>\n", | |
" <th>FUELCONSUMPTION_CITY</th>\n", | |
" <th>FUELCONSUMPTION_HWY</th>\n", | |
" <th>FUELCONSUMPTION_COMB</th>\n", | |
" <th>FUELCONSUMPTION_COMB_MPG</th>\n", | |
" <th>CO2EMISSIONS</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2014</td>\n", | |
" <td>ACURA</td>\n", | |
" <td>ILX</td>\n", | |
" <td>COMPACT</td>\n", | |
" <td>2.0</td>\n", | |
" <td>4</td>\n", | |
" <td>AS5</td>\n", | |
" <td>Z</td>\n", | |
" <td>9.9</td>\n", | |
" <td>6.7</td>\n", | |
" <td>8.5</td>\n", | |
" <td>33</td>\n", | |
" <td>196</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2014</td>\n", | |
" <td>ACURA</td>\n", | |
" <td>ILX</td>\n", | |
" <td>COMPACT</td>\n", | |
" <td>2.4</td>\n", | |
" <td>4</td>\n", | |
" <td>M6</td>\n", | |
" <td>Z</td>\n", | |
" <td>11.2</td>\n", | |
" <td>7.7</td>\n", | |
" <td>9.6</td>\n", | |
" <td>29</td>\n", | |
" <td>221</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2014</td>\n", | |
" <td>ACURA</td>\n", | |
" <td>ILX HYBRID</td>\n", | |
" <td>COMPACT</td>\n", | |
" <td>1.5</td>\n", | |
" <td>4</td>\n", | |
" <td>AV7</td>\n", | |
" <td>Z</td>\n", | |
" <td>6.0</td>\n", | |
" <td>5.8</td>\n", | |
" <td>5.9</td>\n", | |
" <td>48</td>\n", | |
" <td>136</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2014</td>\n", | |
" <td>ACURA</td>\n", | |
" <td>MDX 4WD</td>\n", | |
" <td>SUV - SMALL</td>\n", | |
" <td>3.5</td>\n", | |
" <td>6</td>\n", | |
" <td>AS6</td>\n", | |
" <td>Z</td>\n", | |
" <td>12.7</td>\n", | |
" <td>9.1</td>\n", | |
" <td>11.1</td>\n", | |
" <td>25</td>\n", | |
" <td>255</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2014</td>\n", | |
" <td>ACURA</td>\n", | |
" <td>RDX AWD</td>\n", | |
" <td>SUV - SMALL</td>\n", | |
" <td>3.5</td>\n", | |
" <td>6</td>\n", | |
" <td>AS6</td>\n", | |
" <td>Z</td>\n", | |
" <td>12.1</td>\n", | |
" <td>8.7</td>\n", | |
" <td>10.6</td>\n", | |
" <td>27</td>\n", | |
" <td>244</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" MODELYEAR MAKE MODEL VEHICLECLASS ENGINESIZE CYLINDERS \\\n", | |
"0 2014 ACURA ILX COMPACT 2.0 4 \n", | |
"1 2014 ACURA ILX COMPACT 2.4 4 \n", | |
"2 2014 ACURA ILX HYBRID COMPACT 1.5 4 \n", | |
"3 2014 ACURA MDX 4WD SUV - SMALL 3.5 6 \n", | |
"4 2014 ACURA RDX AWD SUV - SMALL 3.5 6 \n", | |
"\n", | |
" TRANSMISSION FUELTYPE FUELCONSUMPTION_CITY FUELCONSUMPTION_HWY \\\n", | |
"0 AS5 Z 9.9 6.7 \n", | |
"1 M6 Z 11.2 7.7 \n", | |
"2 AV7 Z 6.0 5.8 \n", | |
"3 AS6 Z 12.7 9.1 \n", | |
"4 AS6 Z 12.1 8.7 \n", | |
"\n", | |
" FUELCONSUMPTION_COMB FUELCONSUMPTION_COMB_MPG CO2EMISSIONS \n", | |
"0 8.5 33 196 \n", | |
"1 9.6 29 221 \n", | |
"2 5.9 48 136 \n", | |
"3 11.1 25 255 \n", | |
"4 10.6 27 244 " | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df = pd.read_csv(\"FuelConsumption.csv\")\n", | |
"\n", | |
"# take a look at the dataset\n", | |
"df.head()\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"<h2 id=\"data_exploration\">Data Exploration</h2>\n", | |
"Lets first have a descriptive exploration on our data." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": 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>MODELYEAR</th>\n", | |
" <th>ENGINESIZE</th>\n", | |
" <th>CYLINDERS</th>\n", | |
" <th>FUELCONSUMPTION_CITY</th>\n", | |
" <th>FUELCONSUMPTION_HWY</th>\n", | |
" <th>FUELCONSUMPTION_COMB</th>\n", | |
" <th>FUELCONSUMPTION_COMB_MPG</th>\n", | |
" <th>CO2EMISSIONS</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td>1067.0</td>\n", | |
" <td>1067.000000</td>\n", | |
" <td>1067.000000</td>\n", | |
" <td>1067.000000</td>\n", | |
" <td>1067.000000</td>\n", | |
" <td>1067.000000</td>\n", | |
" <td>1067.000000</td>\n", | |
" <td>1067.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>mean</th>\n", | |
" <td>2014.0</td>\n", | |
" <td>3.346298</td>\n", | |
" <td>5.794752</td>\n", | |
" <td>13.296532</td>\n", | |
" <td>9.474602</td>\n", | |
" <td>11.580881</td>\n", | |
" <td>26.441425</td>\n", | |
" <td>256.228679</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>std</th>\n", | |
" <td>0.0</td>\n", | |
" <td>1.415895</td>\n", | |
" <td>1.797447</td>\n", | |
" <td>4.101253</td>\n", | |
" <td>2.794510</td>\n", | |
" <td>3.485595</td>\n", | |
" <td>7.468702</td>\n", | |
" <td>63.372304</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>min</th>\n", | |
" <td>2014.0</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>4.600000</td>\n", | |
" <td>4.900000</td>\n", | |
" <td>4.700000</td>\n", | |
" <td>11.000000</td>\n", | |
" <td>108.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25%</th>\n", | |
" <td>2014.0</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>4.000000</td>\n", | |
" <td>10.250000</td>\n", | |
" <td>7.500000</td>\n", | |
" <td>9.000000</td>\n", | |
" <td>21.000000</td>\n", | |
" <td>207.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50%</th>\n", | |
" <td>2014.0</td>\n", | |
" <td>3.400000</td>\n", | |
" <td>6.000000</td>\n", | |
" <td>12.600000</td>\n", | |
" <td>8.800000</td>\n", | |
" <td>10.900000</td>\n", | |
" <td>26.000000</td>\n", | |
" <td>251.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75%</th>\n", | |
" <td>2014.0</td>\n", | |
" <td>4.300000</td>\n", | |
" <td>8.000000</td>\n", | |
" <td>15.550000</td>\n", | |
" <td>10.850000</td>\n", | |
" <td>13.350000</td>\n", | |
" <td>31.000000</td>\n", | |
" <td>294.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>max</th>\n", | |
" <td>2014.0</td>\n", | |
" <td>8.400000</td>\n", | |
" <td>12.000000</td>\n", | |
" <td>30.200000</td>\n", | |
" <td>20.500000</td>\n", | |
" <td>25.800000</td>\n", | |
" <td>60.000000</td>\n", | |
" <td>488.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" MODELYEAR ENGINESIZE CYLINDERS FUELCONSUMPTION_CITY \\\n", | |
"count 1067.0 1067.000000 1067.000000 1067.000000 \n", | |
"mean 2014.0 3.346298 5.794752 13.296532 \n", | |
"std 0.0 1.415895 1.797447 4.101253 \n", | |
"min 2014.0 1.000000 3.000000 4.600000 \n", | |
"25% 2014.0 2.000000 4.000000 10.250000 \n", | |
"50% 2014.0 3.400000 6.000000 12.600000 \n", | |
"75% 2014.0 4.300000 8.000000 15.550000 \n", | |
"max 2014.0 8.400000 12.000000 30.200000 \n", | |
"\n", | |
" FUELCONSUMPTION_HWY FUELCONSUMPTION_COMB FUELCONSUMPTION_COMB_MPG \\\n", | |
"count 1067.000000 1067.000000 1067.000000 \n", | |
"mean 9.474602 11.580881 26.441425 \n", | |
"std 2.794510 3.485595 7.468702 \n", | |
"min 4.900000 4.700000 11.000000 \n", | |
"25% 7.500000 9.000000 21.000000 \n", | |
"50% 8.800000 10.900000 26.000000 \n", | |
"75% 10.850000 13.350000 31.000000 \n", | |
"max 20.500000 25.800000 60.000000 \n", | |
"\n", | |
" CO2EMISSIONS \n", | |
"count 1067.000000 \n", | |
"mean 256.228679 \n", | |
"std 63.372304 \n", | |
"min 108.000000 \n", | |
"25% 207.000000 \n", | |
"50% 251.000000 \n", | |
"75% 294.000000 \n", | |
"max 488.000000 " | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# summarize the data\n", | |
"df.describe()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Lets select some features to explore more." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": 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>ENGINESIZE</th>\n", | |
" <th>CYLINDERS</th>\n", | |
" <th>FUELCONSUMPTION_COMB</th>\n", | |
" <th>CO2EMISSIONS</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>2.0</td>\n", | |
" <td>4</td>\n", | |
" <td>8.5</td>\n", | |
" <td>196</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>2.4</td>\n", | |
" <td>4</td>\n", | |
" <td>9.6</td>\n", | |
" <td>221</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>1.5</td>\n", | |
" <td>4</td>\n", | |
" <td>5.9</td>\n", | |
" <td>136</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>3.5</td>\n", | |
" <td>6</td>\n", | |
" <td>11.1</td>\n", | |
" <td>255</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>3.5</td>\n", | |
" <td>6</td>\n", | |
" <td>10.6</td>\n", | |
" <td>244</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>3.5</td>\n", | |
" <td>6</td>\n", | |
" <td>10.0</td>\n", | |
" <td>230</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>3.5</td>\n", | |
" <td>6</td>\n", | |
" <td>10.1</td>\n", | |
" <td>232</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>3.7</td>\n", | |
" <td>6</td>\n", | |
" <td>11.1</td>\n", | |
" <td>255</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>3.7</td>\n", | |
" <td>6</td>\n", | |
" <td>11.6</td>\n", | |
" <td>267</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" ENGINESIZE CYLINDERS FUELCONSUMPTION_COMB CO2EMISSIONS\n", | |
"0 2.0 4 8.5 196\n", | |
"1 2.4 4 9.6 221\n", | |
"2 1.5 4 5.9 136\n", | |
"3 3.5 6 11.1 255\n", | |
"4 3.5 6 10.6 244\n", | |
"5 3.5 6 10.0 230\n", | |
"6 3.5 6 10.1 232\n", | |
"7 3.7 6 11.1 255\n", | |
"8 3.7 6 11.6 267" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\n", | |
"cdf.head(9)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"we can plot each of these features:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 4 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"viz = cdf[['CYLINDERS','ENGINESIZE','CO2EMISSIONS','FUELCONSUMPTION_COMB']]\n", | |
"viz.hist()\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now, lets plot each of these features vs the Emission, to see how linear is their relation:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.scatter(cdf.FUELCONSUMPTION_COMB, cdf.CO2EMISSIONS, color='blue')\n", | |
"plt.xlabel(\"FUELCONSUMPTION_COMB\")\n", | |
"plt.ylabel(\"Emission\")\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": true | |
}, | |
"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.scatter(cdf.ENGINESIZE, cdf.CO2EMISSIONS, color='blue')\n", | |
"plt.xlabel(\"Engine size\")\n", | |
"plt.ylabel(\"Emission\")\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Practice\n", | |
"plot __CYLINDER__ vs the Emission, to see how linear is their relation:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# write your code here\n", | |
"plt.scatter(cdf['CYLINDERS'], cdf['ENGINESIZE'], color='blue')\n", | |
"plt.xlabel(\"Cylinders\")\n", | |
"plt.ylabel(\"Emission\")\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click __here__ for the solution.\n", | |
"\n", | |
"<!-- Your answer is below:\n", | |
" \n", | |
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n", | |
"plt.xlabel(\"Cylinders\")\n", | |
"plt.ylabel(\"Emission\")\n", | |
"plt.show()\n", | |
"\n", | |
"-->" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"#### Creating train and test dataset\n", | |
"Train/Test Split involves splitting the dataset into training and testing sets respectively, which are mutually exclusive. After which, you train with the training set and test with the testing set. \n", | |
"This will provide a more accurate evaluation on out-of-sample accuracy because the testing dataset is not part of the dataset that have been used to train the data. It is more realistic for real world problems.\n", | |
"\n", | |
"This means that we know the outcome of each data point in this dataset, making it great to test with! And since this data has not been used to train the model, the model has no knowledge of the outcome of these data points. So, in essence, it is truly an out-of-sample testing.\n", | |
"\n", | |
"Lets split our dataset into train and test sets, 80% of the entire data for training, and the 20% for testing. We create a mask to select random rows using __np.random.rand()__ function: " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [], | |
"source": [ | |
"msk = np.random.rand(len(df)) < 0.8\n", | |
"train = cdf[msk]\n", | |
"test = cdf[~msk]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"<h2 id=\"simple_regression\">Simple Regression Model</h2>\n", | |
"Linear Regression fits a linear model with coefficients $\\theta = (\\theta_1, ..., \\theta_n)$ to minimize the 'residual sum of squares' between the independent x in the dataset, and the dependent y by the linear approximation. " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"#### Train data distribution" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n", | |
"plt.xlabel(\"Engine size\")\n", | |
"plt.ylabel(\"Emission\")\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"#### Modeling\n", | |
"Using sklearn package to model data." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Coefficients: [[38.82683545]]\n", | |
"Intercept: [126.84730907]\n" | |
] | |
} | |
], | |
"source": [ | |
"from sklearn import linear_model\n", | |
"regr = linear_model.LinearRegression()\n", | |
"train_x = np.asanyarray(train[['ENGINESIZE']])\n", | |
"train_y = np.asanyarray(train[['CO2EMISSIONS']])\n", | |
"regr.fit (train_x, train_y)\n", | |
"# The coefficients\n", | |
"print ('Coefficients: ', regr.coef_)\n", | |
"print ('Intercept: ',regr.intercept_)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"As mentioned before, __Coefficient__ and __Intercept__ in the simple linear regression, are the parameters of the fit line. \n", | |
"Given that it is a simple linear regression, with only 2 parameters, and knowing that the parameters are the intercept and slope of the line, sklearn can estimate them directly from our data. \n", | |
"Notice that all of the data must be available to traverse and calculate the parameters.\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"#### Plot outputs" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"we can plot the fit line over the data:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0, 0.5, 'Emission')" | |
] | |
}, | |
"execution_count": 13, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"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.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n", | |
"plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')\n", | |
"plt.xlabel(\"Engine size\")\n", | |
"plt.ylabel(\"Emission\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"#### Evaluation\n", | |
"we compare the actual values and predicted values to calculate the accuracy of a regression model. Evaluation metrics provide a key role in the development of a model, as it provides insight to areas that require improvement.\n", | |
"\n", | |
"There are different model evaluation metrics, lets use MSE here to calculate the accuracy of our model based on the test set: \n", | |
"<ul>\n", | |
" <li> Mean absolute error: It is the mean of the absolute value of the errors. This is the easiest of the metrics to understand since it’s just average error.</li>\n", | |
" <li> Mean Squared Error (MSE): Mean Squared Error (MSE) is the mean of the squared error. It’s more popular than Mean absolute error because the focus is geared more towards large errors. This is due to the squared term exponentially increasing larger errors in comparison to smaller ones.</li>\n", | |
" <li> Root Mean Squared Error (RMSE): This is the square root of the Mean Square Error. </li>\n", | |
" <li> R-squared is not error, but is a popular metric for accuracy of your model. It represents how close the data are to the fitted regression line. The higher the R-squared, the better the model fits your data. Best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse).</li>\n", | |
"</ul>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
}, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Mean absolute error: 23.11\n", | |
"Residual sum of squares (MSE): 890.44\n", | |
"R2-score: 0.70\n" | |
] | |
} | |
], | |
"source": [ | |
"from sklearn.metrics import r2_score\n", | |
"\n", | |
"test_x = np.asanyarray(test[['ENGINESIZE']])\n", | |
"test_y = np.asanyarray(test[['CO2EMISSIONS']])\n", | |
"test_y_hat = regr.predict(test_x)\n", | |
"\n", | |
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y_hat - test_y)))\n", | |
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y_hat - test_y) ** 2))\n", | |
"print(\"R2-score: %.2f\" % r2_score(test_y_hat , test_y) )" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"<h2>Want to learn more?</h2>\n", | |
"\n", | |
"IBM SPSS Modeler is a comprehensive analytics platform that has many machine learning algorithms. It has been designed to bring predictive intelligence to decisions made by individuals, by groups, by systems – by your enterprise as a whole. A free trial is available through this course, available here: <a href=\"http://cocl.us/ML0101EN-SPSSModeler\">SPSS Modeler</a>\n", | |
"\n", | |
"Also, you can use Watson Studio to run these notebooks faster with bigger datasets. Watson Studio is IBM's leading cloud solution for data scientists, built by data scientists. With Jupyter notebooks, RStudio, Apache Spark and popular libraries pre-packaged in the cloud, Watson Studio enables data scientists to collaborate on their projects without having to install anything. Join the fast-growing community of Watson Studio users today with a free account at <a href=\"https://cocl.us/ML0101EN_DSX\">Watson Studio</a>\n", | |
"\n", | |
"<h3>Thanks for completing this lesson!</h3>\n", | |
"\n", | |
"<h4>Author: <a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a></h4>\n", | |
"<p><a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>, PhD is a Data Scientist in IBM with a track record of developing enterprise level applications that substantially increases clients’ ability to turn data into actionable knowledge. He is a researcher in data mining field and expert in developing advanced analytic methods like machine learning and statistical modelling on large datasets.</p>\n", | |
"\n", | |
"<hr>\n", | |
"\n", | |
"<p>Copyright © 2018 <a href=\"https://cocl.us/DX0108EN_CC\">Cognitive Class</a>. This notebook and its source code are released under the terms of the <a href=\"https://bigdatauniversity.com/mit-license/\">MIT License</a>.</p>" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python", | |
"language": "python", | |
"name": "conda-env-python-py" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.11" | |
}, | |
"widgets": { | |
"state": {}, | |
"version": "1.1.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment