Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save intisarkhalil/249d2ee700dc003e6b519cef65733bba to your computer and use it in GitHub Desktop.
Save intisarkhalil/249d2ee700dc003e6b519cef65733bba 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://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/images/IDSNlogo.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 it, test it 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": [
"--2021-06-09 22:20:42-- 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.45.118.108\n",
"Connecting to cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)|169.45.118.108|: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.1s \n",
"\n",
"2021-06-09 22:20:43 (511 KB/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?utm_medium=Exinfluencer\\&utm_source=Exinfluencer\\&utm_content=000026UJ\\&utm_term=10006555\\&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2021-01-01)\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()"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Data Exploration\n",
"\n",
"Let's 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": [
"Let's 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 features:\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, let's plot each of these features against the Emission, to see how linear their relationship is:\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 relationship is:\n"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'Emissions' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-20-d15e54dfc7a0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscatter\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCYLINDERS\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCO2EMISSIONS\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'red'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mxlabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Cylinders\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mylabel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mEmissions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mNameError\u001b[0m: name 'Emissions' is not defined"
]
},
{
"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(\"Cylinders\")\n",
"plt.ylabel(Emissions)\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 that 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",
"This means that 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. 80% of the entire dataset will be used for training and 20% for testing. We create a mask to select random rows using **np.random.rand()** function:\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"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": 22,
"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": 23,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.14566627]]\n",
"Intercept: [125.67965145]\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": 24,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEHCAYAAABBW1qbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA43ElEQVR4nO2de5wU1ZX4v2d6BmRAgyAaEJlBRSP4czFOjAl5GPGtPx8x+iM72ZDNAwWTaIwmEpL42JDVbNRodkGJEklgNa4xibrGqBjjmriaQfEBSkRBRI3gW0RBZs7vj1s9U91T1V3VXdXVM3O+n8/9dPepulWne+Ceuueee46oKoZhGIYB0JC1AoZhGEb9YEbBMAzD6MaMgmEYhtGNGQXDMAyjGzMKhmEYRjdmFAzDMIxuGtO8uIisBd4COoFtqtomIiOAXwGtwFrgFFV9zTt/NvAl7/yvq+ofSl1/p5120tbW1rTUNwzD6JcsW7bsZVUdFXQsVaPg8SlVfdn3+VxgqapeJCLnep+/LSITgWnAJGAMcJeI7KWqnWEXbm1tpaOjI03dDcMw+h0i8mzYsSzcR8cDi7z3i4ATfPLrVXWLqq4BVgMH1l49wzCMgUvaRkGBO0RkmYjM8GS7qOqLAN7rzp58V+A5X9/1nswwDMOoEWm7j6ao6gsisjNwp4g8WeJcCZD1ysHhGZcZAOPGjUtGS8MwDANIeaagqi94rxuA3+DcQS+JyGgA73WDd/p6YDdf97HACwHXXKCqbaraNmpU4DqJYRiGUSGpGQURGSoi2+ffA4cDjwM3A9O906YDv/Pe3wxME5HBIjIemAA8mJZ+hmEYRm/SnCnsAtwnIo/gBvf/VtXbgYuAw0TkKeAw7zOqugK4AVgJ3A6cXiryyDCMgcWSJdDaCg0N7nXJkqw16p9IX06d3dbWphaSahj9nyVLYMYM2Ly5R9bcDAsWQHt7dnr1VURkmaq2BR2zHc2GYdQ9c+YUGgRwn+fMyUaf/owZBcMw6p516+LJjcoxo2AYRt0TFn1uUenJY0bBMIy6Z+5ct4bgp7nZyY1kMaNgGEbd097uFpVbWkDEvdoiczrUIiGeYRhG1bS3mxGoBTZTMAzDMLoxo2AYhmF0Y0bBMAzD6MaMgmEYhtGNGQXDMAyjGzMKhmEYRjdmFAzDMIxuzCgYhmEY3ZhRMAzDMLoxo2AYhmF0Y0bBMAzD6CZ1oyAiORF5WERu9T6fLyLPi8hyrx3tO3e2iKwWkVUickTauhmGYfRJUqyYWYuEeGcATwA7+GSXqeqP/SeJyERgGjAJGAPcJSJ7WZ1mwzAMj+efhw98ADZtcsWqO5MfHlOdKYjIWOAY4OoIpx8PXK+qW1R1DbAaODBN/QzDMPoE69bB4MEwdqwzCAC3357KrdJ2H/0E+BbQVST/qog8KiILRWRHT7Yr8JzvnPWezDAMY2Cydi3kcq6AxNatTnbllc59dNhhqdwyNaMgIscCG1R1WdGh+cAewGTgReCSfJeAy/RynInIDBHpEJGOjRs3JqixYRhGnfD0066a0Pjx0OU9U19zjTMGp56a6q3TnClMAY4TkbXA9cAhIrJYVV9S1U5V7QJ+Ro+LaD2wm6//WOCF4ouq6gJVbVPVtlGjRqWovmEYRo156ilnDPbcs0d27bXOGHzxizVRITWjoKqzVXWsqrbiFpDvVtXPicho32knAo97728GponIYBEZD0wAHkxLP8MwjLrhySedMdhrrx7ZkiXOGEyfXlNVsijH+SMRmYxzDa0FTgVQ1RUicgOwEtgGnG6RR4Zh9GtWroRJkwplv/oVnHJKNvoAoinGu6ZNW1ubdnR0ZK2GYRhGPB59FP7hHwplN94IJ51Uk9uLyDJVbQs6ZjuaDcMoy6xZ0NjoPByNje6zUQHLl7sf0W8Qfvc75yaqkUEoRxbuI8Mw+hCzZsH8+T2fOzt7Ps+bl41OfY6ODvjQhwplt94KxxyTjT4lsJmCYRglufLKeHLDxwMPuJmB3yDcfrubGdShQQCbKRiGUYawZcc+vByZPn/5C0yZUii76y6YOjUbfWJgRsEwDCMp7r0XPvnJQtk99/SW1TFmFAzDMKrl7rt7zwLuu6/3bKEPYGsKhmGUZObMePIBxR13uDUDv0G4/37nW+uDBgHMKBhGv2DJEmhtddmUW1vd56SYN88ZgFzOfc7l3OdqI4/S1Dl1fv97ZwyO8JV9efBBZwwOOig7vZJAVftsO+CAA9Qw6p2ZM1VzOVVwrzNnJnv9xYtVm5vd9fOtudnJ65W+qLOqqt58c6HSoLpsWdZaxQbo0JBx1XY0G0aKFMf450niSTtPays8+2xveUuLy7xcj/Q5nX/zG/j0pwtly5f33pXcRyi1o9mMgmGkSGNjcHGsXA62bUvmHg0NweGhIj1Zl+uNPqPzjTfCyScXyh57DPbdNxt9EsLSXBhGRoRVS0yyiuK4cfHklVAuzUXc9YFa6FwV113nvqzfIKxc6SxZHzcI5TCjYBgpIkGlo0rIK2HuXGhuLpQ1Nzt5EuRdYHlDlk9zkTcMS5bAjBnOHaTqXmfMKG0Y0ta5YhYvdn+cf/zHHtmqVe6L7bNPdnrVkrDFhr7QbKHZqHeK1yT9LSpRFqoXL1ZtaVEVca9JLtiKBOsv4o63tAQfb2kpfd00dY7NwoW9v8Dq1RkqlC6UWGi2mYIxoKn37J/lntLztLe7Bdqurp6F2qTCPcOWHfPydeuCj4fJ8xTr3N5eqYZV8LOfuT++v6rZM8+4L7fHHhkolD1mFIwBS9QBtxrysf1R5cUsWBBPDpW5c6qh7tcHgpg3zxmDGTPc50GDen6w8eOz1S1jzCgYA5ZKBty45MecqPJiKlmonjMHNm8ulG3e7ORpULfrA0FccYUzBqef7j4PHQrPPQdbttS5FasdqRsFEcmJyMMicqv3eYSI3CkiT3mvO/rOnS0iq0VklYgcEX5Vw6ieWkQGVbsbuJKZRqXunDDKpblob3dlhP3fcfr0jNxBYfz4x84YnHGG+zx8ODz/PGzaBGPHZqpavVGLmcIZwBO+z+cCS1V1ArDU+4yITASmAZOAI4F5IhJxkm0Y8anWtROVefPcngRV9xpn01olM42k3TnlDNuSJbBoUaEbbtGiOklb8a//6ozBOee4z6NGwd//Dq+9BmPGZKtbnZKqURCRscAxwNU+8fHAIu/9IuAEn/x6Vd2iqmuA1cCBaepnDGyqde3UgilT3AK4n8bG0rnWgtw5TU3uobjShedShq3W7qpIXHihMwbf+Y77PGYMbNjg2i67ZKhY/ZP2TOEnwLcA/x7FXVT1RQDvdWdPvivwnO+89Z7MMFIhrURvSTJnTu+dz9u2lR5w29vdukhLixsXR450r6+8ks7Cc9LuqopRhe99z33Z885zspYWePll5yoaNarGCvVNUjMKInIssEFVl0XtEiDrFQwnIjNEpENEOjZu3FiVjoZRjWunFiQR7jlsGGzdWng8ySf5zKOPVGH2bDcN+sEPnGzPPeHVV92PMHJkjRTpH6Q5U5gCHCcia4HrgUNEZDHwkoiMBvBeN3jnrwd28/UfC7xQfFFVXaCqbaraNsosv9HPSWLATftJPq3oo0mT3EN/vk2aVHSCKnzzm84YXHSRk+2zj1sveOop2HHHXtc0ypOaUVDV2ao6VlVbcQvId6vq54CbgeneadOB33nvbwamichgERkPTAAeTEs/w+gLJDHgpv0kX+yuamlxn6uJPpo0yaUa8rNypWcYVF0UUUMDXHqpO7jffvDGG+6k4cMrv7FRmzQXwMHArd77kbioo6e81xG+8+YATwOrgKPKXdfSXBgDgWrTQfTF2gWBaTXo1HmcVig84ADVN9/MWt2akkR9Dkqkucg8f1E1zYyCUQ/UVQ6fEPqCjn6KjcECvlwoPOgg1U2bslaz5sycGWww4xqGUkbBdjQbRhXUOqVEpaSZGyktGujkWqbTRY6veFHt9/JxePttVwd56NCMNaw9tdiFb0bBMKqgXmL049QzSMOQHXpo4aLwoYdWfi06O7llh3Y6aWQ6vwBgKYewHe8wc+K9vRdZBhC12IWfuQuommbuIyNryqWVToMhQwrv1dQUb82gklTXU6cWnjt1avixoHMi8d57qp/5TMFFfs8ROoh3FVQnTox5vX5Ifi2huOVy8a6DuY8MIx1qHaPf3AzvvFMoe++9eLOVoNrIpeSHHgpLlxbKli7tmQ0UH/OfE4n33oMTT3Tbrm+80cmOPRa2bOFIvZ0tOhhVWLEi4vX6MbXYhW9GwTCqoNYZQosNQinC9iHEzflU9aAfxtatcMwxLm31b3/rZCee6OS33OLkRgG12IVvRsEwqiCNGP2kCJut1MQvXYotW+Dww2HwYLjtNic75RQ3Y7jpJjdjMEJJexd+Y/lTDMMoRXt7fRgBP6VmKy0twa6ilpZ0deLdd+Goo+Cee3pk7e0upWrSqWmNirGZgmH0IYYMCZY3NUWfrcR1eU2dGk/ei82b4WMfc8rnDcIXvuAecxcvNoNQZ9hMwTD6EJs3915sHjKk90JzKfLGYs4ct+4wbpwzCGFG5K67ei82T53q5BA+8/jAbm/Dhw+BB33Zar7yFbjyShc7a9Ql9pcxjCqJs0cgCTZvLgxI3LzZ1ZVubHQzhcbG8nWmizezlXN/3XVX4T3zBgF6zzyG8RYPywd54rlhPQZh1ix3swULQg1C3O9gpERYrGpfaLZPwciaLPIKFee+mTgxOHa9kpw41eg0vOENfZR9C5U480zVrq5I/bP+DgMJLPeRYaRDJRvBqiFs8Axrtch19KurXtMnZe+CG1/WeLYu/mWhMSiVfympTVlGNEoZBXHH+yZtbW3a0dGRtRrGAKahwQ1fxYg4b0kSLFnS4/+v9L9rc3MKobKvvgof+hA880y3aC7f4bv8ABBGjnQFftatgxEj4K23Cov9+HWSoBJbHn14iKpbRGSZqrYFHbM1BcOogrC9AA0NyawxFOcpqpTNm2H69Og6lfTvv/yy++IjR3YbhAv4PkIX32Uu+SKKr7zSo/crr5Su/hZ3Q52RImFTiL7QzH1kZE3QmkJxq2aNIcw9VW0rpVOYi+qc6S+pvv/9hcILLwx1/UR1b6kmmD/JiATmPjKM9PC7dxoagncGt7T0pKyOQ5h7KgnCdGpsLPwOO/MSj7Mvo3i5W/bbD/8rJ/zvuUBp109UHVpbwzfUVfK7GaUx95FhpIg/vDNsHaFUPeRSIa1pJdYDNwgH3TNvEEbzAq/zPl7i/d0G4Zv8GEE58YFzu11Kle6E9m+YS7uOtBGd1IyCiGwnIg+KyCMiskJELvDk54vI8yKy3GtH+/rMFpHVIrJKRI5ISzfDSIsRI+LJy9U22HPPdPTME3TPcQ3reZtmXmBX3sebAHydyxGUS/lmd998YZeoOjY1uWWIoF3Xtc42a5QgzK9UbcOtNg3z3jcBDwAHAecDZwecPxF4BBgMjMfVas6VuoetKRj1gD/UMsx3PnRocN9yIa1R/PVjxpRf14jSPrrrWtXGxgLhacwr2Ue19PeOWgK0L9aR7suQRT0F796bvI9NXivlHT0euF5Vt6jqGmA1cGBa+hlGEkSNDnr77WB5ObdJqcyl+eHz+ecLM7WWiuQJ8v+P5xkU4c/Pt7p8RMCSTy6gMadcyczQ++fvU+p7R901Xc/ZZgcaqa4piEhORJYDG4A7VfUB79BXReRREVkoIjt6sl2B53zd13syw6gZcVMtBJXjjEM5t0nUUM0//xnWr3cDdFeX091Pc7NLRtrV1bMGsAerUYRn2KPnxIULQZX2e77SnZ55ZohdSLKwC8RPvWGkQ6pGQVU7VXUyMBY4UET2BeYDewCTgReBS7zTg2IYej2DiMgMEekQkY6NGzemorcxMJk1C+bP73k67+x0n0sZhmoXQsP88Xl52MDb2dlTD7m5uVBvVffAP2xY8FP3FaevQhFWM6H7el8a9EuWLFb453/uda9yhV2GDQvWMUxu1DlhfqWkG3AeRWsJQCvwuPd+NjDbd+wPwEdKXdPWFIwkqSTVQtR9BA0Nld/Tn+soTuul98qVvU6axnVVp8FYvLjXUoQ2Ntp6QD1DFmsKIjJKRIZ774cAhwJPisho32knAo97728GponIYBEZD0wAfDl3DSNdKqlIFlSbIIiwUNUo9/RX2opD9zUef9xNGSZO7D72s8P/i8accj3TWL/euZ8qpb0d9tqrULbXXub+6aukWU9hNLBIRHI4N9UNqnqriPxSRCbjXENrgVMBVHWFiNwArAS2Aaeraq0KBBoGuVz4IJ1foJ04sbCAfHFtglKb12rN/g2PgEwuFP7mN8y64wTmz+8R5d1kUFlpx0MPhZUrC2UrVzq5P8W20TewHc3GgMa/G7m5OTxKyE+xYfCTX5coJqy4etxEcFF2D+/PQzzEAYXCW26BY48Feu9YzpPLdQcfxcKS2fU9bEezkQq1Li6TtA7F4aRvv92TyK4UxU/FfvJ16KPKw+4VJh8zJlg+ZAh8uOGvKFJoEH7/e/flPIMAlbnJjAFE2GJDX2i20Jwd9bDZqFodym0cK7dpK4iwjVz5xG/FDBoUfP6gQeHfufjcg/hLb+Edd4TqmHTtgkp+JyNbyGKh2ejfBMXn+1Mh9wUd0si3EzddQ3E66XJy/3ebwn0owv18tEd4991uPD7ssFAdw8JcK913sN128eRGfRPJKHiRRN8RkQXehrOFIrIwbeWM+qUeEphVq0O5AdwXrFNAsdzvwtq0yeX48eNP/FYt69bBJ7kHRbiPj3fLP8G9zhh86lNlrzFlSm/3VEODk1fC1Vf3XlcQcXKj7xF1pvA74H3AXcB/+5oxQKmHBGZRdCi15hAUTuofwFes6G0AiheZi9clXnnFveYHyVzOFbcJC8+MtaawdCldKtxDz8D/Uf6MoKxr+XhAh2DmzOkdItvVVXqGVW7tpngHdfFnow8R5lfyN2B5lPNq3WxNITv6wppCFB1L1Q2OQpTNa6V+l0j++Ntv73XwQzxQ8e8ed92j3O9Y6zrVRvVQYk0hqlH4AXB0lHNr2cwoZIt/p20u5z7XmlKDehKDVTmjUSpDaJR7ltTx1lt7H+joSM2QVaRjid8gzMgY2ZOEUXgL6ALe9d6/BbwZpW+azYxCdtTDTCGvR9gAWe1gFeU7Rk1zEecp/ORBv+19gYcfruwHCiCs3GaYUS/3Ow4bFnx82LDEVDYSpmqjUK/NjEJ21IPLoNygPXRosI5htQ2KifIdFy8ODyv1t1wu/Mk+P+P6NDf27vjoown8UvG/V5zzS31vP9XOcIzkSMQoAMcBP/basVH7pdnMKGRHGi6DuINGGvsM/ETpv3ixalNTeaMQZrgWL1b9x9z1vU66+eIVoXqNGVN4+pgx0b5PnqTXFKL+TsX7I3I5MwxZkYT76CJgKfBFr90JXBSlb5rNjEJ2JD1TqMQdVW5wq4VRCPsd8jODsI1iLS0auBNtL55UUB05MlinYoNQiWGo5G9XymBH+Z2qnbUZyZKEUXgUaPB9zgGPRumbZjOjkB1JrymUG1yDZg71MFOoxDB9nmt7Cffkb5F0rPY7qSb/t4sy80hCbyM5ShmFODuah/vevy9GP6MfknT5xLANZ52dbugoLi4P5fcZ1II4ldO+yDUowiK+0C3bnacRtKDgTdok/bc77bR4cqPOCbMW/gZ8FngWuBZYBKwBpkXpm2azmUL/IWoUT7GLo1q3Rimi9I/ibz+V+QUnvEdOW1hTkY5Rz691uHC5+zU0BOscVnzISBcSWmgejVtsPh54f9R+aTYzCv2HxYvDB44gwxBlMTpK4rdSRmXixOD+Eyf21j3wGj/9aUHHzWynY1lXYNziGoUoawpRQk6zMBrldDJqR8VGAfiA9/rBoFaqby2aGYX+Q9igUa6V8oWXG4iCwkkHDSptGIoNQiCXXlrQ6XV20DGsD51JxJ3NlIs+KmcMsxqg62Gzo+Goxigs8F7/GNDuLtW3Fs2MQrYkGXdeSQ1i/8whTL9StYNHjgy+XljkT1kuvrjgQhsZqW1jX9SZM9NzcQVR7pqlfmvbQzAwSMR9FLcB2+FqLD8CrAAu8OQjcCGtT3mvO/r6zAZWA6uAI8rdw4xCdiQdwVKpQcgPZEGkHZ3UzQ9+UND5Rd6vo3gp0u+ShlGoJlQ3ib+lUf9UbRSAk4HtvfffBW4C9i/TR4Bh3vsm4AHgIOBHwLme/FzgYu/9RM+ADAbGA08DuVL3MKOQHUnvU0hjppDqPoauLtXzzivsNHasTh67MZaOaRiFcmknov7WltCu/1LKKEQNSf2eqr4lIh8DjvAikK4s1cG79ybvY5PXFLdQvciTLwJO8N4fD1yvqltUdY03Yzgwon5GjXn22XjyckQt8FKcUrpUCOqIEaXlI0cGHw+TA268nDPHKXLBBU42frzLmf3cczzy/E6B3ZKsM1EujfWmTUG9euQHHxztPrWsjWHUD1GNQr566zHAfFX9HTCoXCcRyYnIcmADcKeqPgDsoqovAnivO3un7wo85+u+3pMZdYg//j6KvBxBhV+C2HHHwvj66dN7xui4NZovv7x3QZymJifvhSqcc4670Q9/6GR77QWvvsqsI5+hcecRiLjTgkiqzkRx/Yag/RvlWL062nm1rI1h1BFhUwh/A24FrsK5dIbjXDyPROnr9R+OW5zeF3i96Nhr3ut/AJ/zya8BTgq41gygA+gYN25c8vMqIxJR3B5xFqKj7lMovn4SOXlK6tjVpXrmmYWdJ01Sff11VY0WNZXkmkIUt12pa0ZN9R13TcGS3fUtSGBNoRn4NDDB+zwaODxKX981zgPOxi0ij/ZdZ5X3fjYw23f+H4CPlLqmrSlkR7nInbgL0VENgn9ROdWF5K4u1VmzCjo9xGQdtd2bBadFieQpFX0UNwIqyneK+lsWt1IpRUoRlBSwqckMQz2ThFHYAxjsvT8Y+DowvEyfUflzgCHA/wDHAv9G4ULzj7z3kyhcaH4GW2iuW8LSRQ8a5I7HXYiOM3jlSWMhedZpnXqVzCg4+QE+pEN5q1s0ZEg0vVWTT++dllGoJtoo8dBeI3WSMArLgUZgT8+FdBlwW5k++wEP45LpPQ5835OPxGVcfcp7HeHrM8e7/irgqHJ69WejkPR0POmNQ+UGp7jpmeMMYPnfpWQG0gg6FtDZqX/Z+wsFJ93HR3UIb5fsX26jWNKzmaSNQhL/vuJ+ByN7kjAKD3mv3wK+5r1/OErfNFt/NQpJ7wFIYwdruYEgzZlCqRZ7t/C2baqf+1zBwT/ySd2OzZH6l/ttk57NJGkUkgo5NaPQ90jCKDyAS4r3ODDekz0epW+arb8ahVrtAfDnAIpLuYEgrmGLUr0srIX5wkt+7/feUz3llIIDd3CoDuadSPf0U2oWlsVMIcqifZKb08x91PdIwihMBK4APut9Hp9fF8iy9VejkHRVszSe5KpNNhdHx3Itjkuqka16I58uFB51lOq770a+n39NoRxJREgVXy/oXP9vG3TPQYPcIJ1GdFCUHFJGfVG1UajX1l+NQtJPXmmkLU7a0FSzozlsxuN/Ym5ii97MsYUdjztOdcuW7vOjhGs2NcX/bqWM49SpwfeZOrWy68U5J0ksJLVvUbFRAG7wXh/zFozz7TGs8lpqJG0U0iiFmLRRqGamEHbPmTNVB/Gu3saRBScv2/0k1a1bK9IhitslzgC5eHFvYyRig6qRLtUYhfx+gpagVqpvLVp/NQpJu4+Svp5q8kYhzBBWbBTeeUfv2+6QgpOW8FnN8V7o2kwSOYHirqVUsn5kKaiNaillFEomFtCedBTPquqzwGvAW75mpEC5Eo9ZX6+ueecd+MQnYMgQprx7NwCL+Dw5ttHOf9JJY2hOn6j5l0rlBJozBzZvLpRt3uzkca4VJp81C+bPd2VKwb3On+/kWVIuH5PRhwizFv4GnAq8BKzFleJcAzwTpW+arb/OFJJeuIvy9BrXJ1xv7qNmNun9HFQgvG7Yl1TorPgpvJKZQtxZWdyZQhqRZNWSdAi1kT4kEH30FLBTlHNr2fqzUUg6bUCpQb+S+1ViFCqtp1yqDeUt/SsHFAj/NPE01c7OigYrv44jR/b+Xcr1jzvIJ5kOJCuSDqE20icJo3A70Bzl3Fq2/moUav2frJKF7biDUzWhmUFte97Q5exXILycryl0VRwWu3hx7yfxvHGIOoOqxMDG0bEeZwpprFkZ6ZKEUdgfl+riKtx+hSuAK6L0TbP1V6NQ6/9klTx9RunjH+yqSUnhbzvwuq5gnwLhjzlLoavqp+YkorTKlQCtluKa0fkWqXZ0SthMoe9RyihEradwFXA38L/AMl8zUqC5OZ68HinO+59fGC0malGe4bzG35jAGwxnIk8AcBHfRujibC7BFfpzVFrT4e2348mDOOMM2LatULZtm5MnwapV8eS1YO7c3v82SxU/MuqbqEZhm6qepao/V9VF+ZaqZgOYd96JJ6+WiiqQlSEoCieIcgP4CF5hDa28xggm4KrD/AvfRehiNhfhNwZ5okYRpcErr8STQ7zInTDjGiavBe3tsGBBYfGjBQuc3OiDhE0h/A2YiytuMxoYkW9R+qbZ+qv7qNaLiZVEO5XTMc76QND5O7FB1zOmQPh9zi95nWpj9pPY+R33bxd3obke1xSMvgcJrCmsCWgWkpoSSRiF4sXLUoVegs6vNiQ16kaw/GJ2/vPO/F3/zs4FJ81mbiTDEuV3KPW9ksgmG1fHuP74NDLeGgOPqo1CvTYzCsEEPX0GPf2mmUM/6iwhbxTezwv6KsMLDp7NjyJfJyzUNm5IarW7heP+7SoJKqjHHc2W+6hvUbFRAL7le39y0bEflupbi2ZGIZio9Y7TzH0U5oopbmNYrzpsWIHwTC6NbAyKm9/tlUVUTNy/XX+I3LHNa32PUkah3ELzNN/72UXHjqxwGcMoQ7ULv1EjeuJE1cSlq6v08d1Yx7sM5nnGwqZNAHyVnyIoP+EbFd9369aeSJ+4KSSSIO7frj9E7sRN7WHUN+WMgoS8D/pceFBkNxH5o4g8ISIrROQMT36+iDwvIsu9drSvz2wRWS0iq0TkiFjfpB9x+eUwaFChbNAgJ+/rtLCWbeRYRwuD2QrAqVyJoPwHX03kHvlInyxyPsX92/WHyJ0sjK+RImFTCDfDcGU4i98HfQ7oOxr4oPd+e+BvuGI95wNnB5w/EXgEGIwr4vM0kCt1j/7qPlKtzkcb1dXij6pJeqG52Fe+O6t7nfhFrq7YTVSu5b9TFm6NgeZf7w8usIEGVbiP/kFE3hSRt4D9vPf5z/+njLF5UVUf8t6/BTwB7Fqiy/HA9aq6RVXXAKuBA8voZ1TBqae61+KNZs8+6z5Xk+nS2XnYk6dQhKfZs/vY51mEoCzkS1VoX56snsLb22HtWudCW7u2bz31V0J/cIEZPsKsRZINaAXWATvgZgprccV6FgI7euf8O/A5X59rgM+Uum5/nSlUW3ilXL3juHWEgyj3lD557Eb9IecWHPgsS1KbGURZ1B1IWOU1oxRkGZIKDMOlxPi093kXIIdbz5gLLPTk/xFgFE4KuN4MoAPoGDduXJq/W2aEDeqDBkXrH3ewrCQsMuz6o3hJ9ZxzdOvgodqJ6LPspifzq5oZAzMKFg1klKeUUYia5qIiRKQJ+DWwRFVvAlDVl1S1U1W7gJ/R4yJaD+zm6z4WeKH4mqq6QFXbVLVt1KhRaaqfGVu3xpNXSxILsjvzEv/G2axhPFxyCU0nHc8Ppq1g99w6/otTklHUiIRFAxnVkJpREBHBPe0/oaqX+uSjfaedCDzuvb8ZmCYig0VkPDABeDAt/YweqvEJv58XuYSzWMN4vsFl/JqTYOVKlhy9hItv3ifTnDwDFYsGMqohzZnCFOCfgEOKwk9/JCKPicijwKfABaWr6grgBmAlrn7D6apqQ0rCiEBjY2H5xkoWZEfzAj/hDJ5hd77OFdzAKXyAJ5nOL2DvvUMT4uVy7h5Gegyo8qtG8oT5lfpC668LzdX6ysPqAhS3itIjPPec6le/qlsaBut75PRqvqi7s7r7mlOnutPKrVOE1QVIopUqDjQQsDUFoxxktaZgZMNBB0U7b8GCnvdl0zevW+emF3vsAVdeyV3v/ycm8BRf5hqeYY9e1y73tPrkk9F0jEtTU//Y5FcN/WFDnJEhYdaiL7R6nSlUG55X7Uwhat6h/PVKPlmuXat66qmupmRTk3u/Zk3Za5bL5pnkzGDYMAuFNIw4UGKm0Ji1Uepv5DeC5f3p+Y1gkMyTWkODe9qeOzf8euXyDhUT5P/fefMaGk77Ibx7rbvpl78M554b2TF9223x5NXwzjvxv7NhGMGIMxp9k7a2Nu3o6MhajQJaW4MT0rW0uN2tUYiyENvcHO4SiLqQK+IGU//5u/M03+GHfJ5f0EmO7b76Ffj2t2Hs2Mj3UHV2JOifVtA9k6AP/zM2jJojIstUtS3omK0pJEytwgGTiDvPD6QiLh3Fz/kCq9ibf+Q/+Q9OZw+egZ/+tJdBiEItI2AqrclsGEZvzCgkTC0Hw0QMzapVXKuf50k+wCncwBV8nd15hm/wE15gTMWXLbf3oaWlCp2LyLIms2H0N8woJMzRR8eTV0M1huYDPMFi2mHiRE7i11zGNxjPGr7Jpfyd0eUvUIZyETB77lm6fynyM4NcDmbOhHnzqlbXMAwPW1NImJ126snn72fkSHj55WjXSHNNYSIr+B7/wincwGaaGfat09nlR99kAzsHXidsAbfcmkI5GhupaLfzoEGwZUv8foZh9GBrCjUkyCCUksel0rjzfXmMX3EKj/F/OIb/5mK+TStr4eKLOWlmb4MAcNppyegcRKXpLz7+8WT1MAyjEAtJ7WPEDb3cj0f4PhdyEjfxJtvzQ77DZXyDV+mpD5l3vyxY4AbrXM756dN0y+RylRmGe+5JXBXDMHzYTCEDZs1y7pOgPERJMHw4TOZhbuJEHmEyh3IXF/I9WlnL9/hBgUHIM28ebNvmXD/btqXvp690cdgS7BlGuthMIWEaGoKf5hs88ztrFsyf3yPv7Oz5nMhAvGwZi16/gOO4hdcYznmcz+WcwRsMT+DiPZT7nuUonp1ExcJPDSNdbKZQAaXyBIW5d/Jyf74hP2HyyDz4IBx7LLS18THu43tcSCtruZDzIhmEuLOXT30qnjwI/+xkTMToVws/NYyUCct/0RdaFrmPymWgzOWC8/Pkcu54lLxGsXIf3X+/6pFHuoMjRqjOnavb80as3Efl8hQFMXJkcJ9KM5SGlQT1/34VZXU1DKMXlMh9ZCGpMSmXxqJcqGZYKGYu556aIWK451/+AhdcAHfc4eJdzz4bTj8dtt8+dpqLKDoF9S2rYwySvp5hGOFYSGqCBBmEUvJiDj44nrwX//M/cOihMGUKPPww/OhHzhqdey5sv33Eizj22ce9hvn0a7moG7ZWYGsIhlFbzCjEpNrBa/nyePI8n+BPLOUQ+MQn4PHH4ZJLYM0aOOccGDYs2s2LeOIJ91rJdxrZO4CppLwc9WCYDMNIt0bzbiLyRxF5QkRWiMgZnnyEiNwpIk95rzv6+swWkdUiskpEjkhLt2qodvCKt7lN+RR3cw+f5E8czD48AZddBs88A2edBUOHRrtpCHm3TNjibalF3csvd7uL/QwaVHmBm7BcSEnmSDIMozxpzhS2Ad9U1X2Ag4DTRWQicC6wVFUnAEu9z3jHpgGTgCOBeSJSd86D2gxeykV8G6WBu5nKnqzma1zB7jwDZ57ZO9NcERMnxrvbvHkuh1CcnELt7bBwYWFuo4ULK68ZUcucUYZhlCBsBTrpBvwOOAxYBYz2ZKOBVd772cBs3/l/AD5S6ppZRB9VU1Gs7PGuLtWzzioQ3sGhOph3wqOPAhg0KFrkUdTr1YKw6KOWlqw1M4z+B1nXaBaRVmB/4AFgF1V90TNIL0J3JrZdged83dZ7sroirHLYggXRN271RrmCr7kLXHopAI+wHzvwBodzJ1vYLtbVtm6tVI/sqFUdCsMwSpO6URCRYcCvgTNV9c1SpwbIegUjisgMEekQkY6NGzcmpWZkwqKMOjvjh04KXcxjJkoDX+PfnfCAAxjGW0zmEd5ih159gjbM9QdqWYfCMIxwUjUKItKEMwhLVPUmT/ySiIz2jo8GNnjy9cBuvu5jgReKr6mqC1S1TVXbRo0alZ7yISQRIil0cTVfooscM7kSgPs5CDZtgo4O3iY8mki1p+5zfzIM5YryGIZRG9KMPhLgGuAJVb3Ud+hmYLr3fjpurSEvnyYig0VkPDABeDAt/SqlqhDJzk6uZTpd5PgSCwG4l48zhM18lPtjRRMlUY6zWkql+4hLeztMn1642D19euUL14ZhVEjYYkO1DfgYzv3zKLDca0cDI3FRR095ryN8feYAT+MWo48qd48sFpqjLuAWpGjgPf1PphUI7+KQggVkkfj38PfxM3RotP4TJ1b+O5RL91HJ9UR6f79Kr2cYRjhYmovkiJpCAiDHNq7js5zMjd2y33MkJ/BbtjK41/n5P0XUe+RTaxRz6KGwdGn5/nGqwRVTLt1HXLbbLrii2uDB8O678a9nGEY4luaixjTyHr/leLbR1G0QbuFY2LKFo/l9oEGISyl/+913R7tGNdXgko4WCiuxaaU3DaO2mFFIkCa2civH8B6DOJ6bAfg1n6aJrRzHLb23AFdAlHKctZj8WbSQYfRPrMhOAgxiC7fwfzmcO7tlv+IU2llCZ8I/cdxynGkxd66LgNq8uUdm0UKG0fexmUIVDOZd7uZTbGG7boPwSz5Hjm1M41eJG4SoxFn3qJT2djdb8ae5KDV7KcfUqfHkhmGkgy00x0QEhrCZOzmMKfylW76Qf+bLXE2pTeKq0eoGVFtbIKpRqGahOQ2KF8inToW77spOH8Por5RaaDb3URw2beIBDuFA/totuooZzGR+SWNQa1paytd3aGioPKNpWpgBMIzsqZ+RrJ556y3Yf3/Yfvtug/DvnI7QxWlcVVcGAYJ3BxfTaI8DhmEEUF+jWb3xxhuw776www7dVXAu40yELi9XUQ2c9xVQ7O8PSs2xdWv2O6KLSXKHtGEYlWFGIYjXX4e994bhw2HFCif71regq4uzuIx6NQZ+2tvdJrKurvCIpXrKQLpkiYtmevbZ/pvfyTD6AmYU/Lz6Kuy+O+y4I/ztb072ne+4UfXiixMJ6wlLb+SXJx2JM2JEPHkWzJlTGN4K9ZHfyTAGGuZZBheCs//+sH59j+z88+G88xK7xfDh7jXMrvjlq1cHnxMmL8frr8eTZ4HVUzCM+mBgzxQ2bIDRo2HUqB6D8C//4vwXCRoEgPe9z71u2hR83C8PixwqF1EURrV1pWuB7ZA2jPpgYBoFVdhvP9hlF/j7353soouc/LvfTeWW9sRbGqunYBj1wcA0Cq+8Ao895t5fcokzBt/+dvfhWbNcyKaIe501q/pb1pP/vh5Jeoe0YRiVMTDXFHbayflOAooqz5oF8+f3fO7s7Pk8bx4MGxbuAqpXpk4NTqVdbykk2tvNCBhG1gzMmQIEGgRwT6el5FdeWVkQ0quvxu+TFHfd1dsAWAoJwzCCGJgzhRJEWZRtanKbv+KQ9YKpGQDDMKKQZo3mhSKyQUQe98nOF5HnRWS51472HZstIqtFZJWIHJGWXuUI2v3rl8+ZE98gNDX1LJiGTFAK5FH2MhiGYaRBmu6ja4EjA+SXqepkr90GICITgWnAJK/PPBEJGZ7TZcaM0vJKooj87qaw3cV++VVX9TYeDQ1ObhiGkSapGQVVvReI6kk/HrheVbeo6hpgNXBgWrqVYt48mDmzZ2aQy7nP8+a5z2FuoFwuWp6hlpbg/n55ezv84heFkTi/+IUtwhqGkT5ZLDR/VUQe9dxLO3qyXYHnfOes92SpUC7kdN482LbNRapu29ZjECA8nn7Romh5hqLG4/tzF61dawbBMIzaUGujMB/YA5gMvAhc4smD4nkCy8mIyAwR6RCRjo0bN8ZWIB9yml84zoecRt2LEBRPP326mwk0NISvGeRnGLWKx7eMo4ZhVISqptaAVuDxcseA2cBs37E/AB8pd/0DDjhA45LLqbo5QGHL5cL7LF6s2tKiKuJeFy8uPNbcHHzNfGtuLuyTNosXqw4aVKjDoEG11cEwjPoF6NCQcbWmMwURGe37eCKQj0y6GZgmIoNFZDwwAXgwDR3i5gEql9I5KLsn9KwxZLEz94wzekdIbd3q5IZhGKVIbZ+CiFwHHAzsJCLrgfOAg0VkMs41tBY4FUBVV4jIDcBKYBtwuqqmkq4tlws2AP4F4iVL3GC/bp1zvxSfn0/p3N4eHo1Uan0hbV55JZ7cMAwjT2pGQVU/GyC+psT5c4HU05/NmFGYxsIvh56ZQf7pP2wGkTcG48YFZy/NerOaYRhGJQy4NBflQk7D3EHF5Af9o48OPh4mrwUjR8aTG4Zh5BlwRgFKh5xG2ZzmDyG97bbgc8LkteDyy90uaj9NTU5uGIZRigFpFEpRbnNa8cJxPVYMa2+Hn/+8MOz1y1/uCZu1EFXDMMIwo1BEuc1pxRvJKqkYVos9BP7Nb3PnOv3DIqgMwzDymFEoIu7msrgVw8qFuKZB0DpJPoLKMAzDjxmFAOKkmIhrRKIO0EnOJurRxWUYRn1iRqECigdsiG5EgsJXi+VJzyYqcXEZhjEwMaMQk2oH7HL1GiB5d09cF5dhGAMXMwoxqXbAjpJmI2l3T62S8BmG0fexcpwxqXbAbmkJdiH56ymksUu6vd2MgGEY5bGZQkyq9c9HceWYu8cwjKwwoxCTagfsKK4cc/cYhpEV4lJr903a2tq0o6Oj5vf1Z1EdN84ZBBuwDcPoK4jIMlVtCzpmM4UKqLZUZpQ9CFY5zTCMLDCjkABxBvAoIa1Z7Ho2DMMAcx9VTXH9BXBrDGFrAK2t4dFHa9dGP8cwDKNSSrmPzChUSdwBvKHBPf0XI9JTqS3KOYZhGJWSyZqCiCwUkQ0i8rhPNkJE7hSRp7zXHX3HZovIahFZJSJHpKVX0sTdtxAlpNXSUhiGkRVprilcCxxZJDsXWKqqE4Cl3mdEZCIwDZjk9ZknIiEJIeqLuAO47VMwDKOeSc0oqOq9wKtF4uOBRd77RcAJPvn1qrpFVdcAq4ED09ItSeIO4LZPwTCMeqbWaS52UdUXAVT1RRHZ2ZPvCvyv77z1nqzuyQ/UcfYtREk5YWkpDMPIgnrJfSQBssAVcBGZAcwAGFcnTnYbwA3D6C/Uep/CSyIyGsB73eDJ1wO7+c4bC7wQdAFVXaCqbaraNmrUqFSVNQzDGGjU2ijcDEz33k8HfueTTxORwSIyHpgAPFhj3QzDMAY8qbmPROQ64GBgJxFZD5wHXATcICJfAtYBJwOo6goRuQFYCWwDTlfVkMoDhmEYRlqkZhRU9bMhh6aGnD8XsKBLwzCMDLHcR4ZhGEY3fTrNhYhsBAKSTERmJ+DlhNRJC9MxGUzHZDAdkyFrHVtUNTBSp08bhWoRkY6w/B/1gumYDKZjMpiOyVDPOpr7yDAMw+jGjIJhGIbRzUA3CguyViACpmMymI7JYDomQ93qOKDXFAzDMIxCBvpMwTAMw/Ax4IxCUPGfekNEdhORP4rIEyKyQkTOyFqnYkRkOxF5UEQe8XS8IGudwhCRnIg8LCK3Zq1LGCKyVkQeE5HlIpJtOcEQRGS4iNwoIk96/zY/krVOfkRkb+/3y7c3ReTMrPUqRkS+4f2feVxErhOR7bLWyc+Acx+JyCeATcAvVHXfrPUJwksWOFpVHxKR7YFlwAmqujJj1boREQGGquomEWkC7gPOUNX/LdO15ojIWUAbsIOqHpu1PkGIyFqgTVXrNr5eRBYB/6OqV4vIIKBZVV/PWK1AvCJdzwMfVtVq9jIliojsivu/MlFV3/HS+9ymqtdmq1kPA26mEFL8p65Q1RdV9SHv/VvAE9RZfQl1bPI+Nnmt7p4wRGQscAxwdda69GVEZAfgE8A1AKq6tV4NgsdU4Ol6Mgg+GoEhItIINBOSETorBpxR6GuISCuwP/BAxqr0wnPLLMelQL9TVetOR+AnwLeAroz1KIcCd4jIMq9mSL2xO7AR+LnnirtaRIZmrVQJpgHXZa1EMar6PPBjXELQF4E3VPWObLUqxIxCHSMiw4BfA2eq6ptZ61OMqnaq6mRc/YsDRaSu3HEiciywQVWXZa1LBKao6geBo4DTPTdnPdEIfBCYr6r7A2/j1VivNzzX1nHAf2WtSzEisiOu/PB4YAwwVEQ+l61WhZhRqFM8P/2vgSWqelPW+pTCcyPcAxyZrSa9mAIc5/nrrwcOEZHF2aoUjKq+4L1uAH5D/dUoXw+s980Gb8QZiXrkKOAhVX0pa0UCOBRYo6obVfU94CbgoxnrVIAZhTrEW8S9BnhCVS/NWp8gRGSUiAz33g/B/WN/MlOlilDV2ao6VlVbce6Eu1W1rp7KAERkqBdQgOeSORyoq+g4Vf078JyI7O2JpuLqn9Qjn6UOXUce64CDRKTZ+38+FbdmWDcMOKPgFf+5H9hbRNZ7BX/qjSnAP+GebPPhdUdnrVQRo4E/isijwF9xawp1G/JZ5+wC3Ccij+AqDv63qt6esU5BfA1Y4v3NJwM/zFad3ohIM3AY7gm87vBmWjcCDwGP4cbgutrdPOBCUg3DMIxwBtxMwTAMwwjHjIJhGIbRjRkFwzAMoxszCoZhGEY3ZhQMwzCMbswoGAMGEeksyqJZ8Y5cEflLkroVXbtNRK5I6/qGUQoLSTUGDCKySVWHZa2HYdQzNlMwBjxeLYMLROQhr6bBBzz5KBG505NfJSLPishO3rFN3uvBInKPr87AEm+nKiJygIj8yUty9wcvJXrxvU/28uo/IiL3+q55q/f+Nt/M5g0Rme4lIvw3EfmriDwqIqfW6rcy+j9mFIyBxJAi99H/8x172UtINx8425Odh0uN8UFcPqJxIdfdHzgTmIjLJjrFy131U+AzqnoAsBCYG9D3+8ARqvoPuCRuBajq0V7SwS8BzwK/9d6/oaofAj4EfEVExkf8DQyjJI1ZK2AYNeQdb4ANIp8WYRnwae/9x4ATAVT1dhF5LaTvg6q6HsBLJd4KvA7sC9zpTRxyuFTJxfwZuNYrthKYmsGbnfwSOEVV3xCRw4H9ROQz3invAyYAa0L0M4zImFEwDMcW77WTnv8XErOvv78AK1S1ZMlKVT1NRD6MKwS0XEQm+497FcSuBy5U1XySPAG+pqp/iKifYUTG3EeGEc59wCkA3tP5jjH6rgJGiVfHWESaRGRS8UkisoeqPqCq3wdeBnYrOuUi4FFVvd4n+wMw03NRISJ71XnBG6MPYTMFYyAxxHPv5LldVUuFpV4AXOetPfwJ5/55K8qNVHWr5965QkTeh/u/9hNgRdGp/yYiE3BP/0uBR4BP+o6fDazw6f19XGnRVuAhb1F7I3BCFL0MoxwWkmoYIYjIYKBTVbd5T/zzS6xJGEa/wGYKhhHOOOAGEWkAtgJfyVgfw0gdmykYhmEY3dhCs2EYhtGNGQXDMAyjGzMKhmEYRjdmFAzDMIxuzCgYhmEY3ZhRMAzDMLr5/9xqBZvzZ47kAAAAAElFTkSuQmCC\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",
"* 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",
"\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",
"\n",
"* Root Mean Squared Error (RMSE).\n",
"\n",
"* R-squared is not an error, but rather a popular metric to measure the performance of your regression model. It represents how close the data points are to the fitted regression line. The higher the R-squared value, the better the model fits your data. The best possible score is 1.0 and it can be negative (because the model can be arbitrarily worse).\n"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean absolute error: 22.22\n",
"Residual sum of squares (MSE): 830.99\n",
"R2-score: 0.78\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?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2021-01-01\">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?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2021-01-01\">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/?utm_medium=Exinfluencer&utm_source=Exinfluencer&utm_content=000026UJ&utm_term=10006555&utm_id=NA-SkillsNetwork-Channel-SkillsNetworkCoursesIBMDeveloperSkillsNetworkML0101ENSkillsNetwork20718538-2021-01-01\" 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.13"
},
"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