Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save dhwanijhawan/b40b90f739f4267de388ec70a5a86727 to your computer and use it in GitHub Desktop.
Save dhwanijhawan/b40b90f739f4267de388ec70a5a86727 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"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": 5,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2020-07-06 19:29:08-- 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-06 19:29:08 (1.65 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": 2,
"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": 2,
"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": 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>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": 3,
"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": 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>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": 4,
"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": 5,
"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": 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 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": 7,
"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": 8,
"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.CO2EMISSIONS, 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": 9,
"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": 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(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": 11,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.69058348]]\n",
"Intercept: [124.39831936]\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": 12,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 12,
"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": 13,
"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.02\n",
"Residual sum of squares (MSE): 896.60\n",
"R2-score: 0.73\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 &copy; 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.10"
},
"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