PRAKTIKUMmachinelearning/Regression/ML0101EN-Reg-Mulitple-Linear-Regression-Co2 Muhamma Bintang Mudzaffar.ipynb

757 lines
100 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p style=\"text-align:center\">\n",
" <a href=\"https://skills.network\" target=\"_blank\">\n",
" <img src=\"https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/assets/logos/SN_web_lightmode.png\" width=\"200\" alt=\"Skills Network Logo\">\n",
" </a>\n",
"</p>\n",
"\n",
"\n",
"# Multiple Linear Regression\n",
"\n",
"\n",
"Estimated time needed: **15** minutes\n",
" \n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"* Use scikit-learn to implement Multiple Linear Regression\n",
"* Create a model, train it, test it and use the model\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Table of contents</h1>\n",
"\n",
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
" <ol>\n",
" <li><a href=\"#understanding-data\">Understanding the Data</a></li>\n",
" <li><a href=\"#reading_data\">Reading the Data in</a></li>\n",
" <li><a href=\"#multiple_regression_model\">Multiple Regression Model</a></li>\n",
" <li><a href=\"#prediction\">Prediction</a></li>\n",
" <li><a href=\"#practice\">Practice</a></li>\n",
" </ol>\n",
"</div>\n",
"<br>\n",
"<hr>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Importing Needed packages\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"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": {},
"source": [
"### Downloading Data\n",
"To download the data, we will use !wget to download it from IBM Object Storage.\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2025-10-19 06:06:36-- 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, 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.002s \n",
"\n",
"2025-10-19 06:06:36 (45.3 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": [
"\n",
"<h2 id=\"understanding_data\">Understanding the Data</h2>\n",
"\n",
"### `FuelConsumption.csv`:\n",
"We have downloaded a fuel consumption dataset, **`FuelConsumption.csv`**, which contains model-specific fuel consumption ratings and estimated carbon dioxide emissions for new light-duty vehicles for retail sale in Canada. [Dataset source](http://open.canada.ca/data/en/dataset/98f1a129-f628-4ce4-b24d-6f16bf24dd64)\n",
"\n",
"- **MODELYEAR** e.g. 2014\n",
"- **MAKE** e.g. Acura\n",
"- **MODEL** e.g. ILX\n",
"- **VEHICLE CLASS** e.g. SUV\n",
"- **ENGINE SIZE** e.g. 4.7\n",
"- **CYLINDERS** e.g 6\n",
"- **TRANSMISSION** e.g. A6\n",
"- **FUELTYPE** e.g. z\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": {},
"source": [
"<h2 id=\"reading_data\">Reading the data in</h2>\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"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": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"FuelConsumption.csv\")\n",
"\n",
"# take a look at the dataset\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's select some features that we want to use for regression.\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"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_CITY</th>\n",
" <th>FUELCONSUMPTION_HWY</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>9.9</td>\n",
" <td>6.7</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>11.2</td>\n",
" <td>7.7</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>6.0</td>\n",
" <td>5.8</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>12.7</td>\n",
" <td>9.1</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>12.1</td>\n",
" <td>8.7</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>11.9</td>\n",
" <td>7.7</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>11.8</td>\n",
" <td>8.1</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>12.8</td>\n",
" <td>9.0</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>13.4</td>\n",
" <td>9.5</td>\n",
" <td>11.6</td>\n",
" <td>267</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ENGINESIZE CYLINDERS FUELCONSUMPTION_CITY FUELCONSUMPTION_HWY \\\n",
"0 2.0 4 9.9 6.7 \n",
"1 2.4 4 11.2 7.7 \n",
"2 1.5 4 6.0 5.8 \n",
"3 3.5 6 12.7 9.1 \n",
"4 3.5 6 12.1 8.7 \n",
"5 3.5 6 11.9 7.7 \n",
"6 3.5 6 11.8 8.1 \n",
"7 3.7 6 12.8 9.0 \n",
"8 3.7 6 13.4 9.5 \n",
"\n",
" FUELCONSUMPTION_COMB CO2EMISSIONS \n",
"0 8.5 196 \n",
"1 9.6 221 \n",
"2 5.9 136 \n",
"3 11.1 255 \n",
"4 10.6 244 \n",
"5 10.0 230 \n",
"6 10.1 232 \n",
"7 11.1 255 \n",
"8 11.6 267 "
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\n",
"cdf.head(9)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's plot Emission values with respect to Engine size:\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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2Lx5s/OxlpYWbNu2DYMGDQIA9O/fHzExMW5jampqsHfvXucYIiIiatvaW3nypqYmfPHFF86vq6qqsHv3bqSkpKBHjx4oLCzEokWLkJ2djezsbCxatAgJCQm49dZbAQDJycmYMmUKZs+ejdTUVKSkpGDOnDnIzc3FiBEjrHpbREREFEYsDXZ27dqFYcOGOb+eNWsWAGDSpElYuXIl5s2bhxMnTmDq1Kk4cuQILrvsMrzzzjtISkpyvqa4uBjt27fHxIkTceLECQwfPhwrV66EnVuQiIiICGFUZ8dK0VZnh4iIqC2I+Do7REREREZgsENERERRzdKcnXChXsmLtkrKRERE0Uz93A6UkcNgB3A2FmUlZSIiosjT2NiI5ORkn88zQRnAmTNn8O233yIpKSlgdWYtGhoakJWVhYMHD7aZxGe+Z77naMX3zPccrSL5PSuKgsbGRmRkZKBdO9+ZOVzZAdCuXTtkZmaadvy2WKWZ77lt4HtuG/ie24ZIfc/+VnRUTFAmIiKiqMZgh4iIiKIagx0TxcXF4aGHHkJcXJzVUwkZvue2ge+5beB7bhvawntmgjIRERFFNa7sEBERUVRjsENERERRjcEOERERRTUGO0RERBTVGOyY5P3338fYsWORkZEBm82G9evXWz0lUy1evBgDBgxAUlISunXrhvHjx+Ozzz6zelqmWr58OS6++GJnIa6BAwfirbfesnpaIbN48WLYbDYUFhZaPRVTLViwADabze2Wnp5u9bRMV11djdtvvx2pqalISEjAL37xC1RWVlo9LdP06tWr1c/ZZrNh2rRpVk/NNKdPn8Yf//hH9O7dG/Hx8TjvvPPw5z//GWfOnLF6aoZjBWWTHDt2DD//+c9x55134vrrr7d6Oqbbtm0bpk2bhgEDBuD06dN44IEHMGrUKHz66adITEy0enqmyMzMxKOPPorzzz8fALBq1Srk5eXhX//6F/r162fx7MxVUVGB5557DhdffLHVUwmJfv36YcuWLc6v7Xa7hbMx35EjR3DFFVdg2LBheOutt9CtWzccOHAA55xzjtVTM01FRQUcDofz671792LkyJG48cYbLZyVuR577DE888wzWLVqFfr164ddu3bhzjvvRHJyMmbMmGH19AzFYMcko0ePxujRo62eRshs2rTJ7esVK1agW7duqKysxFVXXWXRrMw1duxYt68feeQRLF++HB9++GFUBztNTU247bbb8Le//Q0LFy60ejoh0b59+zaxmqN67LHHkJWVhRUrVjgf69Wrl3UTCoGuXbu6ff3oo4+iT58+GDJkiEUzMt8HH3yAvLw8XHfddQDEz/jll1/Grl27LJ6Z8XgZi0xRX18PAEhJSbF4JqHhcDhQWlqKY8eOYeDAgVZPx1TTpk3DddddhxEjRlg9lZDZv38/MjIy0Lt3b9x888348ssvrZ6SqTZu3IhLL70UN954I7p164ZLLrkEf/vb36yeVsi0tLRgzZo1uOuuuwxtDh1urrzySrz77rv4/PPPAQD//ve/sWPHDvz617+2eGbG48oOGU5RFMyaNQtXXnklcnJyrJ6Oqfbs2YOBAwfi5MmT6NixI9atW4ef/exnVk/LNKWlpfj4449RUVFh9VRC5rLLLsOLL76Ivn374rvvvsPChQsxaNAg7Nu3D6mpqVZPzxRffvklli9fjlmzZuH+++/HRx99hHvvvRdxcXG44447rJ6e6davX4+jR49i8uTJVk/FVPfddx/q6+tx4YUXwm63w+Fw4JFHHsEtt9xi9dQMx2CHDDd9+nR88skn2LFjh9VTMd0FF1yA3bt34+jRo1i7di0mTZqEbdu2RWXAc/DgQcyYMQPvvPMOOnToYPV0Qsb1cnRubi4GDhyIPn36YNWqVZg1a5aFMzPPmTNncOmll2LRokUAgEsuuQT79u3D8uXL20Sw88ILL2D06NHIyMiweiqmeuWVV7BmzRqUlJSgX79+2L17NwoLC5GRkYFJkyZZPT1DMdghQxUUFGDjxo14//33kZmZafV0TBcbG+tMUL700ktRUVGBp556Cs8++6zFMzNeZWUl6urq0L9/f+djDocD77//PpYtW4bm5uaoT9wFgMTEROTm5mL//v1WT8U03bt3bxWwX3TRRVi7dq1FMwqdr7/+Glu2bEFZWZnVUzHd3Llz8Yc//AE333wzABHMf/3111i8eDGDHSJvFEVBQUEB1q1bh/LycvTu3dvqKVlCURQ0NzdbPQ1TDB8+HHv27HF77M4778SFF16I++67r00EOgDQ3NyM//znPxg8eLDVUzHNFVdc0ap0xOeff46ePXtaNKPQUTdXqEm70ez48eNo1849dddut3PrOclramrCF1984fy6qqoKu3fvRkpKCnr06GHhzMwxbdo0lJSUYMOGDUhKSkJtbS0AIDk5GfHx8RbPzhz3338/Ro8ejaysLDQ2NqK0tBTl5eWtdqZFi6SkpFY5WImJiUhNTY3q3Kw5c+Zg7Nix6NGjB+rq6rBw4UI0NDRE3V++rmbOnIlBgwZh0aJFmDhxIj766CM899xzeO6556yemqnOnDmDFStWYNKkSWjfPvo/HseOHYtHHnkEPXr0QL9+/fCvf/0LS5YswV133WX11IynkCm2bt2qAGh1mzRpktVTM4W39wpAWbFihdVTM81dd92l9OzZU4mNjVW6du2qDB8+XHnnnXesnlZIDRkyRJkxY4bV0zDVTTfdpHTv3l2JiYlRMjIylPz8fGXfvn1WT8t0r732mpKTk6PExcUpF154ofLcc89ZPSXTvf322woA5bPPPrN6KiHR0NCgzJgxQ+nRo4fSoUMH5bzzzlMeeOABpbm52eqpGc6mKIpiTZhFREREZD7W2SEiIqKoxmCHiIiIohqDHSIiIopqDHaIiIgoqjHYISIioqjGYIeIiIiiGoMdIiIiimoMdoiIiCiqMdghooizcuVKnHPOOZbOYejQoSgsLLR0DkQkhxWUicgwkydPxqpVq1o9fs011xjaM+zEiRNobGxEt27dDDumVj/++CNiYmKQlJRk2RyISE70dzojopC69tprsWLFCrfH4uLiDD1HfHy85Q1mU1JSLD0/EcnjZSwiMlRcXBzS09Pdbp07d3Y+b7PZ8Pzzz2PChAlISEhAdnY2Nm7c6HaMjRs3Ijs7G/Hx8Rg2bBhWrVoFm82Go0ePAmh9GWvBggX4xS9+gdWrV6NXr15ITk7GzTffjMbGRucYRVFQVFSE8847D/Hx8fj5z3+OV1991e97efrpp5GdnY0OHTogLS0NN9xwg/M518tY5eXlsNlsrW6TJ092jn/ttdfQv39/dOjQAeeddx4efvhhnD59WuN3l4j0YLBDRCH38MMPY+LEifjkk0/w61//Grfddht+/PFHAMBXX32FG264AePHj8fu3btxzz334IEHHgh4zAMHDmD9+vV4/fXX8frrr2Pbtm149NFHnc//8Y9/xIoVK7B8+XLs27cPM2fOxO23345t27Z5Pd6uXbtw77334s9//jM+++wzbNq0CVdddZXXsYMGDUJNTY3z9t5776FDhw7O8W+//TZuv/123Hvvvfj000/x7LPPYuXKlXjkkUe0fuuISA9Le64TUVSZNGmSYrfblcTERLfbn//8Z+cYAMof//hH59dNTU2KzWZT3nrrLUVRFOW+++5TcnJy3I77wAMPKACUI0eOKIqiKCtWrFCSk5Odzz/00ENKQkKC0tDQ4Hxs7ty5ymWXXeY8R4cOHZSdO3e6HXfKlCnKLbfc4vW9rF27VunUqZPbMV0NGTJEmTFjRqvHf/jhB6VPnz7K1KlTnY8NHjxYWbRokdu41atXK927d/d6bCIyFnN2iMhQw4YNw/Lly90e88xvufjii53/TkxMRFJSEurq6gAAn332GQYMGOA2/le/+lXA8/bq1cstWbh79+7OY3766ac4efIkRo4c6faalpYWXHLJJV6PN3LkSPTs2RPnnXcerr32Wlx77bXOS2++nDp1Ctdffz169OiBp556yvl4ZWUlKioq3FZyHA4HTp48iePHj/s9JhEFj8EOERkqMTER559/vt8xMTExbl/bbDacOXMGgMitsdlsbs8rEptG/R1TvX/jjTdw7rnnuo3zlTydlJSEjz/+GOXl5XjnnXfw4IMPYsGCBaioqPC57f33v/89vvnmG1RUVKB9+7P/ez1z5gwefvhh5Ofnt3pNhw4dAr43IgoOgx0iCisXXngh3nzzTbfHdu3aFdQxf/aznyEuLg7ffPMNhgwZIv269u3bY8SIERgxYgQeeughnHPOOXjvvfe8Bi1LlizBK6+8gg8++ACpqaluz/3yl7/EZ599FjAIJCJzMNghIkM1NzejtrbW7bH27dujS5cuUq+/5557sGTJEtx3332YMmUKdu/ejZUrVwJAqxUfWUlJSZgzZw5mzpyJM2fO4Morr0RDQwN27tyJjh07YtKkSa1e8/rrr+PLL7/EVVddhc6dO+PNN9/EmTNncMEFF7Qau2XLFsybNw9//etf0aVLF+f7j4+PR3JyMh588EGMGTMGWVlZuPHGG9GuXTt88skn2LNnDxYuXKjrPRGRPO7GIiJDbdq0Cd27d3e7XXnlldKv7927N1599VWUlZXh4osvxvLly527sYKp1/Pf//3fePDBB7F48WJcdNFFuOaaa/Daa6+hd+/eXsefc845KCsrw9VXX42LLroIzzzzDF5++WX069ev1dgdO3bA4XDgd7/7ndv7njFjBgBRVPH111/H5s2bMWDAAFx++eVYsmQJevbsqfv9EJE8VlAmorD3yCOP4JlnnsHBgwetngoRRSBexiKisPP0009jwIABSE1NxT/+8Q88/vjjmD59utXTIqIIxWCHiMLO/v37sXDhQvz444/o0aMHZs+ejfnz51s9LSKKULyMRURERFGNCcpEREQU1RjsEBERUVRjsENERERRjcEOERERRTUGO0RERBTVGOwQERFRVGOwQ0RERFGNwQ4RERFFtf8PvJlBIb+scX0AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"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": [
"#### 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 model. Therefore, it gives us a better understanding of how well our model generalizes on new data.\n",
"\n",
"We know the outcome of each data point in the testing dataset, making it great to test with! 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",
"Let's split our dataset into train and test sets. Around 80% of the entire dataset will be used for training and 20% for testing. We create a mask to select random rows using the __np.random.rand()__ function: \n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"msk = np.random.rand(len(df)) < 0.8\n",
"train = cdf[msk]\n",
"test = cdf[~msk]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Train data distribution\n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Q0RERFGNwQ4RERFFNQY7REREFNUY7BAREVFUY7BDREREUY3BDhEREUU1BjtEREQU1RjsEFHEeeWVV9C1a1dL+zBmzBjk5+db2gciksMMykRkmLvvvhuvvvpqm+PXXHONoTXDGhoacOrUKfTq1cuwc2r1888/IyYmBklJSZb1gYjkRH+lMyIKqWuvvRarVq1yOxYXF2foNeLj4y0vMNu9e3dLr09E8jiNRUSGiouLQ1pamtutW7duzsdtNhtefvll3HjjjUhISMDAgQOxceNGt3Ns3LgRAwcORHx8PMaOHYtXX30VNpsNJ0+eBNB2Guvxxx/HxRdfjNdeew19+/ZFcnIybr/9dpw6dcrZRlEUFBYW4txzz0V8fDwuuugivPHGG35fy4oVKzBw4EB06tQJqampuPnmm52PuU5jlZaWwmaztbndfffdzvZvvfUWhg4dik6dOuHcc8/FE088gebmZo3vLhHpwWCHiELuiSeewK233oovvvgC119/Pe688078/PPPAIAjR47g5ptvxpQpU7B3717cd999eOSRRwKe8/Dhw1i/fj3efvttvP3229ixYweWLFnifPyPf/wjVq1ahZUrV+LAgQN48MEHcdddd2HHjh1ez7dnzx488MADePLJJ3Hw4EFs3rwZV155pde2I0eOxLFjx5y3f/7zn+jUqZOz/XvvvYe77roLDzzwAL788ku8+OKLeOWVV/DUU09pfeuISA9La64TUVSZNm2aYrfblcTERLfbk08+6WwDQPnjH//o/Lmurk6x2WzKu+++qyiKojz00ENKdna223kfeeQRBYBy4sQJRVEUZdWqVUpycrLz8ccee0xJSEhQamtrncfmz5+vjBgxwnmNTp06Kbt27XI77/Tp05WpU6d6fS3r1q1TunTp4nZOV6NHj1Zmz57d5vhPP/2k9O/fX5kxY4bz2KhRo5RFixa5tXvttdeU9PR0r+cmImNxzQ4RGWrs2LFYuXKl2zHP9S1Dhgxx/jsxMRFJSUmorq4GABw8eBDDhw93a/+b3/wm4HX79u3rtlg4PT3dec4vv/wSZ86cwdVXX+32nKamJlxyySVez3f11VejT58+OPfcc3Httdfi2muvdU69+XL27FncdNNN6N27N5577jnn8bKyMuzevdttJMfhcODMmTOor6/3e04iCh6DHSIyVGJiIgYMGOC3TUxMjNvPNpsNLS0tAMTaGpvN5va4IrFp1N851ftNmzbhnHPOcWvna/F0UlISPvvsM5SWlmLLli149NFH8fjjj2P37t0+t73/4Q9/wNGjR7F792507Nj6v9eWlhY88cQTyM3NbfOcTp06BXxtRBQcBjtEFFbOP/98vPPOO27H9uzZE9Q5L7jgAsTFxeHo0aMYPXq09PM6duyI8ePHY/z48XjsscfQtWtX/POf//QatBQVFeH111/HRx99hJSUFLfHfv3rX+PgwYMBg0AiMgeDHSIyVGNjI6qqqtyOdezYET169JB6/n333YeioiI89NBDmD59Ovbu3YtXXnkFANqM+MhKSkrCvHnz8OCDD6KlpQVXXHEFamtrsWvXLnTu3BnTpk1r85y3334b33zzDa688kp069YN77zzDlpaWnDeeee1abtt2zYUFBTgL3/5C3r06OF8/fHx8UhOTsajjz6KiRMnIisrC7fccgs6dOiAL774Avv27cPChQt1vSYiksfdWERkqM2bNyM9Pd3tdsUVV0g/v1+/fnjjjTdQUlKCIUOGYOXKlc7dWMHk6/n3f/93PProo1i8eDF+9atf4ZprrsFbb72Ffv36eW3ftWtXlJSU4KqrrsKvfvUrvPDCC1izZg0uvPDCNm0//PBDOBwO3H///W6ve/bs2QBEUsW3334bW7duxfDhw3HppZeiqKgIffr00f16iEgeMygTUdh76qmn8MILL6CiosLqrhBRBOI0FhGFnRUrVmD48OFISUnB//zP/2Dp0qXIy8uzultEFKEY7BBR2Dl06BAWLlyIn3/+Gb1798bcuXPx8MMPW90tIopQnMYiIiKiqMYFykRERBTVGOwQERFRVGOwQ0RERFGNwQ4RERFFNQY7REREFNUY7BAREVFUY7BDREREUY3BDhEREUW1/w9zZ5moyv7HeAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"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": {},
"source": [
"<h2 id=\"multiple_regression_model\">Multiple Regression Model</h2>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In reality, there are multiple variables that impact the co2emission. When more than one independent variable is present, the process is called multiple linear regression. An example of multiple linear regression is predicting co2emission using the features FUELCONSUMPTION_COMB, EngineSize and Cylinders of cars. The good thing here is that multiple linear regression model is the extension of the simple linear regression model.\n"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[10.72078242 7.43076823 9.65437428]]\n"
]
}
],
"source": [
"from sklearn import linear_model\n",
"regr = linear_model.LinearRegression()\n",
"x = np.asanyarray(train[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB']])\n",
"y = np.asanyarray(train[['CO2EMISSIONS']])\n",
"regr.fit (x, y)\n",
"# The coefficients\n",
"print ('Coefficients: ', regr.coef_)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As mentioned before, __Coefficient__ and __Intercept__ are the parameters of the fitted line. \n",
"Given that it is a multiple linear regression model with 3 parameters and that the parameters are the intercept and coefficients of the hyperplane, sklearn can estimate them from our data. Scikit-learn uses plain Ordinary Least Squares method to solve this problem.\n",
"\n",
"#### Ordinary Least Squares (OLS)\n",
"OLS is a method for estimating the unknown parameters in a linear regression model. OLS chooses the parameters of a linear function of a set of explanatory variables by minimizing the sum of the squares of the differences between the target dependent variable and those predicted by the linear function. In other words, it tries to minimizes the sum of squared errors (SSE) or mean squared error (MSE) between the target variable (y) and our predicted output ($\\hat{y}$) over all samples in the dataset.\n",
"\n",
"OLS can find the best parameters using of the following methods:\n",
"* Solving the model parameters analytically using closed-form equations\n",
"* Using an optimization algorithm (Gradient Descent, Stochastic Gradient Descent, Newtons Method, etc.)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"prediction\">Prediction</h2>\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean Squared Error (MSE) : 525.98\n",
"Variance score: 0.86\n"
]
}
],
"source": [
"y_hat= regr.predict(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB']])\n",
"x = np.asanyarray(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB']])\n",
"y = np.asanyarray(test[['CO2EMISSIONS']])\n",
"print(\"Mean Squared Error (MSE) : %.2f\"\n",
" % np.mean((y_hat - y) ** 2))\n",
"\n",
"# Explained variance score: 1 is perfect prediction\n",
"print('Variance score: %.2f' % regr.score(x, y))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__Explained variance regression score:__ \n",
"Let $\\hat{y}$ be the estimated target output, y the corresponding (correct) target output, and Var be the Variance (the square of the standard deviation). Then the explained variance is estimated as follows:\n",
"\n",
"$\\texttt{explainedVariance}(y, \\hat{y}) = 1 - \\frac{Var\\{ y - \\hat{y}\\}}{Var\\{y\\}}$ \n",
"The best possible score is 1.0, the lower values are worse.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"practice\">Practice</h2>\n",
"Try to use a multiple linear regression with the same dataset, but this time use FUELCONSUMPTION_CITY and FUELCONSUMPTION_HWY instead of FUELCONSUMPTION_COMB. Does it result in better accuracy?\n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[10.75686052 7.15720891 6.05278734 3.36709249]]\n",
"Residual sum of squares: 525.50\n",
"Variance score: 0.86\n"
]
}
],
"source": [
"regr = linear_model.LinearRegression()\n",
"x = np.asanyarray(train[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n",
"y = np.asanyarray(train[['CO2EMISSIONS']])\n",
"regr.fit (x, y)\n",
"print ('Coefficients: ', regr.coef_)\n",
"y_= regr.predict(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n",
"x = np.asanyarray(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n",
"y = np.asanyarray(test[['CO2EMISSIONS']])\n",
"print(\"Residual sum of squares: %.2f\"% np.mean((y_ - y) ** 2))\n",
"print('Variance score: %.2f' % regr.score(x, y))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"regr = linear_model.LinearRegression()\n",
"x = np.asanyarray(train[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n",
"y = np.asanyarray(train[['CO2EMISSIONS']])\n",
"regr.fit (x, y)\n",
"print ('Coefficients: ', regr.coef_)\n",
"y_= regr.predict(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n",
"x = np.asanyarray(test[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_CITY','FUELCONSUMPTION_HWY']])\n",
"y = np.asanyarray(test[['CO2EMISSIONS']])\n",
"print(\"Residual sum of squares: %.2f\"% np.mean((y_ - y) ** 2))\n",
"print('Variance score: %.2f' % regr.score(x, y))\n",
"\n",
"```\n",
"\n",
"</details>\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"tags": []
},
"source": [
"### Thank you for completing this lab!\n",
"\n",
"\n",
"## Author\n",
"\n",
"Saeed Aghabozorgi\n",
"\n",
"\n",
"### Other Contributors\n",
"\n",
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>\n",
"\n",
"## <h3 align=\"center\"> © IBM Corporation 2020. All rights reserved. <h3/>\n",
" \n",
"<!--\n",
"\n",
"## Change Log\n",
"\n",
"\n",
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n",
"|---|---|---|---|\n",
"| 2020-11-03 | 2.1 | Lakshmi | Made changes in URL |\n",
"| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n",
"| | | | |\n",
"| | | | |\n",
"\n",
"\n",
"\n",
"\n",
"--!>\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.7.12"
},
"prev_pub_hash": "c1170d4cb1c9bbce7dbbef74b645fc6b265a5aaf4ce89c4ac861feed8769ed99"
},
"nbformat": 4,
"nbformat_minor": 4
}