Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save STHITAPRAJNAS/6f7ea48d1e933616e85aca25107359aa to your computer and use it in GitHub Desktop.
Save STHITAPRAJNAS/6f7ea48d1e933616e85aca25107359aa 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,
"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": [
"--2019-09-07 15:48: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-09-07 15:48:26 (1.64 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": 9,
"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",
" <td>0</td>\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",
" <td>1</td>\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",
" <td>2</td>\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",
" <td>3</td>\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",
" <td>4</td>\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": 9,
"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": 10,
"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",
" <td>count</td>\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",
" <td>mean</td>\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",
" <td>std</td>\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",
" <td>min</td>\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",
" <td>25%</td>\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",
" <td>50%</td>\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",
" <td>75%</td>\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",
" <td>max</td>\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": 10,
"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": 11,
"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",
" <td>0</td>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>8.5</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>9.6</td>\n",
" <td>221</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>5.9</td>\n",
" <td>136</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.6</td>\n",
" <td>244</td>\n",
" </tr>\n",
" <tr>\n",
" <td>5</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.0</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <td>6</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.1</td>\n",
" <td>232</td>\n",
" </tr>\n",
" <tr>\n",
" <td>7</td>\n",
" <td>3.7</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <td>8</td>\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": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\n",
"cdf.head(9)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"#cdf.hist()\n",
"#plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can plot each of these features:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"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": 16,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEICAYAAACwDehOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de7SddX3n8fcnJwEJlxJKoLmRUAztnGNrtGeYaXE51hwKg1RkpmpooNBxJpeNI70qMZ2lY1c6TMcL9kIgVkZKtmJW1YFStSURlnbqkgaMQIKUdEhCAkOCQjXEoST5zh/Ps0+enLMvzz7Zz75+Xmudtff+7efZ+3eenOzv/t2+P0UEZmZmANM6XQEzM+seDgpmZjbOQcHMzMY5KJiZ2TgHBTMzG+egYGZm46YX+eKSdgE/BI4AhyNiVNJZwOeBRcAu4F0R8WJ6/BrgPenx74uIv673+meffXYsWrSoqOqbmfWlhx9++IWImF3tuUKDQuoXI+KFzOObgC0RcbOkm9LHH5A0DCwDRoC5wGZJF0bEkVovvGjRIrZu3Vpk3c3M+o6k3bWe60T30ZXAnen9O4F3ZMrvjohXIuJpYCdwUQfqZ2Y2sIoOCgH8jaSHJa1Iy86NiOcA0ttz0vJ5wDOZc/emZWZm1iZFdx9dHBHPSjoHuF/Sd+scqyplk3JwpMFlBcB5553XmlqamRlQcEshIp5Nb/cDXyLpDnpe0hyA9HZ/evheYEHm9PnAs1Vec0NEjEbE6OzZVcdJzMxsigoLCpJOlXR65T7wS8DjwL3Adelh1wH3pPfvBZZJOlnS+cBi4KGi6mdmZpMV2VI4F/hbSd8h+XD/q4j4KnAzcImkp4BL0sdExHZgE7AD+CpwQ72ZR2Y2OMplWLQIpk1LbsvlTteof6mXU2ePjo6Gp6Sa9bdyGVasgEOHjpXNnAkbNsDy5Z2rVy+T9HBEjFZ7ziuazayrrV17fECA5PHatZ2pT79zUDCzrrZnT3PldmIcFMysq9Waee4Z6cVwUDCzrrZuXTKGkDVzZlJureegYGZdbfnyZFB54UKQklsPMhenHQnxzMxOyPLlDgLt4paCmZmNc1AwM7NxDgpmZjbOQcHMzMY5KJiZ2TgHBTMzG+egYGZm4xwUzMxsnIOCmZmNc1AwM7NxDgpmZjau8KAgaUjStyXdlz7+sKR9kralP5dnjl0jaaekJyVdWnTdzMzseO1IiHcj8ARwRqbsExHx0exBkoaBZcAIMBfYLOlC79NsZtY+hbYUJM0H3gb8WY7DrwTujohXIuJpYCdwUZH1MzOz4xXdfXQL8H7g6ITy90p6VNIdkmalZfOAZzLH7E3LzMysTQoLCpKuAPZHxMMTnloPXAAsAZ4DPlY5pcrLRJXXXSFpq6StBw4caGWVzcwGXpEthYuBt0vaBdwNvFXSxoh4PiKORMRR4FMc6yLaCyzInD8feHbii0bEhogYjYjR2bNnF1h9M7PBU1hQiIg1ETE/IhaRDCB/LSKukTQnc9hVwOPp/XuBZZJOlnQ+sBh4qKj6mZnZZJ3YjvMPJS0h6RraBawEiIjtkjYBO4DDwA2eeWRm1l5tWbwWEQ9GxBXp/Wsj4mci4mcj4u0R8VzmuHURcUFE/FREfKUddTOzfMplWLQIpk1LbsvlTtfIitCJloKZ9ZBSCW6/HY5m5hDu3g0rViT3ly/vTL2sGE5zYWY1jYzA+vXHB4SKQ4dg7dr218mK5aBgZlWVSrBjR/1j9uxpT12sfRwUzKyqDRsaH3PeecXXw9rLQcHMqjrSYO7fzJmwbl176mLt46BgZlUNDdV+7tRTk5aEB5n7j4OCmVVVmV000fAwHDzogNCvHBTMBlypBNOng5TclkpJ+a23wurVx1oMQ0PJ4+3bO1dXK54iJuWc6xmjo6OxdevWTlfDrCeNjcGWLdWfW706CQrWnyQ9HBGj1Z5zS8FsANULCJBv5pH1JwcFswFULyBA45lH1r8cFMwGyNhYMnbQSL2ZR9ZZtcaAWsW5j8wGRKMuo6xaM4+sc0qlJOVI1pEjx8paNQbkloJZn6t8s8wbEDzI3H2qBYSsVo4BuaVg1sfmzYNnJ+1fWN3SpbB5c7H1salp9KHfyjEgBwWzPjU2lj8g9PDM9IHQ6EO/lWNA7j4y61N5u4uWLi22HnbiGn3ot3IMqPCgIGlI0rcl3Zc+PkvS/ZKeSm9nZY5dI2mnpCclXVp03cz6UWWHtDzcZdQban3oS60fA2pHS+FG4InM45uALRGxGNiSPkbSMLAMGAEuA26V5IlxZk0oleDaa5Od0epZvTrpMnJA6A21Uo4cPdr6SQGFBgVJ84G3AX+WKb4SuDO9fyfwjkz53RHxSkQ8DewELiqyfmb9olyGs89OZqg0Gh+YO9ezi3rRrbfC4cPJv+/hw8X9GxbdUrgFeD+Q3czv3Ih4DiC9PSctnwc8kzlub1pmZnVUWgff+17jY5cuhX37iq+T9a7CgoKkK4D9EfFw3lOqlE36ziNphaStkrYeOHDghOpo1uvKZbjttsatg4UL3V1k+RQ5JfVi4O2SLgdeA5whaSPwvKQ5EfGcpDnA/vT4vcCCzPnzgUkT6iJiA7ABkiypBdbfrKuNjDTeQxmSwUjvkGZ5FdZSiIg1ETE/IhaRDCB/LSKuAe4FrksPuw64J71/L7BM0smSzgcWAw8VVT+zXtZMQFi1yhviWH6dWLx2M7BJ0nuAPcA7ASJiu6RNwA7gMHBDRDhXo9kEpVK+gPDjPw6f/KQDgjXHm+yY9YhyGVauhJdfrn9cpXXgGUZWS71NdpzmwqwHlEr5BpQB7rrLrQObOqe5MOtiIyPJN/886w8AhocdENqtsoJ82rTktlzudI1OjFsKZl0q72ByxfAwbN9eXH1ssnI5SUFx6FDyePfuYykpejU4u6Vg1qWaCQirVzsgdMLatccCQsWhQ0l5r3JQMOsypVK+LTMh6bLwpjids2dPc+W9wEHBrIs02mGropId88gRB4ROOu+85sp7gYOCWReobJmZJyBMn57MMHIw6Lx162DmzOPLZs7s7RXkHmg267C8rYOKV18tri7WnMpg8tq1SZfReeclAaFXB5nBi9fMOm5oKMmLn1cP/5e1LlFv8Zq7j8w6aN48B4Ru0m9rDqbCQcGsA8bGksHiZyflAT5eZYetCAeEolXWHOzenVzrypqDQQsMDgpmbTZvHmzZ0vi41auL3WHLjtePaw6mwkHBrE0qKSsatQ4ATj3VwaBolX+Pyk+tfa17ec3BVDgomLWB1NwK5dtvL64ug65cTqb15v336OU1B1PhoGBWsFmzmjt+7tzentLYzSrjBkdy7tTS62sOpsJBwaxAIyPw0kv5jx8ehn37iqvPoKs2bjDRwoVJy27hQtiwYfACtBevmRUkb/4iSFoHDgatVSolH+pHjiSzuFasyDc+sGtX4VXraoW1FCS9RtJDkr4jabuk/5qWf1jSPknb0p/LM+eskbRT0pOSLi2qbmZFaiahHSSzjBwQWquySrzSTXTkSPJ4YkqKiYaHi69btyuypfAK8NaIOChpBvC3kr6SPveJiPho9mBJw8AyYASYC2yWdKH3abZeMjaWb7pphdcetF65XDttyI9+lASGal1I3o8iUVhLIRIH04cz0p96/wWuBO6OiFci4mlgJ3BRUfUza7VyOX9AOPNMB4QiVAaSazl6NOlSyo4bbNyY/Fs4ICQKHWiWNCRpG7AfuD8ivpU+9V5Jj0q6Q1JlbsY84JnM6XvTMrOecM01+Y4bHoYXXyy2LoOikl1WSm5Xrqw/kDw0lAwc79qVBIhduwZvILmRQoNCRByJiCXAfOAiSa8D1gMXAEuA54CPpYdX64Wd9F1K0gpJWyVtPXDgQEE1N8uv2TEEfyNtjZNOmjxu8PLL9c+p14qwRFumpEbES8CDwGUR8XwaLI4Cn+JYF9FeYEHmtPnApLWfEbEhIkYjYnT27NkF19ysvrGx/GmvTznFXUatUAnCzaYQ9w51+RQ5+2i2pDPT+6cAY8B3Jc3JHHYV8Hh6/15gmaSTJZ0PLAYeKqp+Zidi5szkgynPGMLSpUkwaDQ/3hprdu8JSP6tNm50QMiryNlHc4A7JQ2RBJ9NEXGfpLskLSHpGtoFrASIiO2SNgE7gMPADZ55ZN2oma4igM2bi6nHINqwofEx06bBggX9s+lNuxUWFCLiUeANVcqvrXPOOmDAFpVbrxgZaS5/ESRdRtY6edJTrFzpVsGJcJoLsxxmzpxaQHCX0dRMnFVUKiXlQ0P1z5sxwwHhRDkomDUwNpYsesrLYwgnptZq5FKp/uyhM8+Ef/7n9tSxnzkomNXRzII0SAY0PYYwNZWtMGsNJG/YkLQCVq8+1mLI7kzntR+tocgxR07SbOA/AYvIjENExH8orGY5jI6OxtatWztZBetjzY4heLrp1FVWIjdqXfkat4akhyNitNpzeQea7wG+AWwGPCPI+t6sWflTXk+blj8/v1WXJ6V1o/EEa428QWFmRHyg0JqYdYmxsXwBwQPJrZMnpbVXI7dH3jGF+7Iprs2KVulfnjYtuS2X2/O+IyP5F6Q5ILROvS0vK+MGnlXUHnmDwo0kgeH/Sfph+vODIitmg6vSv7x7d9KHvHt38rjowJB32qkHk6em1jRTSBaYTdzroLIS+fBhB4R2yhUUIuL0iJgWEa9J758eEWcUXTkbTNX6lw8dSsqLMGtW8kGVZ9rp8LBXxzarXIbTTqs9zRSSazoxpfUgboXZDXLNPgKQ9HbgzenDByPivsJqlZNnH/WnadOqzzKRknTHrdRMyoozz/S0x2aVSnDbbbVnDQ0NJS0Ba696s49ytRQk3UzShbQj/bkxLTNruVr9y/X6nZs1b15zAWHpUgeEvLLdROvX159G6llb3SfvmMLlwCURcUdE3AFclpaZtVyt/uV1LcqKNXMmPDspKXttw8MeQ8hr4mrkRjzNtPs0s6L5zMz9H2t1RcwqiuxfLpWaS1lxyineFKcZebKYZnmaaffJu6L5auBm4AGSHdLeDKyJiLuLrV59HlOwZjXbZeQWQnPyXt9p05zNtJNOeEVzRHxO0oPAvyQJCh+IiP/buiqaFavZPRCcTmFqhobqdx1JsGqVg0E3q9t9JOmn09s3kmyasxd4Bpiblpl1PQeE9qnXHbRwIdx1lwNCt2vUUvgtYAXwsSrPBfDWltfIrEXmzcs/oOyUFa1R+cDfsCFpMQwNJYHCgaB35F6n0PQLS68Bvg6cTBJ8/iIiPiTpLODzJBlXdwHviogX03PWAO8hSbr3voj463rv4TEFq6WZgABuHdhgacU6hXdKOj29/3uSvihp0labE7wCvDUiXg8sAS6T9K+Bm4AtEbEY2JI+RtIwsAwYIZnyemu6v7NZ05oJCHPnFlcPs16Td0rqf4mIH0p6E3ApcCdwW70TInEwfTgj/QngyvR80tt3pPevBO6OiFci4mlgJ3BR7t/EjCShXTNjCHPnwr59xdXHrNfkDQqV+QRvA9ZHxD3ASY1OkjQkaRuwH7g/Ir4FnBsRzwGkt+ekh88jGcSu2JuWmeUiNb8pjgOC2fHyBoV9km4H3gV8WdLJec6NiCMRsQSYD1wk6XV1Dq/2/W5ST6+kFZK2Stp64MCBnNW3dmtn6mupudbBjBkeQ5jopJOOXUcpeWyDKW9QeBfw18BlEfEScBbwu3nfJD3nQZKxguclzQFIb/enh+0FFmROmw9M6hmOiA0RMRoRo7Nnz85bBWujdqa+nsp0U2/ufryTToJXXz2+7NVXHRgGVd6gMAf4q4h4StJbgHcCD9U7QdJsSWem908BxoDvAvcC16WHXUey1Sdp+TJJJ0s6H1jc6D2sO7Ur9XWzAWHGjNa+fy/LtuQmBoSKWuXW3/IGhS8ARyS9Fvg0cD7w2QbnzAEekPQo8PckYwr3kaTLuETSU8Al6WMiYjuwiSQL61eBGyLCORR7UK2tFfNsuZhHsxlOIQkIbiEkuZ+mTYNrrjnWkjPLyrtH89GIOCzp3wG3RMQfS/p2vRMi4lFg0rTViPgesLTGOeuAFuXCtHYql5OWwJ49tTeyb0Xq62bXH4A/+CoqGUzN6skbFF5Nk+L9GvDLaZkb4wYcG0OodBlVCwitSn3tgNC8sbF8+05P5O62wZS3++jXgZ8H1kXE02mf/8biqmW9pNoYAiQpDlqV+rrZGUYRDghwYgHB3W2DqbA0F+3gNBedVSody3FTTau2z3RCu6nLe+1mzvSeyINkymkuJG1Kbx+T9Gjm57F0ANkGVJ4dtloxhtDszlwOCMdvh5nHaac5INgxjcYUbkxvryi6ItY7yuXGA5atGEM46aT8LY1BDwZT6SZyBlOrpm5QyKSj2A0g6YxG51h/K5XgtrpZr5IxhHXrTnwMIa9BHxCdSkDwrnJWS64PeEkrgY8AP+JY6okAfrKgelkXKpeTgFDvW/nQEOzaNfX3GBpqbhzCA6IOCNZaeb/1/w4wEhEvFFkZ625r1zbupjmRjdg9oJxfo0H+iYaG4PDhYutk/SFvUPhHwPtSDbhGK5JXr556/3QzAaHW4rh+NzLSXBbYrBMJ1jZY8gaFNcDfSfoWyeY5AETE+wqplXWNPCuVpWTv3amMIThdRT5TWcldsXSpB5Mtv7xB4Xbga8BjQAtmnlsvyLNSWYJVq9oTEGAwA0K5PLWA0IoBfxs8eYPC4Yj4rUJrYl2n3krlo0eTdQhT/dAplZo7fhC7jJrtLvK4gbVC3qDwgKQVwF9yfPfR9wuplXWFWmMIR4+e2EplDyg3NpXxA48bWCvkDQq/mt6uyZR5SmqfO++8JL1ytfKpckCobqo5iiqGhz1uYK2RKyFeRJxf5ccBoc+tW5esTM6a6krlZhPanXKKA0IeQ0PJrK/t21tbJxtcjXIfvT9z/50TnvuDoipl3WH58mQu/MKFJ5btdCqtg2pjGf2oXG4+ICxcCBs3Jtfp8GG3EKy16mZJlfRIRLxx4v1qjzvBWVJ7g7uMJiuV4Pbbmx+bGR52q8BO3JSzpAKqcb/a44lvukDSA5KekLRd0o1p+Ycl7ZO0Lf25PHPOGkk7JT0p6dIGdbMu12yXEQxOQFi/3gHBulOjgeaocb/a44kOA78dEY9IOh14WNL96XOfiIiPZg+WNAwsA0aAucBmSRd6n+be5GBwPCets17RKCi8XtIPSFoFp6T3SR+/pt6JaYbVSpbVH0p6AphX55Qrgbsj4hXgaUk7gYuAbzb+NaybOCAczwHBeknd7qOIGIqIMyLi9IiYnt6vPM6dsFjSIuANwLfSovemm/XcIWlWWjYPeCZz2l7qBxGbgnIZFi1KFoMtWpQ8bhVvmVldMwFh5sxkENkBwTol7x7NUybpNOALwG9ExA+A9cAFwBKSlsTHKodWOX3SR4akFZK2Stp64MCBgmrdnyppK3bvTj6Md+9OHrciMEwlZYUd79RTvQOadV6hQUHSDJKAUI6ILwJExPMRcSQijgKfIukigqRlsCBz+nxgUsaXiNgQEaMRMTp79uwiq993qqWtOHQoKZ+qqQwmw2C0EPKqrDU4eNABwTqvsKAgScCngSci4uOZ8jmZw64CHk/v3wssk3SypPOBxcBDRdVvENVKW9EoJXYtUw0GgxYQli6t/dzq1V5rYN2lyK01LwauBR6TtC0t+yBwtaQlJF1Du4CVABGxXdImYAfJzKUbPPOotYpIW9GMQQsGFZs3Vx9sPpH9J8yKUnfxWrfz4rXmTEyFDcnAZrP92N4D4fidz4aGkuvqD3jrFSeyeM36SCvSVkxlumk/BoT164+l8j5yJHncbDpws27kloLl5vUHienTq+/t4P0MrFfUaykUOaZgA6pfg0FFrc1+Bm0TIOtP7j7qI6VS8i1WSm5b1Z0x1Wmnva5UOva7V37GxpIWQTW1ys16iVsKfWLi7JZKPzec2ADooHYZVcYNJtqyBebOrb5nsnc+s37glkIfqJeTf8OGqb3moKesqHfdnn02mU5aaRlUFp959pH1AweFPrBqVe3nptLPPaitg2xeqEbX7dZbk0Flb3Rj/cbdRz2uVErSI9TSTD/3II4bQHINb7utf4Kb2YlwUOhxjbqH8vZzTzUg9PoHaa2xg3rqpa0w63UOCj2uXjfH0qXFdWv0ejCoaHbMxfscWL9zUOhxQ0PVA4OU78Nr0DOcNho7WLgQdu1qS1XMuoIHmntItQ1yanUP1Rt8rpjKgHI/BQSoP+YycyasW9e+uph1AweFHlFrg5yLL57a9MhmAsKMGf0XDCpqBdXTTvOGNzaYnPuoRyxaVD3tdbPdG4M63bQeZzy1QVMv95GDQo+YNq36B7QER4/mew2nvDYzcOrsvlBrI5yiNshxQDAbTA4KPWLdumTgMyvvQOisWc2nrHBAMBtMRe7RvEDSA5KekLRd0o1p+VmS7pf0VHo7K3POGkk7JT0p6dKi6taLprpBjgQvvZT/fXq4N9HMWqCwMQVJc4A5EfGIpNOBh4F3ANcD34+ImyXdBMyKiA9IGgY+B1wEzAU2AxfW26d5kMYUmjXo6w/MrLaOjClExHMR8Uh6/4fAE8A84ErgzvSwO0kCBWn53RHxSkQ8DewkCRDWJK8/MLOpasuYgqRFwBuAbwHnRsRzkAQO4Jz0sHnAM5nT9qZlA6EVG+QM6mY4ZtY6hQcFSacBXwB+IyJ+UO/QKmWTvr9KWiFpq6StBw4caFU1O2pk5MQ3gu/nhHbVVnKbWTEKDQqSZpAEhHJEfDEtfj4db6iMO+xPy/cCCzKnzwcm7W8VERsiYjQiRmfPnl1c5dugVEo+6HbsqP78VDfIyaNXuoxqreR2YDArRpGzjwR8GngiIj6eeepe4Lr0/nXAPZnyZZJOlnQ+sBh4qKj6dVolZXO9D+a8G+T08yrltWvh0KHjyw4dSsrNrPWKzJJ6MXAt8JikbWnZB4GbgU2S3gPsAd4JEBHbJW0CdgCHgRvqzTzqdXlaAY02yOnnYFCxZ09z5WZ2YgoLChHxt1QfJwCouk1JRKwD+jov5dhY7f2UJ6q3Qc4gBARIVmxXy/lU1Epus0HnFc1tNDKSPyAMD1dPytbsDKNeGTuo5URWcptZ8xwU2qRcrj2gPNHq1bB9++TyQZxuOtWV3GY2Nd55rQ3y7ANcRMrmXm4hZC1f7iBg1i4OCgXLuzH84cO1n3PKCjNrFweFguWZZbS06rB7YlAGlM2sO3hMoWCN1hoMD8PmzZPLmx1QPuUUBwQzO3EOCgWrt9Zg48bWDChHTF7gZWY2FQ4KBau11mD16uqDp82mb5gxo/k6mZnV4qBQsFtvTQJApcUwNJQ8rjXL6Jpr8r92N22Z6aR1Zv2hsE122qGfNtk56SR49dX8x3fTP1slaV22C2vmTK8nMOtWHdlkx/KTeisgTNz7YdUqJ60z6xcOCh00MtJ7KSsq6y6yez8cPFj9WCetM+s9XqfQIUNDcPRo/uPrrWVol3I530K8CietM+s9bim02bx5SeugmYBw5pnV1zK0U2XcIC8nrTPrTQ4KbTRvHjw7aS+5+pYuhRdfLKY+zai22U1WJVmdk9aZ9TZ3H7VRswGh0+MHWY3GB1atam0yPzPrDLcU2qRUyn/s3LndFRCg/vhAvXUXZtZbityj+Q5J+yU9nin7sKR9kralP5dnnlsjaaekJyVdWlS92q0yfTPPAO20aUkw2Lev+Ho1q9ZmNxs3OiCY9ZMiWwqfAS6rUv6JiFiS/nwZQNIwsAwYSc+5VVKDHYq738Tpm/XMnZvvuE7xZjdmg6HIPZq/LmlRzsOvBO6OiFeApyXtBC4CvllQ9doiT9ps6L6uolq82Y1Z/+vEmMJ7JT2adi/NSsvmAc9kjtmblvWksbHk23Seb/6rVxdfHzOzvNodFNYDFwBLgOeAj6Xl1db1Vv3+LGmFpK2Sth44cKCYWp6AWbNgy5bGxzVKjGdm1gltDQoR8XxEHImIo8CnSLqIIGkZLMgcOh+oOoEzIjZExGhEjM6ePbvYCjehVEpaBy+91PjY1auT7TcdEMys27Q1KEiak3l4FVCZmXQvsEzSyZLOBxYDD7Wzbici7z7Mbh2YWbcrbKBZ0ueAtwBnS9oLfAh4i6QlJF1Du4CVABGxXdImYAdwGLghIrp4Lk5iZAR27Mh//OHDxdXFzKwVipx9dHWV4k/XOX4d0DPZcppNWdENCe3MzBrxiuYpKJebCwjdkNDOzCwPB4UpaGbzmG5JaGdmloeDQhMq+xDv3l3/uMqAcoRbCGbWW5wlNadSCW67rfHq4+Fh2L69PXUyM2s1txRyKJfzBYS5cx0QzKy3OSg0UCrBNdfUDwgLFybZQrsxu6mZWTPcfVTH2FjjlBULF8KuXW2pjplZ4dxSqKFcbhwQJO9DbGb9xUGhhkbTTqVkC0qnkjazfuLuoxoa7Ul8110OCGbWf9xSqKHRnsQOCGbWjxwUaqi2JzEkK5Sd5dTM+pWDQg3V9iTeuNErlM2svw1sUCiVYPr05AN/+vTk8UTLlyfTTY8eTW7dZWRm/W4gB5onrj84cuTYJjnuGjKzQTZwLYV66w82bGhvXczMus3ABYV66w+OdP1eb2ZmxSosKEi6Q9J+SY9nys6SdL+kp9LbWZnn1kjaKelJSZcWVa966w+Ghop6VzOz3lBkS+EzwGUTym4CtkTEYmBL+hhJw8AyYCQ951ZJhXxE11t/sGJFEe9oZtY7CgsKEfF14PsTiq8E7kzv3wm8I1N+d0S8EhFPAzuBi4qol9cfmJnV1u4xhXMj4jmA9PactHwe8EzmuL1pWct5/YGZWW3dMiVVVcqq7mAgaQWwAuC8en1BdSxf7jUHZmbVtLul8LykOQDp7f60fC+wIHPcfODZai8QERsiYjQiRmfPnl1oZc3MBk27g8K9wHXp/euAezLlyySdLOl8YDHwUJvrZmY28ArrPpL0OeAtwNmS9gIfAm4GNkl6D7AHeCdARGyXtAnYARwGbogIrxowM2uzwoJCRFxd46mlNY5fB3gfMzOzDhq4Fc1mZlabIqpO8ukJkg4Au1v4kmcDL7Tw9fqNr099vj71+frU187rszAiqs7U6emg0GqStkbEaKfr0a18ferz9anP11AR/Q0AAAdoSURBVKe+brk+7j4yM7NxDgpmZjbOQeF43lGhPl+f+nx96vP1qa8rro/HFMzMbJxbCmZmNs5BISVpl6THJG2TtLXT9em0ZjdJGjQ1rs+HJe1L/4a2Sbq8k3XsJEkLJD0g6QlJ2yXdmJb7b4i616fjf0PuPkpJ2gWMRoTnUQOS3gwcBP48Il6Xlv0h8P2IuFnSTcCsiPhAJ+vZKTWuz4eBgxHx0U7WrRukCS/nRMQjkk4HHibZP+V6/DdU7/q8iw7/DbmlYFU1uUnSwKlxfSwVEc9FxCPp/R8CT5DskeK/Iepen45zUDgmgL+R9HC6Z4NNVmuTJDvmvZIeTbuXBrJrZCJJi4A3AN/Cf0OTTLg+0OG/IQeFYy6OiDcC/xa4Ie0eMGvGeuACYAnwHPCxzlan8ySdBnwB+I2I+EGn69Ntqlyfjv8NOSikIuLZ9HY/8CUK2iO6x9XaJMmAiHg+Io5ExFHgUwz435CkGSQfeOWI+GJa7L+hVLXr0w1/Qw4KgKRT08EeJJ0K/BLweP2zBlKtTZKM8Q+5iqsY4L8hSQI+DTwRER/PPOW/IWpfn274G/LsI0DST5K0DiDZY+Kz6f4OAyu7SRLwPMkmSf8L2AScR7pJUkQM5GBrjevzFpJmfwC7gJWV/vNBI+lNwDeAx4CjafEHSfrNB/5vqM71uZoO/w05KJiZ2Th3H5mZ2TgHBTMzG+egYGZm4xwUzMxsnIOCmZmNc1AwM7NxDgrWUpKOZNL+bpO0SNL1kv5kwnEPShpN72fTlm+T9Edp+Wck/UqV97hQ0pcl7UxTD2+SdG763JskPSTpu+nPisx5H5Z0SNI5mbKDmftr0zTGj6b1+FeZ+p2dOe4tku5L718vKSQtzTx/VVr2K5nf9UlJ35H0vyX9lKQvpe+xU9I/ZX73X5hwbX5M0p9L+sf0588l/Vj63KL0ff5z5r3/RNL1Df6Nfie9No+ndfq1tPwkSbek7/OUpHskzc+cF5LuyjyeLunAhGtxIP09tkv6C0kz69XFuo+DgrXajyJiSeZnV87zfjFzzvtqHSTpNcBfAesj4rUR8S9I8sXMlvQTwGeBVRHx08CbgJWS3pZ5iReA367yuj8PXAG8MSJ+FhgDnslZ98dIFh1VLAO+M+GY5RHxepLMoP8jIq6KiCXAfwS+kfnd/27CeZ8G/k9EXBARFwBPA3+WeX4/cKOkk/JUVNIq4BLgojTl95sBpU//AXA6cGFELCZZrPjFdPUtwMvA6ySdkj6+BNg34S0+n/4eI8A/A+/OUy/rHg4K1mt+FfhmRPxlpSAiHoiIx4EbgM9kUhK/ALwfuClz/h3AuyWdNeF15wAvRMQrlXMr+bBy+AZwkaQZaYKz1wLbahz79fT5hiS9Fvg54PczxR8BRiVdkD4+AGzhWOqIRj4IlCrJ6SLinyLizvQb/a8DvxkRR9Ln/ifwCvDWzPlfASpB9mrgczXqPh04FXgxZ72sSzgoWKudkukK+VLjw8c9kDnvN+sc9zqSDUmqGany3Na0vOIgSWC4ccJxfwMskPQPkm6V9G+aqHsAm4FLSfYLuLfOsb9M0rLIYxjYVvmQBkjvb+P43+lm4LclDdV7MSX5vU6PiH+s8vRrgT1VMplOvH53A8vSFtvPcizdc8W7JW0jaUGcBfwl1lMcFKzVst1HV6VltXKpZMuz3UefmOJ7q8Z7TSz7I+A6SWeMHxBxkORb+QqSb9+fz/TN53nNu0m6jZZR/dtzOf2wvBj4nfq/xrhav89x5RHxNPAQSStqKq/XzHs9CiwiaSV8ucrxn0+7xX6CJPj9boM6WZdxULB2+B4wcbOQs0j695u1neTDu9ZzoxPKfg7YkS2IiJdIxh5KE8qPRMSDEfEh4L3Av0+fmlj/SXWPiIdIWjFnR8Q/VKnb8jTgvSMi8o5VbAfeIGn8/2l6//UkO3Vl/QHwAer8n05bAS8rSQA50U5gYdqayHojE64fSUvoo9ToOkrfK0haCd6XpMc4KFg7/D1wcToQTDqz5mTyD+RmfRb4hezgsaTLJP0M8KfA9ZKWpOU/Dvx34A+rvM7HgZUkWXFJZwQtzjy/BNid3n8QuDY9bgi4BnigymuuIemzb4mI2Al8G/i9TPHvAY+kz2WP/S7Jh/cVDV72vwF/WmklSTpD0oqIeJlkEPzjlW6odFbSTOBrE17jDuAjEdGoG+xNQLWuKuti0ztdAet/EfG8pBuBL6ffdA8CV6cbiVQ8IKnSd/5oRPxaev92Sbek95+JiJ+XdAVwS1r+KvAocGP6PtcAn0q/8Qq4JTsonanTC+mYR2X84jTgjyWdCRwm+eZcmc76+8B6Sd9JX/OrwMYqr/mVpi9OY+9J67Uzfe9vpmXVrCMJIvWsJ/ld/17SqyTXr7K71xqSFsA/SDoKfBe4KiakUo6IvcAna7z+u5WkhZ4G7AWub1Af6zJOnW1mZuPcfWRmZuPcfWTWhyT9KclMp6xPpmsPzGpy95GZmY1z95GZmY1zUDAzs3EOCmZmNs5BwczMxjkomJnZuP8PgjC7itdQiLQAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(viz.FUELCONSUMPTION_COMB, viz.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"FUELCONSUMPTION_COMB\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"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": 19,
"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()\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ True, False, False, ..., False, True, True])"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.random.rand(len(df)) <0.8"
]
},
{
"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": 22,
"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": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"859"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(train)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"208"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(test)"
]
},
{
"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": 26,
"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": 32,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.34746921]]\n",
"Intercept: [124.27018394]\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",
"#regr.fit (train[['ENGINESIZE']], train[['CO2EMISSIONS']]) # This also works\n",
"# The coefficients\n",
"print ('Coefficients: ', regr.coef_)\n",
"print ('Intercept: ',regr.intercept_)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "'NoneType' object is not callable",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-39-cd87d10a8904>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mregr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mn_jobs\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[0m",
"\u001b[0;31mTypeError\u001b[0m: 'NoneType' object is not callable"
]
}
],
"source": []
},
{
"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": 33,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 33,
"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": 40,
"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.38\n",
"Residual sum of squares (MSE): 910.73\n",
"R2-score: 0.70\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.7"
},
"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