Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Hamid264/6e57fe70f0bd71f058d0002b18faede1 to your computer and use it in GitHub Desktop.
Save Hamid264/6e57fe70f0bd71f058d0002b18faede1 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,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<a href=\"https://www.bigdatauniversity.com\"><img src=\"https://ibm.box.com/shared/static/cw2c7r3o20w9zn8gkecaeyjhgw3xdgbj.png\" width=\"400\" align=\"center\"></a>\n",
"\n",
"<h1><center>Simple Linear Regression</center></h1>\n",
"\n",
"\n",
"<h4>About this Notebook</h4>\n",
"In this notebook, we learn how to use scikit-learn to implement simple linear regression. We download a dataset that is related to fuel consumption and Carbon dioxide emission of cars. Then, we split our data into training and test sets, create a model using training set, evaluate your model using test set, and finally use model to predict unknown value.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"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=\"#data_exploration\">Data Exploration</a></li>\n",
" <li><a href=\"#simple_regression\">Simple Regression Model</a></li>\n",
" </ol>\n",
"</div>\n",
"<br>\n",
"<hr>"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Importing Needed packages"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import pylab as pl\n",
"import numpy as np\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Downloading Data\n",
"To download the data, we will use !wget to download it from IBM Object Storage."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2020-07-28 15:00:15-- 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-07-28 15:00:15 (1.81 MB/s) - ‘FuelConsumption.csv’ saved [72629/72629]\n",
"\n"
]
}
],
"source": [
"!wget -O FuelConsumption.csv https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"__Did you know?__ When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"\n",
"<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",
"- **FUEL CONSUMPTION in CITY(L/100 km)** e.g. 9.9\n",
"- **FUEL CONSUMPTION in HWY (L/100 km)** e.g. 8.9\n",
"- **FUEL CONSUMPTION COMB (L/100 km)** e.g. 9.2\n",
"- **CO2 EMISSIONS (g/km)** e.g. 182 --> low --> 0\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2 id=\"reading_data\">Reading the data in</h2>"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MODELYEAR</th>\n",
" <th>MAKE</th>\n",
" <th>MODEL</th>\n",
" <th>VEHICLECLASS</th>\n",
" <th>ENGINESIZE</th>\n",
" <th>CYLINDERS</th>\n",
" <th>TRANSMISSION</th>\n",
" <th>FUELTYPE</th>\n",
" <th>FUELCONSUMPTION_CITY</th>\n",
" <th>FUELCONSUMPTION_HWY</th>\n",
" <th>FUELCONSUMPTION_COMB</th>\n",
" <th>FUELCONSUMPTION_COMB_MPG</th>\n",
" <th>CO2EMISSIONS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX</td>\n",
" <td>COMPACT</td>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>AS5</td>\n",
" <td>Z</td>\n",
" <td>9.9</td>\n",
" <td>6.7</td>\n",
" <td>8.5</td>\n",
" <td>33</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX</td>\n",
" <td>COMPACT</td>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>M6</td>\n",
" <td>Z</td>\n",
" <td>11.2</td>\n",
" <td>7.7</td>\n",
" <td>9.6</td>\n",
" <td>29</td>\n",
" <td>221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX HYBRID</td>\n",
" <td>COMPACT</td>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>AV7</td>\n",
" <td>Z</td>\n",
" <td>6.0</td>\n",
" <td>5.8</td>\n",
" <td>5.9</td>\n",
" <td>48</td>\n",
" <td>136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>MDX 4WD</td>\n",
" <td>SUV - SMALL</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>AS6</td>\n",
" <td>Z</td>\n",
" <td>12.7</td>\n",
" <td>9.1</td>\n",
" <td>11.1</td>\n",
" <td>25</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>RDX AWD</td>\n",
" <td>SUV - SMALL</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>AS6</td>\n",
" <td>Z</td>\n",
" <td>12.1</td>\n",
" <td>8.7</td>\n",
" <td>10.6</td>\n",
" <td>27</td>\n",
" <td>244</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" MODELYEAR MAKE MODEL VEHICLECLASS ENGINESIZE CYLINDERS \\\n",
"0 2014 ACURA ILX COMPACT 2.0 4 \n",
"1 2014 ACURA ILX COMPACT 2.4 4 \n",
"2 2014 ACURA ILX HYBRID COMPACT 1.5 4 \n",
"3 2014 ACURA MDX 4WD SUV - SMALL 3.5 6 \n",
"4 2014 ACURA RDX AWD SUV - SMALL 3.5 6 \n",
"\n",
" TRANSMISSION FUELTYPE FUELCONSUMPTION_CITY FUELCONSUMPTION_HWY \\\n",
"0 AS5 Z 9.9 6.7 \n",
"1 M6 Z 11.2 7.7 \n",
"2 AV7 Z 6.0 5.8 \n",
"3 AS6 Z 12.7 9.1 \n",
"4 AS6 Z 12.1 8.7 \n",
"\n",
" FUELCONSUMPTION_COMB FUELCONSUMPTION_COMB_MPG CO2EMISSIONS \n",
"0 8.5 33 196 \n",
"1 9.6 29 221 \n",
"2 5.9 48 136 \n",
"3 11.1 25 255 \n",
"4 10.6 27 244 "
]
},
"execution_count": 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,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2 id=\"data_exploration\">Data Exploration</h2>\n",
"Lets first have a descriptive exploration on our data."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MODELYEAR</th>\n",
" <th>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."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"viz = cdf[['CYLINDERS','ENGINESIZE','CO2EMISSIONS','FUELCONSUMPTION_COMB']]\n",
"viz.hist()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, lets plot each of these features vs the Emission, to see how linear is their relation:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(cdf.FUELCONSUMPTION_COMB, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"FUELCONSUMPTION_COMB\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(cdf.ENGINESIZE, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Engine size\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Practice\n",
"plot __CYLINDER__ vs the Emission, to see how linear is their relation:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# write your code here\n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='red')\n",
"plt.xlabel(\"Cylinders\")\n",
"plt.ylabel(\"Emission\")\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",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Creating train and test dataset\n",
"Train/Test Split involves splitting the dataset into training and testing sets respectively, which are mutually exclusive. After which, you train with the training set and test with the testing set. \n",
"This will provide a more accurate evaluation on out-of-sample accuracy because the testing dataset is not part of the dataset that have been used to train the data. It is more realistic for real world problems.\n",
"\n",
"This means that we know the outcome of each data point in this dataset, making it great to test with! And since this data has not been used to train the model, the model has no knowledge of the outcome of these data points. So, in essence, it is truly an out-of-sample testing.\n",
"\n",
"Lets split our dataset into train and test sets, 80% of the entire data for training, and the 20% for testing. We create a mask to select random rows using __np.random.rand()__ function: "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"button": false,
"deletable": true,
"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,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2 id=\"simple_regression\">Simple Regression Model</h2>\n",
"Linear Regression fits a linear model with coefficients $\\theta = (\\theta_1, ..., \\theta_n)$ to minimize the 'residual sum of squares' between the independent x in the dataset, and the dependent y by the linear approximation. "
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Train data distribution"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Engine size\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Modeling\n",
"Using sklearn package to model data."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[38.92646051]]\n",
"Intercept: [126.12592177]\n"
]
}
],
"source": [
"from sklearn import linear_model\n",
"regr = linear_model.LinearRegression()\n",
"train_x = np.asanyarray(train[['ENGINESIZE']])\n",
"train_y = np.asanyarray(train[['CO2EMISSIONS']])\n",
"regr.fit (train_x, train_y)\n",
"# The coefficients\n",
"print ('Coefficients: ', regr.coef_)\n",
"print ('Intercept: ',regr.intercept_)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As mentioned before, __Coefficient__ and __Intercept__ in the simple linear regression, are the parameters of the fit line. \n",
"Given that it is a simple linear regression, with only 2 parameters, and knowing that the parameters are the intercept and slope of the line, sklearn can estimate them directly from our data. \n",
"Notice that all of the data must be available to traverse and calculate the parameters.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Plot outputs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can plot the fit line over the data:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEHCAYAAABBW1qbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4G0lEQVR4nO29e5gdVZXw/Vvd6YSEgJCkwZBAd4AIE1CDtAjCN4LhJvgCOsJEomZExEkYjDq+vmQyXsc4vIoX+OYLTpBLMD1EBh1gAEGI4AAqsRNCyMVAMARCYtIBgUAgl876/th1uuucrus5Veec7rN+z1NPnbNqV9U61cletddeey1RVQzDMAwDoKnWChiGYRj1gxkFwzAMoxczCoZhGEYvZhQMwzCMXswoGIZhGL2YUTAMwzB6GZLnxUXkOWA70APsUdUOERkF/AxoB54DLlLVv3jtZwOf8dp/XlXvj7r+mDFjtL29PS/1DcMwBiVLly7dpqqtQcdyNQoep6nqNt/3K4HFqnqViFzpff8/IjIJmAocAxwCPCgi71DVnrALt7e309XVlafuhmEYgw4R2RB2rBbuo/OBBd7nBcAFPvkiVd2pquuBdcAJ1VfPMAyjccnbKCjwKxFZKiKXebKDVXUzgLc/yJOPA17wnbvRkxmGYRhVIm/30cmquklEDgIeEJE/RrSVAFm/HByecbkM4LDDDstGS8MwDAPIeaSgqpu8/Vbgv3DuoC0iMhbA22/1mm8EDvWdPh7YFHDN+araoaodra2B8ySGYRhGmeRmFERkXxHZr/AZOBNYCdwFTPeaTQfu9D7fBUwVkWEiMgGYCCzJSz/DMAyjP3mOFA4GHhWRJ3Gd+z2qeh9wFXCGiDwDnOF9R1VXAbcBq4H7gMujIo8Mw2gsOjuhvR2amty+s7PWGg1OZCCnzu7o6FALSTWMwU9nJ1x2GezY0ScbMQLmz4dp02qn10BFRJaqakfQMVvRbBhG3TNnTrFBAPd9zpza6DOYMaNgGEbd8/zz6eRG+ZhRMAyj7gmLPreo9Owxo2AYRt0zd66bQ/AzYoSTG9liRsEwjLpn2jQ3qdzWBiJub5PM+VCNhHiGYRgVM22aGYFqYCMFwzAMoxczCoZhGEYvZhQMwzCMXswoGIZhGL2YUTAMwzB6MaNgGIZh9GJGwTAMw+jFjIJhGIbRixkFwzAMoxczCoZhGEYvZhQMwzCMXnI3CiLSLCJPiMjd3vdviMiLIrLc287xtZ0tIutEZK2InJW3boZhGEYx1UiINwtYA+zvk/1QVa/2NxKRScBU4BjgEOBBEXmH1Wk2DMMoYe1aGDsW9t8/vm1Kch0piMh44FzgJwmanw8sUtWdqroeWAeckKd+hmEYA4rbbnO5w48+Gr797Vxukbf76EfAV4C9JfJ/EJEVInKjiBzoycYBL/jabPRkhmEYjc1//IczBn/7t32yz38+l1vlZhRE5MPAVlVdWnLoOuAIYDKwGfh+4ZSAy2jAdS8TkS4R6eru7s5QY8MwjDrjllucMfAXkli7FlRh/PhcbpnnSOFk4DwReQ5YBHxQRBaq6hZV7VHVvcD19LmINgKH+s4fD2wqvaiqzlfVDlXtaG1tzVF9wzCMGnHDDc4YTJ/eJ1u3zhmDd7wj11vnZhRUdbaqjlfVdtwE8q9V9RMiMtbX7CPASu/zXcBUERkmIhOAicCSvPQzDMOoO378Y2cMLr3UfReBP/3JGYMjjqiKCrUox/ldEZmMcw09B3wOQFVXichtwGpgD3C5RR4ZhtEQ/Nu/wRVX9H0fOhSeeQYOO6zqqohqP7f9gKGjo0O7urpqrYZhGEZ5/PCH8KUv9X0fORL++EcYl2+MjYgsVdWOoGO2otkwjFg6O6G9HZqa3L6zs9YaDXC++13nGioYhAMOgE2bYPv23A1CHLVwHxmGMYDo7ITLLoMdO9z3DRvcdygOijES8O1vw1e/2vf9oINgxQo4+ODa6VSCjRQMw4hkzpw+g1Bgxw4nNxKgCl//uhsZFAzCuHGwdSts2VJXBgFspGAYRgwbNqSTGx6q8M//DN/5Tp+svR26umD06JqpFYcZBcMwImluhp6AOMDm5urrMiBQha98Ba72pXebOBEefxwOPDD8vDrBjIJhGJEEGYQoecOiCl/8IlxzTZ9s0iT47W/hbW+rnV4psTkFwzAiaWtLJ284VOHyy11oVsEgTJ4Mr70Gq1YNKIMAZhQMw4hh7lwYMaJYNmKEk1fCgA9z3bsXPvtZ9wPmzXOy977XhZU+8QTst19t9SsTMwqGkTMzZ8KQIS74ZMgQ9z1vsuxwp02D+fPdyEDE7efPrywctRDmumGDe9EuhLkOCMOwdy98+tNuUuUnXlWA978f3ngDlixxC9AGMqo6YLfjjz9eDaOemTFD1XV7xduMGfndc+FC1REjiu83YoST1wttbcHPpa2t1ppFsGeP6sUXFyv8gQ+o7thRa81SA3RpSL9qaS4MI0eGDAmP3NmzJ597trcHh4u2tcFzz+Vzz7Q0NbletRQR9yJeV+zZAx//ONx+e5/sjDPgrrtgn31qp1cFWJoLw6gRtYjcef75dPIsSOuuCsvzVoP8b+Hs3g0f+Qi0tPQZhHPOgZ074Ve/GrAGIQ4zCoaRIxJUOipCngXV7nDLmR/Ia/I6E3btgnPPdZlK77jDyc47z8nvucfJBzFmFAwjR8K8s3l6bavd4ZaTBiOPyeuK2bkTzjwThg2De+91so99zI0Y7rzTjRgaADMKhlHnpI1eqnaHW667ato0N8exd6/b18wgvPUWnHaacwc98ICTXXyxm0v4z/90D72BMKNgNDR5h4uGpYJImiJi5ky47rq+OYieHve9GmGtSRkQ8wNB7NgBp5wCw4fDww872ac+5YxBZ2fj5vEIC0saCJuFpBqVUI1w0Urv0dwcfH5zc/g51Q5JHQghsEW8/rrqe99brPCll6r29NRas6pBREhq7h030Aw8AdztfR8FPAA84+0P9LWdDawD1gJnxV3bjIJRCeV0uOUwY0bfvZqb0xmdIP0KWxi1WANQyW+sGq+9pjp5cn/r3EDGoECUUaiG+2gWsMb3/UpgsapOBBZ73xGRScBU4BjgbGCeiDTo+M2oBtUKF503z3kkVN2+kBEhCeW4n6odktrZCQsWFLu4Fiyoo9XJr74Kxx4L++8Py5c72ec/7yYz5s1zcbRGL7k+DREZD5wL/MQnPh9Y4H1eAFzgky9S1Z2quh43YjghT/2MxqZSf381OPXUdHII9+U3NeWTZ6hui/C88gocdZQrdblqlZN9+cvOGFxzTb5xwQOYvE3kj4CvAP41iger6mYAb3+QJx8HvOBrt9GTGUYuFEpKJpXXgnXrksn9i8defz04lL6nJ588Q7VYLBfJyy/D4Ye72gVPP+1kV17pjMH3vmfGIIbcjIKIfBjYqqpLk54SIOsXzS0il4lIl4h0dXd3V6Sj0djMmwczZvSNDJqb3fc07p28SdLhli4ee+kltx892vV/QSOfLN/k6yb6aNs2GD/e/fD1653sa19zxuBf/9WMQULyHCmcDJwnIs8Bi4APishCYIuIjAXw9lu99huBQ33njwc2lV5UVeeraoeqdrS2tuaovtEIVOLvrwZJOtwg983u3S5Z59694bmEsnqTz2ux3Omnu368sJ1+ekjDrVtdnePWVnjxRSf71rfcH/Wb3zRjkJLcjIKqzlbV8arajptA/rWqfgK4C5juNZsO3Ol9vguYKiLDRGQCMBFYkpd+hjEQSNLhxo0m8n6Tz2Ox3Omnw+LFxbLFi0sMw5//7EYFBx/sDAO4EYEqfPWr5d+80QkLS8pyA06lLyR1NC7q6BlvP8rXbg7wLC4k9UNx17WQVKMRWLjQhZOKuH1p/H9cCOqAW0egMaG4GzeqjhxZLLz66lqrXDXi/j0kgVquU8hzM6NgGMk6/Sw6kmoSZAwOZYO+xdBi4Y9+VGtVq0pWBj7KKFiArmFUSK3LSiZx39RNnqEyaOM59tDM87QxjF1OOG+e6xNnzaqtclWmGuG/ZhQMowLqpaxk2k6/1oYsjilT4HCeRRGeYwLNXlT794++3j3oGTNqrGFtqEb4rxkFw6iAelm4laaTz8OQJY4USsLTT/PgYuFZjuwV/R03cfoU5R/XXFrBhQc+VQn/DfMrDYTN5hSMWiMS7P8Wye+ew4cX36ulJd2cQljOp6jcSFG5jaZMCb7elCkpf9iaNf0v8tOfprzI4KYacwo179gr2cwoGLWm2snnSg1C1BYVfZQmyV5cptdykvYVsXJl/xMXLar0UQ1a8o4+End8YNLR0aFdXV21VsNoYAquGL8LacSI/IrapFmHJeLmGNrbnYsojuZmt4CvlCFDgpMEFtpH6RTZvaxYAe9+d7Hs9tvhb/4mXlmjIkRkqap2BB2zOQXDqIBp02D69OJUGdOn10d0T8HPnHQSMm3W2LKzyS5b5iyJ3yDccYezIGYQao4ZBcOogHpNG+1f9Zx0ErKtLVieWTbZP/zBGYPjj++T3X23Mwbnn5/yYkZemFEwjAjionqqHX00fHiwvKUlfJ1CUKqMUqJyFcVlkx09Ovh4r/z3v3eKneDLhH/ffc4YnHtutGJG1TGjYBghJAndrHba6B07+huG4cPhppvCzwla3DZjRvJcRXHZZK+5xhklPy0t8B8zH3U3OOmkvgMPPuge5lln9btPva+daBjCZqAHwmbRR0aeJIksGj06uM3o0fnpVRoeOmVK7XMb+XU6renh/g/k4Ycjzx+I+ZkGMlj0kWGkp6kpOHqmENUDMGaMq19QyujRLr1/1sycCdddl6xtW5tb3Zw3hRHViTsWs5iSVWuPPAKnnBJ7jbAIqWr9hkbDoo8MowySrB59+eXgNmHySpk/P3nbDRuq44q5/0v388YOKTIIJ/I72ts0kUGAOqze1sCYUTCMEJLUMqhG2gG/rz1tGGjYXEgm3HsviHDL1rN7Re9lCYLyOCeyYUPyOYK6qd5m2JyCYUQRt3o0yBfe0uLmFLJIU51mNXLc1tycXKfS1BVFKSvuuKPfxY9jaez9o+YIFi50z630OdqcQj5gaS4MIz/8hmP0aNWhJSn/K5kwDZvsrnSLMlxhuYw+yu39hcuXa1NT8vuGpf9YuLD/cxs61IxCXphRMIwqUU4upKjRSFjCvaw3fwdceuwiFvUTTmJlotxHpVtYosBq55BqdKKMgkUfGUaGpM0DFJc7KSy6KQ8KEVOF33AxnXTyiaI2R7OGtRwN9OU+am7ui8aKIyyaKEmkl5EdNYk+EpF9RGSJiDwpIqtE5Jue/Bsi8qKILPe2c3znzBaRdSKyVkT6r24xjDrEPxGclixWRE+aFL9iOQkF4zOdm1GkyCBM5GkE7TUI0DfpHbbKupSoVdM20VxHhA0hKt0AAUZ6n1uAx4ETgW8AXw5oPwl4EhgGTACeBZqj7mHuI6PWVJqWOq4eQ9J6DUnqJcRtlzK/n/Bw1oW2b26O1rHg/kkyuW2L16oLtajR7N37de9ri7dF+arOBxap6k5VXQ+sA06IaG8YmTNzpksVLeL2M2dGtw96009D3Bty0jdofznOBQv6jxxaWpx7qFAZzc/fcx2KcD1eMqOmJqa9fz2C8ieOCNW9kPsoTMeCqyhJidAkdaaN6pDrOgURaRaR5cBW4AFVfdw79A8iskJEbhSRAz3ZOOAF3+kbPVnpNS8TkS4R6eru7s5TfaPBKKwW9mc8ve66aMNQ6eKqI4+MlidZKwHFxmz6dJduyN/BXnopjBzp2o4a5eYBruBaFOE63A/c07KP+0E9PXQ+1l70zh+V++iccwgkTB5G2jrTRk6EDSGy3IADgIeAY4GDgWacQZoL3Oi1+f+AT/jOuQH4m6jrmvvIyJIwt0vBTRJE0pDRpqbg88PCOf3tS6OTDjiguG1YNbZCdFCpa+ZLXF3UcLuM1J9fu7Hs52aRQwMPauE+KjE8rwAPA2er6hZV7VHVvcD19LmINgKH+k4bD2yqhn6GAeUVk0mSlhrCI2iSyP1v0Lt3wyuvFLd9883gaxRSYhRcXP+Hq1CE7/NlAP7SNAo2bWLk3u189Ip+g/LEWIqKwUWe0UetInKA93k4cDrwRxEZ62v2EWCl9/kuYKqIDBORCcBEYEle+hlGKeUUkyn1hYe1DStgk5ZNKV6TCsbsUxv+BUW4itkAbObtHMQWRu19CTlkbKK5kygscmhwkedIYSzwkIisAP6Am1O4G/iuiDzlyU8DvgigqquA24DVwH3A5apabsE/w0hNWDGZnp6+CdrTT+9/vHSSd+jQ4uNDh4aHYuaH8i35OojwLb4GwAuMZwzdHMJmujmot2WSuZMo9t03ndyob/KMPlqhqsep6rtU9VhV/ZYn/6SqvtOTn6eqm33nzFXVI1T1KFX9ZV66GUYB/xqDe++FKVOiRwaLFwcbBj+q0d/zRfkOs1Ga+Kr7L8f21gmMH/4Sh/ECLzEm9Mw0GVj9rF6dTm7UN5Yl1SibgV4pK6iy2u9+5972ozryxYvDj82Z4/z+fnbvzq485yGHBMuH76P8QP4RpYnZXOWERx0FL7/Mflv/xP+9flSviyuMtBlYjcGJpbkwyiIuPcNAIK6wS9qUFZA+XUPae/QvsqP8iC8wi2v7RMceC48+Cm97W+B1hwwJNgCFtBVpKec5GbWl4jQX3qTxP4nIfG9twY0icmO2ahoDiWoXrM+DrKJm/COmsFQXWU26Flw8wl7mMQOlqc8gHHccvPYaPPVUqEEAOPXUdHKjsUjqProTeBvwIHCPbzMalIEShhjl4oqLmpkyJfi4X17qggp6A4/K+RNmRMLke3v2cj2XspdmZvBjAB7nBPbldVi2DPbbL/hEH+vWpZND9HOcNCn4nDC5UeeELWDwb8DyJO2qvdnitdoxEBYsxeXTSZJvJ7LYjIY/h6QFbaIWvBWxZ4/qpz5V1OARTtbhvBG7wK6UpPmUkj7Hchb9GbWFSuspAN8GzknStpqbGYXaMRAqZSUxXEkqq0UdT9vBptZx927VqVOLDi7mNN2HHYGrl7N6LmnaJzZsRt0QZRSSuo9mAXeLyFsist3bXstl6GIMGEonGKMmHPMiyq2RxMUVlW8nKDqptNZxpQu3wnIbfedbe+DCC10mu0WL3IEzz4S33uL2Gb9md7PLV12ahygJaXMVxT3HtC4wo84JsxYDYbORQu2oB/dRnFtj9OhgHUePTnb9pCONuDKScaONGTP6XDDDmnbp8vbzii947rmqO3eW/6DK+F1p2g8bFnx82LDi68Q9B6N6kEU5TuA84Gpv+3DS8/LczCjUjkrdJlkQ11mNHBl8fOTIZNdP4haJc6MlmddoaVEdylt6Dx8qbnjBBaq7dmX1uHrJek4h6XOyegn1Q8VGAbgKWAxc4m0PAFclOTfPzYxC7chjpJD2TTKuc6vU151kAjXuOcQdP2TUm/orTi86uIiL9KBRu0P1Ks2SesAByX5PUp2DiPrbJHnO9TCyNPrIwiisAJp835uBFUnOzXMzo1A7sn7zK+d6eU+AJjm/3Mppw9mh+oEPFAkXcrE2sSdSx1KDUI5hyPpvl8RNV+nfwsiWrIzCKN/3UWYUjCx9xOW+vUZ1bkl93WFk8QZc2mEO5w19jJOKhDfyd0XGIKqzzKpz9c9jNDeni14qJUkkmhmF+iILo/BxYANwM7AAWA9MTXJunpsZhcFDuXMUUYap0nmPJB1Z0snufdmuS+gobvjZz6rQk6qzTNq5Rj2XPPz7cS8IZhTqi6wmmsd6k83nA29Pel6emxmFwUNcBbPC22yaN9yknXolvvK4a+zHa/oE7y46+d+YqcLeVPdI+5uiIqJq4d83o1BflG0UgKO9/XuCtqhzq7GZURg8zJgR3XFEbWGGIa4jintjnjQp+NxJkxL8oFde6XeBH/AFhb1FHXDazjLJnEKcj78WHXTpyvDCVrpC3KgOlRiF+d7+oYDt11HnVmMzo1BbqjGnkGQLS6cQ1/kleWMuNQyxBuHll1UnTiw66YdDvtxrDEoNTzkddFz0Udw1a5WWIi5liFE9MnEf1eNmRqF2ZO2XDvP/J92CiOv8Ml1rsW1bfyvzT/+kundvJi6qNMRdsxYjBaO+iDIKSVNnXygi+3mf/1lEfiEix8Wcs4+ILBGRJ0VklYh805OPEpEHROQZb3+g75zZIrJORNaKyFlJdDNqQ9apsytJLR1WKS2saExBnklt4e5uGDcOxozpK87wjW+4PnbuXBCJTKWRB6NHR8vD6kVnVUfaGNgkzU7yVVXdLiKnAGfhIpB+HHPOTuCDqvpuYDJwtoicCFwJLFbVibgFcVcCiMgkYCpwDHA2ME9EIgojGrUkqDhNlDyOoBxASQmrrTxyZLQ8LO9QonrKW7bAwQfDQQfBpk1O9i//4ozB179e1DTrCnUzZ7pCOSJuX1pbefLk4PMK8rS5j4wGI2wI4d+AJ7z9vwIX+2UJzx8BLAPeB6wFxnryscBa7/NsYLbvnPuBk6Kua+6j2pGHX7rUzVLqz58yJV30URL3UOp5kU2b+jn1f3HiVaE6xcXwp3XlhE3I++8Z97ex1cUGGaxTuBv4d+BZ4ABgGPBkgvOageXA68D/9WSvlLT5i7f/N+ATPvkNwMeirm9GoXbk7ZfOYs4iUx1feKG/Qt//fmwnnXUkUBJjHHfNeshbZdSWKKOQ1H10kffmfraqvoJb0fy/E4xCelR1MjAeOEFEjo1oHpR4Wfs1ErlMRLpEpKu7uzuJ7kYOJPFLp3Wb+N0in/hE8JzFrFnZumJief55GDYMDj20T6Frr3X96Je+1Fses5SC/KWXgo8X5Gn9+3HzJHFUo2SoMbBJahTGAveo6jMicipwIbAk6U08Q/Iwbq5gi4iMBfD2W71mG4FDfaeNBzYFXGu+qnaoakdra2tSFYyMmTu3f+fS1NTnj09Si8BPoSB9XOf20kvJr1kRzz3nrFNbG+zaBcDfcx3HTFK44oreZpV20tX276uG67bvvuVfN+t5E6OGhA0h/BvOBTQEOBLnQvohcG/MOa3AAd7n4cAjwIeB7wFXevIrge96n48BnsS5piYAfwKao+5h7qPaEbcYKa3fuqkp2u0RtYVdsxz30R1XP9Ov8We4vkjkX6tQadhr2poPSX5TJeG95WBpsQceZDCnsMzbfwW4wvv8RMw57wKewCXTWwl8zZOPxkUdPePt/Yn25nhGZy3woTi9BrNRyLogSZYJ0FTjO5a0futyO7GozixV+7Vr+zX6FDfHnh83pxCnQx6/KayORF5GwSauBx5ZGIXHcUnxVgITPNnKJOfmuQ1Wo5D1m1eSiJW0xHUsaTuKSgxCOYaml9Wr+x38OJ2pOs8og1sLo1DtkYJNXA88ooxC0jmFTwMnAXNVdb2ITAAWJjzXSEnWC8PiJkPzoKI1AClRLeOklSvdnMGkSb2ii/gZgnIrF6e61Mknw/jx7nLjx7vvBeIWkuVBuRPGU6Zkez+buB6ghFmLgbAN1pFC1m9yWV8v6TXTuMAqGSmkeat+F8v7C3/+c1UNnx8o3fxzCknLbfqP+9cphM2lNDUF/6aFC4Pbx6XGjtsqyUNkcwoDDypIiHebt38KNzdQ2J7CiuzkRtYLw2plFLK6XrlGYd99+44fx9L+J915Z1k6+N1DSdxkUcaxHNdeEmPrbxP27ylLn3/Wc2BGvkQZBXHHgxGRsaq6WUTaQkYZZSY1yIaOjg7t6uqqpQq5IEErNjwi/lxVu14e1xwzJjymPwlB9xwzBia89Af+wAlF8qn73cOi1/rHfLa3J0vT0dwMe/a4z01N4b9XxLlQ5s4Nz3dUCMUtZcYMmDcvXpckhOko4vIxGY2HiCxV1Y6gY5FzCqq62dtv8AzAX4Dtvs3IgawTlg2EBGhh+XrK5ne/Y9tLUmQQzuR+BOW214MXASTNv+SP84/ym6s6I/PpT4fH7Zcz3xOX+6iUavj8bZ3CICJsCOHfgM8BW4DncKU41wN/SnJunttgdR/FVc4q53pxPt+0w/+s3UeVps4uuNeuvuCRfgdOY3Fit4n/OUTdJ+rZBm2VrDvwU667KU+fv80pDDzIICT1GWBMkrbV3AazUYgrhF7ONbOs2Zu1UajUIHyAh/oJf/XPv6mos0raAScxJGHPJe38UbnzTXn6/G2dwsAjC6NwHzAiSdtqboPVKFT7P1k59yvHKJRbbCZqm8ID/YT/T9Ojie6ZRMcpU9It+sv7zT9rY5wFtk5h4JGFUTgOl+ri34FrC1uSc/PcBqtRqPZ/snI6mrTnxI1G0hqDM7mvn/AEfl9RB5nFCC1t2grV7NOBVxsbKQw8ooxC0sVr/w78Gvg9sNS3GTlQ7cVAYZXLwuRJ8U8+Tp+ezYK8c7kbRbifs3tlHfwBQVnC+yrSe9Ys2L27WLZ7t5MnJa7ATRDz5rloJlW3j4o6cu9oyeXVoJoLFY38GZKw3R5V/VKumhi9nHNOcJhiXpkzK830GURnp4u6KXSyYddKWqntfO7gDj5SJDuOZSynf1XYsEpsccSluU7CQw+lkw8GCuG2c+a4TONxYbhGfZN0pPCQV8dgrFdjeZSIjMpVswbmttvSySslj5DVoLfuIOLe6v+G21GkyCC8kxUI2s8gNDdnG99fDmFx/1HrAdKEc+Y1qquUatehNvIjqVG4GFcu87f0uY4G36qxOiGLN9bSjmbmzPCOJ4/hf1Jdw0YQF/EzFOF2LuyVHcNKBGUl7+zXPsz1kqbDrUWeorR1J8JGQeWOjgyjH2GTDQNhG6wTzZVGmCSJnc97nULSCePCZGTh+zR+2q/RUayJvU7S5xAVkprF+pC0OpYzSZt1GnSj8aCC3Edf8X2+sOTYd6LOrcZmRiGYsI4my+iQOB2TFM3xd7h/x439GhzJ04mNS5rnkHTxWjnx/Gl1rMdoImPwE2UU4txHU32fZ5ccOxsjFyp1Yzz/fLJ2SSd5yyFJTh1VOOKh60GEm7ikV344zyIo65iY+H5B7qGw5xD1fCr1jaf921naaaPeiDMKEvI56LuREddcA0OHFsuGDnXyJNR60jGJDjOYx67dwok3OGf4bobQxnMIynoOT30/1f55hmrR4ab921k4p1F3hA0h3AjDleEs/Rz0PeDcQ4GHgDXAKmCWJ/8G8CJuMdxy4BzfObOBdbhynGdFXV8HsftItTI3RlKXi9+lUa05hVn8sEiwg310PM+n0jluKywUq1VOnkpXUVvOICNvqGBOoQd4DZcRdY/3ufB9d8y5Y4H3eJ/3A54GJnlG4csB7ScBTwLDgAm4Ws3NUfcYzEahEpJ2noV8OXnkPirN0fOPfK9I8Ar761hezNQYZGHsDKMRiDIKcamzm1V1f1XdT1WHeJ8L31tizt2sqsu8z9u9EcO4iFPOBxap6k5VXe+NGE6IaD+oqUYq4kIYY9blP6Ev1PS/+TCKcDX/G4BuxvB2NnMAr7KZQ8q/QUIsft4w0pF0nUJFiEg7Ln/S457oH0RkhYjcKCIHerJxwAu+0zYSbUQGLZ2dLi2EP3Z9+vTsDEPpIq9yJmTjeKjlDBThw9wDwJ85mIPYwkF0s4W3l39hIxFW38Aol9yNgoiMBH4OfEFVXwOuA44AJgObge8XmgacrgHXu0xEukSkq7u7Ox+la8znPtd/UVdPj5MnISoCRrX/Iq/sJmSVRzgFRDh194N912EDY/kz3RyU9oJlMXJkVW5Tt6RdEGcYfnI1CiLSgjMInar6CwBV3aKqPaq6F7iePhfRRtzkdIHxwKbSa6rqfFXtUNWO1tbWPNWvGW+8kU5eyltvpZNXHgGjdHE8ShOn8FivdBwbEZQXqG58pfZ7lWgs8nAHGo1DbkZBRAS4AVijqj/wycf6mn0EWOl9vguYKiLDRGQCMBFYkpd+g5kooxJUwnHaNFf+sa3NHW9rc9/j/e/KCt6J0sTxLOsTb97MmNHKpgDvX1NTdH3nLEhqPAcrebgDjcYhaZbUcjgZ+CTwlIgs92T/BHxcRCbjXEPP4Up9oqqrROQ2YDUu0ulyVa0gT6cRRk9PXxbWghtp2rQUk7B79/IM7+BIni0St7KVbbSiEVMGBx4I27blbxgamcMOC16YaAvijCSIDuCxdkdHh3Z1Db68fFEdZpI/15gxyRLSNTe7+YXE7N3rhhEbNxaJR7ONl3ETGfvsA2++6UYEQbqKuMvkaRRGj3aGp1EpzCn4XUgjRiQd/RmNgIgsVdWOoGNViT4yqstFFyVrl7heQk8PtLY6K+IzCAfwFwTtNQgAh3uLkWuVvqGlJfnK78FK+e5AwzCjkAu1Dge85ZZk7WLTYezZ40J5hgwpfvV+9VUE5VUO6HfK6tVuH1YQqCBvyvBf3siRfZ3fTTdZ5we2PsMoHzMKGZN3OGASQ5N0ovXUU/s++w3ZkW276Rky1L12+y+2fbv7UfvvH3vte++NlidJmJeUN9+0zs8wssLmFDKmvT14kq+tzXVaSUjib4/yESf11xd06uyESy4Bdu1kJ/v0b/j667DvvonvoRo/pxD2nMplAP8zNoyqY3MKVaRa4YBZxJ0XOuWvfP4tdu6SfgZh/KgdrrctMQhJiJtTCFobUS71kBXWMAYLZhQyppoTrJUamuHsABFefHl4kXwYbyFoP3ka4hbETZsGJ51U9uWLsFKUhpEdZhQyJm6CNUvKNTQjeANF2EHfCGAvwlB2Iii7GFaxbnERMDNnwuLF5V27MDIozeFkGEbl2JxCxoStEUgTO5/XnMJ+vMZrvK3fhd6+zytsebl/0tsonStdSzFkSIqQ2JL7ZjlJbRiNiM0pVJGwRWNJFpMloZy48/15FUWKDMI2RtPMHnjjDb5/bQstJTYh73j/cgwC2Epow8gbMwo1oJJ1DGlCLw/kZRQpWk+wibE0s4dWtrEX54eZNs3F9/tdPXnH+5c7OWyjBMPIFzMKVaYaaY1Hsw1FilYaP8vhNNHDODb1GgM/1V7sVO7ksEUaGUa+mFGoMrmmNd6yBUTYRl9K8dX8FcJejuRZYgrtpSKsc07aac+b5yaJ03byFmlkGPliRqEMKnH/5LKOYdMm5/d5e1960mUch7CXY1hNcP2iYmbOdJO/Qam1gzjqqHTyIObNc5k0VGHKlOi2FmlkGNUhz9TZg5LSDJQF9w84l0tTU7Dfu5DrJ9O0xi+80P/E978f+e2jJDEEBZ1mzuxLpQ3BqbVLWbMmnTyOdeuC5WlWghuGUTk2UkhJnPsnbCK0IJ87l8BIn+RVznC9pEixQTj1VPfK/dhjJDEI0Ffec/784ONhcggPOy03wjks5UWWqTAMw4jHRgopyaLzKg2rTBpmeTjPghxZLDzrLLjvvuQ39/Gb37h9WHhouWGj5dDcHHw/m1g2jOpiI4WUVDrBOmcO7NpVLNu1K3qieSJPowjP4jMI55/vXsvLNAjQl+a6nN80cmQ6eRz1YJgMw8i3RvOhIvKQiKwRkVUiMsuTjxKRB0TkGW9/oO+c2SKyTkTWishZeelWCZV2Xmkmmv+K1SjC0/hmby+6yBmDO+4IvUfaWgVhET1RkT4//rGbkPYzZIiTl0NbWzq5YRj5kOdIYQ/wj6r6V8CJwOUiMgm4ElisqhOBxd53vGNTgWOAs4F5IlJ3zoNKO69Ro+Llh/I8irCaY3plC/gUgsLPfhZ7j6OPTqZLgdLw0CSRPtOmwc03Fy94u/nm8tc3VDNnlGEY4eRmFFR1s6ou8z5vB9YA44DzgQVeswXABd7n84FFqrpTVdcD64AT8tKvXCrtvLZvj5CvXw8iPE+fhbmeSxGUv+t9ZPEU3EJp8IeH7tmTLPQzywVvcUV5DMOoDlWZUxCRduA44HHgYFXdDM5wAAd5zcYBL/hO2+jJ6oqwTmr+/GRum9L5BIAjWMfOXdJX4Bi4hBsQlMu4vkxNBxbVqkNhGEY0uRsFERkJ/Bz4gqq+FtU0QNYvwFFELhORLhHp6u7uzkrNxIRFGfX0pA/HLEwgr2Nin/CWWxCUm7ikfCUHINWsQ2EYRji5GgURacEZhE5V/YUn3iIiY73jY4GtnnwjcKjv9PHAptJrqup8Ve1Q1Y7W1tbSw7mTRYjk0azpN4F8MZ3Oqnzyk5XfYAASV5THMIzqkGf0kQA3AGtU9Qe+Q3cB073P04E7ffKpIjJMRCYAE4EleelXLhWFSD71FIqwhkm9ogu5DUG5lYsrV67KVJLuo5S4ojyGYVSHPEcKJwOfBD4oIsu97RzgKuAMEXkGOMP7jqquAm4DVgP3AZerat1FqacN9wR4N8tRBN71rl7ZR/gFgnI7FwLZ1glIWlJ50qT4NmHkke31scdg40Z3vY0bvcXZhmFUFau8lpI0nfd7WMpSiosb/S/u4m7+V2D7wp+i0qpmp5+erNRlmmpwpbS3B8+vlJurqDT/UgFLgmcY2RNVec2MQkqSGIX3soQlvK9I9iHu5Zf6oUQdfjVLXZb7529qCj633HKZYTo3N7sQWcMwssPKcWZIVId9Er9FkSKDcAa/QlDu40NV0M5RjdQQWUcLWZoLw6gPzCikJOjt+BQeQRF+y8m9stP4NYLyIGdUUTtHNZLIZR0tVGlOKcMwssGMQgWcykMowiP8da/sr/kNgvIwp9VMr6TVyUaPjm8TRtbRQuXkXzIMI3ssdXYZTOHBfiOA9/MYv+P9NdKomMLE7Pz5zv0i0n+E09wM11xT2X2mTcsuZLRU5+ZmZxBsktkwqouNFNLwy1+iSJFBeB+/R9C6MQgF/LmMfvrT/sfr0Vd/8skwfrwzYuPHu++GYVQXMwpJ+O//dj2VL+vd8XQhaL8oo3qkUGEtqbwWdHbCJZcUr3u45JLK1j0YhpEeMwpR/Nd/OWNw3nm9osk8gaAs4/gaKpaON95IJ68Fs2YFFx+aNas2+hhGo2JGIYjbb3fG4KMf7ZOtWAGqPMnk3G+/zz7p5IOBl15KJzcMIx/MKPi59VZnDC68sE+2apXzZ7zznZncIiwFhV/+6U8HtwmTxxG2tiLL1BqGYQwOzCgA3HKL6yEv9iWl++MfnTGoJEGQj0MOcfskHXTWBWfC8jWVk8cpL8LCYysJmzUMIz111C3UgBtvdL3x9Ol9smeeccbgqKPCzyuDlha3f/314ON+eVjNhjB5HANhtfA11/Q9owItLZWHzRqGkY7GXKewY0d/P86f/gQTJuR2S6sgFk1hvcOcOe5ZHXaYWx1tqbMNo7o05kihkBp0yBCX0lO1yCDMnOkOibj9zJmV37KWFcQGgvsIsq35bBhGedRZt1AlDjvMGYLdu11+Bh+FFM4F10pPj/teiWGodQWxgbBOwTCM+qAxjUIE8+dHy8MmPpua+nIAzZhRXxXE5s1zOhWSyzU3W50CwzCCsXoKJcTVMujsdKGhu3f3yVta4KabknX81ainYBiGEUVN6imIyI0islVEVvpk3xCRF0vKcxaOzRaRdSKyVkTOykuvOOJSOE+b5gyAfyRQahCiahcnCUkdOjS4TZjcMAwjK/J0H90MnB0g/6GqTva2ewFEZBIwFTjGO2eeiNQkk36SFM5RE6JxtYvD3vT98kKkrB8RJzcMw8iT3IyCqv4P8HLC5ucDi1R1p6quB9YBJ+SlWxSV+t/nzHERr3527HBy6Dev3YtfPm2ay2zqH4389KcWjWMYRv7UYqL5H0RkhedeOtCTjQNe8LXZ6MlyIS7ktJIUzmHrEQrypBXLLDzTMIxaUG2jcB1wBDAZ2Ax835MHedoDHS0icpmIdIlIV3d3d2oF4kJO49w/QfjnEMJi/wvrFJJWLIual0hCpecbhtGgqGpuG9AOrIw7BswGZvuO3Q+cFHf9448/XtPS3KzquvvirbnZHW9rCz8u4o4vXNh3vYULVUeMCD6nsI0YUXxOHEHXTHONhQtVhw4tPn/o0HQ6GIYxeAG6NKRfzTUkVUTagbtV9Vjv+1hV3ex9/iLwPlWdKiLHAP+Bm0c4BFgMTFTVyOw85YSkxoV7NjXFh32OGNH3dt/eHpyTqLnZuX7KSdcQds22NudKimPMmOCU06NH9y3mNgyjcalVSOqtwO+Ao0Rko4h8BviuiDwlIiuA04AvAqjqKuA2YDVwH3B5nEEol7iQ0yTpKPwTx2FzCHv3lj8fEDcvEUdUbYIsU3cYhjH4yDP66OOqOlZVW1R1vKreoKqfVNV3quq7VPW8wqjBaz9XVY9Q1aNU9Zd56RUXcuqruBlJoYMOMyKV5DoaNSqdPC1ZpO4wDGNw0nBpLuJCTpPWLCh0+mFGJKlxyYOkNQjCUnoYhtG4NJxRAGcA9uxxcwd79hSvQUjiovGHkGZdEAfg5ZDVHWHyUoJqEwRRT/UUDMOoDxrSKEQR5vZpbg4OIa3U/59Gh6QuqdJUHGGEza8YhtG4mFEoIWxx2YIFwRPH5XTgcWsIki5wi8K/+G3KlOA2p56a/HqGYTQGZhRKSLq4rEDaDjzJ4ri0OsSxbl06uWEYjYulzs6Azs7kZSQrXYNQDmFrL0TcSMIwjMaiJusUBjOl7h9InqcoyCBEybMgj7BZwzAGJ2YUUlJObiQ/cYvn8iCLOQrDMBoDMwopiUuNHUdYGGie4aFZz1EYhjF4GVJrBQYalYagtrWFzynkybRpZgQMw4jHRgopqdQ/b64cwzDqGTMKKam0UzdXjmEY9Yy5j1JS6LyThqCGXcOMgGEY9YiNFMqg0lKZSaqiWeU0wzBqgY0UqkwhpLUQwVQIaYU+45KkjWEYRh7YiuYqk2RFcy1WPRuG0TjYiuY6IklIax6ZVw3DMJKQZznOG0Vkq4is9MlGicgDIvKMtz/Qd2y2iKwTkbUiclZeetWaJCGtlpbCMIxakedI4Wbg7BLZlcBiVZ0ILPa+IyKTgKnAMd4580RkUGb7TxLSamsZDMOoFXnWaP4foLRW2PnAAu/zAuACn3yRqu5U1fXAOuCEvHSrJUnWKdhaBsMwakW1o48OVtXNAKq6WUQO8uTjgN/72m30ZIOSJOsUbC2DYRi1oF4mmoOKRgaGRYnIZSLSJSJd3d3dOatlGIbRWFTbKGwRkbEA3n6rJ98IHOprNx7YFHQBVZ2vqh2q2tHa2pqrsoZhGI1GtY3CXcB07/N04E6ffKqIDBORCcBEYEmVdTMMw2h4cptTEJFbgVOBMSKyEfg6cBVwm4h8BngeuBBAVVeJyG3AamAPcLmq5lhhwDAMwwgiN6Ogqh8POTQlpP1cwIIuDcMwasiATnMhIt1AJdWNxwDbMlInL0zHbDAds8F0zIZa69imqoGTsgPaKFSKiHSF5f+oF0zHbDAds8F0zIZ61rFeQlINwzCMOsCMgmEYhtFLoxuF+bVWIAGmYzaYjtlgOmZD3erY0HMKhmEYRjGNPlIwDMMwfDScUQiq81BviMihIvKQiKwRkVUiMqvWOpUiIvuIyBIRedLT8Zu11ikMEWkWkSdE5O5a6xKGiDwnIk+JyHIRqctygiJygIjcLiJ/9P5tnlRrnfyIyFHe8ytsr4nIF2qtVyki8kXv/8xKEblVRPaptU5+Gs59JCJ/DbwO3KKqx9ZanyC8vFBjVXWZiOwHLAUuUNXVNVatFxERYF9VfV1EWoBHgVmq+vuYU6uOiHwJ6AD2V9UP11qfIETkOaBDVes2vl5EFgCPqOpPRGQoMEJVX6mxWoF49VheBN6nqpWsZcoUERmH+78ySVXf9DI53KuqN9dWsz4abqQQUuehrlDVzaq6zPu8HVhDnaUSV8fr3tcWb6u7NwwRGQ+cC/yk1roMZERkf+CvgRsAVHVXvRoEjynAs/VkEHwMAYaLyBBgBCHJP2tFwxmFgYaItAPHAY/XWJV+eG6Z5bhstw+oat3pCPwI+Aqwt8Z6xKHAr0RkqYhcVmtlAjgc6AZu8lxxPxGRfWutVARTgVtrrUQpqvoicDUu99tm4FVV/VVttSrGjEIdIyIjgZ8DX1DV12qtTymq2qOqk3Gpzk8Qkbpyx4nIh4Gtqrq01rok4GRVfQ/wIeByz81ZTwwB3gNcp6rHAW/gldOtNzzX1nnAf9Zal1K8uvTnAxOAQ4B9ReQTtdWqGDMKdYrnp/850Kmqv6i1PlF4boSH6V+Tu9acDJzn+esXAR8UkYW1VSkYVd3k7bcC/0X9laPdCGz0jQZvxxmJeuRDwDJV3VJrRQI4HVivqt2quhv4BfD+GutUhBmFOsSbxL0BWKOqP6i1PkGISKuIHOB9Ho77x/7HmipVgqrOVtXxqtqOcyf8WlXr6q0MQET29QIK8FwyZwJ1FR2nqn8GXhCRozzRFFyq+3rk49Sh68jjeeBEERnh/T+fgpszrBsazih4dR5+BxwlIhu92g71xsnAJ3FvtoXwunNqrVQJY4GHRGQF8AfcnELdhnzWOQcDj4rIk7jiUveo6n011imIK4BO728+GfhObdXpj4iMAM7AvYHXHd5I63ZgGfAUrg+uq9XNDReSahiGYYTTcCMFwzAMIxwzCoZhGEYvZhQMwzCMXswoGIZhGL2YUTAMwzB6MaNgNAwi0lOSRbPsFbki8tssdSu5doeIXJvX9Q0jCgtJNRoGEXldVUfWWg/DqGdspGA0PF4tg2+KyDKvpsHRnrxVRB7w5P8uIhtEZIx37HVvf6qIPOyrM9DprVRFRI4Xkd94Se7u91Kil977Qi+v/pMi8j++a97tfb7XN7J5VUSme4kIvycifxCRFSLyuWo9K2PwY0bBaCSGl7iP/tZ3bJuXkO464Mue7Ou41BjvweUjOizkuscBXwAm4bKJnuzlrvp/gY+p6vHAjcDcgHO/Bpylqu/GJXErQlXP8ZIOfgbYANzhfX5VVd8LvBf4rIhMSPgMDCOSIbVWwDCqyJteBxtEIS3CUuCj3udTgI8AqOp9IvKXkHOXqOpGAC+VeDvwCnAs8IA3cGjGpUou5THgZq/YSmBqBm908lPgIlV9VUTOBN4lIh/zmrwNmAisD9HPMBJjRsEwHDu9fQ99/y8k5bn+8wVYpaqRJStV9e9F5H24QkDLRWSy/7hXQWwR8C1VLSTJE+AKVb0/oX6GkRhzHxlGOI8CFwF4b+cHpjh3LdAqXh1jEWkRkWNKG4nIEar6uKp+DdgGHFrS5Cpghaou8snuB2Z4LipE5B11XvDGGEDYSMFoJIZ77p0C96lqVFjqN4FbvbmH3+DcP9uT3EhVd3nunWtF5G24/2s/AlaVNP2eiEzEvf0vBp4EPuA7/mVglU/vr+FKi7YDy7xJ7W7ggiR6GUYcFpJqGCGIyDCgR1X3eG/810XMSRjGoMBGCoYRzmHAbSLSBOwCPltjfQwjd2ykYBiGYfRiE82GYRhGL2YUDMMwjF7MKBiGYRi9mFEwDMMwejGjYBiGYfRiRsEwDMPo5f8Hcse+QJzzX9cAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n",
"plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')\n",
"plt.xlabel(\"Engine size\")\n",
"plt.ylabel(\"Emission\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Evaluation\n",
"we compare the actual values and predicted values to calculate the accuracy of a regression model. Evaluation metrics provide a key role in the development of a model, as it provides insight to areas that require improvement.\n",
"\n",
"There are different model evaluation metrics, lets use MSE here to calculate the accuracy of our model based on the test set: \n",
"<ul>\n",
" <li> 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.</li>\n",
" <li> 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.</li>\n",
" <li> Root Mean Squared Error (RMSE): This is the square root of the Mean Square Error. </li>\n",
" <li> 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).</li>\n",
"</ul>"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean absolute error: 23.90\n",
"Residual sum of squares (MSE): 970.71\n",
"R2-score: 0.72\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_hat = regr.predict(test_x)\n",
"\n",
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y_hat - test_y)))\n",
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y_hat - test_y) ** 2))\n",
"print(\"R2-score: %.2f\" % r2_score(test_y_hat , test_y) )"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"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=\"http://cocl.us/ML0101EN-SPSSModeler\">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://cocl.us/ML0101EN_DSX\">Watson Studio</a>\n",
"\n",
"<h3>Thanks for completing this lesson!</h3>\n",
"\n",
"<h4>Author: <a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a></h4>\n",
"<p><a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>, PhD is a Data Scientist in IBM with a track record of developing enterprise level applications that substantially increases clients’ ability to turn data into actionable knowledge. He is a researcher in data mining field and expert in developing advanced analytic methods like machine learning and statistical modelling on large datasets.</p>\n",
"\n",
"<hr>\n",
"\n",
"<p>Copyright &copy; 2018 <a href=\"https://cocl.us/DX0108EN_CC\">Cognitive Class</a>. This notebook and its source code are released under the terms of the <a href=\"https://bigdatauniversity.com/mit-license/\">MIT License</a>.</p>"
]
}
],
"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