Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rquintel/7eaacf651b9c7ad53db15e97b5986fcc to your computer and use it in GitHub Desktop.
Save rquintel/7eaacf651b9c7ad53db15e97b5986fcc 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-04-07 22:55:11-- 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-04-07 22:55:11 (1.65 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": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEICAYAAABYoZ8gAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3Xu4HFWd7vHvyx0BCTESIhc3SoZHMI6XiHFwdCugENDgAA7KQII4OaPggEYFPQyXOTqDzgEFZZwThQEkoggIUfEIRvYgngElDHIxYqJGiIRELknYgI6R3/ljrQ6VTvfu3p3u3d273s/z1LO7VlVXrapd9etVq1atUkRgZmblsUW3M2BmZmPLgd/MrGQc+M3MSsaB38ysZBz4zcxKxoHfzKxkHPjNzEqm1IFf0nsk3SlpWNJKSd+V9IY8bT9JCyWtlfSkpFsk/UXhu38m6QZJv5P0uKTvSdq3MP0cSX/My64MawrTQ9IqSVsV0raStFpSFNKGJL2vMP4JSb/Oy1sh6euFaftLuknSE5LWSFosaWaeNihpRdX2HyHpx5KekvSYpAWS9ihMn5Pz+dGq762QNJg/T5B0qaRH8n76haTTW/yXWI+pc478Qz52JxXm21bSEkn/Q9JAPm62qrG8cyRdWRgPSfdK2qKQ9klJl+XPlWVVzqFVkr4t6ZCq5S6X9EzV+faFPG2OpD/ltHWSfirpiKrvnyTp5/kYXiXpO5J2atuO7DGlDfySPgx8DvgnYDKwF/CvwCxJLwV+BNwL7A28CPgmcJOk1+dFTAAWAvvm7/8YuKFqNV+PiB0Lw4Sq6WuAwwrjM4EnRsjzbOB44OCI2BGYDiwqzPIt4Oacn12BvwfW1VnW0cBXgQuBScD+wB+A2yTtUpj1ceB0Sc+vk63PAjsCLwN2Bt4B/LLeNlj/GOEceT7wbdKxU3EmsBKY38KqXgQc22CeCfmY/3PSMf5NSXOq5nl71fl2SmHaf+bvT8jb8DVJEwAkvSlv47sjYifSsXx1C9vRPyKidAMpQA0Dx9SZ/hXgxhrpXwRurfOdiUAAL8jj5wBXjpCHIJ0s3yikXQP8z/Rv2ZA2BLwvf/4C8Lk6y5uUlzmhzvRBYEX+LOA3wMeq5tkCuA/4xzw+B7iN9INydmG+FcBg/nwfcGS3/6ce2js0cY7snI+Dw4GXkwosL83TBvKxuFWN7210XuT5TgeWVuYHPglcNtKygI8Aq4At8vhyUoGoVl7nALcVxp+Xl/nawrKu7/Y+H8uhrCX+1wPbkUrxtRwCfKNG+tXAgZKeV2PaG4FHIuKxUeTjeuCNubpkAvCXbHrVUHQ7cIKkj0qaLmnLwrTHgGXAlZKOlDR5hOXsSyq9bbSNEfEscC1p+4v+AfiQpIl18vQpSSdKmjrCOq2/jHiORMRa4P3AvwGXAudGRKtXeteRrkznjPI7u5KO5ablc+ZE4I+kwg/AHcDbJJ0r6UBJ245mmf2orIH/BcCjEbG+zvRJpMvWaitJ+6xYFUKuF78Y+HDV/O/Kde2V4Zaq6b8nlab/mnSpuzCn1RQRVwIfBN4G/AewWtIZeVoAbyaVfM4HVkq6tU4wrtTN1tvGScWEiLgbuIlUMqv2QWABcArwM0nLJB1WYz7rL43OESLiW6Qf/i2AizZjXUEqXJw1iqD7cP5bLIxcX3W+/W1h2ox8j+33wP8G/iYiVuft+CHwV8Crge8Aj0m6oKpgNa6UNfA/BkyqdfMpexSYUiN9CvAshXp4SS8kBcV/jYirqua/OiImFIY311jmFcAJebiiUcYjYkFEHEyqq/w74B8lvS1PWxERp0TES4EXA0/VWeajhe2ptY2P1kg/C3i/pN2q8vNMRPxTRLyGFCyuBr5R5+rA+kejc6TifuDn+WqxZRFxI/AgMLfJr+ye/z5eSDuy6nz7UmHa7ZHuse1CKmD9ZdX6vxsRbyf9kMwiXX28j3GqrIH/P0m//EfWmf594Jga6e8i3SR6GiDfBL0JWBgRn2oxLz8kBdvJpPr0pkTEHyPiG8A9pDrW6ukPka5CNpkGPECqn91oG3PLiqPY+IZxZXk/J11ef2KEPK0j3STbgXRT3PpXo3OkE84k3eOqVZVa7Z3AatKx3LSIGAY+ABwv6VU1pj8bEYuAH1D73BkXShn4c/3kWcDFuT78eZK2lnSYpM8A5wJ/IelTkiZK2knSB0ml8tMBciuX7wE/iogzNiMvAbwdeEf+XFdulnZ4zs8WuUplf+AOSbvkOsp98rRJwHtJl+K11vkR4MzcXG/7XJL/MqnFxmfrZOFcUv3ohtZJuWnfayVtI2k74FRSa6VRnZDWW5o4R5qxraTtCsOI8SYihkgt6WbXm0fSZEmnAGcDH2/lSiPfh/syafuQNEvSsfkckqQDgDdR49wZL0oZ+AEi4gJSnfyZwO+Ah0j11NdHxFLgDaSmY8tJ9d5HAW+LiB/lRbwTeC1wYlXb4b0Kq/nrqmnDknatkZf7I+L+JrK9jlTifpAUXD8DvD8ibgP+m9QC4vt5vvtIzTPn1Nn+r5Oahn6IVLXzM2B74MB6N6gj4tekFk87FJOBf8/LeJh0Y/jwXLKyPjbSOdLkIoaBZwrDW5r4zplsXG9fsUbSU6Qfhpmk1kaXVs3zrapzrV7jDUjNVGdKegWp6vZvSS2L1gFXAv8SEQuayG9fUoNCppmZjTOlLfGbmZWVA7+ZWck48JuZlYwDv5lZyTR6OGNMTJo0KQYGBrqdjZqeeuopdthhh8Yzlkiv7pPFixc/GhEv7HY+mtFrx3wv/k+dp8ZaPeZ7IvAPDAxw5513djsbNQ0NDTE4ONjtbPSUXt0nkn7TeK7e0GvHfC/+T52nxlo95l3VY2ZWMg78ZmYl48BvZlYyPVHH368GzvhOS99bft7hbc6JlV0rx6KPw/Jyid+sDklbSvovSd/O43tLukPSUklfl7RNTt82jy/L0we6mW+zRhz4zeo7FVhSGP808NmImErq2OuknH4S8ERE7EPq2fTTY5pLs1Fy4DerIb9V7XBS971IEql3yWvyLJfzXF/1s/I4efpBeX6znuQ6/qxeHem8aeuZ02JdvvW1zwEfA3bK4y8A1hReRbiC594CtTupy2IiYr2ktXn+jd5kJmku+Q1TkydPZmhoqG2ZnTet7hsS6yquf3h4uK35aQfnqXMc+LvAN+J6m6QjgNURsVjSYCW5xqzRxLTnEiLmA/MBpk+fHu18EKiVwsny455bf689mATOUyc58Jtt6kDgHZJmAtuR3kr2OWCCpK1yqX8Pnnvh9wpgT2BFfkftzmz8LliznuI6frMqEfHxiNgjIgaAY4EfRMRxwC3A0Xm22cAN+fNCnntd4NF5fr/hyHqWA79Z804HPixpGakO/5Kcfgnwgpz+YaDldzCbjQVX9ZiNIL8AfCh//hVwQI15fg8cM6YZM9sMLvGbmZWMA7+ZWck48JuZlYwDv5lZyTS8uStpT+AKYDfgWWB+RFwoaSLwdWAAWA68KyKeyI+qXwjMBJ4G5kTEXZ3JvpmNNT+A2P+aKfGvB+ZFxMuAGcDJkvYjNVlblDusWsRzTdgOA6bmYS7wxbbn2szMWtYw8EfEykqJPSKeJPVWuDsbd0xV3WHVFZHcTnracUrbc25mZi0ZVTv+3M/4q4A7gMkRsRLSj4OkXfNsGzqsyiqdWa2sWlbHOqxqRb1OriZv31oHWO3W7f1TNF46qjIrq6YDv6QdgWuB0yJi3Qi9zna9w6pW1Ovkat609Zx/b/efcyt2qNVt46WjKrOyaqpVj6StSUF/QURcl5NXVapw8t/VOb3SYVVFsTMrMzPrsoaBP7fSuQRYEhEXFCYVO6aq7rDqBCUzgLWVKiEzM+u+ZuowDgSOB+6VdHdO+wRwHnC1pJOAB3mur5IbSU05l5Gac57Y1hybmdlmaRj4I+I2atfbAxxUY/4ATt7MfJmZWYf4yV0zs5Jx4DczKxkHfjOzknHgNzMrGQd+M7OSceA3MysZB34zs5Jx4DczKxkHfjOzknHgNzMrGQd+M7OSceA3MysZB34zs5Lp/qulzMxquPe3a+u+Ga+e5ecd3qHcjC8u8ZuZlYwDv5lZyTjwm5mVjAO/mVnJOPCbmZWMA7+ZWck48JuZlYwDv1kVSXtKukXSEkn3Szo1p0+UdLOkpfnvLjldki6StEzSPZJe3d0tMBuZA7/ZptYD8yLiZcAM4GRJ+wFnAIsiYiqwKI8DHAZMzcNc4Itjn2Wz5jnwm1WJiJURcVf+/CSwBNgdmAVcnme7HDgyf54FXBHJ7cAESVPGONtmTXOXDWYjkDQAvAq4A5gcESsh/ThI2jXPtjvwUOFrK3LayqplzSVdETB58mSGhobals9509aP+jvF9Q8PDzedn81dV7Mmbz/6dbVzn9Yymv3Uyxz4zeqQtCNwLXBaRKyTVHfWGmmxSULEfGA+wPTp02NwcLBNOWXUfdoALD/uufUPDQ3RbH42d13N+vyCGzj/3tGFqFbWMxqj2U+9zFU9ZjVI2poU9BdExHU5eVWlCif/XZ3TVwB7Fr6+B/DwWOXVbLQaBn5Jl0paLem+QppbN9i4pVS0vwRYEhEXFCYtBGbnz7OBGwrpJ+TjfwawtlIlZNaLminxXwYcWpXm1g02nh0IHA+8RdLdeZgJnAccImkpcEgeB7gR+BWwDPgS8IEu5NmsaQ0r0CLi1nyDq2gWMJg/Xw4MAadTaN0A3C5pgqQpLv1YP4mI26hdbw9wUI35Azi5o5kya6NWb+5uVusG6GwLh1bUaz3QSsuCTuj2/ikaLy0bzMqq3a16mmrdAJ1t4dCKei0V5k1bP+qWBZ3Q6dYKozFeWjaYlVWrEW1VpQqnF1s3DLTQ3KzXtbJNfg2dmdXSanNOt24wM+tTDUv8kq4i3cidJGkFcDapNcPVkk4CHgSOybPfCMwktW54GjixA3k2M7PN0EyrnnfXmeTWDWZmfaj7dy2tY3xfwMxqcZcNZmYl48BvZlYyDvxmZiXjwG9mVjIO/GZmJePAb2ZWMg78ZmYl48BvZlYyDvxmZiXjwG9mVjIO/GZmJePAb2ZWMg78ZmYl48BvZlYyDvxmZiXj/vhtI8304T9v2vpNXk7vfvzN+odL/GZmJePAb2ZWMg78ZmYl48BvZlYyDvxmZiXjwG9mVjIO/GZmJdPz7fibaVduZmbN6/nAb/2hlR9oP/Rl1h2u6jEzKxmX+M3MxkivXBl3pMQv6VBJD0haJumMTqzDrNf4uLd+0fYSv6QtgYuBQ4AVwE8kLYyIn7V7XWa9oh+P+2Lps1bHe2XSbEm8uJ/6+R5VJ6p6DgCWRcSvACR9DZgF9OwJYNYGbTvu3ZLNOk0R0d4FSkcDh0bE+/L48cDrIuKUqvnmAnPz6L7AA23NSPtMAh7tdiZ6TK/ukxdHxAu7seJmjvseP+Z78X/qPDXW0jHfiRK/aqRt8usSEfOB+R1Yf1tJujMipnc7H73E+6Smhsd9Lx/zvfg/dZ46pxM3d1cAexbG9wAe7sB6zHqJj3vrG50I/D8BpkraW9I2wLHAwg6sx6yX+Li3vtH2qp6IWC/pFOB7wJbApRFxf7vXM4Z68tK8y7xPqoyD474X/6fOU4e0/eaumZn1NnfZYGZWMg78ZmYlU+rAL2lPSbdIWiLpfkmn5vSJkm6WtDT/3SWnS9JF+ZH8eyS9urtb0DmStpT0X5K+ncf3lnRH3idfzzcwkbRtHl+Wpw90M982MknLJd0r6W5Jd9aYPqbHuKR9c14qwzpJp1XNMyhpbWGeszqQj0slrZZ0XyGtZhyo8d3ZeZ6lkma3O2+dUOrAD6wH5kXEy4AZwMmS9gPOABZFxFRgUR4HOAyYmoe5wBfHPstj5lRgSWH808Bn8z55Ajgpp58EPBER+wCfzfNZb3tzRLyyTnv0MT3GI+KBnJdXAq8Bnga+WWPWH1bmi4h/7EBWLgMOrUqrFwc2kDQROBt4Henp7bPr/UD0klIH/ohYGRF35c9PkgLd7qRH7S/Ps10OHJk/zwKuiOR2YIKkKWOc7Y6TtAdwOPDlPC7gLcA1eZbqfVLZV9cAB+X5rT918xg/CPhlRPxmjNa3QUTcCjxelVwvDhS9Dbg5Ih6PiCeAm9n0B6TnlDrwF+UqilcBdwCTI2IlpB8HYNc82+7AQ4Wvrchp483ngI8Bz+bxFwBrImJ9Hi9u94Z9kqevzfNbbwrgJkmLcxcS1bp5jB8LXFVn2usl/VTSdyXtP0b5qRcHivoyJjjwA5J2BK4FTouIdSPNWiNtXLWHlXQEsDoiFheTa8waTUyz3nNgRLyaVKVzsqQ3Vk3vyv8z3zN6B/CNGpPvIvVJ8+fA54HrO52fUejL47/0gV/S1qSgvyAirsvJqyqXt/nv6pxehsfyDwTeIWk58DVSFc/nSJf8lQf+itu9YZ/k6Tuz6SWz9YiIeDj/XU2qSz+gapZuHeOHAXdFxKrqCRGxLiKG8+cbga0lTRqDPNWLA0V9GRNKHfhzXfQlwJKIuKAwaSEwOwe/B4G9JQ0DJwDnSZojKYDtK5eCeXkrJA0WxqdK+pqk3+XWCkslfT7XoVdaK6wozD8k6feS9iykHZzzURlfLukZScOF4Qt52jaSzs/5GJb0a0mfrfruwfnz/VXLGJb0B+D0iNgDmEO6tN2GVNc5ARiW9HpgNnBDcV/lz0cDPwg/FdiTJO0gaafKZ+CtwH1Vsy0ETsite2YAa4vHeAe9mzrVPJJ2q9w3knQAKW49NgZ5Kh7bxWO+6HvAWyXtkm/qvjWn9baIKO0AvIF0WXYPcHceZpLqqBcBfyRdZk7M84v0so3VpBZBa4DnF5a3AhjMn/chlXwvAPbIabsCpwHH5vFBYEXh+0OkA3p+Ie1gYHlhfDlwcJ3tORv4D+BFOa8DwAlNfndH0s3tcwt5+x3w7Tz+EuDHwDLS5fi2OX27PL4sT39Jt/+vvTTkff4MMFwY3lP8v1f9/9+XP5+Tj7/i99YU5g1gnzrrnEIq0KwEngR+DpwL7A/8NA+PkLoXfiYfp/8X2LZwjK/L65hdWO4+KWRsGN8fuInUymsNsBiYmafNAW6rsz8Ozp8vy+s4Oh/3O+f0z+X0y/P4V/L4n0jn3S+AI4DjCvvmGdI9qQ37q9YxTyqRL8jreyofs0eQfnRW5n0epHN5EikOLAV+DXw1L2M68OXCMt+bj/9lwPvy/25pXv5y4FJgoDD/EXm9T+V8LCDHiMK+C+CCqn13ZE6/LI8P5PHKNq8C/hXYuuFx2e0To5eH6oOm6h9zG/At4OxCejHwXwl8q8HyB9k08J9NOln3yWmjCfzfJt2nGNX25GlfI53EW9TKm4f2HUP19i2bBv4rR1huzcAPTMzr/Gol2JCqIi4EXpHHP58D0+tJ/XXtnwPRDYXlXJaD0k2FtOrA/yvgo6Srwm1I1YRvyNPm0FzgfwC4tjB9K+C3pCA6p3pZpNL+B0nNPic2sU+L66vsm38HdgO2J11prAOOrtq3jwHvKaR9khxwG/y/F5IKi6/N27IzcDJwUp5+dF7fcXn9u5F+GJYDuxS2d1neD1sVln1d3l+X5fGBnNet8viuwH8xQgyoDKWu6mmDfwA+lNvyVjuYdO9gtH4LfIl04o/W7cCHJX1A0rRmm1VK+nvSSfueiHi20fzW0z5MKjj8TUQsB4iIhyLi1Ii4R9JU4APAcRHxnxGxPlJnckcBh0p6S2FZlwOvkPSm6pXkOva9gS9FxH/n4UcRcdso8/st4MBC2/dDSVfgj9SaOR+fl5KC5ktGua4PkUrGJ0XEIxHxTERcBXwKOL/qfPkMcG7hvlZDuRr1EGBWRPwk79u1EXFxRFySl38+8MmIWJDX/wjpKmE456/iEeBeUnPRyvMCf8EIPb5Gum9zM7Bfo7w68Dd2vaQ1heFvKxMi4m5SKfn0Gt+bROHglXRK/v6wpC81WOc/A28fodlavTz9M+kBquOAO4HfNnqSMNfj/hNwTERUv1noRVXrWZPrhq13HQxcN8IP+EGkkvGPi4kR8RCp4HBIIflp0rHxqRrLeYxUKr1S0pGSJreY39+TgtmxefwE4Ip6M+dAXAmUS0e5rkNIVxfV++ZqYC/gzwpp15FK5nNGsfyDgR/nfVnLvnk9G7Vcyvm5lo33PaT9cEL+fCzpHsMf6q1c0otIPxS3N8qoA39jR0bEhMJQHbTPAt4vabeq9MdIda0ARMQXImICqf5y65FWGBG/A74A1HtCsWaeIuJPuXRxIOlm7KeASyW9rNZCcqntG8DHIz2sU+3hqvVMiIinRsq71VT8oR5NU8R3Vf3o3tLEd15AqquuZ9II01fm6UX/B9hL0mHFxEh1C28mVVGcD6yUdGu+ohitK0g3lHcG3kTt5pozJK0hFabeDbwzItaOcj31tn1lYXpFkK7oz5K0bZPLb2bfU2eeWvv+m8Bg3i8j/SA+mvfNb0n3Da6pM98GDvybKSJ+TiodfKJq0iLgrzZj0f9COrFe02K+nomIi0k33ja59JO0Bake+EcR8fnNyKc1VvyhPpJ0g7LWj//WpJuLFVdX/ei+uYl1bVTgqOHREaZPoep9shHxB+B/5UFV01ZExCkR8VLgxaSgUwlOzW4juXrohcCZpMYEz9T43u15H0yKiBkR8f0RtrGeets+pTC9mK8bSa36aj3oVksz+54689Ta988A3yHtl0kR8aM6y52UC5XPA35EulE/Igf+9jgXOJFUyq44B/hLSRdI2h02lLBrlr6rRcQaUknqY81mQtJpuYno9pK2ytU8O5Fu+FQ7h3TT733NLt/a5kFgktKDg8CGpsUvBja3u4LvA+/MP+y1/ADYMzeL3CA3IZ5BKrBU+3fSTcp31ltprt64GHh5TnqQdKWw4cdC0vNINyBrbeOVwDxGqOZpg+8DR9XYN+8iPX37ixrfORP4n6Sg2szyD6g0167hAVIDkGOKiTk/R1F7319B2i9fabTy/ENxGekp5xGfc3Dgb+xbVW3dN+lAKiJ+TfrH7FBI+wXpRNoD+KmkJ0m/xg+TLiGbcSGpCVuzeXqG9GNRaap3MnBURPyqxjLOJN0ce6RGe/698jwvqjHtqCbzbnVExIOkrkE+LWnHXJXwUVIpuWH9bME2krYrDFuSmg8/H7hc0osBJO2eCyCvyMflvwELJM1Q6oV1f1Id8/drlaQjdcVxDoV7Wbnd+rmS9pG0RQ407y3k/w5S/f0ZOW87AOeR7j3VCvwXkeq4bx3F9o/WZ0n75hKlZwO2k/RuUmD/aK6+2khEDJFusjbsdTPvu5uBb0p6TS587STp7yS9Ny//I8CZkt6TC2i7kfrEen7OX7X/IO2Xhlfl+Tg6nnT+j/ycQ6NmPx48eGh9oH6T4D1J91cqP9LfA/YrTD+HTdvxDwO75ulRY6g0BX0RqeXLIzzXjv9s4Hl5+hakIL6MVFh4iNSKZbvC+i8jtT6h8J372FC9zw6kVj/Lc74eIbWF373wnf3ydj1KamN+DbBnvXVU7Z/bqNGcc4T9PEiD5px5fK+cz8dJVVM/IbXCKX5no6aypJ43N7Sfb5CPbUg1AMvy8n9DCux7FeaZldf7VM7HVVX7pe72UmhWyqbt+NeQfihe2yiffvWimVnJuKrHzKxkHPjNzJok6bga972GJd3f7byNhqt6zMxKpunHkTtp0qRJMTAw0O1s8NRTT7HDDv3zYGq/5Rc6m+fFixc/GhEv7MjC26xXjvl6+vHYapd+2vZWj/meCPwDAwPceecm730ec0NDQwwODnY7G03rt/xCZ/MsqS2v7JO0HalZ4bakc+SaiDhb0t6kzuwmkjriOj4i/js3o7uC9LDdY8BfR+4np55eOebr6cdjq136adtbPeZdx2+2qT8Ab4n0xqdXkjovm4FfOG/jhAO/WZVIhvPo1nkI/MJ5Gyd6oqrHrNfkp2AXk/qgvxj4JU2+cF5S5YXzj1Ytcy6535fJkyczNDTU4a1o3fDwcE/nr5PKsO3jMvAPnPGdUX9n+XmHdyAn1q8i4k/AKyVNIPWSWKuPpUqTuKZeuB0R84H5ANOnT49u1yOPdJ7Mm/Ynzr+tdkes4/1c6ac6/la5qsdsBJE6yxsi9bvkF87buODAb1ZF0gtzSR9J25NesLEEuIX06jzwC+etj43Lqh6zzTSF1LvllqTC0dUR8W1JPwO+JumTpK6uL8nzXwJ8RdIyUkn/2FoLNesVDvxmVSLiHuBVNdJ/BRxQI/33VPWxbtbLHPg3Qys3kWH83xwzs97mOn4zs5Jx4DczKxkHfjOzknHgNzMrGQd+M7OSceA3MysZB34zs5Jx4DczKxkHfjOzknHgNzMrGQd+M7OSaRj4Je0p6RZJSyTdL+nUnD5R0s2Slua/u+R0SbpI0jJJ90h6dac3wszMmtdMJ23rgXkRcZeknYDFkm4G5gCLIuI8SWcAZwCnA4cBU/PwOuCL+a+ZjQN+w13/a1jij4iVEXFX/vwk6YUUu7PxC6arXzx9RX5h9e2ktxZNaXvOzcysJaPqllnSAKmf8juAyRGxEtKPg6Rd82wbXjydVV5KvbJqWR178fS8aesbz1RlaGho1C9ZbmU9lXW1Qz++FLof82w23jQd+CXtCFwLnBYR66Ra75dOs9ZIG9MXT89p5VL0uMFRv2S5lfVU1tUO/fhS6H7Mcz9o9d0QVk5NteqRtDUp6C+IiOty8qpKFU7+uzqnb3jxdFZ8KbWZmXVZM616RHqn6JKIuKAwqfiC6eoXT5+QW/fMANZWqoTMzKz7mqnqORA4HrhX0t057RPAecDVkk4CHuS5d47eCMwElgFPAye2NcdmZrZZGgb+iLiN2vX2AAfVmD+AkzczX2Zm1iF+ctesih9atPHOgd9sU5WHFl8GzABOlrQf6SHFRRExFViUx2Hjhxbnkh5aNOtZDvxmVfzQoo13o3qAy6xsxvNDiyOZvH17l9lPD+2V4SFDB36zOsb7Q4sjmTdtPeff277w0K6HFsdCGR4ydFWPWQ1+aNHGMwd+syp+aNHGO1f1mG3KDy3auObAb1bFDy3aeOeqHjOzknHgNzMrGVf1ZANnfId509a3vVmcmVmvcYnfzKxkHPjNzErGgd/MrGQc+M3MSsaB38ysZBz4zcwipsvqAAAHB0lEQVRKxoHfzKxk3I6/TwzUeL6g0XMHy887vJNZMrM+5RK/mVnJOPCbmZWMA7+ZWck48JuZlUzP39ytdVPTzMxa5xK/mVnJNAz8ki6VtFrSfYW0iZJulrQ0/90lp0vSRZKWSbpH0qs7mXkzMxu9Zkr8lwGHVqWdASyKiKnAojwOcBgwNQ9zgS+2J5tmZtYuDQN/RNwKPF6VPAu4PH++HDiykH5FJLcDEyRNaVdmzcxs87V6c3dyRKwEiIiVknbN6bsDDxXmW5HTVlYvQNJc0lUBkydPZmhoqOaK5k1b32IWR2/y9mOzvnrbOpJa+WqU31bW02nDw8M9mS/rrFYaafjJ885pd6se1UiLWjNGxHxgPsD06dNjcHCw5gLH8lWI86at5/x7O9/Qaflxg6P+Tq390Ci/rayn04aGhqj3v+4lki4FjgBWR8TLc9pE4OvAALAceFdEPCFJwIXATOBpYE5E3NWNfJs1o9VWPasqVTj57+qcvgLYszDfHsDDrWfPrGsuw/e2bJxqNfAvBGbnz7OBGwrpJ+TWPTOAtZUqIbN+4ntbNp41rNeQdBUwCEyStAI4GzgPuFrSScCDwDF59htJl7vLSJe8J3Ygz2bdsln3tpq9r9WKdt+bGqv7XSPp1r2gMtyHahj4I+LddSYdVGPeAE7e3EyZ9Zmm7m01e1+rFe2+FzZW97tG0q17VP1yH2pz9HyXDWY9ZJWkKbm073tbHeaWQJ3jLhvMmud7WzYuuMRvVoPvbdl45sBvVoPvbdl45qoeM7OScYm/C/yOATPrJpf4zcxKxoHfzKxkHPjNzErGgd/MrGR8c3cc85OPZlaLS/xmZiXjEr9tpNWmpr5SMOsfLvGbmZWMA7+ZWck48JuZlYwDv5lZyTjwm5mVjFv1mNm44VZpzXGJ38ysZFziN+sx7rbbOs0lfjOzknHgNzMrGVf1mFnpFavX5k1bz5wmqtv6+YawS/xmZiXjEr+ZWQv6udvzjpT4JR0q6QFJyySd0Yl1mPUaH/fWL9pe4pe0JXAxcAiwAviJpIUR8bN2r8usV/i4t2b0ylVCJ6p6DgCWRcSvACR9DZgF+ASwjfTKSdAmPu6tb3Qi8O8OPFQYXwG8rnomSXOBuXl0WNIDHcjLqPw9TAIe7XY+mtVL+dWnm551s/LcYD0vbnW5bdDwuO/FY76eXjq2xlqvbXsnjvlOBH7VSItNEiLmA/M7sP6WSbozIqZ3Ox/N6rf8Qn/muUkNj/tePObrGcf/p4bKsO2duLm7AtizML4H8HAH1mPWS3zcW9/oROD/CTBV0t6StgGOBRZ2YD1mvcTHvfWNtlf1RMR6SacA3wO2BC6NiPvbvZ4O6YvL8IJ+yy/0Z54b6vPjvpZx+X9q0rjfdkVsUv1uZmbjmLtsMDMrGQd+M7OSKVXgl7SnpFskLZF0v6RTa8wzKGmtpLvzcFY38lqVp+WS7s35ubPGdEm6KHcVcI+kV3cjn4X87FvYf3dLWifptKp5em4/l5WkSyWtlnRfIW2ipJslLc1/d+lmHjuhXjwoxbaXqY5f0hRgSkTcJWknYDFwZPGxekmDwEci4oguZXMTkpYD0yOi5kMlkmYCHwRmkh4aujAiNnlorhtyVwa/BV4XEb8ppA/SY/u5rCS9ERgGroiIl+e0zwCPR8R5ud+hXSLi9G7ms93qxQNgDuN820tV4o+IlRFxV/78JLCE9MRlv5tFOmkjIm4HJuSDuhccBPyyGPStt0TErcDjVcmzgMvz58tJAXFcGSEejPttL1XgL5I0ALwKuKPG5NdL+qmk70raf0wzVlsAN0lanB/7r1aru4Be+UE7FriqzrRe28/2nMkRsRJSgAR27XJ+OqoqHoz7bS9lf/ySdgSuBU6LiHVVk+8CXhwRw7kK5Xpg6ljnscqBEfGwpF2BmyX9PJfSKprqJmOs5QeZ3gF8vMbkXtzPVkLV8UCqdTqNL6Ur8UvamvRPXhAR11VPj4h1ETGcP98IbC1p0hhnszpPD+e/q4FvknqCLOrV7gIOA+6KiFXVE3pxP9tGVlWqC/Pf1V3OT0fUiQfjfttLFfiVfsovAZZExAV15tktz4ekA0j76LGxy+Um+dkh33hC0g7AW4H7qmZbCJyQW/fMANZWLlW77N3Uqebptf1sm1gIzM6fZwM3dDEvHTFCPBj/216yVj1vAH4I3As8m5M/AewFEBH/lh+7fz+wHngG+HBE/L8uZBcASS8hlfIhVc19NSI+JenvYEOeBXwBOBR4GjgxIjZp9jmWJD2PdN/hJRGxNqcV89xT+7nMJF0FDJK6I14FnE2qeruadG48CBwTEdU3gPvaCPHgDsb7tpcp8JuZWcmqeszMzIHfzKx0HPjNzErGgd/MrGQc+M3MSsaB38ysZBz4zcxK5v8DhtoJDID9LSsAAAAASUVORK5CYII=\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": "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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,
"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": [
"# Cylinder vs Emission\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]"
]
},
{
"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.72093062]]\n",
"Intercept: [123.10782458]\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: 25.38\n",
"Residual sum of squares (MSE): 1149.98\n",
"R2-score: 0.62\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