Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save dmalc/a9e75302e63eefd081d0f14d05e65f92 to your computer and use it in GitHub Desktop.
Save dmalc/a9e75302e63eefd081d0f14d05e65f92 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-10-17 21:27:06-- 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",
"2020-10-17 21:27:06 (1.79 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)\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": 11,
"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='red')\n",
"plt.xlabel('Cylinder')\n",
"plt.ylabel('Emissions')\n",
"\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",
"-->\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": 12,
"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 independent x in the dataset, and the dependent y by the 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": 13,
"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": 14,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.25817941]]\n",
"Intercept: [125.58658429]\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": 15,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 15,
"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": null,
"metadata": {
"button": false,
"collapsed": true,
"jupyter": {
"outputs_hidden": true
},
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [],
"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-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