Created
January 6, 2020 21:12
-
-
Save Ammaraf/cabdb5f545bfd77144d00d138766d8c2 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
This file contains 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", | |
"# <center>Simple Linear Regression</center>\n", | |
"\n", | |
"\n", | |
"#### About this Notebook\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": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"### Importing Needed packages" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"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": 5, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"--2020-01-06 20:44:11-- 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.08s \n", | |
"\n", | |
"2020-01-06 20:44:11 (922 KB/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", | |
"## Understanding the Data\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": [ | |
"## Reading the data in" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"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": 6, | |
"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": [ | |
"### Data Exploration\n", | |
"Lets first have a descriptive exploration on our data." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"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": 7, | |
"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": 8, | |
"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": 8, | |
"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 fearues:" | |
] | |
}, | |
{ | |
"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 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": 10, | |
"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": 13, | |
"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": 20, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"ename": "AttributeError", | |
"evalue": "module 'matplotlib.pyplot' has no attribute 'xlabe'", | |
"output_type": "error", | |
"traceback": [ | |
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", | |
"\u001b[0;32m<ipython-input-20-5f055fc99112>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# write your code here\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCYLINDERS\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCO2EMISSIONS\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'Red'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxlabe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Cylinders size\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mylabe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Emission\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
"\u001b[0;31mAttributeError\u001b[0m: module 'matplotlib.pyplot' has no attribute 'xlabe'" | |
] | |
}, | |
{ | |
"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.CO2EMISSIONS, color='Red')\n", | |
"plt.xlabe(\"Cylinders size\")\n", | |
"plt.ylabe(\"Emission\")\n", | |
"plt.show()\n", | |
"\n" | |
] | |
}, | |
{ | |
"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" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"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": [ | |
"### Simple Regression Model\n", | |
"Linear Regression fits a linear model with coefficients B = (B1, ..., Bn) 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": 22, | |
"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": 23, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Coefficients: [[39.39926991]]\n", | |
"Intercept: [124.53804242]\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": 24, | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0, 0.5, 'Emission')" | |
] | |
}, | |
"execution_count": 24, | |
"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", | |
" - 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.\n", | |
" - 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.\n", | |
" - Root Mean Squared Error (RMSE).\n", | |
" - 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).\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"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: 24.34\n", | |
"Residual sum of squares (MSE): 1021.99\n", | |
"R2-score: 0.71\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_ = regr.predict(test_x)\n", | |
"\n", | |
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y_ - test_y)))\n", | |
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y_ - test_y) ** 2))\n", | |
"print(\"R2-score: %.2f\" % r2_score(test_y_ , test_y) )" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"button": false, | |
"deletable": true, | |
"new_sheet": false, | |
"run_control": { | |
"read_only": false | |
} | |
}, | |
"source": [ | |
"## Want to learn more?\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: [SPSS Modeler](http://cocl.us/ML0101EN-SPSSModeler).\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 [Watson Studio](https://cocl.us/ML0101EN_DSX)\n", | |
"\n", | |
"### Thanks for completing this lesson!\n", | |
"\n", | |
"Notebook created by: <a href = \"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>\n", | |
"\n", | |
"<hr>\n", | |
"Copyright © 2018 [Cognitive Class](https://cocl.us/DX0108EN_CC). This notebook and its source code are released under the terms of the [MIT License](https://bigdatauniversity.com/mit-license/)." | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python", | |
"language": "python", | |
"name": "conda-env-python-py" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.6.7" | |
}, | |
"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