Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save abhiray92/ef97e22e3d6e6ebd0b802454e13cb667 to your computer and use it in GitHub Desktop.
Save abhiray92/ef97e22e3d6e6ebd0b802454e13cb667 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"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": [
"--2019-09-09 10:59:36-- 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.193\n",
"Connecting to s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)|67.228.254.193|: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",
"2019-09-09 10:59:36 (1.64 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",
" <td>0</td>\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",
" <td>1</td>\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",
" <td>2</td>\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",
" <td>3</td>\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",
" <td>4</td>\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",
" <td>count</td>\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",
" <td>mean</td>\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",
" <td>std</td>\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",
" <td>min</td>\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",
" <td>25%</td>\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",
" <td>50%</td>\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",
" <td>75%</td>\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",
" <td>max</td>\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",
" <td>0</td>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>8.5</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>9.6</td>\n",
" <td>221</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>5.9</td>\n",
" <td>136</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.6</td>\n",
" <td>244</td>\n",
" </tr>\n",
" <tr>\n",
" <td>5</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.0</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <td>6</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.1</td>\n",
" <td>232</td>\n",
" </tr>\n",
" <tr>\n",
" <td>7</td>\n",
" <td>3.7</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <td>8</td>\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.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Number of 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": 11,
"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": 15,
"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": 16,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[38.781925]]\n",
"Intercept: [126.00133139]\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": 19,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 19,
"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": 20,
"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: 22.62\n",
"Residual sum of squares (MSE): 854.31\n",
"R2-score: 0.69\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.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