Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save kimbosliceit/c4569d4c7dd5d497af3a8b53178232cf to your computer and use it in GitHub Desktop.
Save kimbosliceit/c4569d4c7dd5d497af3a8b53178232cf 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",
"# <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": 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-07-07 15:46:44-- 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-07-07 15:46:44 (1.63 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",
"## 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": 3,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MODELYEAR</th>\n",
" <th>MAKE</th>\n",
" <th>MODEL</th>\n",
" <th>VEHICLECLASS</th>\n",
" <th>ENGINESIZE</th>\n",
" <th>CYLINDERS</th>\n",
" <th>TRANSMISSION</th>\n",
" <th>FUELTYPE</th>\n",
" <th>FUELCONSUMPTION_CITY</th>\n",
" <th>FUELCONSUMPTION_HWY</th>\n",
" <th>FUELCONSUMPTION_COMB</th>\n",
" <th>FUELCONSUMPTION_COMB_MPG</th>\n",
" <th>CO2EMISSIONS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX</td>\n",
" <td>COMPACT</td>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>AS5</td>\n",
" <td>Z</td>\n",
" <td>9.9</td>\n",
" <td>6.7</td>\n",
" <td>8.5</td>\n",
" <td>33</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX</td>\n",
" <td>COMPACT</td>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>M6</td>\n",
" <td>Z</td>\n",
" <td>11.2</td>\n",
" <td>7.7</td>\n",
" <td>9.6</td>\n",
" <td>29</td>\n",
" <td>221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX HYBRID</td>\n",
" <td>COMPACT</td>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>AV7</td>\n",
" <td>Z</td>\n",
" <td>6.0</td>\n",
" <td>5.8</td>\n",
" <td>5.9</td>\n",
" <td>48</td>\n",
" <td>136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>MDX 4WD</td>\n",
" <td>SUV - SMALL</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>AS6</td>\n",
" <td>Z</td>\n",
" <td>12.7</td>\n",
" <td>9.1</td>\n",
" <td>11.1</td>\n",
" <td>25</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>RDX AWD</td>\n",
" <td>SUV - SMALL</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>AS6</td>\n",
" <td>Z</td>\n",
" <td>12.1</td>\n",
" <td>8.7</td>\n",
" <td>10.6</td>\n",
" <td>27</td>\n",
" <td>244</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" MODELYEAR MAKE MODEL VEHICLECLASS ENGINESIZE CYLINDERS \\\n",
"0 2014 ACURA ILX COMPACT 2.0 4 \n",
"1 2014 ACURA ILX COMPACT 2.4 4 \n",
"2 2014 ACURA ILX HYBRID COMPACT 1.5 4 \n",
"3 2014 ACURA MDX 4WD SUV - SMALL 3.5 6 \n",
"4 2014 ACURA RDX AWD SUV - SMALL 3.5 6 \n",
"\n",
" TRANSMISSION FUELTYPE FUELCONSUMPTION_CITY FUELCONSUMPTION_HWY \\\n",
"0 AS5 Z 9.9 6.7 \n",
"1 M6 Z 11.2 7.7 \n",
"2 AV7 Z 6.0 5.8 \n",
"3 AS6 Z 12.7 9.1 \n",
"4 AS6 Z 12.1 8.7 \n",
"\n",
" FUELCONSUMPTION_COMB FUELCONSUMPTION_COMB_MPG CO2EMISSIONS \n",
"0 8.5 33 196 \n",
"1 9.6 29 221 \n",
"2 5.9 48 136 \n",
"3 11.1 25 255 \n",
"4 10.6 27 244 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"FuelConsumption.csv\")\n",
"\n",
"# take a look at the dataset\n",
"df.head()\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Data Exploration\n",
"Lets first have a descriptive exploration on our data."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MODELYEAR</th>\n",
" <th>ENGINESIZE</th>\n",
" <th>CYLINDERS</th>\n",
" <th>FUELCONSUMPTION_CITY</th>\n",
" <th>FUELCONSUMPTION_HWY</th>\n",
" <th>FUELCONSUMPTION_COMB</th>\n",
" <th>FUELCONSUMPTION_COMB_MPG</th>\n",
" <th>CO2EMISSIONS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1067.0</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>2014.0</td>\n",
" <td>3.346298</td>\n",
" <td>5.794752</td>\n",
" <td>13.296532</td>\n",
" <td>9.474602</td>\n",
" <td>11.580881</td>\n",
" <td>26.441425</td>\n",
" <td>256.228679</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.0</td>\n",
" <td>1.415895</td>\n",
" <td>1.797447</td>\n",
" <td>4.101253</td>\n",
" <td>2.794510</td>\n",
" <td>3.485595</td>\n",
" <td>7.468702</td>\n",
" <td>63.372304</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>2014.0</td>\n",
" <td>1.000000</td>\n",
" <td>3.000000</td>\n",
" <td>4.600000</td>\n",
" <td>4.900000</td>\n",
" <td>4.700000</td>\n",
" <td>11.000000</td>\n",
" <td>108.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>2014.0</td>\n",
" <td>2.000000</td>\n",
" <td>4.000000</td>\n",
" <td>10.250000</td>\n",
" <td>7.500000</td>\n",
" <td>9.000000</td>\n",
" <td>21.000000</td>\n",
" <td>207.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>2014.0</td>\n",
" <td>3.400000</td>\n",
" <td>6.000000</td>\n",
" <td>12.600000</td>\n",
" <td>8.800000</td>\n",
" <td>10.900000</td>\n",
" <td>26.000000</td>\n",
" <td>251.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>2014.0</td>\n",
" <td>4.300000</td>\n",
" <td>8.000000</td>\n",
" <td>15.550000</td>\n",
" <td>10.850000</td>\n",
" <td>13.350000</td>\n",
" <td>31.000000</td>\n",
" <td>294.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>2014.0</td>\n",
" <td>8.400000</td>\n",
" <td>12.000000</td>\n",
" <td>30.200000</td>\n",
" <td>20.500000</td>\n",
" <td>25.800000</td>\n",
" <td>60.000000</td>\n",
" <td>488.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" MODELYEAR ENGINESIZE CYLINDERS FUELCONSUMPTION_CITY \\\n",
"count 1067.0 1067.000000 1067.000000 1067.000000 \n",
"mean 2014.0 3.346298 5.794752 13.296532 \n",
"std 0.0 1.415895 1.797447 4.101253 \n",
"min 2014.0 1.000000 3.000000 4.600000 \n",
"25% 2014.0 2.000000 4.000000 10.250000 \n",
"50% 2014.0 3.400000 6.000000 12.600000 \n",
"75% 2014.0 4.300000 8.000000 15.550000 \n",
"max 2014.0 8.400000 12.000000 30.200000 \n",
"\n",
" FUELCONSUMPTION_HWY FUELCONSUMPTION_COMB FUELCONSUMPTION_COMB_MPG \\\n",
"count 1067.000000 1067.000000 1067.000000 \n",
"mean 9.474602 11.580881 26.441425 \n",
"std 2.794510 3.485595 7.468702 \n",
"min 4.900000 4.700000 11.000000 \n",
"25% 7.500000 9.000000 21.000000 \n",
"50% 8.800000 10.900000 26.000000 \n",
"75% 10.850000 13.350000 31.000000 \n",
"max 20.500000 25.800000 60.000000 \n",
"\n",
" CO2EMISSIONS \n",
"count 1067.000000 \n",
"mean 256.228679 \n",
"std 63.372304 \n",
"min 108.000000 \n",
"25% 207.000000 \n",
"50% 251.000000 \n",
"75% 294.000000 \n",
"max 488.000000 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# summarize the data\n",
"df.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets select some features to explore more."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ENGINESIZE</th>\n",
" <th>CYLINDERS</th>\n",
" <th>FUELCONSUMPTION_COMB</th>\n",
" <th>CO2EMISSIONS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>8.5</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>9.6</td>\n",
" <td>221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>5.9</td>\n",
" <td>136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.6</td>\n",
" <td>244</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.0</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.1</td>\n",
" <td>232</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>3.7</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>3.7</td>\n",
" <td>6</td>\n",
" <td>11.6</td>\n",
" <td>267</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ENGINESIZE CYLINDERS FUELCONSUMPTION_COMB CO2EMISSIONS\n",
"0 2.0 4 8.5 196\n",
"1 2.4 4 9.6 221\n",
"2 1.5 4 5.9 136\n",
"3 3.5 6 11.1 255\n",
"4 3.5 6 10.6 244\n",
"5 3.5 6 10.0 230\n",
"6 3.5 6 10.1 232\n",
"7 3.7 6 11.1 255\n",
"8 3.7 6 11.6 267"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\n",
"cdf.head(9)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can plot each of these fearues:"
]
},
{
"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": 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": 11,
"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": 13,
"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": 14,
"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": 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: [[39.04994966]]\n",
"Intercept: [125.46517549]\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": 17,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 17,
"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": 18,
"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: 21.97\n",
"Residual sum of squares (MSE): 839.21\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 &copy; 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 3",
"language": "python",
"name": "python3"
},
"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