Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save morenodoug/f63316fe68229b1541068dee5b16d56e to your computer and use it in GitHub Desktop.
Save morenodoug/f63316fe68229b1541068dee5b16d56e 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": 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": [
"--2019-12-27 00:47:11-- https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv\n",
"Resolving s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)... 67.228.254.196\n",
"Connecting to s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)|67.228.254.196|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 72629 (71K) [text/csv]\n",
"Saving to: ‘FuelConsumption.csv’\n",
"\n",
"FuelConsumption.csv 100%[===================>] 70.93K --.-KB/s in 0.04s \n",
"\n",
"2019-12-27 00:47:11 (1.60 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": 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": [
"### Data Exploration\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": 7,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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": 7,
"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": 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 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": 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": [
"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='yellow')\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": 11,
"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",
"\n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS ,color= 'red')\n",
"\n",
"plt.xlabel(\"cylinders\")\n",
"plt.ylabel(\"emission\")\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click __here__ for the solution.\n",
"\n",
"<!-- Your answer is below:\n",
" \n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Cylinders\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Creating train and test dataset\n",
"Train/Test Split involves splitting the dataset into training and testing sets respectively, which are mutually exclusive. After which, you train with the training set and test with the testing set. \n",
"This will provide a more accurate evaluation on out-of-sample accuracy because the testing dataset is not part of the dataset that have been used to train the data. It is more realistic for real world problems.\n",
"\n",
"This means that we know the outcome of each data point in this dataset, making it great to test with! And since this data has not been used to train the model, the model has no knowledge of the outcome of these data points. So, in essence, it is truly an out-of-sample testing.\n",
"\n",
"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": 41,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"len data frame 1067\n",
"train len 846\n",
"test len 221\n",
"type of test <class 'pandas.core.frame.DataFrame'>\n"
]
}
],
"source": [
"\n",
"msk = np.random.rand(len(df)) <0.8\n",
"\n",
"print(\"len data frame \", msk.size)\n",
"train = cdf[msk]\n",
"print( \"train len \", len(train))\n",
"test = cdf[~msk]\n",
"print( \"test len\", len(test))\n",
"print(\"type of test \", type(test))\n",
"\n",
"\n",
"#a = np.array([[1,2,3],[4,5,6]]) <2\n",
"#a\n"
]
},
{
"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": 42,
"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": 45,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[38.83300791]]\n",
"Intercept: [126.63121516]\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": 46,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 46,
"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": 57,
"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.71\n",
"Residual sum of squares (MSE): 940.07\n",
"R2-score: 0.63\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",
"test_one = regr.predict(np.asanyarray([[2]]))\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",
"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