Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save DryLabRebel/d9376fbc8e1c4267332610d500048a6f to your computer and use it in GitHub Desktop.
Save DryLabRebel/d9376fbc8e1c4267332610d500048a6f to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<center>\n",
" <img src=\"https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/images/IDSNlogo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n",
"</center>\n",
"\n",
"# Simple Linear Regression\n",
"\n",
"Estimated time needed: **15** minutes\n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"- Use scikit-learn to implement simple Linear Regression\n",
"- Create a model, train,test and use the model\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Importing Needed packages\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import pylab as pl\n",
"import numpy as np\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Downloading Data\n",
"\n",
"To download the data, we will use !wget to download it from IBM Object Storage.\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2021-05-27 03:46:30-- https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv\n",
"Resolving cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)... 169.45.118.108\n",
"Connecting to cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud (cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud)|169.45.118.108|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 72629 (71K) [text/csv]\n",
"Saving to: ‘FuelConsumption.csv’\n",
"\n",
"FuelConsumption.csv 100%[===================>] 70.93K 320KB/s in 0.2s \n",
"\n",
"2021-05-27 03:46:30 (320 KB/s) - ‘FuelConsumption.csv’ saved [72629/72629]\n",
"\n"
]
}
],
"source": [
"!wget -O FuelConsumption.csv https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%202/data/FuelConsumptionCo2.csv\n",
" # Helps when you know this is a shell command"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Did you know?** When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## Understanding the Data\n",
"\n",
"### `FuelConsumption.csv`:\n",
"\n",
"We have downloaded a fuel consumption dataset, **`FuelConsumption.csv`**, which contains model-specific fuel consumption ratings and estimated carbon dioxide emissions for new light-duty vehicles for retail sale in Canada. [Dataset source](http://open.canada.ca/data/en/dataset/98f1a129-f628-4ce4-b24d-6f16bf24dd64?cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ&cm_mmc=Email_Newsletter-_-Developer_Ed%2BTech-_-WW_WW-_-SkillsNetwork-Courses-IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork-20718538&cm_mmca1=000026UJ&cm_mmca2=10006555&cm_mmca3=M12345678&cvosrc=email.Newsletter.M12345678&cvo_campaign=000026UJ)\n",
"\n",
"- **MODELYEAR** e.g. 2014\n",
"- **MAKE** e.g. Acura\n",
"- **MODEL** e.g. ILX\n",
"- **VEHICLE CLASS** e.g. SUV\n",
"- **ENGINE SIZE** e.g. 4.7\n",
"- **CYLINDERS** e.g 6\n",
"- **TRANSMISSION** e.g. A6\n",
"- **FUEL CONSUMPTION in CITY(L/100 km)** e.g. 9.9\n",
"- **FUEL CONSUMPTION in HWY (L/100 km)** e.g. 8.9\n",
"- **FUEL CONSUMPTION COMB (L/100 km)** e.g. 9.2\n",
"- **CO2 EMISSIONS (g/km)** e.g. 182 --> low --> 0\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## Reading the data in\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MODELYEAR</th>\n",
" <th>MAKE</th>\n",
" <th>MODEL</th>\n",
" <th>VEHICLECLASS</th>\n",
" <th>ENGINESIZE</th>\n",
" <th>CYLINDERS</th>\n",
" <th>TRANSMISSION</th>\n",
" <th>FUELTYPE</th>\n",
" <th>FUELCONSUMPTION_CITY</th>\n",
" <th>FUELCONSUMPTION_HWY</th>\n",
" <th>FUELCONSUMPTION_COMB</th>\n",
" <th>FUELCONSUMPTION_COMB_MPG</th>\n",
" <th>CO2EMISSIONS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX</td>\n",
" <td>COMPACT</td>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>AS5</td>\n",
" <td>Z</td>\n",
" <td>9.9</td>\n",
" <td>6.7</td>\n",
" <td>8.5</td>\n",
" <td>33</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX</td>\n",
" <td>COMPACT</td>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>M6</td>\n",
" <td>Z</td>\n",
" <td>11.2</td>\n",
" <td>7.7</td>\n",
" <td>9.6</td>\n",
" <td>29</td>\n",
" <td>221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>ILX HYBRID</td>\n",
" <td>COMPACT</td>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>AV7</td>\n",
" <td>Z</td>\n",
" <td>6.0</td>\n",
" <td>5.8</td>\n",
" <td>5.9</td>\n",
" <td>48</td>\n",
" <td>136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>MDX 4WD</td>\n",
" <td>SUV - SMALL</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>AS6</td>\n",
" <td>Z</td>\n",
" <td>12.7</td>\n",
" <td>9.1</td>\n",
" <td>11.1</td>\n",
" <td>25</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2014</td>\n",
" <td>ACURA</td>\n",
" <td>RDX AWD</td>\n",
" <td>SUV - SMALL</td>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>AS6</td>\n",
" <td>Z</td>\n",
" <td>12.1</td>\n",
" <td>8.7</td>\n",
" <td>10.6</td>\n",
" <td>27</td>\n",
" <td>244</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" MODELYEAR MAKE MODEL VEHICLECLASS ENGINESIZE CYLINDERS \\\n",
"0 2014 ACURA ILX COMPACT 2.0 4 \n",
"1 2014 ACURA ILX COMPACT 2.4 4 \n",
"2 2014 ACURA ILX HYBRID COMPACT 1.5 4 \n",
"3 2014 ACURA MDX 4WD SUV - SMALL 3.5 6 \n",
"4 2014 ACURA RDX AWD SUV - SMALL 3.5 6 \n",
"\n",
" TRANSMISSION FUELTYPE FUELCONSUMPTION_CITY FUELCONSUMPTION_HWY \\\n",
"0 AS5 Z 9.9 6.7 \n",
"1 M6 Z 11.2 7.7 \n",
"2 AV7 Z 6.0 5.8 \n",
"3 AS6 Z 12.7 9.1 \n",
"4 AS6 Z 12.1 8.7 \n",
"\n",
" FUELCONSUMPTION_COMB FUELCONSUMPTION_COMB_MPG CO2EMISSIONS \n",
"0 8.5 33 196 \n",
"1 9.6 29 221 \n",
"2 5.9 48 136 \n",
"3 11.1 25 255 \n",
"4 10.6 27 244 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"FuelConsumption.csv\")\n",
"\n",
"# take a look at the dataset\n",
"df.head()\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Data Exploration\n",
"\n",
"Lets first have a descriptive exploration on our data.\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>MODELYEAR</th>\n",
" <th>ENGINESIZE</th>\n",
" <th>CYLINDERS</th>\n",
" <th>FUELCONSUMPTION_CITY</th>\n",
" <th>FUELCONSUMPTION_HWY</th>\n",
" <th>FUELCONSUMPTION_COMB</th>\n",
" <th>FUELCONSUMPTION_COMB_MPG</th>\n",
" <th>CO2EMISSIONS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1067.0</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" <td>1067.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>2014.0</td>\n",
" <td>3.346298</td>\n",
" <td>5.794752</td>\n",
" <td>13.296532</td>\n",
" <td>9.474602</td>\n",
" <td>11.580881</td>\n",
" <td>26.441425</td>\n",
" <td>256.228679</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.0</td>\n",
" <td>1.415895</td>\n",
" <td>1.797447</td>\n",
" <td>4.101253</td>\n",
" <td>2.794510</td>\n",
" <td>3.485595</td>\n",
" <td>7.468702</td>\n",
" <td>63.372304</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>2014.0</td>\n",
" <td>1.000000</td>\n",
" <td>3.000000</td>\n",
" <td>4.600000</td>\n",
" <td>4.900000</td>\n",
" <td>4.700000</td>\n",
" <td>11.000000</td>\n",
" <td>108.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>2014.0</td>\n",
" <td>2.000000</td>\n",
" <td>4.000000</td>\n",
" <td>10.250000</td>\n",
" <td>7.500000</td>\n",
" <td>9.000000</td>\n",
" <td>21.000000</td>\n",
" <td>207.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>2014.0</td>\n",
" <td>3.400000</td>\n",
" <td>6.000000</td>\n",
" <td>12.600000</td>\n",
" <td>8.800000</td>\n",
" <td>10.900000</td>\n",
" <td>26.000000</td>\n",
" <td>251.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>2014.0</td>\n",
" <td>4.300000</td>\n",
" <td>8.000000</td>\n",
" <td>15.550000</td>\n",
" <td>10.850000</td>\n",
" <td>13.350000</td>\n",
" <td>31.000000</td>\n",
" <td>294.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>2014.0</td>\n",
" <td>8.400000</td>\n",
" <td>12.000000</td>\n",
" <td>30.200000</td>\n",
" <td>20.500000</td>\n",
" <td>25.800000</td>\n",
" <td>60.000000</td>\n",
" <td>488.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" MODELYEAR ENGINESIZE CYLINDERS FUELCONSUMPTION_CITY \\\n",
"count 1067.0 1067.000000 1067.000000 1067.000000 \n",
"mean 2014.0 3.346298 5.794752 13.296532 \n",
"std 0.0 1.415895 1.797447 4.101253 \n",
"min 2014.0 1.000000 3.000000 4.600000 \n",
"25% 2014.0 2.000000 4.000000 10.250000 \n",
"50% 2014.0 3.400000 6.000000 12.600000 \n",
"75% 2014.0 4.300000 8.000000 15.550000 \n",
"max 2014.0 8.400000 12.000000 30.200000 \n",
"\n",
" FUELCONSUMPTION_HWY FUELCONSUMPTION_COMB FUELCONSUMPTION_COMB_MPG \\\n",
"count 1067.000000 1067.000000 1067.000000 \n",
"mean 9.474602 11.580881 26.441425 \n",
"std 2.794510 3.485595 7.468702 \n",
"min 4.900000 4.700000 11.000000 \n",
"25% 7.500000 9.000000 21.000000 \n",
"50% 8.800000 10.900000 26.000000 \n",
"75% 10.850000 13.350000 31.000000 \n",
"max 20.500000 25.800000 60.000000 \n",
"\n",
" CO2EMISSIONS \n",
"count 1067.000000 \n",
"mean 256.228679 \n",
"std 63.372304 \n",
"min 108.000000 \n",
"25% 207.000000 \n",
"50% 251.000000 \n",
"75% 294.000000 \n",
"max 488.000000 "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# summarize the data\n",
"df.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets select some features to explore more.\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ENGINESIZE</th>\n",
" <th>CYLINDERS</th>\n",
" <th>FUELCONSUMPTION_COMB</th>\n",
" <th>CO2EMISSIONS</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>8.5</td>\n",
" <td>196</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>9.6</td>\n",
" <td>221</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1.5</td>\n",
" <td>4</td>\n",
" <td>5.9</td>\n",
" <td>136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.6</td>\n",
" <td>244</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.0</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3.5</td>\n",
" <td>6</td>\n",
" <td>10.1</td>\n",
" <td>232</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>3.7</td>\n",
" <td>6</td>\n",
" <td>11.1</td>\n",
" <td>255</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>3.7</td>\n",
" <td>6</td>\n",
" <td>11.6</td>\n",
" <td>267</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" ENGINESIZE CYLINDERS FUELCONSUMPTION_COMB CO2EMISSIONS\n",
"0 2.0 4 8.5 196\n",
"1 2.4 4 9.6 221\n",
"2 1.5 4 5.9 136\n",
"3 3.5 6 11.1 255\n",
"4 3.5 6 10.6 244\n",
"5 3.5 6 10.0 230\n",
"6 3.5 6 10.1 232\n",
"7 3.7 6 11.1 255\n",
"8 3.7 6 11.6 267"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cdf = df[['ENGINESIZE','CYLINDERS','FUELCONSUMPTION_COMB','CO2EMISSIONS']]\n",
"cdf.head(9)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can plot each of these fearues:\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEICAYAAAC3Y/QeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAkPklEQVR4nO3dfbxcVX3v8c+XEB4MSIiBGJPgodfoFUpb24ggtj1WuERBE6+iUUqJYnm1hQoSHwJFQS020kvqE9xeKjRRKRgFIT5VIfWUwosHCaIQAhIlYiQhJoDhpIgGfvePtQ7szJk5Z2bOmczD/r5fr3mdmbX37L1mz5rfWXvttddSRGBmZuWyW7szYGZmu56Dv5lZCTn4m5mVkIO/mVkJOfibmZWQg7+ZWQk5+JuZlZCDfwMkvVPSHZIGJW2U9G1JqyStqljvpZK2STpM0kJJN9XY3oCk9+Tn/ZJC0sUV69wkaWF+vlDS03n/g5IelPSvkl5aWL8vb2ew4vH2vHyZpN/ktEclXS/pfxbev4ekiyRtKOzjn8btIFpHk7Re0pMVZedzueyFpA9UrL9BUn/h9WxJV0n6Zf4NPCDps5Jm5uX9kjYU1h+Q9GtJswppR0taP1qe8rIRy2t+79H5+Zoqv4unJD1TyNszVdY5cpwPc0dw8K+TpLOATwGfAKYBBwGXAD8CXijpL/N6Av4FWBoRdze4m+3AX0jqG2GdWyJiH2A/4GjgSWC1pN+tWG9yROxTeHy5sOzCvI0ZwC+AywrLzgbmAIcD+wKvBX7Q4Oew7vbGirJzek5/FPiQpOdXe5OklwC3AQ8Dr4iI5wNHAT8BXjPC/rYDH24yT3WX14g4tLgN4IXAT4GPF1Z7uGI/+0TELaPkrSvt3u4MdANJ+wEfA94VEdcUFn0d+LqkVwHfkvQt4Hhgf+CCJnb1OPA14DzgXSOtGBFPk35UfyPpIOB84K2N7CwinpS0AvhKIfmVwNci4uH8en1+mK0FHgPeB3y0yvLzgZsj4qyhhIjYTKo0jeQzwPslXRgR6xrM01jK6+eBn1P9s/Q81/zrcySwFykwDxMRtwHLgC+Qgv67I+K3Te7rAuAtkl7WwHuuAf640R1JmgS8Ayj+4G4FzpL0N7nZSo1u13rah4H3SZpSZdnRwNVNbPMXpLPl85t4b1PlVdJ7SWcl74yIZ5rYb9dz8K/PC4AtEbFjhHXOBV4CfDEi7mh2RxGxCfhn0plGvR4GKn+MWyQ9Xni8vLDs/ZIeB54gnY6fVFj2D8AngROBO4BfSDq5wY9h3e3airLzl0MLIuIu4LvAh6q8byqwaeiFpNPz+wcl/cso+/wH4I2SDm0wTw2XV0lHkJpvT4iILRWLX1Sxn8dzJannOPjXZyswVVLNZrKIeBJ4EFgzDvv7JHCspN+vc/0ZpPbYoqkRMbnwWFtY9n8iYjLQR7pm8OxZRkQ8HREXR8RRwGTSmcjlFf88rLfNryg7lYH7I8BfS3phRfpWYPrQi4j4XC5nnwImjrTDiPgl8DlqV3qq5qnR8ippKqmZ8+yIuLXKKg9X7GdyRGwfKe/dysG/PrcAvwbm74qdRcRW0g/m46OsOuTNwH81sZ+HgDOAT0vau8ryJyPiYlI77yGNbt96U0TcR2pqPKdi0Srgf49h0/9IumD7R03ma8TyKmk34N9I1yU+O4Z89gQH/zpExK9ItZ2LJc2X9DxJEyW9XtKFdWxCkvYqPup4z1Lg1UCtGswESQdL+izQT5MXrSLielKz0al5u2fmLm97S9o9n0Lvi3v82M4+SuqUMLmQdj7wx5KWSpoBz9a06zprjIjHgYuAD9abiQbL6/nALOA99W6/lzn41ykilgJnkdr2f0nqJXA6cG0db381qXnl2cdITUh5f9uACxneln+kpEFgGzAAPB94ZZVupUNtrUOPs6jtH4EPStoz5+8iUtvtFuA04C0R8dM6Pqf1hq9XlJ1hHR0i4kHgi8CkQtqPgSOAmcAPJT0B3EyqXIzWlXPIp4GnG8hTI+X1XOB3gE1V+vIflNd5UZVlb6kz711FnszFzKx8XPM3MyshB38zsxJy8DczKyEHfzOzEuqIsX2mTp0afX197c7Gs7Zv386kSZ11U5/zNLrVq1dviYgD2p2PenVCue+077Ae3ZbnVuZ3LGW+I4J/X18fd9zR9IgI425gYID+/v52Z2MnztPoJP2s3XloRCeU+077DuvRbXluZX7HUubd7GNmVkIO/mZmJeTgb2ZWQh3R5j/e+hZ/s+H3rF9yXAtyYrZrNFPmAZbN7Z4Lpza+6q7554HEfiDpG/n1FKX5Xx/If/cvrHu2pHWS7pd0bCsybmZmzWuk2ecM0jRuQxYDqyJiNmko18UAkg4BFgCHAnOBSyRNGJ/smpnZeKgr+EuaCRxHmvNyyDxgeX6+nOfGup8HXBURT+WR/9aRJlc2M7MOUW+b/6dIY2zvW0ibFhEbASJio6QDc/oM0ryaQzbktJ1IOpU8hvy0adMYGBhoKOMjWXTYSLMtVlfc/+Dg4LjmZzw4T2Y2nkYN/pKOBzZHxGpJ/XVss9oEysPGjY6IS4FLAebMmRPjeRPEwmYu+J743P478SYS58k6hTtU9IZ6av5HAW+S9AZgL+D5kr4EPCJpeq71Twc25/U3kGbLGTKTNJmDmZl1iFHb/CPi7IiYGRF9pAu5/xERfw6sBE7Oq50MXJefrwQWSNpT0sHAbOD2cc+5mZk1bSz9/JcAKySdAjwEnAAQEWskrQDuBXYAp0VEtWnZzMysTRoK/hExQJo3lojYCryuxnoXABeMMW9mZtYiHt7BzKyEHPzNzErIwd/MrIQc/M3MSqgnR/XclXzDi5l1I9f8zcxKyMHfzKyEHPzNKkiaJel7ktZKWiPpjJzuOSysZzj4mw23A1gUES8HjgBOy/NUeA4L6xkO/mYVImJjRNyZnz9BmsRoBp7DwnqIe/uYjUBSH/AK4DbGOIdF3l5L5rFoZg4LaG5OhrHOlzFW3TaPRKfm18HfrAZJ+wBXA2dGxDap2lQVadUqacPmsIDWzWPRzBwWkCZwbzQPY50vY6y6bR6JTs2vm33MqpA0kRT4r4iIa3LyI3nuCjyHhXU7B3+zCkpV/MuAtRGxtLDIc1hYz3Czj9lwRwEnAXdLuiunnYPnsLAe4uBvViEibqJ6Oz54DgvrEW72MTMrIQd/M7MScvA3MyshB38zsxJy8DczKyEHfzOzEnLwNzMrIQd/M7MScvA3MyshB38zsxLy8A5d4u5f/KrhoXTXLzmuRbkxs27n4G9WYs1UKqw3uNnHzKyEHPzNzErIwd/MrIQc/M3MSsjB38yshBz8zcxKaNTgL2mWpO9JWitpjaQzcvoUSddLeiD/3b/wnrMlrZN0v6RjW/kBzMyscfX0898BLIqIOyXtC6yWdD2wEFgVEUskLQYWAx+SdAiwADgUeBFwg6SXekJrM2tEX437DxYdtmPEexN8c2N9Rq35R8TGiLgzP38CWAvMAOYBy/Nqy4H5+fk84KqIeCoiHgTWAYePc77NzGwMGrrDV1If8ArgNmBaRGyE9A9C0oF5tRnArYW3bchplds6FTgVYNq0aQwMDDSa95oWHbaj4fcU9z84OFh3fsa6r3pN27vxfY3nMa2mkeNkZp2l7uAvaR/gauDMiNgmqeaqVdJiWELEpcClAHPmzIn+/v56szKqZm5XX3/ic/sfGBig3vyMdV/1+uwV13HR3Y2NxtHMfhrRyHEys85SV28fSRNJgf+KiLgmJz8iaXpePh3YnNM3ALMKb58JPDw+2TUzs/EwalVSqYp/GbA2IpYWFq0ETgaW5L/XFdL/TdJS0gXf2cDt45lps15W60Kn2Xiqpx3hKOAk4G5Jd+W0c0hBf4WkU4CHgBMAImKNpBXAvaSeQqe5p4+ZWWcZNfhHxE1Ub8cHeF2N91wAXDCGfJm1laTLgeOBzRHxuzltCvBloA9YD7wtIh7Ly84GTgGeBt4bEd9pQ7bN6uY7fM2qWwbMrUhbTLq3ZTawKr+m4t6WucAlkibsuqyaNc7B36yKiLgReLQi2fe2WM/wTF5m9RvTvS1Q3/0tzdw70qxm7h9pRjP3g9TK12h57rR7Tzr1fhgHf7Oxq+veFqjv/pZdOa3iosN2NHz/SDOaueek1nEYLc+tvr+lUZ16P4ybfczq53tbrGc4+JvVb+jeFhh+b8sCSXtKOhjf22JdwM0+ZlVIuhLoB6ZK2gCch+9tsR7i4G9WRUS8o8Yi39tiPcHNPmZmJeTgb2ZWQg7+ZmYl5OBvZlZCDv5mZiXk3j5m1nKeo6DzuOZvZlZCDv5mZiXk4G9mVkIO/mZmJeQLvmbWU5q5uLx+yXEtyElnc83fzKyEXPM3s9Ir49mCa/5mZiXk4G9mVkIO/mZmJeTgb2ZWQg7+ZmYl5OBvZlZCDv5mZiXk4G9mVkIO/mZmJeTgb2ZWQg7+ZmYl5OBvZlZCHtjN2qaMg2mZdYqW1fwlzZV0v6R1kha3aj9mncJl3rpJS2r+kiYAFwPHABuA70taGRH3tmJ/46FYC1102A4WNlEr7RX11siLx6nsNfJuLPNWbq1q9jkcWBcRPwWQdBUwD2j4h9BM04BZG4xbmbfe1Ww8a0XlShEx/huV3grMjYj35NcnAa+KiNML65wKnJpfvgy4f9wz0rypwJZ2Z6KC8zS6F0fEAe3YcT1lPqd3WrnvtO+wHt2W51bmt+ky36qav6qk7fRfJiIuBS5t0f7HRNIdETGn3fkocp463qhlHjqv3Hfjd9htee7U/Lbqgu8GYFbh9Uzg4Rbty6wTuMxbV2lV8P8+MFvSwZL2ABYAK1u0L7NO4DJvXaUlzT4RsUPS6cB3gAnA5RGxphX7apGOOS0vcJ46WBeX+W78Drstzx2Z35Zc8DUzs87m4R3MzErIwd/MrIRKHfwlrZd0t6S7JN1RZbkkfSbfrv8jSX/Y4vy8LOdl6LFN0pkV6/RL+lVhnY+0IB+XS9os6Z5C2hRJ10t6IP/dv8Z7PcRBh5E0S9L3JK2VtEbSGVXWaXm5alSn/T5H0im/3YZERGkfwHpg6gjL3wB8m9SH+wjgtl2YtwnAJtJNHMX0fuAbLd73nwB/CNxTSLsQWJyfLwY+WSPPPwF+B9gD+CFwSLu/57I/gOnAH+bn+wI/rvxedkW5aiLfHfv7HCXfbfvtNvIodc2/DvOAL0RyKzBZ0vRdtO/XAT+JiJ/tov09KyJuBB6tSJ4HLM/PlwPzq7z12SEOIuI3wNAQB9ZGEbExIu7Mz58A1gIz2purcdHO3+dI2vbbbUTZg38A35W0Ot92X2kG8PPC6w3suh/NAuDKGsuOlPRDSd+WdOguys+0iNgIKZgAB1ZZp53Hy+ogqQ94BXBblcXtKFcj6eTf50g67bdbVdnH8z8qIh6WdCBwvaT7cq13SF237I+3fJPQm4Czqyy+k3Q6OSjpDcC1wOxW56lObTleVh9J+wBXA2dGxLaKxZ1Yrjry9zmSbvrtlrrmHxEP57+bga+Rmi2K2nXL/uuBOyPikcoFEbEtIgbz828BEyVN3QV5emTolDr/3VxlHQ9x0KEkTSQF/isi4prK5W0sVzV18O9zJJ34262qtMFf0iRJ75Z0h6RB4Bzg7ZJek5cfAvw+8AVJT0haDTw91PQh6aWSrpP0S0mPSvqOpJcVtn++pN9KGiw8Hi8sD0mPSNq9kLa7pM2kGsGVOW1A0nsK63xC0oN5e48ABwBb87JDJX1X0mOSHs+ny2/Iy/olbag4BsdLul3SdklbJV0haWZhlck5nx8gDVVwck6/j1SLQdJkpd5Bm4DvAq+VtEQe4qBjSBJwGbA2IpbWWOeFeT0kHU6KDVt3XS6H5WeSpH2HngP/C7inYrWVwF/kXj9HAL8a+n220Tuo0eTTace47Vec2/UA/h74LalHwb3Ah4E3kgLYucBjwAXA54GfkmoU/w0cmd9/OHAKMAWYCHwcuK+w/fOBL42w/yAN5/vGQtqbSD0xAtgvpw0AXwT+ihR8N+V1fgisBpYU3v9T4AOknjZ7AEcBr4nnehpsKKz7VmAbcCKwN/BC4PJ8PL4KbAR2AE8DTwAvBlYBDwC/Hso36aLuRmB/UmE+NR+rnwB/1+7vud2PfDyfBAYLj3cWv4vCugPAewrl57cV73u8ovy8pMY+p5OC/cb83f0sr383cFd+XEY6e/sN8FAu9/fmcnUr8M38nsML230JEIXXh+b3PQY8nsvjG/KyhcBNNY7H0fn5sryPN1Ws86mc/lDOzy+AZ/IxeJLUzn98Lru/ycueKawzCAxW7i+/nglcQQq624HbgeOr/DbvBnariBfLRvmun5e3+w/5d7I9v74Z6ANOB9aQfqdDn2Vrzs/MwnYW5jwsrdj+/Jy+LL/uy6+HPvMjwCXAxLrKZrt/HG36Qe6XD9YJNZZ/EfhWlfT/C9xY4z1T8hfxgsKPd7Tgfy7wlULaV4G/q/iBDfBcQPgc8Kka25uatzm5xvJ+csAhtZX+DPhgxTq7kWpXHysUwpuArwPnFdbbAPTn5/cA89v9nXbqozL4VH4XFenF77qe8jMs+OdyuB74N6Avp80CPg38Xn792RycjiRd9zuUFASvK2xnWQ5M3y2kVQb/kSobC6kv+N8PXF1Yvjsp2K8DFlZuK5fRvyVVxKbUcUyL+xs6Nv9KquzsTaqpbwPeWnFstwLvLKSNGvzzeitJZ8WvzJ9lP+A04JS8fKRK1/6Fz7suH4fdC9u+Jh+vZfl1X87r7vn1gcAPSNd0Ri2bZW32ORLYi9SOWM0xwFeqpK8AjpL0vCrL/gTYFBGNnMZdC/xJbjqZDPwxcN0I699KOs39gKQ5SlMHDtlKKjBfkjRf0rQRtvMy4CAqPmNEPENqFz6mYv0PA++TNKVGni6Q9C5J7b5AaHAWqbb/5xGxHiAifh4RZ0TEj/J39DfAiRFxS0TsiDQA3VuAuZL+rLCt5cDvSfrTyp3ktuqDgX+JiN/kx80RcVOD+f066Tc1dNPgXOBHpDPcYXIZvZwUOH+nwX29j1TpOyUiNkXEkxFxJekM/6KhJpnsQuCjxWbZ0Ug6mvTbmRcR38/H9lcRcXFEXJa3fxHw9xFxRd7/JuA9OV/vK2xuE+ns49i87SnAqxmhGTXStZHrgUPqyW9Zg/8LgC0RsaPG8qmkU+ZKG0nHbKe7W3M7+cWkH17R23Lb+9DjexXLf00q/G/nufbxX9fKdER8iVTrORb4T2Cz8l20kf71v5ZUg7gI2CjpxhoBeegiU63PuNNFqIi4i3R6/6Eq6/8t6bT1dOBepbstX1/rM1jLHQ1ck4NkNa8j1ZBvLyZGxM9J/8iL//j/G/gEKThWaqSyMZJfk8r9gvz6L4Av1Fo5B+OhYPlAg/s6hnSWUXlsVpAqQy8tpF1DqqEvbGD7RwO352NZTaOVri+Qjgek43Md8FStnUt6ESk23FpPZssa/LcCU0f4r76F1G5aaTqpXfGxoQRJB5AC4yW5FlG0IiImFx6vrbLNoS94xEI/JNcYjgYmk64DfEzSsXnZhog4PSL+B6mNfnuNbQ5NKVfrM1abcu4jwF9LemFFfp6MiE9ExB+R/qmuAL5S4yyhrK4tVACubeB9o1UeqnkB1f+pD6lVsYEq//iB/wccVPkPvcHKxmi+QDqj3Q/4U9IZcaUjcoeJTaSmmjdHxK8a3M9Ilbqh5UOCdMb7EUl71rn9eo49Ndapduy/BvTn4zJSfNiSj80vSL/5r9aT2bIG/1tINY75NZbfAJxQJf1twC0R8d8A+VT1u8DKiKhWO6rHf5EC7jRS+3pdIuK3EfEV0iny71ZZ/nPS2ciwZaR2ww1UfEZJu5FO/1dV2d59pNrQOSPkaRuppjiJ1CRgyfxCBWA+6UL6xCrrTSRd5B1ST+Wh0laq/1MfUqtiA1X+8UfEU6TODB+nol/9KJWNej8juanoANI1sG9ExJNV3ndrPgZTI+KIiLhhhM9Yy0iVuqHlxXx9i3TRudoNZtXUc+ypsU61Y/8k6cL7uaRhLm6usd2pETGZdMH5ZuDf68lsKYN/rjF8BLg4n7I+T9JESa+XdCHwUeDVki5QGtBsX0l/S/rv+yEASc8nTdxxc0Q0PYBZrkG9kdTjYcQbVCQtlHRczs9uuTZ2KHCbpP0lfVTSS/KyqcC7qXIKmPfzfuBcSe+UtHeu0X8eeD7wTzWy8FHgXaSzjqE8fVjSKyXtIWkv4AxSz492T0zeyR4inXnuM5SQ24NfTLoQPxY3AG/O/8ir+Q9gVu5q+CxJs0jj4wz7x0+6QLof8OZaO61S2XiIdMbw7D+MfK3sQKp/xi8Bi6jj7HcMbgDeUuXYvI3Ug+jHVd5zLqkTRrXrfNW2f7h27i5d1HCli3Q8FpE6oYwo/7NYRrqLeNT7B0oZ/AEi9Xc+i/Tl/pL05Z8OXBsRDwCvIfXzX086JXsLcGzhv++bSVf036Wd+/IfVNjN2yuWDSrdrViZlzVR36xP20g174dIAfZC4K9zzek3pKv/N+T17iG1Dy6s8fm/DJxEusi0hdTNb2/SXZVVL1pHxIOkQjipmEwKDltIXTyPAY6LfDOLDRcRD5GGV/ikpH1ys8IHSLXlutprsz0k7VV4TACWkv6BL5f0YgBJMyQtlfR7EfFj4J+BKyQdIWmC0jADVwM3VKtR52tj51O45lNHZeM20tn14py3ScAS4A6qB//PkMrOjVWWjZd/Ih2by5T63O8l6R2k4P6BapWviBggXXg9ebSN52N3PfA1SX+kdN/OvpL+StK7m6x0/SfpuHx2tP3ncnQSqWls9I4n9XQJ8sMPP5p7UKWrZ06fRbrwt4n0j/M7FEbapHo//0HgwLw8qjyGuom+iNQjZhOp5899wHnA8/Ly3UiBfB3P9Zu/ENirsP9lpF4pFN5zD8+eODKJ1Btofc7XJtLNTTMK7zkkf64tpD7oXwVm1dpHxfG5iSpdPUc4zv2M0tUzvz4o5/NRUjPV90m9c4rv2akbLfAqCv3rR8nHHqQz5HV5+z8jBfeDCuvMy/vdnvNxZcVxqfl5KXQ5ZXg//8dJ/yxeWU/Z9DSOZmYlVNpmHzOzMnPwNzOrk6QTq1zHG5RUzzW7juJmHzOzEuqI8fynTp0afX197c5GVdu3b2fSpEmjr1gynXhcVq9evSUiDmh3Purlct+Zuumzj6XMd0Tw7+vr4447hs3P3BEGBgbo7+9vdzY6TiceF0njMm1evl/hRmBP0m/kqxFxXr5r+cukXhbrgbdFxGP5PWeTRnl9GnhvRHxntP243HembvrsYynzbvM3G+4p4M8i4veBPyANeHYEaeL6VRExm3RDzmJ4du6HBaQb7uYCl2jnQffMOo6Dv1mFSIZuUpuYH0HtSeznAVdFxFORboRbx/BZp8w6Skc0+5h1mlxzX00aw/7iiLhN0k6T2Bfu1p7Bznfm1pxIXGki8lMBpk2bxsDAQIs+wdgMDg52bN5arSyf3cF/jPoWf7Ph96xfclwLcmLjKSKeBv5AaZ6Fr0mqNkDekLonEo+IS4FLAebMmRPtbluuVX4XHfY0F920veqyXi+/3dTmPxZu9jEbQUQ8Tpphay61J7HvxInEzUbk4G9WQdIBucaPpL1Jk3Tcx86T2J/Mc7OurQQWSNpT0sHAbNK0iGYdy80+ZsNNJ42KOYFUQVoREd+QdAuwQtIppJFVT4A0KqukFaSRUXcAp+VmI7OO5eCf1W773MHCJtr1rXtFxI+AV1RJ30qaBrHaey6g+nSHZh3Jwb8NfJHYzNrNbf5mZiXk4G9mVkIO/mZmJeTgb2ZWQg7+ZmYl5OBvZlZCDv5mZiXk4G9mVkKjBn9JsyR9T9JaSWsknZHTp0i6XtID+e/+hfecLWmdpPslHdvKD2BmZo2rp+a/A1gUES8HjgBOyzMXeVYjM7MuNWrwj4iNEXFnfv4EsJY0UYVnNTIz61INje0jqY804NVtwJhmNeq0GY0WHbajavq0vWsv25XafXwqlWW2I7NeVXfwl7QPcDVwZkRsk6pNXpRWrZI2bFajTpvRqNbInYsO28FFd7d//Lv1J/a3Ows7KctsRzacBybsDXX19pE0kRT4r4iIa3KyZzUyM+tS9fT2EXAZsDYilhYWeVYjM7MuVU97xlHAScDdku7KaecAS/CsRmYdoZmmGCu3UYN/RNxE9XZ88KxGZmZdyXf4mpmVkIO/mVkJOfibmZWQg79ZBY9nZWXg4G82nMezsp7n4G9WweNZWRm0f9wCsw42nuNZ5e21ZEyr8R5/arzHtOqmcaDKMm6Vg79ZDeM9nhW0bkyrWmNTNWu8x7TqtLGpRlKWcavc7GNWhcezsl7n4G9WweNZWRm42cdsOI9nZT3Pwd+sgsezsjJws4+ZWQk5+JuZlZCDv5lZCTn4m5mVkIO/mVkJOfibmZWQg7+ZWQk5+JuZlZCDv5lZCTn4m5mVkIO/mVkJOfibmZWQg7+ZWQk5+JuZlZCDv5lZCY0a/CVdLmmzpHsKaVMkXS/pgfx3/8KysyWtk3S/pGNblXEzM2tePTX/ZcDcirTFwKqImA2syq+RdAiwADg0v+cSSRPGLbdmZjYuRg3+EXEj8GhF8jxgeX6+HJhfSL8qIp6KiAeBdcDh45NVMzMbL81O4zgtIjYCRMRGSQfm9BnArYX1NuS0YSSdCpwKMG3aNAYGBprMyvhYdNiOqunT9q69bFdq9/GpNDg42HF5MrP6jfccvtXmPY1qK0bEpcClAHPmzIn+/v5xzkpjFi7+ZtX0RYft4KK72z/V8foT+9udhZ0MDAzQ7u/MzJrXbFR7RNL0XOufDmzO6RuAWYX1ZgIPjyWDzeirEci7WTOfaf2S41qQE7PGufx2nma7eq4ETs7PTwauK6QvkLSnpIOB2cDtY8ui2a7nXm7W6+rp6nklcAvwMkkbJJ0CLAGOkfQAcEx+TUSsAVYA9wL/DpwWEU+3KvNmLbQM93KzHjZqs09EvKPGotfVWP8C4IKxZMqs3SLiRkl9FcnzgP78fDkwAHyIQi834EFJQ73cbtklmTVrQvuvZFrLNHvtw22tNXVsL7fx7pHWCb3c2tWbrCw92Rz8zcau7b3cavVWa1Yn9HJrVw+3svRkc/A3q19H93LrNT5zbS0P7GZWP/dys57hmr9ZFbmXWz8wVdIG4DxSr7YVucfbQ8AJkHq5SRrq5bYD93KzLuDgb1aFe7lZr3Ozj5lZCTn4m5mVkIO/mVkJOfibmZWQg7+ZWQk5+JuZlZCDv5lZCTn4m5mVkIO/mVkJ+Q5fG6aeAbUWHbZjp5EkPZiWWXdxzd/MrIQc/M3MSsjB38yshBz8zcxKyBd8zaynNDMDWBk7LLjmb2ZWQq75m3WYZueuNWuEa/5mZiXU8TV/14LMzMZfxwd/6w6+yGbdrFh+K+9er6Xby6+bfczMSsg1fzOzJnT72W7Lav6S5kq6X9I6SYtbtR+zTuEyb92kJTV/SROAi4FjgA3A9yWtjIh7W7E/s3Zzmbd6NNuBpRVnDK1q9jkcWBcRPwWQdBUwD/APwZ7V7afNFVzmrau0KvjPAH5eeL0BeFVxBUmnAqfml4OS7m9RXsbkvTAV2NLufHSadh0XfXLExS/eRdmoZtQyDy733aATP/sI5b7pMt+q4K8qabHTi4hLgUtbtP9xI+mOiJjT7nx0Gh+XYUYt8+By3w3K8tlbdcF3AzCr8Hom8HCL9mXWCVzmrau0Kvh/H5gt6WBJewALgJUt2pdZJ3CZt67SkmafiNgh6XTgO8AE4PKIWNOKfe0CHX+K3iY+LgU9Vuah3N9vKT67IoY1S5qZWY/z8A5mZiXk4G9mVkKlDv6SZkn6nqS1ktZIOiOnT5F0vaQH8t/9C+85O9++f7+kY9uX+9aTNEHSDyR9I7/2celBki6XtFnSPYW0mt91L2kmBvSKUgd/YAewKCJeDhwBnCbpEGAxsCoiZgOr8mvysgXAocBc4JJ8W3+vOgNYW3jt49KblpG+t6Kq33UPaigG9JJSB/+I2BgRd+bnT5AC3QzSbfnL82rLgfn5+Tzgqoh4KiIeBNaRbuvvOZJmAscBny8kl/649KKIuBF4tCK51nfdU5qIAT2j1MG/SFIf8ArgNmBaRGyEVDiAA/Nq1W7hn7ELs7krfQr4IPBMIc3HpTxqfdc9q84Y0DMc/AFJ+wBXA2dGxLaRVq2S1nN9ZSUdD2yOiNX1vqVKWs8dF+tdDcSAnlH64C9pIulLvyIirsnJj0ianpdPBzbn9LLcwn8U8CZJ64GrgD+T9CV8XMqk1nfdcxqMAT2j1MFfkoDLgLURsbSwaCVwcn5+MnBdIX2BpD0lHQzMBm7fVfndVSLi7IiYGRF9pAu5/xERf07Jj0vJ1Pque0oTMaBnlPoOX0mvAf4LuJvn2rbPIbX5rQAOAh4CToiIR/N7/g54N6mXwJkR8e1dne9dSVI/8P6IOF7SC/Bx6TmSrgT6SUMZPwKcB1xLje+6lzQTA3pFqYO/mVlZlbrZx8ysrBz8zcxKyMHfzKyEHPzNzErIwd/MrIQc/M3MSsjB38yshP4/WIBLJVFE1PAAAAAASUVORK5CYII=\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:\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(cdf.FUELCONSUMPTION_COMB, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"FUELCONSUMPTION_COMB\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEHCAYAAABBW1qbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAwDElEQVR4nO2df5xddXnn389MJiGTqMAksoGQGUqBdmItypTWTX+gAbHRF2i3unFHzUt9NZjQFu36smazW7XddNnWttLdJjYVJJqpLFvtyotSlERtV0ulAQFJkCUuCQSykIA/QBBI8uwf59yZM3fOuefHPeeeO3c+79fr+7r3fs/5nvPcm8z3Od/neb7PY+6OEEIIAdBXtwBCCCG6BykFIYQQk0gpCCGEmERKQQghxCRSCkIIISaRUhBCCDHJvCovbmYHgKeB48Axdx8zs1OB/wGMAAeAt7n798LzNwHvDc//bXf/UqvrL1myxEdGRqoSXwghepI777zzqLsvjTtWqVIIea27H418/jCw292vNrMPh59/18xGgbXASuB0YJeZnevux5MuPDIywp49e6qUXQgheg4zO5h0rA7z0eXAjvD9DuDNkf4b3P15d38I2A9c2HnxhBBi7lK1UnDgy2Z2p5mtD/tOc/fDAOHry8P+M4BHImMPhX1CCCE6RNXmo1Xu/piZvRy4zcy+0+Jci+mbkYMjVC7rAVasWFGOlEIIIYCKVwru/lj4+gTwtwTmoMfNbBlA+PpEePoh4MzI8OXAYzHX3O7uY+4+tnRprJ9ECCFEQSpTCma2yMxe0ngPvB64D7gJWBeetg74Yvj+JmCtmS0ws7OAc4A7qpJPCCHETKpcKZwGfN3M7iGY3P/O3W8FrgYuMbMHgUvCz7j7XuBGYB9wK3Blq8gjIcTcYmICRkagry94nZioW6LexGZz6uyxsTFXSKoQvc/EBKxfD88+O9U3OAjbt8P4eH1yzVbM7E53H4s7ph3NQoiuZ/Pm6QoBgs+bN9cjTy8jpSCE6HoefjhfvyiOlIIQoutJij5XVHr5SCkIIbqeLVsCH0KUwcGgX5SLlIIQousZHw+cysPDYBa8yslcDZ1IiCeEEG0zPi4l0Am0UhBCCDGJlIIQQohJpBSEEEJMIqUghBBiEikFIYQQk0gpCCGEmERKQQghxCRSCkIIISaRUhBCCDGJlIIQQohJpBSEEEJMUrlSMLN+M/uWmd0cfv6omT1qZneHbU3k3E1mtt/MHjCzS6uWTQghxHQ6kRDvKuB+4KWRvj9z949HTzKzUWAtsBI4HdhlZueqTrMQQnSOSlcKZrYceCPwqQynXw7c4O7Pu/tDwH7gwirlE0IIMZ2qzUefAD4EnGjq/00zu9fMrjOzU8K+M4BHIuccCvuEEEJ0iMqUgpm9CXjC3e9sOrQNOBs4HzgM/EljSMxlPOa6681sj5ntOXLkSIkSCyGEqHKlsAq4zMwOADcArzOzne7+uLsfd/cTwF8xZSI6BJwZGb8ceKz5ou6+3d3H3H1s6dKlFYovhBBzj8qUgrtvcvfl7j5C4ED+iru/w8yWRU57C3Bf+P4mYK2ZLTCzs4BzgDuqkk8IIcRM6ijH+Udmdj6BaegAcAWAu+81sxuBfcAx4EpFHgkhRGfpyOY1d/+au78pfP9Od/8Zd3+lu1/m7ocj521x97Pd/Tx3//tOyCaEmB1MTMDICPT1Ba8TE3VL1JtoR7MQIpWNG2HePDALXjdu7Oz9JyZg/Xo4eBDcg9f166UYqkBKQQjRko0bYds2OB4ac48fDz53UjFs3gzPPju979lng35RLuY+I+pz1jA2NuZ79uypWwwhepq+vuDpvBkzONG8A6mHZeglzOxOdx+LO6aVghCiJUnPjZ18nlyxIl+/KI6UghCi69myBQYHp/cNDgb9olykFIQQXc/4OGzfDsPDgcloeDj4PD5et2S9h5SCEKIlGzbk66+K8XE4cCDwIRw4IIVQFVIKQvQAVcbwb90aKID+/uBzf3/weevW9q6rfQfdiZSCEBVTdYx/XAz/u98NS5aUN+Fu3QrHjgXXP3asHIWgfQfdiUJShaiQRox/M2U8aTcYGQkm1VYMDnaXDT5J5uHhwDQkqqVVSKqUghAVMm/e1KavKP39wRN3GSTF8DfTTROu9h3Ui/YpCFETcQqhVX8RssbqP/xw8XukmcDy+ge076B7kVIQokIsrnRUi/4ixMXwx1F0wk1Lc1HEP6B9B92LlIIQFVLGbuC0p/TmGP6hIZg/f/o57Uy4n/xk6/4ieYm076B7kVIQc5q6s3+mkTUZXTSG/+hReO97p4eQrltXfMJNU2xJZqk0c5X2HXQnUgpiztKJ7J+NiTlrfzPbt+frh8Bss2PH9O+1Y0d14Z7yD/QWUgpizlJkws3L+vX5+psp4qjudJpp+Qd6i8qVgpn1m9m3zOzm8POpZnabmT0Yvp4SOXeTme03swfM7NKqZRNzm05EBrW7G7jISqOoOSeJtDQX4+OBeaosc5Wol06sFK4C7o98/jCw293PAXaHnzGzUWAtsBJ4A7DVzDIusoXIT7umnay0sxu4yEqjbHNOmmLrtLlKVEulSsHMlgNvBD4V6b4c2BG+3wG8OdJ/g7s/7+4PAfuBC6uUT8xt2jXtdIJVqwIHeJR584L+JOLMOQMD8MwzxdNetFJsqorWW1S9UvgE8CEgukfxNHc/DBC+vjzsPwN4JHLeobBPiEqoKtFbmWzePHPn87FjMyfc6OaxzZsD8000RNUMnnyymjxDZZurRL1UphTM7E3AE+5+Z9YhMX0zguHMbL2Z7TGzPUeOHGlLRiHKTvRWNlkm3LjNYzt2BCuGEydg8WJ44YXp48t8klf0UW9R5UphFXCZmR0AbgBeZ2Y7gcfNbBlA+PpEeP4h4MzI+OXAY80Xdfft7j7m7mNLly6tUHwh6ifLhJtmvqn6Sb6q6KOVK4MVTqOtXNne9UQ2KlMK7r7J3Ze7+wiBA/kr7v4O4CZgXXjaOuCL4fubgLVmtsDMzgLOAe6oSj4hZgNZJty0Sb/qJ/kqdievXAn79k3v27dPiqET1LFP4WrgEjN7ELgk/Iy77wVuBPYBtwJXunuJwYFCzD6yTLhpk34n9hGUvTu5WSGk9c8lKt+F7+6ztl1wwQUuRN3s3Ok+POxuFrzu3Nn5+w8OugcehaANDk6Xo24Z8xL9Ls1tLrNhQ/xvsmFDvusAezxhXtWOZiHaoBsqiGVZTTQ/yYNKYc5GOrELX0pBiDaYjTH6VSiysp3Co6P5+ucKndiFL6UgRBvUEaMfnXwbLW2Sj+5jWLcuvyK7+OLp97v44qljVTiF9+6dqQBGR4P+uUwnduFLKQjRBp2O0U8qztNqkm9eGSQ9VSbVeb74Yti9e3rf7t1TiqEqp/DevdMt53NdIUBnduFLKQjRBt2cIbSxWokzccWR9LTZrBDS+kV1dGIXvpSCEG3QzRXEGquVrKasMu3Sojqq3oUvpSBEDxJdrWQ1ZQ0PVyePmD1IKQjRBt0QktogabUSZ+KKY82a+P7Vq/P1i9mNlIIQLYhG7cTF83c6JLVVveSkHcXNJq4k38Ett8T379o1UwGsXh30Q+fqUojOIKUgRAJZVgF1hKTG7WlNS30Q3bx24kTsZVvKvGvX9Ps1FAKUFxFTefoGkY2krc6zoSnNhaiS4eH4lALDw1PnDA3FnzM0VJ1cGza49/cH9+nvdx8dzZf6IMv3ysvq1dOvtXp1/u9URvoGkQ2U5kKI/HRj8ZiNG2HbtumlL5P2A2zbFm/2KjuMdmICbr99et/tt880tbUyxXUifYPISJK2mA1NKwVRJVmeqM3izzErT45oMrtWieJatSoT5CX9TkNDU/cYGnKfPz9ZJiXA6yxopSBEfrI8USeFe/b1lZNsrtmvUZRnnw3SWzRkgtaprlultWgmaSf0k09Oyf3kk62rv8lZ3T1IKQiRQJaNaUnhnsePlxOimnU3chayypSW1qJMGqa4iy6KP57UL6rDvJ3Hj5oZGxvzPXv21C2GmONMTAST98MPB0/icTuDh4enUlbnoa+vvRVCK/r7g5XCihWBcmsou6T8StFx69dP7aRNO78Vjd9lZCR+xVH0dxOtMbM73X0s7phWCkK0Sbvhnq1CMatKrAfTVw7veU/21czx44ETuyFnURNP1BTXjU79uUplSsHMTjKzO8zsHjPba2YfC/s/amaPmtndYVsTGbPJzPab2QNmdmlVsglRFYsW5euPiyaKTrg/+ZPlyxjHCy/AVVflG9OIDDrvvGznDwzA0FC8Ka7T2WZFC5I80O02wIDF4fsB4JvALwAfBT4Yc/4ocA+wADgL+C7Q3+oeij4S3UDW6KA4GvsNmlt/f+vj0Xb66TPLcRZt7jP3HKSd3+p7Z41wylJSVJQHdUQfhfd+Jvw4ELZW1tHLgRvc/Xl3fwjYD1xYlXxClEG70UFplbRaZS5tTJ+PPpotjUV/fzb7f1xai6TrNeRIolWEU5RuzjY716jUp2Bm/WZ2N/AEcJu7fzM89Jtmdq+ZXWdmp4R9ZwCPRIYfCvuE6Bh5Uy20Gx2UFoqZNVTzG9+AQ4eCCfrEiUD2KIODsGNHcGxoKP6a0f5oWosNG+LPL7OwC8ysIy2FUA+VKgV3P+7u5wPLgQvN7BXANuBs4HzgMPAn4elxzzAznkHMbL2Z7TGzPUeOHKlEbjE3SbPvx5EUo5+VJHt8oz9p4j1+fGoPwfz50+V2D/LsL1489dS9bl2gwPrCv/hmpTIwANdcE3+vtMIuJ50UPy6pX3Q3HQtJNbOPAD9y949H+kaAm939FWa2CcDd/0t47EvAR9399rjrgUJSRbnMmxdvrunvDybZPGOaSQpVbYSFtjp/48bAlJK3CE5D7oaJK7qiGRiAl74UnnpqZkhqXpYsCTanNTM0BEePFrumqJZaQlLNbKmZnRy+XwhcDHzHzJZFTnsLcF/4/iZgrZktMLOzgHOAO6qST4hm0uz7eY9FSQpVzdIfrbSVh4ZscSauF18MJnL3wOz0jW/ku3aUp57K1y+6m3nppxRmGbDDzPoJlM+N7n6zmX3WzM4nMA0dAK4AcPe9ZnYjsA84Blzp7ioQKDpGf3/yJN9w0I6OTi8gPzyczYRUR1WzhrknLda/YSaDYqUdk1ZSSlExO6ky+uhed3+Vu7/S3V/h7r8f9r/T3X8m7L/M3Q9Hxmxx97Pd/Tx3//uqZBOiQdSxnOWpf98+WLly6nPWqmad2m8QpeGPyBrrXzQjaZJpLalfdDfa0SwKk1aVrNtlaHYsN0gL24ymqm4OpUzia1/LLlcrTj45vn9gINkRnFVx5fVZiB4laQPDbGjavFYf3bDZqF0Z0jaOFUnnnHdM3vOLFqPJssGu8b3zUuR3EvVCi81rSognCtENCczalaHVk717+vE48kYw5b1HkQipZhorpGaiq4s8FPmdRL20HX0URhL9BzPbHm44u87MritXTDGb6IYEZu3KkLYxbHQ0/nhzf9SEtXBh/JiyNnoViZBqZtWqqf0KDfr6gv4iJG1uS+oX3U1Wn8IXgZcBu4C/izQxR+mGBGZZZGjlc0grOL9370wF0Bx91Jzm4plnZk64q1cnP4EnPWUn9ZdRjGbz5pmhsCdOTBW8iaMb/EeiQyTZlaINuDvLeZ1u8inUx2zwKWSRccOGKd9Cf3/+QvFJpSiz/i6d8ilEyVtCNO13TPPNiO6DFj6FrErhPwNrspzbySalUC/tTqhl0KrWcJYay+1c3z173eSkexaRsSpFVlRGOZpnH62UQlbz0VXAzWb2YzN7Omw/rGTpImYFExNBgrVonqAdO7rLrNCuz6HZNBRXxjKruSzpnlnqQDcT3eF87Fh+5/CaNfn6037HvCYw0eUkaYvZ0LRSqI8ynsLbJc2ssWhRvIyLFmW7fpbvuHOn+/z56SuF/v7k1UanV1x1rRTSVl2ic9Cu+Si4BpcBHw/bm7KOq7JJKdRHXrt0FvJOGlWbNbKM37nTfWAgXSkkKa648QMDrb973Pl5KNunkPV3ar6vmRRDXbStFICrgd3Ae8J2G3B1lrFVNimF+ih7pVDEcZ02uXVCKST9Do2VQZITtvE7DQ3FHx8aipcpSQHlUQxF/u1aKewsv1PSamr+/Oxyi/IoQyncC/RFPvcD92YZW2WTUqiPsqOP0ibXuJVDN6wU2lVMeWVs9zu5x5u85s8v/m+XZeVRhtyiPFophTy5j06OvH9ZYSeG6AnKLp+Y5Mw8fjyYOuKcvEWctGWTtleijH0FVRA82yV/zsP73pevX3Q5Sdoi2oC3AweB64EdwEPA2ixjq2xaKfQOWeL940wc7Zo1WpFlfLv29qpWCq2c11UECaQ5y7VS6C4oydG8jMDZfDnwr7KOq7JJKfQOO3e69/VlUwxZI3WymDVaKZXR0fjxo6MzZS+6VyLvZJnFp5C2wa2KIIE0Vq+Ov+fq1dXdUyRTWCkAPxW+vjqutRrbiSal0DskTWRZWpJiWLw4/vzFi4PjWWzrzYqhWSGkUUbkTjNp0UdJyrWvL9vvUhXNikEKoT7aUQrbw9evxrSvtBrbiSalUC9lxp0nRelkXTnEkTbh5o38yUrz77JhQ3UmrjjSrtlqF7b2EMwNSjEf5W3ASQQ1lu8B9gIfC/tPJQhpfTB8PSUyZhOwH3gAuDTtHlIK9VF29FFRhdBqAq2iXkIaeX+XOpRClt+z03msRGdppRQy1VMws7cCt7r702b2H0Pz0R+4+7dajDFgkbs/Y2YDwNcJ0mX8GvCUu19tZh8OlcLvmtko8DngQuB0goys53qLOs2qp1AfZddTSKoTkIWitQqqqAOQ93epQoa+vvixZkE21Ky/dSdrY4jO0nY9BeA/hQrhF4FLCSKQPtlqQKiQngk/DoTNCRzVO8L+HcCbw/eXAze4+/Pu/hDBiuHCjPKJDpNUrD5LEfs42qk3kDR28eLW/UND8ceT+rOQFFp78GB5aaejdaXnzQs+R0lSJo3+iy7Kdp9O1sYQ3UNWpdB4rngjsM3dvwjMTxtkZv1mdjfwBHCbu38TOM3dDwOEry8PTz8DeCQy/FDYJ7qQsuPv4wq/xLF48fRaxKtXwy23xE+4P/pR/DUa/ddcE9Q2jjIwEPTnITpJt3q6dw+Uw7vfXVwxNNeVPn48+NysGFqxf3+28zpZG0N0EUl2pWgDbgb+EvguwSa2BcA9WcaG408mcE6/Avh+07Hvha9/Abwj0n8t8G9irrUe2APsWbFiRXlGNpGLLLbwPI7orPsUYOqaQ0Mzo4eK5ORpx1leNGqq4cwu20+Sds2sqb7z+hSU7G52QQlpLgYJfAHnhJ+XAa/PMjZyjY8AHyRwIi+LXOeB8P0mYFPk/C8Br2l1TTma6yMtcqdMh2veVmae/4ULp49buHD68VZRU2kTcJbfMc/vVMZvWWRSL5LUT9RLK6WQ1dF8NnDI3Z83s4uAVwKfcffvtxizFHjR3b9vZguBLwP/FfgV4EmfcjSf6u4fMrOVwF8z5WjeHSohOZq7kLQC8mU6XPPScKgWceJu3Bik62jliF24EJ59dupere6Rdnzx4ngz16JFQWnPZrJ8p3Z+ywzTwQyWLIEnn5zZPzQER48Wl0VURxmO5s8Dx83sJwnMOmcRTOCtWAZ81czuBf6FwKdwM0HG1UvM7EHgkvAz7r4XuBHYB9wKXNlKIfQ6ZdfETXNO5iWtgHy7BW7aoagtvNlen8Rzz029b9e3kub3mA3EKYRW/aLLSVpCRBtwV/j6IeC3wvffyjK2ytar5qOy9wCUUde3mTQzRt78OmWZjtrZLZxnA13W3zbtGnllrNp8VISyryeqhxJ8Ct8kSIp3H3BW2HdflrFVtl5VCmUnLKuisHraRNBpn0IZu4WLTp6tksGl+QyqUAp5nPbRVjTtRFU7w0V1tFIKWc1H7wZeA2xx94fM7CxgZ3nrFRGlbNNLmqmnCspOrZ3GiROBr6Kq60dZuHD651WrYPny4HsuXx58blBW2GuDDRvS++NSijdMhxCYtk4/ffrx1ath165iMl1zDcxvClCfP7/4dxQ1k6QtZkPr1ZVC2U9eaQnSilC2yaCd3EdJ98z7O2YJ12z+zbKsiFqFaxbJHpqlpnP0nkNDM6ODyk5joZDU2QVFVwpmdmP4+m0zuzfSvh06kMUsoPnJNq2/DqpYtZx/fr5+9/Rrnjgx3Um/efNUJFKDZ5+FdeumggQgWMXErWbOPTf+Pkn9AFu3BhFe7sHr1q0zzxkfn7rn4sXw4oszZdy8OfkeeYner1MrNlENLUNSzWyZux82s+G44+5eMKlBOfRqSGpa7pq6r9cYm0SWybWZl7wkPgQzK3H3TAubzXp+q/FJv22UwcFk01leGWF62Gx/f5DmI04xNKji31/MbgqHpPpUOoqDoQL4HvB0pIkKSCvxWPf1qqCKEMy8vpSs+Zei47P8hq2eyvPKWCTNRSf+/csOoRY1kmRXijbgCuBx4ABBKc6HgP+bZWyVrVd9CmUXVm/X7h1H2T6FdvwJ0RYtglMk6ipqr09q0fFxv22e3yWvjEW+U9khzp2+vigfSghJfRBYkuXcTrZeVgplpw1oNekXuV8RpVC0nnJRxVBkf0ZUKSQ5npvHR79XFkXSfL88MhZVxlU6gquo+SyqpQylcCswmOXcTrZeVQqd/iMrEu2Ud3JqpyxlkdYgS6RO9NxW10wbX+R3yStjFXtO2qWOms+iPVophay5j14FfJpgE9vzEdPTb5dmxyqAHM3lUMRpnGXMxERgS3/44eA7xdnJG7mQysx9FJUhD2U4z/PmMsrLypWwb9/M/tFR2Lu3/esXoeyCS6J6ysh99JfAV4B/Bu6MNFEBzRuP0vq7kYmJwHF78GAwoSY5TosW5elWmsNT0/rz8sAD+fo7QdxmucHBoF/MPrIqhWPu/jvu/ml339FolUo2h4kmXMvS3y5VVCCLi9+Po2hRnlaMjpZ/zawkrSharTTyRO7UsTs9jU7vXhfVklUpfNXM1pvZMjM7tdEqlWwOk2QiqiqmvIo0BVlXAGVPZu2YUZLMR2WbtqJMTASV2BorqrTKbGVXvCsLbV7rHbIqhX9HUATnn5gyHfWeMb+HaH763Lgx+Wl0fByuu276k95117X3h511kmpnNRKl4d5sVgh5nsLf9758/WVw1VUzdxu/+GLQH0fSXop2alwLMY0kD/RsaL0afVQ07LBBltj5vr72whLTZMwaJZQlW2iWlhRqmzd+Pk8kUJHfpd3zy5CxCpT7aHZB0ZBU4EOR929tOvaHrcZ2okkpxJM1dfKiRdXJmJSEr10lktaim/zqiJ/vhFLoNrR5bfbRSimkmY/WRt5vajr2hpIWK6KJdh2/We35VVb3yuP/6MtqxMzACy9MmV7qqP6W99+uCid/p0lKClhmwj3ROdL+HC3hfdzn6QfNzjSzr5rZ/Wa218yuCvs/amaPmtndYVsTGbPJzPab2QNmdmmub9JDzLX89MHCszwaZSDryPmU99+uF/6t6yy9KiogaQkRrDCCMpzN7+M+x4xdBrw6fP8S4P8Ao8BHgQ/GnD8K3AMsIKgB/V2gv9U9etV85N6ejTarqSVaG6Ds3EdZahNU2RrfqQ6zRt7fcrbb45XmYvZBC/PRvBSd8bNm9kOCVcHC8D3h55NSlM1hoJFl9Wkzux84o8WQy4Eb3P154CEz2w9cCNyeIqMoyBVXBK+NjWYNE8DBg1PRLEUjkMp++i9CQ/bGruoVK4INVVWHS46P57tH3vO7jS1bpv//AW1em9UkaYsyGzACPAy8lGClcAC4F7gOOCU8578D74iMuRb49VbX7dWVws6dM5+0zbI/QaY9RTdHrBR50kt7Sk/Kp9TJlcJcptOrj9m+2plr0G7uo3Yws8XAPxDUd/6CmZ0GHAUc+ANgmbu/x8z+Arjd3XeG464FbnH3zzddbz2wHmDFihUXHOy1PAnAggWBw7SZ+fPh+edn9jeTN4dPkVxLafdYsmTKtl8H3bBSqYvmlR+0LvQj5h5l5D4qeuMB4PPAhLt/AcDdH3f34+5+AvgrAhMRwCHgzMjw5cBjzdd09+3uPubuY0uXLq1S/NqIUwit+tulCofsU08VHyvaQ9FAoh0qUwpmZgQmoPvd/U8j/csip70FuC98fxOw1swWmNlZwDnAHVXJJ6aoIqHZqUqCUhuKBhLtUOVKYRXwTuB1TeGnf2Rm3zaze4HXAh8AcPe9wI3APoL6DVe6e41pvnoTs6AucLR8YycTmvX1VZtLSMyO8quie0mLPiqMu3+d+L0Mt7QYswVQzELFNOr6QuuC76046ST48Y/j+yHZfOQe+CmqVAyzaeNXFSgaSLRDpT4FUQ9ZU0dv3x68TkzAu941PVPnu97VOnncT/xE6/66nlYHBmbXxq8qUCpr0Q5SChWQJzNnFcRV5oqjkbb6iitmRhmdODG1jyHPPRr9a9bEH0/qb4fFi6cmv09/WpMfKJW1KE5l5qO5ShUbwaL09ZW/CSspB1I7uZFuSTASJvW3w3PPVVdrQoi5hlYKJVN1OGDDvLN+ffsrkCrt+p2MgKmz6pgQvYaUQsl0ajIsQ9FUucGrkz6FuquOCdFLSCmUTCcnw26OO0/b+1DmRK6qY0KUh5RCyXTSwdrNcedpETDnnVf82g2F0t8PGzYUD6sVQsyk8txHVTI2NuZ79nRXqeiknD9DQ3D0aLZrZLH1t8plk8dX4F5N7qM05s0r5gvImv9JCJFMbbmP5iJJSeDKSg5XRdx5HQXrizqHf+mXypVDCDEdhaTOMqoIvWyYX7ZvDybr/v7ATl+lWaa/v5hi+NrXShdFCBFBK4Ua2LgxMJ/E5SGqi61b4dixwPRz7Fj1dvqizmGFnwpRLVoplIxZsn0eAgXQyDsE5eQhqoO075lG8+okKwo/FaJatFIoQKs0FklO1kZ/I99QM0n9nSLv6uWnfzpffxzR1cnpp2cbo/BTIapFK4WctJvGIumpuE6zSJHVy/335+tPY2Cg9fFO+DmEEApJzc3ISKAImhkeDhKPpYVqJoVi9vcHT83Qfrhn3pDULDLluUeR/1JlX08IkYxCUkskqSR01lLRF12Ur79KFi4MXrth9ZLkK5APQYjOIqWQk3Ynr7vvztdfJc89F7wW+U6LF+frT6MbFJMQotoazWea2VfN7H4z22tmV4X9p5rZbWb2YPh6SmTMJjPbb2YPmNmlVcnWDu1OXlVvbitCkvO2lVP3k58MzE5R5s0L+oswPJyvXwhRDVWuFI4B/97dfxr4BeBKMxsFPgzsdvdzgN3hZ8Jja4GVwBuArWbWdcaD2TB5nXxyvvO3bg1yCOXJKTQ+DtdfPz230fXXF99l3cmcUUKIZCpTCu5+2N3vCt8/DdwPnAFcDuwIT9sBvDl8fzlwg7s/7+4PAfuBC6uSryizYfL6/vfzjymyea3M6l6dLMojhEimIz4FMxsBXgV8EzjN3Q9DoDiAl4ennQE8Ehl2KOzrKpImqe3bg30LohidLMojhEim8mnMzBYDnwfe7+4/bHVqTN+MYEQzW29me8xsz5EjR8oSMzNJUUbHj3cmdLKuus9V08k6FEKIZCpVCmY2QKAQJtz9C2H342a2LDy+DHgi7D8EnBkZvhx4rPma7r7d3cfcfWzp0qXVCZ9A3SGSZZbj7CbSivIIITpDldFHBlwL3O/ufxo5dBOwLny/DvhipH+tmS0ws7OAc4A7qpKvKN0SIllm3eeitEr3kZfxcVi3brqze9268tKDCyGyUeVKYRXwTuB1ZnZ32NYAVwOXmNmDwCXhZ9x9L3AjsA+4FbjS3btkCu5OkuztixZlG59n53MzjXQfBw+Ws3qZmAjCWRtK9/jx4HMvrYaEmA0ozUVO2plI3bOlc8h6j0ZqjWYuvhh2704fv2gRPPNMtns1k5buIy8nnRRfUW3BAvjxj/NfTwiRjNJc9CCt7O1f+Uq2a/zoR8XvX3a0UFKJTZXeFKKzSCnMMrKU4+zE4k/RQkL0JkqdPcuoohxnEbZsmZ5CHBQtJEQvoJVCD9KO3yMr4+PBaiWa5qLV6iWN1avz9QshqkGO5pzU7Wgus57C0BAcPZrt3E7Q7CBfvRp27apPHiF6FTma5xhZk/O97W3VypGXc8+dvk/h3HPrlUeIuYiUQg8Stzs4js98pnpZstIoCRrdp7BtW3qtaCFEuUgp9CDN9v4k2glJLZvt2/P1CyGqQUqhR4mmtZ4NqPKaEN2BlEKHSUpBEe0vOxInabXQiSglIcTsQkqhQzSqoWWZoPfvjz8nqV8IIcpCSqFDvOxlwWtSrqFof1LNhqT+NJLCWLspGnk2lDkVYi4gpdAhVEGsNaqnIER3IKUQw8aNMG9eYNKZN6+csMhTT23/Gr1M2TukhRDFUO6jJhrx8g0a8fKQrZh9N7J6dXwq7W5LITE+LiUgRN1opdBEWrz80FCx6z71VLFxZbBr10wFoBQSQog4pBSaSIuXL5oaou6U0rt2BY7lRpNCEELEUWWN5uvM7Akzuy/S91Eze7SpPGfj2CYz229mD5jZpVXJBa1rCzdy7zTT6L/llvz3GxiYcphmCUmdPz/+nKR+IYQoiypXCtcDb4jp/zN3Pz9stwCY2SiwFlgZjtlqZgnTc3uk1RZevz5+XKO/SBRRdMLPEh563XUzlYdZ0C+EEFVSmVJw938EslrSLwducPfn3f0hYD9wYRVybd48vTAMBJ83bw7eb90KGzZMz9a5YcOUkznJDNTfH0zccSuNF16Yun6WePzxcfjsZ6dH4nz2s3LCCiGqpw6fwm+a2b2heemUsO8M4JHIOYfCvtLJUlt41SpYvjyYkJcvDz43SIqn37EjyDOUlGuocf2s8fjR3EUHDkghCCE6Q6eVwjbgbOB84DDwJ2F/nKU91tBiZuvNbI+Z7Tly5EhuAZJSSjf608xLcfH069YFK4G+vqDF0VhhZI3Hb+X3yEK744UQcxR3r6wBI8B9aceATcCmyLEvAa9Ju/4FF1zgeenri8bgTLW+vuD48HD88f5+d7Pg+M6dU9fbudN9cDB+TKMNDk4fk0bcNfNcY+dO9/nzp4+fPz+fDEKI3gXY4wnzaqXlOM1sBLjZ3V8Rfl7m7ofD9x8Aft7d15rZSuCvCfwIpwO7gXPcvWXi5CLlONNKXfb1pecEGhycerofGYnPSdTfH5h+VqwITEN5zD9J1xweDkxJaSxZAk8+ObO/28pvCiHqoZZynGb2OeB24DwzO2Rm7wX+yMy+bWb3Aq8FPgDg7nuBG4F9wK3AlWkKoShpIadZ9hNEHdNJPoqGf6GIPyCL36MVcQqh0V9m6g4hRO9RZfTR2919mbsPuPtyd7/W3d/p7j/j7q9098saq4bw/C3ufra7n+fuf1+VXGkhp2vWxB9vpjFBJymRdjarJeVJKit/kkpdCiGSmHM7mtNCTrNuTmtM+klKJKtyqYKsqThU6lII0cycUwoQKIBjxwLfwbFj0xPdZTHRRENIk5RIkZ3PDZLyJGXNn3TNNcEu6jRU6lII0cycVAqtSNuc1hxC2q79P48MWU1S4+Pw6U9Phb0mkeRfEULMXaQUmkjbnNbsOC4ygaftISij4Ex081tSiuyLLsp+PSHE3EBKoYm8xV7yTuBpm+OKyJCGaj4LIbIipRBDnhQTeSfwtNxLVVCFiUsI0ZtIKRSg2fwD2ZVI3Ka05v4sq4k8VBE2K4ToTaQUctLuhJ22eQ7KX02U4aMQQswNpBRy0u6EnVbZDco395TtoxBC9C7z6hZgttHuhD08nJzXqMGKFfHntGPuGR+XEhBCpKOVQk7atc9nMeXI3COEqAsphZy0O2FnMeXI3COEqItKU2dXTZHU2WUwMRH4EB5+uFhqbCGEqJNaUmf3Mu2WysxSFU2V04QQdSClUAJ5JvAsIa1l71MQQoisyHzUJo0JPBqmGq3M1kyWqmrtVl4TQohWtDIfSSm0Sd4JPKncp1lgjsp6jhBCFKWucpzXmdkTZnZfpO9UM7vNzB4MX0+JHNtkZvvN7AEzu7Qqucom776FLCGtSkshhKiLKn0K1wNvaOr7MLDb3c8BdoefMbNRYC2wMhyz1cxmRbb/vBO49ikIIbqZKms0/yPQXCvscmBH+H4H8OZI/w3u/ry7PwTsBy6sSrYyyTuBa5+CEKKb6XSai9Pc/TCAux82s5eH/WcA/xw571DY1/U0Juo8+xaypJxQWgohRB10S+6juKKRsR5wM1sPrAdY0SVGdk3gQoheodP7FB43s2UA4esTYf8h4MzIecuBx+Iu4O7b3X3M3ceWLl1aqbBCCDHX6LRSuAlYF75fB3wx0r/WzBaY2VnAOcAdHZZNCCHmPJWZj8zsc8BFwBIzOwR8BLgauNHM3gs8DLwVwN33mtmNwD7gGHCluydUHhBCCFEVlSkFd397wqHVCedvARR0KYQQNaLcR0IIISaZ1WkuzOwIEJNkIjNLgKMliVMVkrEcJGM5SMZyqFvGYXePjdSZ1UqhXcxsT1L+j25BMpaDZCwHyVgO3SyjzEdCCCEmkVIQQggxyVxXCtvrFiADkrEcJGM5SMZy6FoZ57RPQQghxHTm+kpBCCFEhDmnFOKK/3QbZnammX3VzO43s71mdlXdMjVjZieZ2R1mdk8o48fqlikJM+s3s2+Z2c11y5KEmR0ws2+b2d1mVm85wQTM7GQz+xsz+074f/M1dcsUxczOC3+/Rvuhmb2/brmaMbMPhH8z95nZ58zspLplijLnzEdm9svAM8Bn3P0VdcsTR5gscJm732VmLwHuBN7s7vtqFm0SMzNgkbs/Y2YDwNeBq9z9n1OGdhwz+x1gDHipu7+pbnniMLMDwJi7d218vZntAP63u3/KzOYDg+7+/ZrFiiUs0vUo8PPu3s5eplIxszMI/lZG3f25ML3PLe5+fb2STTHnVgoJxX+6Cnc/7O53he+fBu6ny+pLeMAz4ceBsHXdE4aZLQfeCHyqbllmM2b2UuCXgWsB3P2FblUIIauB73aTQogwD1hoZvOAQRIyQtfFnFMKsw0zGwFeBXyzZlFmEJpl7iZIgX6bu3edjMAngA8BJ2qWIw0Hvmxmd4Y1Q7qNnwCOAJ8OTXGfMrNFdQvVgrXA5+oWohl3fxT4OEFC0MPAD9z9y/VKNR0phS7GzBYDnwfe7+4/rFueZtz9uLufT1D/4kIz6ypznJm9CXjC3e+sW5YMrHL3VwO/ClwZmjm7iXnAq4Ft7v4q4EeENda7jdC0dRnwP+uWpRkzO4Wg/PBZwOnAIjN7R71STUdKoUsJ7fSfBybc/Qt1y9OK0IzwNeAN9Uoyg1XAZaG9/gbgdWa2s16R4nH3x8LXJ4C/pftqlB8CDkVWg39DoCS6kV8F7nL3x+sWJIaLgYfc/Yi7vwh8AfjXNcs0DSmFLiR04l4L3O/uf1q3PHGY2VIzOzl8v5DgP/t3ahWqCXff5O7L3X2EwJzwFXfvqqcyADNbFAYUEJpkXg90VXScu/8/4BEzOy/sWk1Q/6QbeTtdaDoKeRj4BTMbDP/OVxP4DLuGOacUwuI/twPnmdmhsOBPt7EKeCfBk20jvG5N3UI1sQz4qpndC/wLgU+ha0M+u5zTgK+b2T0EFQf/zt1vrVmmOH4LmAj/zc8H/rBecWZiZoPAJQRP4F1HuNL6G+Au4NsEc3BX7W6ecyGpQgghkplzKwUhhBDJSCkIIYSYREpBCCHEJFIKQgghJpFSEEIIMYmUgpgzmNnxpiyahXfkmtk/lSlb07XHzOzPq7q+EK1QSKqYM5jZM+6+uG45hOhmtFIQc56wlsHHzOyusKbBT4X9S83strD/L83soJktCY89E75eZGZfi9QZmAh3qmJmF5jZP4RJ7r4UpkRvvvdbw7z695jZP0aueXP4/pbIyuYHZrYuTET4x2b2L2Z2r5ld0anfSvQ+UgpiLrGwyXz0byPHjoYJ6bYBHwz7PkKQGuPVBPmIViRc91XA+4FRgmyiq8LcVf8N+HV3vwC4DtgSM/b3gEvd/WcJkrhNw93XhEkH3wscBP5X+P4H7v5zwM8Bv2FmZ2X8DYRoyby6BRCigzwXTrBxNNIi3An8Wvj+F4G3ALj7rWb2vYSxd7j7IYAwlfgI8H3gFcBt4cKhnyBVcjPfAK4Pi63EpmYIVyefBd7m7j8ws9cDrzSzXw9PeRlwDvBQgnxCZEZKQYiA58PX40z9XVjOsdHxBux195YlK939fWb28wSFgO42s/Ojx8MKYjcAv+/ujSR5BvyWu38po3xCZEbmIyGS+TrwNoDw6fyUHGMfAJZaWMfYzAbMbGXzSWZ2trt/091/DzgKnNl0ytXAve5+Q6TvS8CG0ESFmZ3b5QVvxCxCKwUxl1gYmnca3OrurcJSPwZ8LvQ9/AOB+efpLDdy9xdC886fm9nLCP7WPgHsbTr1j83sHIKn/93APcCvRI5/ENgbkfv3CEqLjgB3hU7tI8Cbs8glRBoKSRUiATNbABx392PhE/+2Fj4JIXoCrRSESGYFcKOZ9QEvAL9RszxCVI5WCkIIISaRo1kIIcQkUgpCCCEmkVIQQggxiZSCEEKISaQUhBBCTCKlIIQQYpL/D/ZoRF15citXAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(cdf.ENGINESIZE, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Engine size\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Practice\n",
"\n",
"Plot **CYLINDER** vs the Emission, to see how linear is their relation:\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# write your code here\n",
"\n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"cylinders\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<details><summary>Click here for the solution</summary>\n",
"\n",
"```python\n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Cylinders\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()\n",
"\n",
"```\n",
"\n",
"</details>\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Creating train and test dataset\n",
"\n",
"Train/Test Split involves splitting the dataset into training and testing sets 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: \n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"msk = np.random.rand(len(df)) < 0.8\n",
"train = cdf[msk]\n",
"test = cdf[~msk]"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Simple Regression Model\n",
"\n",
"Linear Regression fits a linear model with coefficients B = (B1, ..., Bn) to minimize the 'residual sum of squares' between the actual value y in the dataset, and the predicted value yhat using linear approximation. \n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Train data distribution\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEHCAYAAABBW1qbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAunklEQVR4nO3dfZQc1Xnn8e8zoxc0UmyBEKyE0IyChWPJycpGIfYqyRKPMA7mAM7GXnllWyd2LCLhBCfxcdBqN8a7qyzHiROTPSsZrS1bsWbNsnGycAiBgIAkThywhAEjYQ7KgkCgBdkG27wYkHj2j6qeqemp6nrpqq7unt/nnDrdfbuq+s5IU0/Xvc+919wdERERgIG6KyAiIt1DQUFERMYpKIiIyDgFBRERGaegICIi4xQURERk3IwqT25mjwE/Ak4Ax919tZmdAvwvYAR4DHifuz8b7r8F+Ei4/2+5+62tzn/qqaf6yMhIVdUXEelL+/fv/667L4x7r9KgEPold/9u5PWVwF53v9rMrgxf/56ZrQDWASuBxcDtZna2u59IOvHIyAj79u2rsu4iIn3HzA4nvVdH89ElwO7w+W7g0kj5de7+srs/ChwCzu189UREpq+qg4IDf2Nm+81sY1h2ursfBQgfTwvLzwCeiBx7JCwTEZEOqbr5aI27P2VmpwG3mdl3WuxrMWVT5uAIg8tGgKVLl5ZTSxERASq+U3D3p8LHZ4C/JGgOetrMFgGEj8+Eux8BzowcvgR4KuacO919tbuvXrgwtp9EREQKqiwomNlcM/uJxnPgncCDwI3AhnC3DcAN4fMbgXVmNtvMlgHLgXuqqp+IiExV5Z3C6cDXzex+gov7X7n7LcDVwPlm9ghwfvgadz8AXA8cBG4BLm+VeSQi08vYGIyMwMBA8Dg2VneN+pP18tTZq1evdqWkivS/sTHYuBFefHGibGgIdu6E9evrq1evMrP97r467j2NaBaRrrd16+SAAMHrrVvrqU8/U1AQka73+OP5yqU4BQUR6XpJ2efKSi+fgoKIdL1t24I+hKihoaBcyqWgICJdb/36oFN5eBjMgkd1MlejExPiiYi0bf16BYFO0J2CiIiMU1AQEZFxCgoiIjJOQUFERMYpKIiIyDgFBRERGaegICIi4xQURERknIKCiIiMU1AQEZFxCgoiIjKu8qBgZoNm9i0zuyl8fZWZPWlm94XbhZF9t5jZITN72MwuqLpuIiIyWScmxLsCeAh4XaTsT9z9j6I7mdkKYB2wElgM3G5mZ2udZhGRzqn0TsHMlgDvBr6QYfdLgOvc/WV3fxQ4BJxbZf1ERGSyqpuPPgd8EnitqfxjZvaAme0ys5PDsjOAJyL7HAnLRESkQyoLCmZ2EfCMu+9vemsHcBawCjgKfLZxSMxpPOa8G81sn5ntO3bsWIk1FhGRKu8U1gAXm9ljwHXAO8xsj7s/7e4n3P014H8w0UR0BDgzcvwS4Knmk7r7Tndf7e6rFy5cWGH1RUSmn8qCgrtvcfcl7j5C0IF8h7t/wMwWRXZ7D/Bg+PxGYJ2ZzTazZcBy4J6q6iciIlPVsRznZ8xsFUHT0GPAZQDufsDMrgcOAseBy5V5JCLSWeY+pdm+Z6xevdr37dtXdzVERHqKme1399Vx72lEs4ik2rwZZswAs+Bx8+a6ayRVqaP5SER6yObNsGPHxOsTJyZeb99eT52kOrpTEJGWrr02X7n0NgUFEWnpteahpynl0tsUFEREZJyCgoi0NHduvnLpbQoKItLStdfCQNOVYmBAfQr9SkFBpA+MjcHISHCxHhkJXpdl/Xr4sz+D4eEgJXV4OHi9fn17562yzlKcgoJIxarO8R8bg40b4fBhcA8eN24sPzA89ljQufzYY+UEhKrrLMVoRLNIhZpz/Bs2bSovx39kJLioNhseDi7g3agX69xPWo1oVlAQqdCMGcFgr2aDg3D8eDmfMTAQfNtuZta9aaO9WOd+omkuRGoSFxBalRexdGm+8iLSmsDy9g90os5SjIKCSIWas3bSyovYtg2GhiaXDQ0F5WVoNIE1AlljmotGYCjSP1B1naU4BQWRCs2Zk688Ttq39PXrYefOydlBO3e23xnckDbNxdat8OKLk9978cWgPEnVdZbiFBRkWqs6M6j5YplW3iztW3pDc3YQlJfumTbNxeOPx7+fVN5QdkaTlENBQaatrBfcdrTbdr5zZ75y6Hy6p/oH+ouCgkxbRS64ebXbdl6ko7pIc04radNcqH+gv1QeFMxs0My+ZWY3ha9PMbPbzOyR8PHkyL5bzOyQmT1sZhdUXTeZ3jqRGdRu2/ngYL5yKN6ck+Taa6d+3uDgRJ+C+gf6SyfuFK4AHoq8vhLY6+7Lgb3ha8xsBbAOWAm8C9huZi3+64u0p8gFt4h22s43bsxXDuU356xfD7t3T77o7949+edQ/0D/qDQomNkS4N3AFyLFlwC7w+e7gUsj5de5+8vu/ihwCDi3yvrJ9Fbkgttp27cHo58bgWpwMH00dBXNObroTx9V3yl8DvgkEM1fON3djwKEj6eF5WcAT0T2OxKWiVSiyAW3Dtu3B6Of3YPHuPpFB49t3QobNqg5R4qpbI1mM7sIeMbd95vZeVkOiSmbMhDezDYCGwGWKr1B2rR9e/cFgbwa2UaNzuXDh4PmHQUCKaLKO4U1wMVm9hhwHfAOM9sDPG1miwDCx2fC/Y8AZ0aOXwI81XxSd9/p7qvdffXChQsrrL5Ibyg726hbVD2GROJVFhTcfYu7L3H3EYIO5Dvc/QPAjcCGcLcNwA3h8xuBdWY228yWAcuBe6qqn0i/KDvbqBt0YgyJxKtjnMLVwPlm9ghwfvgadz8AXA8cBG4BLnf3EpMDRfpTPw4e68QYkl5V9eJEHQkK7n6Xu18UPv+eu4+6+/Lw8fuR/ba5+1nu/kZ3/+tO1E2kXXWvINaPg8c6MYakF3VitLpGNIu0oRtWECsyeKzuQJamU2NIek0n+o8UFETa0IudvFUEspUrg4DU2FaubK+OvTCGpA4d6T9y957dzjnnHBepk5l7cGmdvJlV95nz50/+rDlz3IeGJpcNDbnv2TNxzJ497sPDQb0GB+PrPDyc/JmbNk0cNzgYvG5YsSL+fCtWtPdztvrM6Wp4OP+/XRxgnydcV2u/sLezKShI3cr6I82qOSC02hp12LNnatDIE8g2bYrfv3GRbnVOKVfcv2XzF4AsWgUFNR+JtKHTnbzPPZd930aTQlwTV5ykbCVlAnWPTkw+WNmIZpHpoPHHuHVrcBFeujQICN0wkrhxkc/S3twqkCkTqLusX1/t/y/dKYj0oehFPm28wuBgMFdS0oVGmUDTi4KCSBs6nZI6f358+Zw5yU0KcU1cUSdOBHMlJdVZmUDTi4KCSAtp+fydTkl99tmpgWH+/OAzk6a2bm6HjvuG36rOabPJ6k6ivygoiCTIchdQx7xDzz47Ocfn2WfTJ4+Lrofw2muxp21Z51bTd5d1J6EJ8LpEUlpSL2xKSZUqZUk3XbAgfp8FC6qrV3P+ftI4gaS8/irSaEdHJ59rdDT/z5TnZ5D2oJRUkfy6cfbRuNlDDx6M3zcpZbTsNNqxMfjGNyaXfeMbU5vaWjXFKe21iyRFi17YdKcgVcryjboTI5qjo5GzDlxLGzwWPefwcP7BT1FJv6cFCyY+Y8EC91mzJr8fHXSlAXCdhe4URPLL8o06Kd1zYKCcyeaa+zXyiHb0Nn9Lh9ZrLq9dO3kuo7Vrkz/n8OH48u99b6Le3/sevPLK5PejndvqrO4iSdGiFzbdKUjV0r5RZ5lCosg0BA1J38KzbI12/bxTIzT3D6T1EyTNpZRla9xR5f1MaQ8t7hTM83796CKrV6/2ffv21V0NmebGxiZGNA8MxI/0HR4OvpHnNTCQ/w6h+TNHRuK/zQ8OBncKzaOwLW61dCbey7N/u3Us+nuT1sxsv7uvjntPzUcibWo33bNVKmY7q6c1PjPps0+cmEi1/fCHszVzNfaPpuYODxerX7Qprhs79aeryoKCmZ1kZveY2f1mdsDMPh2WX2VmT5rZfeF2YeSYLWZ2yMweNrMLqqqbSFXmzs1XnrYW8RveULwujYCSJbC88gpccUX2c0f7Ay68MH6fgaary8yZsGBB/KjrflxStGcltSu1uwEGzAufzwTuBt4GXAV8Imb/FcD9wGxgGfDPwGCrz1CfgnSDrNlBcZLa4wcHW78f3VasaN1nkHXq7EYdk9r3k/oDksZqzJ2bPcOprCmhJRvqyD4KP/v58OXMcGvVOnoJcJ27v+zujwKHgHOrqp9IGdrJDoL0GUhbzUTauHweONB6OuXmaS7S3H47jI6m79f4Fv+978W//8ILrTOcojoxJbRkU2mfgpkNmtl9wDPAbe5+d/jWx8zsATPbZWYnh2VnAE9EDj8Slol0TN61i7OuVZAkLRWzrFTNaL/HggXx+0TLb799Iujs2dOZNSOidUwLIlKdSoOCu59w91XAEuBcM3szsAM4C1gFHAU+G+4e9x1myncvM9toZvvMbN+xY8cqqbdMT0VmPG23I/S881qXJ80fdOLExBiCM85Ir3c02MHUoDJzJlxzTfxnpX2LzxJkpIcktSuVvQGfoqkvARgBHgyfbwG2RN67FXh7q3OqT0HKVGROoKzjCJLmQsoyd1J0rqM8W6vlOGfODD6jjBHNe/ZMHa08a5b6A7oZdfQpmNlCM5sfPp8DrAW+Y2aLIru9B3gwfH4jsM7MZpvZMmA5cE9V9RNpViQtMm2tAoBZs5K/hSe1x0fLozOU5tFqOc5XXw0+wx2OHIF/+Id8545av35qltQb3qDmn15VZfPRIuBOM3sA+CZBn8JNwGfM7Nth+S8Bvw3g7geA64GDwC3A5e6uBf+kY5LSH90nmmpWrpz8XlzTyujo5D6Bj3ykngtk1uU4m9Ng81q7duqkfAcPtp4aQ7qXRjTLtLZ5c3BRb7TRDw4G38pbWbEiyPiJ0+iXiH4zHxpKzqRplQ0U96eZdfRw9DOTRgs3y/Kzx8n7M0j9NKJZKpE3U6fb6tA8cMw9uCjOm9f6Qpc0VTVUvxLbihXx5YsXF1+Os6FV+qtMI0mdDb2wqaO5Pt0w2KjdOqQNHMs7EM09/1TaeT+j6GI0WQbYNX7uvIr8nqReaEI8KVs3TGDWbh3Smj2KNIvkrVPez5gxI/4bfZ6mn8YdUrPoust5zJkDP/7x1PKTToKXXsp/Pqle281HYSbRvzezneGAs11mtqvcakov6YYJzNqtQ9rAsKSmmubyaBPW888HOf9RZQ70ShsBncWaNVPnJRoYCMqL+MIX8pVLd8vap3AD8HrgduCvIptMU90wgVm7dUhbcP7AgakBoLmTuXnAWyPNs3EHMDgIGzYkZx8l3SkklZcxwnnr1qmzub72Wut+j1Z9N0nprO2kuUqNktqVohtwX5b9Or2pT6E+/dCn4D55YNjgYP6F4rMMXmtVp071KUTl7fdI+z2n9c1I96FFn0LWoPBfgAuz7NvJTUGhXu1eUMtQ5lrDRc6fdd3kpFHRRUZRVxXIitZRHc29p1VQyNp8dAVwk5n92Mx+FG4/rOTWRXrC2Bjs3j15Ns/du+tJS22l1QI2abLMhZS1qSqpnyPLOtDNoiOcjx/P3zmctP5BUnla303eJjDpcknRohc23SnUp8g33LKlNWu029SS5WeMm/cnqSkl6W6j03dcdd0pVH1XJ9nRbvNRcA4uBv4o3C7KelyVm4JCffK2S2eR96KRdrFqt45Zjt+zJ5hcLksTUlzgijt+5szWP/ucOZP3nzMn28+T5+eKSgu+WYKCJs3rLm0HBeBqYC/w4XC7Dbg6y7FVbgoK9Sn7TqFIp3Haxa3dtu558+KPnTcv/ffQuDNI6oRt/J6yzJIa1RwQigSGIv92rQJ2lt9z3p9TqlVGUHgAGIi8HgQeyHJslZuCQn3Kzj5Ku7jG3TlU3QGa5Rt1u4Epbx3b/Zncy/+3y/J7KqPeUp5WQSHP3EfzI89fX7gTQ/pC2csnJnVmnjgRXDriOnmLdNLmEXz/aV2eNlairJXTylT2v91v/Ea+culySdEiugHvBw4DXwZ2A48C67IcW+WmO4X+kXWxmuYmjnabNVrJkn/fbnt7VXcKne7UTessV/NRd6GkjuZFBJ3NlwD/IutxVW4KCv1jzx73gYFsgSFrpk6WC1Gri2fW7KVW5yi7iStLn0KWTt1OZzwV6VCX6hQOCsBPhY9vjdtaHduJTUGhfyRdgLNsSRe0tKDQiYtnGZk7zdKyj9J+7jJGRRehlNTu0U5Q2Bk+3hmz3dHq2E5sCgr1KvOPvMgaxNE7hzhpF9yqmjSafy+bNlXXxBUn7Zytfte6YE8PpTQf5d2AkwjWWL4fOAB8Oiw/hSCl9ZHw8eTIMVuAQ8DDwAVpn6GgUJ+yM1iKBoRWF9Aq1ktIk/f3UkdQyPL77PQ8VtJZrYJCpvUUzOy9wC3u/iMz+w9h89F/dvdvtTjGgLnu/ryZzQS+TjBdxq8A33f3q83syjAo/J6ZrQC+CpwLLCaYkfVsb7FOs9ZTqE/Z6ykkrROQRdJaAlWsl5Cm6vUUsjj11GC21mYLFsB3v5v9d93JtTGks8pYjvM/hgHh54ELCDKQPt/qgDAgPR++nBluTtBRvTss3w1cGj6/BLjO3V9290cJ7hjOzVg/6bCkNX+zrAUcJ2ka63aOnTevdfmCBfHvJ5VnkZRae/hwecuWps3ntGpV/HGN8vPOy/Y5nVwbQ7pH1qDQ+F7xbmCHu98AzEo7yMwGzew+4BngNne/Gzjd3Y8ChI+nhbufATwROfxIWCZdqOz8+7iFX5qNjgargzU+Y3AwKLv55vgL7gsvxJ+nUX7NNVMXxJk5MyjPI3qRbvXt3j0IDr/2axP1zPt7bF5X+sSJ4HU0MNx1V/yxjfJDh5LrGNXJtTGkiyS1K0U34CbgWuCfCQaxzQbuz3JsePx8gs7pNwPPNb33bPj434EPRMq/CPybmHNtBPYB+5YuXVpeI5vkkqUtPE9HdJZxCmaTO20XLJiaPVRkTp52OsuLZk1FM6Di3k+qR5axE2m/wyr6FJRZ1FsoYZqLIYK+gOXh60XAO7McGznHp4BPEHQiL4qc5+Hw+RZgS2T/W4G3tzqnOprrkyXdM0+Ha9aLVZatzHn+Fy+efNzixZPfT8vkyVKHPGmvWc5X9PdmVuyirjEIvaeMoHAWMDt8fh7wW8D8lGMWNvYB5gB/D1wE/CFwZVh+JfCZ8PlKgkyl2cAy4P8Cg60+Q0GhPknTRc+aFbyfd9K1pCBT9OLmXiwoRC/QSVs0MKR9Rtr7ee8UqgwKAwNp/+r5/u00Wrl7tQoKWfsUvgacMLM3hM06y4D/mXLMIuBOM3sA+CZBn8JNBDOunm9mjwDnh69x9wPA9cBB4Bbgcm+RedTvWq2J2w3ne+WV1uVpC7NUqWhbeHN7fZKnnpp43m7fyoc/nK88i+HhYsc1r9ucVVymU6ty6XJJ0SK6AfeGj58EfjN8/q0sx1a59eudQtljAKpYTzntG2veO4Wy7hLaGS2cZwBdQ9ro4HbvJPL+3t3j/72zbEXXVM77M0j9KKH56G6CSfEeBJaFZQ9mObbKrV+DQtlrFVSxSlrahSBvIGpnRDOUM1o4z+dFteoTSGtaqSIoNH7/0Q75LAsBFZ3mQs1HvadVUMjafPRrwNuBbe7+qJktA/aUd78iUWU3vVTRlJO2Lm/e6ZmLDlxreO21YKBV0emfIT0ltmHx4smv16yBJUuCn3PJkuB1Q1lprw2bNmUrX78++H289lowYO3Xf31yKu+KFZNfb9qUf63nhmuugVlNCeqzZhX/GaVmSdGiFzbdKWRTxTe5spsMsk6dnafZI+/PPXdu+mc1Zx9luSNqla45Ohr/OaOjyb+rvJP0VdF8GPcZSkntHbQxId714eO3CVZfa2zfRiuvVabsP+JeCAp5ps7O+pl5L7hF1nQusmJcVCdmLK2i+VB6W6ug0HLuIzNb5O5HzWw44S6j4KQG5ejnuY/GxmDr1qCJZ+nSYDWxok0jAwPBZaCZWfGMk7Ln7Glk/hQV95lJc/wkzZVUZD6npN9t1NBQctNZ3joWUcW/v/S2wnMf+cR0FIfDAPAs8KPIJhWJtgm321aetmRkN9i5s/xzJvVTJJUXWd4zy+/wxReDAF9GHYvoxL9/2SnPUp9MXWtmdpmZPU3QdLQ/3PrzK3qXKPOPLMvFru4/6nYvgmbBtnbtRFneMQRF1i6O+93GSZoosBNrOFe9lvXYWDAp4eHDwR1J3Hra0kOS2pWiG8HaB6dm2beTm/oU8p0zqSOwyDQFRfoUiq6nnHdr9BkUaa8v0mEaPSapTkmd4Z1aBa3KjmD1WfQeShincAswlGXfTm79GhQ6/UdWpCM6b1BoZ1nKIltDnkydMoJxkWCZN5uo0+srpynSQS/1ahUUsi6y8xbgSwSD2F6O3GX8Vvn3Ltn1a0dzpzsGi3QaZzkm2lk+MBDfRNToxG11viIy/LeeooyFg+bNi5+ye+5ceP75qeV5JXXItzPOoF1lL7gk1StjkZ1rgTuAf2KiT2F/OdWTZklt1FnarrtFcztzUp9BNy3kUsYgv5deyleeV1KHfBUd9VlV3WchnZU1KBx3999x9y+5++7GVmnNprGqLyzNqliBbOvWIOsmTRUZUKOjxY4rI0sn6U6u1R1enk7+TmQr5VWkg166V9agcKeZbTSzRWZ2SmOrtGbTWJELSzuqmKYgy7frWbPK/zY5Ogq3317s2DK+8SZNlZFUPjYWrMQWzdyJrszWrBPZSkWUmUIt9coaFP4dwSI4/4hSUitXxR9+q2+j69fDrl2Tv+nt2lXN2IioIu3+rc7lPjUg5PkWXsY33hkz8pVfcQW8+urksldfDcrjJK1H3c4a1yKTJPVA98LWr9lHZacp1jF1dtZlKrOskpZlS0q1rXrOn7y/l3b3d+++7CN3zX3Ua2hj7qNPRp6/t+m9P2h1bCe2fg0K7u3/4a9Ykf2CXETaxSzPSmpp58uzzZo1cUGqI3++E0Gh29QRfKU9rYJC2txH97r7W5ufx72uQ7+mpLZr5Uo4eDB9vyrnPsqaYtqY46fMlNQFC4LpouuY8+fUU+NXHGvUqd39u5FSUntPOymplvA87nXzh55pZnea2UNmdsDMrgjLrzKzJ83svnC7MHLMFjM7ZGYPm9kFKXWTBFkCAnTH3EdVZM00LrJ1zPmUt9O+H9YiqHPpVSlfWlDwhOdxr5sdB37X3d8EvA243MxWhO/9ibuvCrebAcL31gErgXcB282s5pyK/lV1HnnWdNai6wlnUUf+fN5O+yo6+TutFyZclByS2pXCZqUTwA8JZkQ9Hj5vvH611bEx57oBOB+4CvhEzPtbgC2R17cCb291zn7uU2hH3g7Zsj/DPTh/liU2s6xlXGRrUAdo9dSn0Hsouhynuw+6++vc/SfcfUb4vPF6Zqtjo8xsBHgLwTQZAB8zswfMbJeZnRyWnQE8ETnsSFg2La1dOzHzZ/Psn2lapUV2Mo88y/KWO3aUP8VF1HTNn+/krLcavNZfso5TKMzM5gFfAz7u7j8EdgBnAauAo8BnG7vGHD6liSocRLfPzPYdO3asmkrXbO1a2Lt3ctnevdkDw0c/mq+8Clu3Ts2/l86oYyrr6Rp8+1GmCfEKn9xsJnATcKu7/3HM+yPATe7+ZjPbAuDu/zV871bgKnf/RtL5+zX7qN1VzTqR0ZJWxywrklWpzs+um7KBJE0ZE+IV+VADvgg8FA0IZrYostt7gAfD5zcC68xstpktA5YD91RVv34WFxBalVfhFE2CUhtlA0k7qmw+WgN8EHhHU/rpZ8zs22b2APBLwG8DuPsB4HrgIMH6DZe7e43TfPUns6BvYfPmej5/YKDaPgRRNpC0p7Kg4O5fd3dz95/xSPqpu3/Q3X86LL/Yw3Wgw2O2uftZ7v5Gd//rqurW79LSQU+cCDp4o4Ehb8fkSSe1Lv/+9+Pfd69+sfh2ZnftB5rKWtpReUezdN6qVdn2a8zBPzYGH/rQ5I7JD32odWD4yZ9sXZ72bTVLZlIRM2f21sCvKigbSNqhoFCBTqYDxmnOXErSGE182WVTv72/9lpQniRp1HSj/MIL499vlJd5tzBv3sTF70tf0sUPlA0kxSVktEtRjXTAxgIzjXRAKOcPc2Ag+La9bVt5f+hxy0e2Ks/i5pvzlbfjpZeqb5ISmS50p1CyuBXHXnwxKC9DmXnnVXb4pmXAlPnZda46JtJvFBRK1ql0wDICTSOXP+kC3c6FO61PocxxBHWvOibSTxQUStbJdMCyAk1zpkpaeRZpGTBlToSnVcdEyqOgULK0DtYylRVompu70sqzSMuAaef30bgzGByETZtg+/bi5xKRySqd5qJq3TjNRRlTTGRpthkaSk4zzNPs415sWoR2p+JI+sw0s2bByy/nP05EJtQyzcV0VfUUE1Xkndcx2Klo09cv/EK59RCRyZSS2mOqSL1sBJetW4OLddkpr3GWLi12p3DXXaVXRUQidKdQg82bg/mH6p6HKKrTg53i7k6yUPqpSLUUFEqWlt65eXMw71Dj4hY3D1EvaDeNtbkjOiuln4pUS0GhgFbTWCR1sjbKG/MNNUsq75S8U3O86U35yuNE705GR7Mdo/RTkWqpTyGndqexSGr+qLNZpMjP9PDD+crTHDrU+v3BwaBOSj8VqZZSUnNKS99MS9WcMSM+AAwOwvHjwfN20z17ISW16vOJSDKlpJYoKWMmaybNeeflK6/S/PnBY5GpOZLa9ou2+Zd9PhEpRkEhp3YvXvfdl6+8Ss89FzwWmZojqW2/aJt/NzariUxHVa7RfKaZ3WlmD5nZATO7Iiw/xcxuM7NHwseTI8dsMbNDZvawmV1QVd3a0e7FqxvWT25WZPDa9u3BFBNlTTmRNBdSmXMkiUi6Ku8UjgO/6+5vAt4GXG5mK4Argb3uvhzYG74mfG8dsBJ4F7DdzLqu8aAXLl6NZqGsiq7UtX170A/iHjy20wncyTmjRCRZlWs0H3X3e8PnPwIeAs4ALgF2h7vtBi4Nn18CXOfuL7v7o8Ah4Nyq6ldUL1y8fvjD/MfUvVJXJxflEZFkHelTMLMR4C3A3cDp7n4UgsABnBbudgbwROSwI2FZV0m6SO3cWd26w3n14ipknVqHQkRaq/wyZmbzgK8BH3f3Vt9h45ISpyQjmtlGM9tnZvuOHTtWVjUzS8oyOnGiM6mTda37XLVOrkMhIskqDQpmNpMgIIy5+1+ExU+b2aLw/UXAM2H5EeDMyOFLgKeaz+nuO919tbuvXrhwYXWVT1B3imSZy3F2kzpmahWRqarMPjLgi8BD7v7HkbduBDaEzzcAN0TK15nZbDNbBiwH7qmqfkV1S4pkmes+F5V3aoxW1q+HDRsmZzNt2ND5vg2R6a7KO4U1wAeBd5jZfeF2IXA1cL6ZPQKcH77G3Q8A1wMHgVuAy929Sy7BE9pdcL7MQVpJ7e1z52Y7fsWK/J/Z0Jga4/Dhcu5exsbg85+fPFHg5z/fX3dDIr1A01zk1E5QcM82nUPWz0iahmLtWti7N/34PKvBNSsyNUYrJ50Uv6La7Nnw4x/nP5+IJNM0F32oVXv7HXdkO0c7A+bKzhZKWmJTS2+KdJaCQo/JMrisEzd/yhYS6U+aOrvHdMsYhG3bJk+3DcoWEukHulPoQ1n7JBYsKP4ZRafGSJK0yE7WxXdEpBwKCn0oS/PR4CBcc017n1Pm1Bi33z41AIyOBuUi0jkKCn0oy+R83TLeIurssyePUzj77HrrIzIdKSh02IyEXpyk8iLiRgfHueyy8j6zXZs3w44dk8cp7NgRlItI5ygodFhjyc2s5UU0t/cneeGF8j6zXTt35isXkWooKOQ0Z07dNcgm2t7fC7Tymkh3UFDI6bTT0vdpJWkKimj5pk3x+ySVp0ma0rtbpvoWke6hy0JORUfsLl4cPCY150TLt2+funra/PnFVzZL6jvopj4FEekOCgo5nXJK/mMWL4YnnwyeP/98/D7R8pUr4bnnJr//3HNBeRFlr6dchV5Y5lRkOlBQyCnPXDyNQV2f+Uy+zzh4MF95FmWup1wFracg0h0UFGJs3hykiJoFj9G0yKRv+nH6dUGcKpQ9QlpEitHU2U0a+fLNGs0tRafObkwp3e7U2T38zyUiXUJTZ+eQli9fdL4gLUAvIr1AQaFJWr78+95X7LyaUlpEekGVazTvMrNnzOzBSNlVZvZk0/Kcjfe2mNkhM3vYzC6oql7Qem3htOUyb745/+fNnDnRYZolJXXWrPh9kspFRMpS5Z3Cl4F3xZT/ibuvCrebAcxsBbAOWBkes93MCqxanC5tbeGNG+OPa5QXaQaKXvCT+gSi5bt2TQ0eZkG5iEiVKgsK7v53wPcz7n4JcJ27v+zujwKHgHOrqNfWrZMXhoHg9datwfO0nP6kZqDBweDCHXen8corE+fPko+/fj185SuTM3G+8hVl4ohI9eroU/iYmT0QNi+dHJadATwR2edIWFa6LGsLr1kDS5YEF+QlS4LXDUn59Lt3B/MMJc011Dh/1nz8MtcqEBHJqtNBYQdwFrAKOAp8NiyPa2mPbWgxs41mts/M9h07dix3BZKmlG6UpzUvpeXTp61dnDUfv1W/h4hIZdy9sg0YAR5Mew/YAmyJvHcr8Pa0859zzjme18CAe3C5n7wNDATvDw/Hvz88nO38e/a4Dw1NPnZoKCjPqqxzDA+7mwWPeY4Vkf4G7POE62pH7xTMbFHk5XuARmbSjcA6M5ttZsuA5cA9VdQhqXmnUZ6leamVMkbmpvV7pEm72xERSVLZiGYz+ypwHnAq8DTwqfD1KoKmoceAy9z9aLj/VuDDwHHg4+7+12mfUWRE84wZ8WMRBgeDOYFGRoKLaLPGiOROGBiIz1Iyy7Y+QtLP0DA4GASJbpv/SEQ6o5YRze7+fndf5O4z3X2Ju3/R3T/o7j/t7j/j7hc3AkK4/zZ3P8vd35glIBSVlnJ64YXx7yeVQ/nt/2n9EmnS7mq01KWIJJl2I5rTUk6TBqcllVfRVNPujKFZg4eWuhSRZpoQr0neppuqmpvGxoI+hMcfDy7y27Zl75doBKrmfok4PfzPLyIFtWo+mtHpynS7pUvjL/JJ377b7ZhOsn598bEJjeMaQSXpwp80pYeITF/TrvkoTd6mmyLt/50YgxAd/DY6Gr/PeeeV/7ki0tsUFJrkTSnNG0TqSBc9dChfuYhMXwoKMfJMMZE3iGQdg1Dm3URVTVwi0n/U0dxhWVZVi+soHhoqvjxlN4y9EJHuoZXXukjaeg3Q/ojmZu2muIrI9KGg0GFpK7tB+c09ZUy9ISLTg1JSO2x4OLkppyFvWmwW7aS4isj0oTuFDsvSlKPmHhGpi4JCh2VpylFzj4jURdlHIiLTjLKPepBWXhOROigolKDsC7gWyRGRuigotKmKC3jZ4xRERLJSUGhTFRdwTUshInWpLCiY2S4ze8bMHoyUnWJmt5nZI+HjyZH3tpjZITN72MwuqKpeZaviAt7uymsiIkVVeafwZeBdTWVXAnvdfTmwN3yNma0A1gErw2O2m1lPzPZfxQVc4xREpC5VrtH8d8D3m4ovAXaHz3cDl0bKr3P3l939UeAQcG5VdStTFRdwjVMQkbp0epqL0939KIC7HzWz08LyM4B/iux3JCzres2rnOVdOrPVeRUERKTTumXuo7gJpWNH1ZnZRmAjwNIuaWTXBVxE+kWns4+eNrNFAOHjM2H5EeDMyH5LgKfiTuDuO919tbuvXrhwYaWVFRGZbjodFG4ENoTPNwA3RMrXmdlsM1sGLAfu6XDdRESmvcqaj8zsq8B5wKlmdgT4FHA1cL2ZfQR4HHgvgLsfMLPrgYPAceByd09YeUBERKpSWVBw9/cnvDWasP82QEmXIiI10ohmEREZ19NTZ5vZMSBmjbLMTgW+W1J1qqI6lkN1LIfqWI666zjs7rGZOj0dFNplZvuS5hTvFqpjOVTHcqiO5ejmOqr5SERExikoiIjIuOkeFHbWXYEMVMdyqI7lUB3L0bV1nNZ9CiIiMtl0v1MQEZGIaRcU4hb/6TZmdqaZ3WlmD5nZATO7ou46NTOzk8zsHjO7P6zjp+uuUxIzGzSzb5nZTXXXJYmZPWZm3zaz+8xsX931iWNm883sz83sO+H/zbfXXacoM3tj+PtrbD80s4/XXa9mZvbb4d/Mg2b2VTM7qe46RU275iMz+0XgeeDP3P3NddcnTjhZ4CJ3v9fMfgLYD1zq7gdrrto4MzNgrrs/b2Yzga8DV7j7P6Uc2nFm9jvAauB17n5R3fWJY2aPAavdvWvz681sN/D37v4FM5sFDLn7czVXK1a4SNeTwM+5eztjmUplZmcQ/K2scPeXwul9bnb3L9dbswnT7k4hYfGfruLuR9393vD5j4CH6LL1JTzwfPhyZrh13TcMM1sCvBv4Qt116WVm9jrgF4EvArj7K90aEEKjwD93U0CImAHMMbMZwBAJM0LXZdoFhV5jZiPAW4C7a67KFGGzzH0EU6Df5u5dV0fgc8AngddqrkcaB/7GzPaHa4Z0m58EjgFfCpvivmBmc+uuVAvrgK/WXYlm7v4k8EcEE4IeBX7g7n9Tb60mU1DoYmY2D/ga8HF3/2Hd9Wnm7ifcfRXB+hfnmllXNceZ2UXAM+6+v+66ZLDG3d8K/DJwedjM2U1mAG8Fdrj7W4AXCNdY7zZh09bFwP+uuy7NzOxkguWHlwGLgblm9oF6azWZgkKXCtvpvwaMuftf1F2fVsJmhLuAd9VbkynWABeH7fXXAe8wsz31Vimeuz8VPj4D/CXdt0b5EeBI5G7wzwmCRDf6ZeBed3+67orEWAs86u7H3P1V4C+Af1VznSZRUOhCYSfuF4GH3P2P665PHDNbaGbzw+dzCP6zf6fWSjVx9y3uvsTdRwiaE+5w9676VgZgZnPDhALCJpl3Al2VHefu/w94wszeGBaNEqx/0o3eTxc2HYUeB95mZkPh3/koQZ9h15h2QSFc/OcbwBvN7Ei44E+3WQN8kOCbbSO97sK6K9VkEXCnmT0AfJOgT6FrUz673OnA183sfoIVB//K3W+puU5xfhMYC//NVwF/UG91pjKzIeB8gm/gXSe80/pz4F7g2wTX4K4a3TztUlJFRCTZtLtTEBGRZAoKIiIyTkFBRETGKSiIiMg4BQURERmnoCDThpmdaJpFs/CIXDP7xzLr1nTu1Wb2p1WdX6QVpaTKtGFmz7v7vLrrIdLNdKcg0164lsGnzezecE2DnwrLF5rZbWH5tWZ22MxODd97Pnw8z8zuiqwzMBaOVMXMzjGzvw0nubs1nBK9+bPfG86rf7+Z/V3knDeFz2+O3Nn8wMw2hBMR/qGZfdPMHjCzyzr1u5L+p6Ag08mcpuajfxt577vhhHQ7gE+EZZ8imBrjrQTzES1NOO9bgI8DKwhmE10Tzl3134BfdfdzgF3Atphjfx+4wN3/JcEkbpO4+4XhpIMfAQ4D/yd8/gN3/1ngZ4GPmtmyjL8DkZZm1F0BkQ56KbzAxmlMi7Af+JXw+c8D7wFw91vM7NmEY+9x9yMA4VTiI8BzwJuB28Ibh0GCqZKb/QPw5XCxldipGcK7k68A73P3H5jZO4GfMbNfDXd5PbAceDShfiKZKSiIBF4OH08w8XdhOY+NHm/AAXdvuWSlu/+Gmf0cwUJA95nZquj74Qpi1wH/yd0bk+QZ8JvufmvG+olkpuYjkWRfB94HEH47PznHsQ8DCy1cx9jMZprZyuadzOwsd7/b3X8f+C5wZtMuVwMPuPt1kbJbgU1hExVmdnaXL3gjPUR3CjKdzAmbdxpucfdWaamfBr4a9j38LUHzz4+yfJC7vxI27/ypmb2e4G/tc8CBpl3/0MyWE3z73wvcD/zryPufAA5E6v37BEuLjgD3hp3ax4BLs9RLJI1SUkUSmNls4IS7Hw+/8e9o0Sch0hd0pyCSbClwvZkNAK8AH625PiKV052CiIiMU0eziIiMU1AQEZFxCgoiIjJOQUFERMYpKIiIyDgFBRERGff/AYp6+GDRW52KAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"Engine size\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Modeling\n",
"\n",
"Using sklearn package to model data.\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[38.93883222]]\n",
"Intercept: [125.95058354]\n"
]
}
],
"source": [
"from sklearn import linear_model\n",
"regr = linear_model.LinearRegression()\n",
"train_x = np.asanyarray(train[['ENGINESIZE']])\n",
"train_y = np.asanyarray(train[['CO2EMISSIONS']])\n",
"regr.fit (train_x, train_y)\n",
"# The coefficients\n",
"print ('Coefficients: ', regr.coef_)\n",
"print ('Intercept: ',regr.intercept_)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As mentioned before, **Coefficient** and **Intercept** in the simple linear regression, are the parameters of the fit line. \n",
"Given that it is a simple linear regression, with only 2 parameters, and knowing that the parameters are the intercept and slope of the line, sklearn can estimate them directly from our data. \n",
"Notice that all of the data must be available to traverse and calculate the parameters.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Plot outputs\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can plot the fit line over the data:\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 14,
"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,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Evaluation\n",
"\n",
"We compare the actual values and predicted values to calculate the accuracy of a regression model. Evaluation metrics provide a key role in the development of a model, as it provides insight to areas that require improvement.\n",
"\n",
"There are different model evaluation metrics, lets use MSE here to calculate the accuracy of our model based on the test set: \n",
"\n",
"```\n",
"- Mean absolute error: It is the mean of the absolute value of the errors. This is the easiest of the metrics to understand since it’s just average error.\n",
"- Mean Squared Error (MSE): Mean Squared Error (MSE) is the mean of the squared error. It’s more popular than Mean absolute error because the focus is geared more towards large errors. This is due to the squared term exponentially increasing larger errors in comparison to smaller ones.\n",
"- Root Mean Squared Error (RMSE).\n",
"- 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).\n",
"```\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean absolute error: 24.38\n",
"Residual sum of squares (MSE): 966.26\n",
"R2-score: 0.79\n"
]
}
],
"source": [
"from sklearn.metrics import r2_score\n",
"\n",
"test_x = np.asanyarray(test[['ENGINESIZE']])\n",
"test_y = np.asanyarray(test[['CO2EMISSIONS']])\n",
"test_y_ = regr.predict(test_x)\n",
"\n",
"print(\"Mean absolute error: %.2f\" % np.mean(np.absolute(test_y_ - test_y)))\n",
"print(\"Residual sum of squares (MSE): %.2f\" % np.mean((test_y_ - test_y) ** 2))\n",
"print(\"R2-score: %.2f\" % r2_score(test_y , test_y_) )"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2>Want to learn more?</h2>\n",
"\n",
"IBM SPSS Modeler is a comprehensive analytics platform that has many machine learning algorithms. It has been designed to bring predictive intelligence to decisions made by individuals, by groups, by systems – by your enterprise as a whole. A free trial is available through this course, available here: <a href=\"https://www.ibm.com/analytics/spss-statistics-software\">SPSS Modeler</a>\n",
"\n",
"Also, you can use Watson Studio to run these notebooks faster with bigger datasets. Watson Studio is IBM's leading cloud solution for data scientists, built by data scientists. With Jupyter notebooks, RStudio, Apache Spark and popular libraries pre-packaged in the cloud, Watson Studio enables data scientists to collaborate on their projects without having to install anything. Join the fast-growing community of Watson Studio users today with a free account at <a href=\"https://www.ibm.com/cloud/watson-studio\">Watson Studio</a>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Thank you for completing this lab!\n",
"\n",
"## Author\n",
"\n",
"Saeed Aghabozorgi\n",
"\n",
"### Other Contributors\n",
"\n",
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>\n",
"\n",
"## Change Log\n",
"\n",
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n",
"| ----------------- | ------- | ------------- | ---------------------------------- |\n",
"| 2020-11-03 | 2.1 | Lakshmi Holla | Changed URL of the csv |\n",
"| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n",
"| | | | |\n",
"| | | | |\n",
"\n",
"## <h3 align=\"center\"> © IBM Corporation 2020. All rights reserved. <h3/>\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python",
"language": "python",
"name": "conda-env-python-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.13"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment