Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save oluwaseunolusanya/196103a05560566ca7410ebca395f944 to your computer and use it in GitHub Desktop.
Save oluwaseunolusanya/196103a05560566ca7410ebca395f944 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": 2,
"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": 3,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2020-03-18 06:10:29-- 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.03s \n",
"\n",
"2020-03-18 06:10:29 (2.06 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": 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>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": 4,
"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": 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>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": 5,
"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": 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>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": 6,
"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": 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[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\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": 17,
"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": 18,
"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": [
{
"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.CYLINDERS, cdf.CO2EMISSIONS, color='red')\n",
"plt.xlabel('Cylinders')\n",
"plt.ylabel('Emissions')\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": 37,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"msk = np.random.rand(len(df)) < 0.1\n",
"train = cdf[~msk]\n",
"test = cdf[msk]\n",
"#train\n",
"#test\n",
"#cdf"
]
},
{
"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": 38,
"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": 39,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.84854352]]\n",
"Intercept: [122.86632376]\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": 40,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 40,
"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": 41,
"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.03\n",
"Residual sum of squares (MSE): 961.84\n",
"R2-score: 0.72\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