Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save shas043/8e6b43ca7b666afc5b6a3518d4270273 to your computer and use it in GitHub Desktop.
Save shas043/8e6b43ca7b666afc5b6a3518d4270273 to your computer and use it in GitHub Desktop.
Created on Cognitive Class 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,
"collapsed": true,
"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,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2019-06-03 10:15:26-- 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.193\n",
"Connecting to s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)|67.228.254.193|: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",
"2019-06-03 10:15:26 (1.67 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,
"collapsed": true,
"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,
"collapsed": true,
"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,
"collapsed": true,
"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,
"collapsed": true,
"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,
"collapsed": true,
"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,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEKCAYAAAAIO8L1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3X2UHXd93/H3dx9kayWw8EpQYVm7BIyJTIKxFzBVkjqWeRIc7OQANV2wanwiLLmpgRLAVRtCWuWQhwZMWwkU/CDQBkKBFB+jQvyYFGIgsrGNZUEtsGQLq1gCbCxkbCR/+8fM7c7Oztx5uDN37t39vM6Zs/f+7szc315p53vn9/D9mbsjIiISN9B0BUREpDcpQIiISCIFCBERSaQAISIiiRQgREQkkQKEiIgkUoAQEZFEChAiIpJIAUJERBIN1XlyM9sHPA4cB465+4SZnQz8DTAO7APe4u4/NTMDrgLWAkeBf+3ud7Y7/9KlS318fLy2+ouIzEV33HHHYXdflrVfrQEi9Nvufjjy/APAze7+YTP7QPj8/cDrgNPC7RXA1vBnqvHxcXbt2lVPrUVE5igz259nvyaamC4AtoePtwMXRso/5YFvAEvMbHkD9RMREeoPEA78nZndYWbrw7LnuPtBgPDns8PyU4CHIsceCMtERKQBdTcxrXb3h83s2cCNZvbdNvtaQtmsVLNhoFkPsHLlympqKSIis9R6B+HuD4c/HwH+Fng58KNW01H485Fw9wPAqZHDVwAPJ5xzm7tPuPvEsmWZfSwiIlJSbQHCzBaZ2TNaj4FXA/cC1wPrwt3WAV8KH18PXGyBc4DHWk1RIiLSfXXeQTwH+JqZ3Q18C/iyu38F+DDwKjO7H3hV+BxgJ/ADYC/wV8DGGusmIn1magrGx2FgIPg5NdV0jea+2vog3P0HwEsSyn8MrEkod+DyuuojIv1ragrWr4ejR4Pn+/cHzwEmJ5ur11ynmdQi0vM2bZoODi1HjwblUh8FCBHpeQ8+WKxcqqEAISI9L21Eu0a610sBQkR63ubNMDIys2xkJCiX+ihAiEjPm5yEbdtgbAzMgp/btqmDum7dSNYnItKxyUkFhG7THYSIiCRSgBARkUQKECIikkgBQkREEilAiIhIIgUIERFJpAAhIiKJFCBERCSRAoSIiCRSgBARkUQKECIikqj2AGFmg2b2bTO7IXx+nZk9YGZ3hduZYbmZ2cfMbK+Z3WNmZ9VdNxERSdeNZH1XAHuAZ0bK/sDdPx/b73XAaeH2CmBr+FNERBpQ6x2Ema0AXg98MsfuFwCf8sA3gCVmtrzO+omISLq6m5g+CrwPeDpWvjlsRvqImZ0Qlp0CPBTZ50BYJiIiDagtQJjZG4BH3P2O2EtXAi8CXgacDLy/dUjCaTzhvOvNbJeZ7Tp06FCVVRYRkYg67yBWA280s33AZ4HzzGyHux8Mm5GeBK4FXh7ufwA4NXL8CuDh+EndfZu7T7j7xLJly2qsvojI/FZbgHD3K919hbuPAxcBt7j721r9CmZmwIXAveEh1wMXh6OZzgEec/eDddVPRETaa2LJ0SkzW0bQpHQXcFlYvhNYC+wFjgKXNFA3EREJdWWinLvf5u5vCB+f5+6/5u4vdve3ufuRsNzd/XJ3f374+q5u1E1E+sPUFIyPw8BA8HNqqukazX2aSS0imTZuhKEhMAt+btzY3fefmoL162H/fnAPfq5fryBRNwUIEWlr40bYuhWOHw+eHz8ePO9mkNi0CY4enVl29GhQLvUx91kjSfvGxMSE79qlliiROg0MBN/a48zg6fgMpzlch7nEzO5w94ms/XQHISJtpX2H7OZ3y5Uri5VLNRQgRKTnbd4MIyMzy0ZGgnKpjwKEiPS8yUnYtg3GxoJmpbGx4PnkZNM1m9sUIESkrQ0bipXXZXIS9u0L+hz27VNw6AYFCJE+V/f8gC1bgmAwOBg8HxwMnm/ZUv6cmtPQHxQgRGpW5xyCpPkBl1wCS5dWe/HdsgWOHQve49ixzoOD5jT0Bw1zFalRaw5BXKffwFvGx4MLbDsjI73VXp9W57GxoOlI6pd3mKsChEiNhoamJ5hFDQ4G38Q7lTY/IK6XLr6a09A8zYMQ6QFJwaFdeVF55wE8+GBn75PVTFakT0FzGvqHAoRIjSxpGaw25UUlzQ9I0snFNyvVRtE+Bc1p6B8KECI1qmIWcrtv7/H5AaOjsGDBzOM7vfh+/OPty4vmSdKchv6hACHzWtNZSrPkSZQXnR9w+DBceunMIanr1nV28c0KcmnNV+2atTSnoT8oQMi81Y0spa0Ldd7yuG3bipVPTcH27TN/p+3b6x1Cqj6FuUsBQuatohffMtavL1YeV7STu4m02OpTmLtqDxBmNmhm3zazG8LnzzOzb5rZ/Wb2N2a2ICw/IXy+N3x9vO66yfxW9wgj6HwWctE7kDLNPVmyUm1MTgbNWFU2a0lv6MYdxBXAnsjzPwU+4u6nAT8FLg3LLwV+6u4vAD4S7idSm06bf/LqZBZy0TuQOpp7soJcE81a0h21BggzWwG8Hvhk+NyA84DPh7tsBy4MH18QPid8fU24v0gtOm3+6YbVq4PO86ihoaA8SVpzz9q1neU+ahfktNrb3FX3HcRHgfcBrfmRo8Cj7t6aQ3oAOCV8fArwEED4+mPh/iK1qCMJXdU2bZo94/rYsZkX3+gktU2bguad6BDSdeuCb/R15T6qo1lLekNtAcLM3gA84u53RIsTdvUcr0XPu97MdpnZrkOHDlVQU5nPqkxCV4esi2/SJLXt24M7idYQ0p076/2Gr1FMc1eddxCrgTea2T7gswRNSx8FlphZ66Z5BfBw+PgAcCpA+PpJwE/iJ3X3be4+4e4Ty5Ytq7H6Is3Luvjmad6p+xt+XaOYzjgjuAtqbWec0dn5pLjaAoS7X+nuK9x9HLgIuMXdJ4FbgTeFu60DvhQ+vj58Tvj6Ld7PmQRFKpB18c1z8a/7G34dM6PPOAPuu29m2X33KUh0WxPzIN4PvMfM9hL0MVwdll8NjIbl7wE+0EDdRHpK1sU3z8W/G/MUqp4ZHQ8OWeXzRddn/rt7325nn322izRpxw73sTF3s+Dnjh3df/+REfegByLYRkZm16PpehYV/X3i23y1YUPy57FhQ/FzAbs8xzVWM6lFSuqFldHyNu/Ev+GDlvzsN92Y+R+nACFSUr+O/68jsFXdobxqVbHy+aAbM//jFCBESmpq/H/0QmwGb3tb9sU+Oldi3brige3882e+5/nnT79WR4fy7t2zg8GqVUH5fNWtmf9RChAiJTUx/j9PboH4xT5+x5D2jTNtbevzz4ebb55ZdvPN00Girg7l3btntrbP5+AAzcz8V4AQKamXs5hG72KSmsKSpH0TjQeHrHKpRxMz/xUgRErq5ZXRoncxeZu86mzLlmp0e+a/AoTIHBO/i8nb5DU2Vk99pH8pQIiU1AvDXKPS7mKSmsKSrF2bXL5mTbFymTsUIETaiI7+ic8XaGKYa7v1odNmMcebwtL6GnbuTC6/6abZwWDNmqAcmhldI92hACGSIusOoalhrvG5tBs2ZKdfiE6Ue/rp2a9D+3rfdNPM92wFB6hudE3X00hItjzTrXt1U6oNqdPYWHJqg7Gx4PXR0eTXR0frrdeGDe6Dg+3TUbRLv5D1e5WxZs3Mc61ZU/x3qiqNhGRDqTZEOtOLC+Fs3Ahbt2aPONq6NT2NRtXDc6em4PbbZ5bdfvvM923XVAfNpJGQHPJEkV7ddAchdcr6pm2W/LpZtfWIJtprd9eQttWdvC/tcxocDM4/Ouq+YEH7Oik5X3ehOwiRzmR9004bPnryydUlwov3g5Rx9ChcccXMOkH79NztUmvEpc3APn48qPOPfwxPPTW7TtHOfHV096g8UaRXN91BSN3afdNOSrU9PJz9bbmItG/nnW7t6hTvT8jqVyhbh+idVtH3lM6Q8w7CvOzXkh4wMTHhu3btaroaMo9NTQXfhB98MLijOHIk+MYcNzY2nWa7iIGB8ncOWQYHgzuIlSuDu6LWXURWvqfBweCupjWLN09+qCTRz2R8PPlOpOznJu2Z2R3uPpG1n5qYRDoQX2fhJ7NWUQ+069huN7yzzsR/rSag/fvhHe/I3xR2/HjQCd6qZ5lmoHineC8OCJAaA4SZnWhm3zKzu81st5l9KCy/zsweMLO7wu3MsNzM7GNmttfM7jGzs+qqm0hdFi0qVh4flRS/+L7gBdXXMclTTwX9FEW0Rhidfnr2vsPDMDqaPtu7icy4kq3OO4gngfPc/SXAmcBrzeyc8LU/cPczw+2usOx1wGnhth7YWmPdRCoRH7555EjyfmnlWcM7b7utwwoW0Goay5tCoxXU9uxJ36cVEK69Fg4fTu8U7+XMuPNZbQEi7Atp/VkMh1u71tQLgE+Fx30DWGJmy+uqn0inkmZaF5W1Sli7+Q6trtwdO7LTaIyOTu+TJSm1RpLWe7XrI0kLCHG9nBl3Pqu1D8LMBs3sLuAR4EZ3/2b40uawGekjZnZCWHYK8FDk8ANhmUjXFEn3kHedhXayhnfmGf759a/DgQPBhfrpp4N6R42MwFVXTfeVjI4mnzNaHk2tsWFD8v5VL1QT789RcGherQHC3Y+7+5nACuDlZvZi4ErgRcDLgJOB94e7J323mfXdxMzWm9kuM9t16NChmmou81FWf0BcmTuGuLT2+1Z52kX4+PHpOQrROrsH6wQsXjzzmzhMN4XB7MAzPBwEkSRZC9WceGLycWnl0j+6NszVzD4I/Nzd/yJSdi7wXnd/g5l9ArjN3T8TvvY94Fx3P5h2Tg1zlSoNDSU36QwOBhfdvPsnGRhIP3dS8rzo/hs3Bhf5Igv6ROvcagqL3u0MD8MznxmMuooPcy1q6dLkob2jo0G/g/Sexoe5mtkyM1sSPl4InA98t9WvYGYGXAjcGx5yPXBxOJrpHOCxdsFBpGpZ/QF5y5OkZVDNUx5dRSyvaN2SmsJ++cvgou4eNE99/ev5zx2XNrQ3rVz6x1D2LqUtB7ab2SBBIPqcu99gZreY2TKCJqW7gMvC/XcCa4G9wFHgkhrrJjLL4GD6Rb/VubtqFezeHTweG8vfzNTt1dqiTUhZcwlaTWlQbgnLtDsspcnof3WOYrrH3V/q7r/u7i929z8Oy89z918Ly97WGukUjl663N2fH76utiOpXbRTOs8dwX33wRlnBI+ThmYOpPxFdWs+Q0u07yLvXIKymVOTgkO7cukfmkktpWWlcO71OqSlzs4aCnrffcHPpKGZac1AVc1nWLKk/evxDmTIv+RokSYzmSfyJGzq1U3J+pqTlKiuk6R0TdQhbdGdwcHg9TIpqIseU3T/sgvr5EkZ3vq9i1Kq7v6DkvVJnXohuVqndWh3p+Ce/XqSoiOhir5H0fMnad05xcXvPPIq8zlJsyodxRSOSPr3ZrbNzK5pbZ1XU/pVLyRX67QOWZPQVq1Kfj1aHm/iOvfc5GOqmlRWxYiq1atn95UMDATlZaRNpEsrl/6Rtw/iS8BJwE3AlyObzFO9kFwtTx3a9VGkXbRb5bt3zw4S0VFMSak2br999jFr1qR/M0/79p1WXsXCOps2zR5e+/TTMxfwieuF/iZpQJ52KOCuPPt1e1MfRHP6oQ8iTx03bJjuixgczG7Lj0pbzCfezt/uc+lWH0RU0aVSsz7HrL4c6T3k7IPIGyD+M7A2z77d3BQgmtXJxbUq7VZ8y1pTutPzF1kjOu09y9Sx08+96Htm7a9O6v6TN0DkbWK6ArjBzH5hZo+H289quaWRvjA1Bdu3z8xbtH17bzU9dNpHkdSEtH799O9YpDkt7T3LpLmOzqw+dqx4x/LatcXKsz7Hos1k0kfyRJFe3XQH0Zwqvp13KqvpY9Gi5DouWpTv/Fm/444ds9efbjeENOkuxL37d2JN3EG0uxOT7qPKJqbgfLwR+Itwe0Pe4+rcFCCaU7QdO4+iF5G6mz6yjt+xw314eGb5wEB20Ij3k8TPMTzc/ndP2r+Iqvsg8nxO8fc0U5BoUqUBAvgwcDPwjnC7EfhwnmPr3BQgmlP1HUSZTu+sC13dASLtMxgdnQ50aR24rc9pdDT9HEniwaFMkCjzb9cueGd9TmkBc8GC/HWWalUdIO4BBiLPB4F78hxb56YA0ZyqRzGlXbTaNc00fQeR55t41jmK1rHT38k9uWlswYLy/3Z1B2qpXt4AUSQXUzQLzEnlez1kLqh6ici0jtDjx4NLSbyDGJpfxzjPPIwq5i3UIfiel/68iMsuK1YufSRPFAHeCuwHrgO2Aw8AF+U5ts5NdxBzR9rdQFYzSCdNH1myjs9zF9XEHURWp3cdAwzavafuIHoPNXRSLyfoqL4A+Gd5j6tzU4CYO3bsCDp48wSJvCN+8jQBtQswq1YlH79qVb7j3atvBsvqg8gzka6OAQbtrFmT/H5r1tTzfpKtkgABvCj8eVbSlucN6twUIOaOtAtbni0tSCxenLz/4sXB63na4uNBIhoc8uh0BFCSdqOY0oLswED+z6UO8SCh4NCsqgLEtvDnrQnbLXneoM5NAaJZVY5tTxvtk/eOIknWxbfoCKK84p/Lhg31NYMV/Z3d288A1zyF+aHyJqaiG3Ai8C3gbmA38KGw/HnAN4H7gb8BFoTlJ4TP94avj2e9hwJEc6oexVQ2OLS7mNax3kOWop9LEwEiz+fZ7bxa0l15A0TedN9vNrNnhI//g5l90cxemnHYk8B57v4S4EzgtWZ2DvCnwEfc/TTgp8Cl4f6XAj919xcAHwn3kx61aRMcPTqz7OjR9hlB2+lkVE/asVWkxi6q6s+lqDxpL/J81t2ss/SuvMNc/6O7P25mvwG8hmAk08fbHRAGqiPh0+Fwc+A84PNh+XbgwvDxBeFzwtfXmCmbS69KWqinXXmWTtZLSDt28eL25aOjya+nleeRNlx3//7qUmVH19EeGgqetwQ347NFy9PWrIjr5toe0pvyBojWd67XA1vd/UvAgqyDzGzQzO4CHiGYff194FF3b619dQA4JXx8CvAQQPj6Y0AHf6pSp6rH9yctYpNk8eLp9xgcDNZa2Lkz+eL7858nn6NVftVVMDw887Xh4aA8r/jFetGi9H3dg0BxySXlg0R8He3jx4Pn0SCRZe/efPt1c20P6VF52qGAG4BPEFzglxD0F9yd59jw+CUEHdu/CeyNlJ8KfCd8vBtYEXnt+8BowrnWA7uAXStXrqy8bU7yydPWXaQTO+88CJg+5+jo7FFIRUcIddLRnjbyamgo+3dodYR3s18la03qTvoglIyvv1Bxqo0R4HeB08Lny4FX5zk2co4PAn8AHAaGwrJXAl8NH38VeGX4eCjcz9qdU53UzckaAVRlZ23Rrcp1ChYunHncwoXTr6VdrFsXyayLcZ7PscjnVMXnWOYCXybhoDQrb4DI28S0HPiyu99vZucCbyYYoZQqXMd6Sfh4IXA+sCe8k3hTuNs6guVMAa4PnxO+fkv4i0gPevTR9uVNdtZ20nYebTIygyeemPn6E09Mp/dI6+x2h337Zi/rmeQXvyhWXrennw7qXiRlyhVXwC9/ObPsl78MyqW/5Q0QXwCOm9kLgKsJhqr+dcYxy4Fbzewe4J+AG939BuD9wHvMbC9BH8PV4f5XA6Nh+XuADxT6TeaYqtcAbtexWUbWCKFOF+vpRNm283j7fppW0KiiHyarn6Qf/PjHxcqlj+S5zQDuDH++D/j98PG38xxb5zZXm5iqnmNQxTrGcVlNHUXz/VTVvNTJLOUik/Xyfq6dNAmV+dw7/fzKqPp8Uj8q7oP4JkHCvnuB54Vl9+Y5ts5trgaIqpOp1bGofNZFodt9EFXMUi5zIc1KjJfVx1B1gEj7v5Onc7ps+ou6ZqRLffIGiLxNTJcQdChvdvcHzOx5wI7q7mMkqurmmSYmjFWdDjxLmbbzshYunH68ejWsWBH8jitWBM+jqhhKG7VhQ/vytBTo5503c3jwc587c581a+Cmm8rV6aqrYEFs0PuCBeV/R+kheaJIr25z9Q6i6m9keRK4FVV1s0InuZjS3rPo55jnW3b0M8t7l9RuCGiZTKdZdy1JuaCqbLJMomGu/YWKkvV9Lvz5HYJV5Vrbd9CKcrWpOkAsWpR8vkWLytex6gDRSXBIe8+iF9+879W6IOdZcjTrYllH/1BcHes/SH/LGyAs2DeZmS1394NmNpZy91EysUI1JiYmfNeuXU1WoRYDA8GfcJxZvqGTdZ+vdWyaNv+lUj3jGXDkSPZ+Rd5zaCi5GW1wEI4dy79/2vFpn2vcyEh681rROkIw2mrbtuC4wcEg1ciWLenvX8e/v/Q3M7vD3Sey9mvbB+HuB8Of+8Ng8FPg8cgmNcizlGWT56tDHcM6i/a95M0H1To+7+fXbv5H0TqWSbXRjX//qodlS4/Ic5sBvBP4EbCPYLnRB4Af5Dm2zm2uNjFVvah8FW3lcb3WxNTaogv6lBm9FW3fT9taxyd9rkU/l6J1LPM7VT1sutvnl+pR8TDX+4Glefbt5jaXA0TVqQuyLv5F37NMgCi7fnTZIFGmfT8aINI6raPHx3+ntAEBaRfwonUsG5jr7ERWH0f/qTpAfAUYybNvN7e5GiCa+IOrOidQXCdLb5bZWrJG/ERlLXuadXyZz6VoHeuY09Kpbq9xLZ3LGyDadlK3hIsDXUswYe7JSPPUv62srasEdVJXp2inc579p6aCtvcHHwx+p6R29bGxYP5C1St/5PhvPUsVHe+LFyf3pyxa1FknfMsZZ8B9980uX7UKdu/u/PxljI8nrwPS+reV3lNJJ3XEJ4BbgG8Ad0Q2qUF8olNWeS+amgo6fffvDy6uaZ2uZRcY6lXxBIVZ5UV973vFyrshbXLe5s3N1EeqkzdAHHP397j7te6+vbXVWrN5LJ5BNKu8ClWvrpaUzTVJJ0uNplm1qvpz5pV2p9HuDqTICKAmZsVn6faseemevAHiVjNbb2bLzezk1lZrzeaxtGakOsesV50uIe+dQdUXtk6aWvKs51y1qalghbnWnVbWinNVr+RXlcnJ6RTn3Up5IvXLGyD+FXAl8I9MNy/Nvcb/OST+rXTjxvbfUicn4ZprZn4LvOaa8n/oeS9Ynaz/HNXqGo0HhyLfzi+7rFh5FYqupZA2V6OTNb1FUuXpye7Vba6OYio7lLElz/j8gYHOhjpm1THvaKM8WU3zbEnDN8uMzy8yoqjM59Lp/lXUsQ7KxdRfqCgX0/sij98ce+1P8rxBnZsCRLK86zvXmYspbT5ApwEla4tOKGxiuHA3AkSv0US5/pM3QGQ1MV0UeXxl7LXXVnQTIzGddhjnbf+vc9WyIv0lA3kbOnN46qnp5pkmVrUr+m9X9eCAJjS5vKzUK+tP01IeJz2f+aLZqWZ2q5ntMbPdZnZFWP5HZvZDM7sr3NZGjrnSzPaa2ffM7DWFfpM5ZL7l1w9uSKvTWuqyiRxURf/t5sK/dZPLy0rN2t1eEC41Gn+c9Dzh2OXAWeHjZwD/B1gF/BHw3oT9VwF3AycQrHn9fWCw3XvM1SYm987adPM2x8TXg6gyF1OetRXq3Fq/TxNNH0X/7fq9/V6pNvoPOZuYhjLix0vM7GcEdwsLw8eEz0/MCDwHgVY22MfNbA9wSptDLgA+6+5PAg+Y2V7g5cDtGXWUkt75zunHrYltraaC/funR8aUGclU9V1BGa16t2Zzr1wZTN6qewjm5GSx9yi6f6/ZvHnm/x3QRLk5I08U6XQDxoEHgWcS3EHsI1h46BrgWeE+/w14W+SYq4E3tTvvXL2D2LFj9jdws/zfLLO+XSeNfCn6LTDr23tabqdu3kHMV03ckfT7XdB8Q5W5mDphZouBvydYz/qLZvYc4DDgwH8Clrv7O8zsvwO3u/uO8LirgZ3u/oXY+dYD6wFWrlx59v65lqsBOOGEoLM1bsECePLJ2eVxZXIKFc3/lPUeS5dO9wU0oRfuYJoQvxOE9gsWyfxUdS6mspUYBr4ATLn7FwHc/Ufuftzdnwb+iqAZCeAAcGrk8BXAw/Fzuvs2d59w94lly5bVWf3GJAWHduVVqLpD9yc/KV8XKU8jiqRKtQUIMzOCZqI97v6XkfLlkd1+B7g3fHw9cJGZnWBmzwNOA75VV/1kpqoTrp2sRCyN0IgiqVKddxCrgbcD58WGtP6ZmX3HzO4Bfht4N4C77wY+B9xHsP7E5e7eYAqyucksWAc5vkRltxKuDQzUm9tovuuH5WWlf2SNYirN3b9G8lyJnW2O2Qxo7EPNWusYQ/vF7ts58UT4xS+SyyG9ick96NOoM0j00ySzqmlEkVSp1j4IaUbedNfbtk0/npqCiy+emVX04ovTk9v9yq+0L2/qm+zwcH9NMquaUm9LlRQgalAkg2gdklYcSxJNtf3Od84erfT00zPnSuR5j1b52rXJr6eVd2Lx4umL4bXX6mKo1NtSldqamOarqiecxQ0M1DPhKy0vU9l8TTtTGhLTyjvxxBP1rpUhMl/pDqJidQ8zbDX/rF/f+Z1Jnf0A3RxN0+RqaiJzmQJExbp1Yawi6NQ5maybfRBNr6YmMlcpQFSsmxfGXh7bnjWvosqLulZTE6mHAkTFutk528tj27NG05x+evlzt4LL4CBs2FB+qK6ItFd7LqY6TUxM+K5dvbU0dloOotFROHw43zny9A20y69TpG+h9c9fdS6mLEND5foO8uajEpF0PZGLaT5KS1BXVeK6usa2X3ZZsfJOle1Y/s3frLYeIpJOw1z7TF3DOVvNNNu2BRfvwcGgbb+u5pvBwXJB4rbbKq+KiKTQHURDNm4MmlnSciM1YcsWOHYsaCI6dqzetv2yHcsa0irSPbqDqJhZelt+y8aN07mQoJrcSN2W5/dsJ37HkpeGtIp0j+4gSmiXSiOtgzZaHs2BFJVW3i1F7mp+9VeLlSeJ3rE897n5jtGQVpHu0R1EQVWk0kj7xtxk80nRu5o9e5LPk1aeZXi4/et194mIyGwa5lrQ+HgQFOLGxoLEaHmGf6YN8RwcDL5RdzqEtMww16w6FXmPMv+lqj6fiKTTMNeapC2BXWRp7HPPLVZel4ULpx83fVeT1regPgeR5ii1YuHrAAAP50lEQVRAFFTFheyuu4qV1+WJJ6YfF/29Fi8uVp6l6QAlIrPVuSb1qWZ2q5ntMbPdZnZFWH6ymd1oZveHP58VlpuZfczM9prZPWZ2Vl1160QVF7K6J9OVkdb5m1b+8Y8HzVJRQ0NBeRljY8XKRaR+dd5BHAP+nbv/KnAOcLmZrQI+ANzs7qcBN4fPAV4HnBZu64Gts0/ZvH64kC1ZUvyYLVuCvEZ58xxNTsJ1183MtXTddeVnd3czh5WI5FNbgHD3g+5+Z/j4cWAPcApwAbA93G07cGH4+ALgUx74BrDEzJbXVb+y+uFC9uij5Y4rOlGuypXLurnAkIjk05U+CDMbB14KfBN4jrsfhCCIAM8OdzsFeChy2IGwrKekXbC2bQvmRUg53VxgSETyqf2SZmaLgS8A73L3n7XbNaFs1gBHM1tvZrvMbNehQ4eqqmZuaaOVjh/vznDMpta5rls319EQkXxqDRBmNkwQHKbc/Yth8Y9aTUfhz0fC8gPAqZHDVwAPx8/p7tvcfcLdJ5YtW1Zf5VM0PeyyyiVHe0nWAkMi0n11jmIy4Gpgj7v/ZeSl64F14eN1wJci5ReHo5nOAR5rNUX1kl4ZdlnlOtdltUs5UtTkJKxbN7OTfN26alOai0gxdd5BrAbeDpxnZneF21rgw8CrzOx+4FXhc4CdwA+AvcBfAT2Q37S3pbXPL1qU7/giM67jWilH9u+v5q5maioYItsKwMePB8/n0l2SSL9Rqo2COrmotj7qrLQSed+jld4j7vzz4eabs49ftAiOHMn3XnFZKUeKOvHE5JXiTjgBfvGL4ucTkXRKtTHHtWufv+WWfOf4+c/Lv3/Vo47SlhHV8qIizVGA6DN5lhztxk2hRh2JzH1K991n6lpytKjNm2emPQeNOhKZa3QHMQd10k+S1+RkcBcTTbXR7q4my5o1xcpFpH7qpC6o6U7qKteDGB2Fw4fz7dsN8c71NWvgppuaq4/IXKVO6nksb+LAt7yl3noU9cIXzpwH8cIXNlsfkflOAWIOSpqVnORTn6q/Lnm1ljyNzoPYurX9utgiUi8FiDko3j+QppNhrlXbtq1YuYjUTwFijoqm4u4HWlFOpPcoQDQgLRVGq7zqET1pdxHdGO0kIv1LAaJLoqu8ZV2w9+5Nfj2tXESkDgoQXXLSSdOP0/IftcrT1pxIK8+SNjS2l0Y498NSriLzjQJEl2hltPa0HoRI71GASLBxIwwNBU0+Q0PVDLU8+eTOzzGXVT0zW0Q6p1xMMa3x+C2t8fgAW7Y0U6dOrVmTnP6719JYTE4qIIj0Et1BxGSNxx8dLXfen/yk3HFVuOmm2cFAaSxEJIsCREzWePyy6SmaToN9001Bp3RrU3AQkSx1rkl9jZk9Ymb3Rsr+yMx+GFuCtPXalWa218y+Z2avqate0H4t5VYuoLhW+c6dxd9veHhmZ2vWMNcFC5JfTysXEalDnXcQ1wGvTSj/iLufGW47AcxsFXARcEZ4zBYzS7lUdyZrLeX165OPa5WXGY0UDwhZw06vuWb2MWZBuYhIt9QWINz9H4C8Le8XAJ919yfd/QFgL/DyOuq1adPMRW4geL5pU/B4yxbYsGFmVtENG6Y7qNOaigYHg4t40h3IU09Nnx+yx/xPTsKnPz1zRM+nP60OXBHprib6IP6Nmd0TNkE9Kyw7BXgoss+BsKxyedZSXr0aVqwILs4rVgTPW9LG62/fHuQ9Sst9FD1/njH/0VxK+/YpOIhI93U7QGwFng+cCRwE/ktYntQqn9gQY2brzWyXme06dOhQ4QqkpcFulWc1QSWN11+3LrhDGBgItiTRO488Y/7b9ZPk0enxIiK4e20bMA7cm/UacCVwZeS1rwKvzDr/2Wef7UUNDETH8kxvAwPB62Njya8PDrqbBa/v2DF9vh073EdGko9pbSMjM4/JknTOIufYscN9wYKZxy9YUKwOIjJ3Abs8xzW81iVHzWwcuMHdXxw+X+7uB8PH7wZe4e4XmdkZwF8T9Ds8F7gZOM3d2yZ7LrPkaNZyngMD2TmKRkamv/GPjyfnSBocDJqHVq4Mmo6KNBGlnXNsLGhuyrJ0Kfz4x7PLe22JURFpRuNLjprZZ4DbgdPN7ICZXQr8mZl9x8zuAX4beDeAu+8GPgfcB3wFuDwrOJSVNYw1z3yFaKd2Wp9Gqz+iTP9Bnn6SdpKCQ6u8yvQhIjK31TmK6a3uvtzdh919hbtf7e5vd/dfc/dfd/c3tu4mwv03u/vz3f10d/9fddUraxjr2rXJr8e1LtZpAaWTiXFpeZuqyuek5TxFJI95N5M6axhr3olwrQCQFlDyBpo65E0HouU8RaSdeRcgIAgGx44FfQ3Hjs1MwpenGSc6JDUtoJSZcd2Slrcpbz6nq64KZm9n0XKeItLOvAwQ7WRNhIsPSe20v6BIHfI2W01OwrXXTg+jTZPWHyMiAgoQs2RNhIt3Ope9mLebp1DF4jnRiXZpab3PPTf/+URk/lGAiCm6cE2Zi3mZyXidLJ6jNa5FpAwFiARF0lyUuZhn5YOqWh3NYCIy9ylAlBBvHoJieZOSJsFFy7PuMIqqYyiuiMx9ChAFVXHxzpqsV/UdRhV9GiIy/yhAFFTFxTtr1bqqm4Sq7tMQkflhqOkK9JsqLt5jY+m5liBo+kl6vZMmoclJBQQRKUZ3EAVV0Z6f1eSjJiER6QUKEAVVNUehXZOPmoREpBfUmu67bmXSfVdhairoc3jwwXLpvEVEmtR4uu+5rIrlQLNWfNOKcCLSNAWIChS9mGcNla16HoSISBlqYupQ62IeHfoaXXEuSdaKcZ2uKCci0k7eJiYFiA6VuZinLWtqFjRbZb0uItKJxvsgzOwaM3vEzO6NlJ1sZjea2f3hz2eF5WZmHzOzvWZ2j5mdVVe9qlZmXkTWUFmlxhCRXlBnH8R1wGtjZR8Abnb304Cbw+cArwNOC7f1wNYa61WpMhdzzYMQkX5Q55rU/wDE10C7ANgePt4OXBgp/5QHvgEsMbPlddWtSmUu5poHISL9oNupNp7j7gcB3P2gmT07LD8FeCiy34Gw7GCX61dY66JddF5EVuoLpcYQkab1Si6mpIUxE3vPzWw9QTMUK3ukUV4XcxGZi7o9D+JHraaj8OcjYfkB4NTIfiuAh5NO4O7b3H3C3SeWLVtWa2VFROazbgeI64F14eN1wJci5ReHo5nOAR5rNUWJiEgzamtiMrPPAOcCS83sAPBB4MPA58zsUuBB4M3h7juBtcBe4ChwSV31EhGRfGoLEO7+1pSX1iTs68DlddVFRESKUy4mERFJ1NepNszsEJCQ6CK3pcDhiqpTF9WxGqpjNVTHajRdxzF3zxzl09cBolNmtitPPpImqY7VUB2roTpWox/qCGpiEhGRFAoQIiKSaL4HiG1NVyAH1bEaqmM1VMdq9EMd53cfhIiIpJvvdxAiIpJiXgaIpMWMeomZnWpmt5rZHjPbbWZXNF2nODM70cy+ZWZ3h3X8UNN1SmNmg2b2bTO7oem6pDGzfWb2HTO7y8yaXSYxhZktMbPPm9l3w/+br2y6TlFmdnr4+bW2n5nZu5quV5yZvTv8m7nXzD5jZic2Xac087KJycx+CzhCsAbFi5uuT1yYyHC5u99pZs8A7gAudPf7Gq7a/2dmBixy9yNmNgx8DbgiXM+jp5jZe4AJ4Jnu/oam65PEzPYBE+7es+P3zWw78L/d/ZNmtgAYcfdHm65XEjMbBH4IvMLdO5krVSkzO4Xgb2WVuz9hZp8Ddrr7dc3WLNm8vINIWcyoZ7j7QXe/M3z8OLCHYH2MnhEu7nQkfDocbj33bcPMVgCvBz7ZdF36mZk9E/gt4GoAd3+qV4NDaA3w/V4KDhFDwEIzGwJGSMlc3QvmZYDoJ2Y2DrwU+GazNZktbLq5iyBt+43u3nN1BD4KvA94uumKZHDg78zsjnDNk17zK8Ah4Nqwue6TZrao6Uq1cRHwmaYrEefuPwT+giBZ6UGCzNV/12yt0ilA9DAzWwx8AXiXu/+s6frEuftxdz+TYP2Ol5tZTzXXmdkbgEfc/Y6m65LDanc/i2B99svDZtBeMgScBWx195cCP2d6TfmeEjZ/vRH4H03XJc7MnkWwxPLzgOcCi8zsbc3WKp0CRI8K2/W/AEy5+xebrk87YVPDbcBrG65K3GrgjWH7/meB88xsR7NVSubuD4c/HwH+Fnh5szWa5QBwIHKX+HmCgNGLXgfc6e4/aroiCc4HHnD3Q+7+S+CLwD9vuE6pFCB6UNgBfDWwx93/sun6JDGzZWa2JHy8kOA//nebrdVM7n6lu69w93GCJodb3L3nvq2Z2aJwMAJhs82rgZ4aYefu/xd4yMxOD4vWAD0zaCLmrfRg81LoQeAcMxsJ/87XEPQx9qR5GSDCxYxuB043swPhAka9ZDXwdoJvvK0he2ubrlTMcuBWM7sH+CeCPoieHUba454DfM3M7ga+BXzZ3b/ScJ2S/D4wFf6bnwn8ScP1mcXMRoBXEXwz7znhHdjngTuB7xBcg3t2VvW8HOYqIiLZ5uUdhIiIZFOAEBGRRAoQIiKSSAFCREQSKUCIiEgiBQiZN8zseCzbZ+mZwGb2j1XWLXbuCTP7WF3nF8lLw1xl3jCzI+6+uOl6iPQL3UHIvBeuxfAhM7szXJPhRWH5MjO7MSz/hJntN7Ol4WtHwp/nmtltkXUSpsIZspjZ2Wb292ECvq+Gadzj7/3mcF2Au83sHyLnvCF8vDNyx/OYma0LkyT+uZn9k5ndY2bv7NZnJfOLAoTMJwtjTUz/MvLa4TBZ3lbgvWHZBwnSc5xFkB9pZcp5Xwq8C1hFkPV0dZhL678Cb3L3s4FrgM0Jx/4h8Bp3fwlBgrkZ3H1tmBDxUmA/8D/Dx4+5+8uAlwG/Z2bPy/8xiOQz1HQFRLroifBim6SVmuEO4HfDx78B/A6Au3/FzH6acuy33P0AQJj+fBx4FHgxcGN4QzFIkN457uvAdeHCMYnpIcK7lk8Db3H3x8zs1cCvm9mbwl1OAk4DHkipn0gpChAigSfDn8eZ/ruwgsdGjzdgt7u3XZbT3S8zs1cQLGp0l5nNCGDhymifBf7Y3VsJ/Az4fXf/as76iZSiJiaRdF8D3gIQfmt/VoFjvwcss3DdZjMbNrMz4juZ2fPd/Zvu/ofAYeDU2C4fBu5x989Gyr4KbAibsTCzF/b44j3Sp3QHIfPJwrAJqOUr7t5uqOuHgM+EfRV/T9BE9HieN3L3p8ImoI+Z2UkEf2sfBXbHdv1zMzuN4K7gZuBu4F9EXn8vsDtS7z8kWD51HLgz7BA/BFyYp14iRWiYq0gKMzsBOO7ux8I7ga1t+jBE5hzdQYikWwl8zswGgKeA32u4PiJdpTsIERFJpE5qERFJpAAhIiKJFCBERCSRAoSIiCRSgBARkUQKECIikuj/AXmwBqvUValuAAAAAElFTkSuQmCC\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,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"<function matplotlib.pyplot.show(*args, **kw)>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# write your code here\n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color = 'blue')\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,
"collapsed": true,
"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]\n"
]
},
{
"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,
"collapsed": true,
"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,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.24208293]]\n",
"Intercept: [125.02544493]\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,
"collapsed": true,
"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": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n",
"plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')\n",
"plt.xlabel(\"Engine size\")\n",
"plt.ylabel(\"Emission\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"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,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean absolute error: 21.41\n",
"Residual sum of squares (MSE): 785.47\n",
"R2-score: 0.76\n"
]
}
],
"source": [
"from sklearn.metrics import r2_score\n",
"\n",
"test_x = np.asanyarray(test[['ENGINESIZE']])\n",
"test_y = np.asanyarray(test[['CO2EMISSIONS']])\n",
"test_y_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 3",
"language": "python",
"name": "python3"
},
"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.8"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment