Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save asterios-pantousas/22d1269ff97e0cbf03c119a37e5645b6 to your computer and use it in GitHub Desktop.
Save asterios-pantousas/22d1269ff97e0cbf03c119a37e5645b6 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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<center>\n",
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/Logos/organization_logo/organization_logo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n",
"</center>\n",
"\n",
"# Simple Linear Regression\n",
"\n",
"Estimated time needed: **15** minutes\n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"- Use scikit-learn to implement simple Linear Regression\n",
"- Create a model, train,test and use the model\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Importing Needed packages\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"button": false,
"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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Downloading Data\n",
"\n",
"To download the data, we will use !wget to download it from IBM Object Storage.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2020-12-05 08:02:58-- https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv\n",
"Resolving cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)... 169.63.118.104\n",
"Connecting to cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)|169.63.118.104|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 72629 (71K) [text/csv]\n",
"Saving to: ‘FuelConsumption.csv’\n",
"\n",
"FuelConsumption.csv 100%[===================>] 70.93K --.-KB/s in 0.04s \n",
"\n",
"2020-12-05 08:02:59 (1.82 MB/s) - ‘FuelConsumption.csv’ saved [72629/72629]\n",
"\n"
]
}
],
"source": [
"!wget -O FuelConsumption.csv https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/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)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## Understanding the Data\n",
"\n",
"### `FuelConsumption.csv`:\n",
"\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?cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ)\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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## Reading the data in\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"button": false,
"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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Data Exploration\n",
"\n",
"Lets first have a descriptive exploration on our data.\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"button": false,
"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.\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"button": false,
"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:\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"button": false,
"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:\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"button": false,
"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,
"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",
"\n",
"Plot **CYLINDER** vs the Emission, to see how linear is their relation:\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"button": false,
"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(\"Cylinder\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Cylinders\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()\n",
"\n",
"```\n",
"\n",
"</details>\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Creating train and test dataset\n",
"\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: \n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"button": false,
"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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Simple Regression Model\n",
"\n",
"Linear Regression fits a linear model with coefficients B = (B1, ..., Bn) to minimize the 'residual sum of squares' between the actual value y in the dataset, and the predicted value yhat using linear approximation. \n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Train data distribution\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"button": false,
"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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Modeling\n",
"\n",
"Using sklearn package to model data.\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[38.2814411]]\n",
"Intercept: [126.94320263]\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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Plot outputs\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can plot the fit line over the data:\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 14,
"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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Evaluation\n",
"\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",
"\n",
"```\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",
"```\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean absolute error: 24.66\n",
"Residual sum of squares (MSE): 1037.62\n",
"R2-score: 0.76\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,
"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=\"https://www.ibm.com/analytics/spss-statistics-software\">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://www.ibm.com/cloud/watson-studio\">Watson Studio</a>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Thank you for completing this lab!\n",
"\n",
"## Author\n",
"\n",
"Saeed Aghabozorgi\n",
"\n",
"### Other Contributors\n",
"\n",
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>\n",
"\n",
"## Change Log\n",
"\n",
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n",
"| ----------------- | ------- | ------------- | ---------------------------------- |\n",
"| 2020-11-03 | 2.1 | Lakshmi Holla | Changed URL of the csv |\n",
"| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n",
"| | | | |\n",
"| | | | |\n",
"\n",
"## <h3 align=\"center\"> © IBM Corporation 2020. All rights reserved. <h3/>\n"
]
}
],
"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.11"
},
"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