Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pranav1698/d7a2677ced7fa1759eec19e6414940d4 to your computer and use it in GitHub Desktop.
Save pranav1698/d7a2677ced7fa1759eec19e6414940d4 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",
"# <center>Simple Linear Regression</center>\n",
"\n",
"\n",
"#### About this Notebook\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": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Importing Needed packages"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import pylab as pl\n",
"import numpy as np\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Downloading Data\n",
"To download the data, we will use !wget to download it from IBM Object Storage."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2019-06-18 13:28:15-- https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/FuelConsumptionCo2.csv\n",
"Resolving s3-api.us-geo.objectstorage.softlayer.net (s3-api.us-geo.objectstorage.softlayer.net)... 67.228.254.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.05s \n",
"\n",
"2019-06-18 13:28:16 (1.52 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",
"## Understanding the Data\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": [
"## Reading the data in"
]
},
{
"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": [
"### Data Exploration\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 fearues:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"viz = cdf[['CYLINDERS','ENGINESIZE','CO2EMISSIONS','FUELCONSUMPTION_COMB']]\n",
"viz.hist()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, lets plot each of these features vs the Emission, to see how linear is their relation:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(cdf.FUELCONSUMPTION_COMB, cdf.CO2EMISSIONS, color='blue')\n",
"plt.xlabel(\"FUELCONSUMPTION_COMB\")\n",
"plt.ylabel(\"Emission\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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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": 10,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEKCAYAAAAIO8L1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3X+UXGWd5/H3J90JJiJBQmSYhKQjBB0wY9RWYZhVpOMoP4OuOsxpDQ7stNK44owzKpvZUZzNGT3jCNFjwrSASZxegWVEwKCrdGRcXcHtIBASVCIhoQ1CQA1IIySd7/5RTyfVndvdVdC3bnXX53VOnar7vc+99U1p+Oa597nPo4jAzMxsuClFJ2BmZvXJBcLMzDK5QJiZWSYXCDMzy+QCYWZmmVwgzMwskwuEmZllcoEwM7NMLhBmZpapOc+TS3oIeAoYAPZGRKukI4DrgBbgIeA9EfEbSQJWAmcA/cD7I+Ku0c5/5JFHRktLS275m5lNRhs3bnw8ImaP1S7XApG8JSIeL9v+BNATEZ+R9Im0/XHgdGBher0RWJ3eR9TS0kJvb28+WZuZTVKStlfSrohLTEuBtenzWuDcsvi6KLkDOFzS0QXkZ2Zm5F8gAviOpI2SOlLsqIh4BCC9vyzF5wAPlx3bl2JmZlaAvC8xnRIROyW9DPiupJ+O0lYZsYOmmk2FpgNg3rx545OlmZkdJNceRETsTO+PATcCbwAeHbx0lN4fS837gGPKDp8L7Mw4Z1dEtEZE6+zZY95jMTOz5ym3AiHpxZJeMvgZ+DPgPuBm4PzU7HzgpvT5ZmCZSk4Cdg9eijIzs9rLswdxFPADSfcAPwbWR8S3gc8Ab5X0APDWtA1wK/AgsBX4MtCZY25mNkF0b+qm5YoWplw2hZYrWuje1F10Sg0jt3sQEfEg8OqM+BNAW0Y8gIvzysfMJp7uTd103NJB/55+ALbv3k7HLaXxLu2L2otMrSH4SWozq1vLe5bvLw6D+vf0s7xneUEZNRYXCDOrWzt276gqbuPLBcLM6ta8mdlD2UeK2/hygTCzurWibQUzps4YEpsxdQYr2lYUlFFjcYEws7rVvqidrrO7mD9zPkLMnzmfrrO7fIO6RlQaPDQxtba2hifrMzOrjqSNEdE6Vjv3IMzMLJMLhJmZZXKBMDOzTC4QZmaWyQXCzMwyuUCYmVkmFwgzM8vkAmFmZplcIMzMLJMLhJmZZXKBMDOzTLkXCElNkn4i6Ztpe42kbZLuTq/FKS5JX5C0VdK9kl6bd25mZjay3JYcLXMJcD9wWFns7yLihmHtTgcWptcbgdXp3czMCpBrD0LSXOBM4KoKmi8F1kXJHcDhko7OMz8zMxtZ3peYrgA+BuwbFl+RLiNdLumQFJsDPFzWpi/FzMysALkVCElnAY9FxMZhuy4FXgm8HjgC+PjgIRmnOWixCkkdknol9e7atWs8UzYzszJ59iBOAc6R9BBwLXCapH+LiEfSZaRnga8Ab0jt+4Bjyo6fC+wcftKI6IqI1ohonT17do7pm5k1ttwKRERcGhFzI6IFOA/YEBHvHbyvIEnAucB96ZCbgWVpNNNJwO6IeCSv/MzMbHS1GMU0XLek2ZQuKd0NfDDFbwXOALYC/cBfFpCbmZklNSkQEXE7cHv6fNoIbQK4uBb5mNWz7k3dLO9Zzo7dO5g3cx4r2lbQvqi96LSsARXRgzCzEXRv6mbZ15exLw382757O8u+vgzARcJqzlNtmNWRD9zygf3FYdA+9vGBWz5QUEbWyFwgzOrI03ueripulicXCDMzy+QCYWZmmVwgzMwskwuEWR25qPWiquJmeXKBMKsjq85cRduCtiGxtgVtrDpzVUEZWT3p3tRNyxUtTLlsCi1XtNC9qTvX73OBMKsj3Zu62bBtw5DYhm0bcv8PgdW/7k3ddNzSwfbd2wmC7bu303FLR67/33CBMKsjF3zjAmLYJMZBcME3LigoI6sXy3uW07+nf0isf08/y3uW5/adLhBmdeS5fc9VFbfGsWP3jqri48EFwsxsApg3c15V8fHgAmFmNgGsaFvBjKkzhsRmTJ3BirYVuX2nC4SZ1bXO9Z00f7oZXSaaP91M5/rOolMqRPuidrrO7mL+zPkIMX/mfLrO7sp1EkfP5mpmdatzfSere1fv3x6Igf3bjTj0t31Re01n9XUPwszqVtfGrqriNr5cIMysbg3EQFVxG1+5FwhJTZJ+IumbaXuBpDslPSDpOknTUvyQtL017W/JOzczq29NaqoqbuOrFj2IS4D7y7Y/C1weEQuB3wAXpviFwG8i4jjg8tTOzBpYx+s6qorb+Mq1QEiaC5wJXJW2BZwG3JCarAXOTZ+Xpm3S/rbU3qxhHNJ0SFXxye6UeafQPGXoWJrmKc2cMu+UgjJqLHn3IK4APgb711CcBfw2Ivam7T5gTvo8B3gYIO3fndqbNYxnB56tKj7ZLe9Zzt59e4fE9u7bm+v0EnZAbgVC0lnAYxGxsTyc0TQq2Fd+3g5JvZJ6d+3aNQ6ZmtWPKcr+KzlSfLIrYnoJOyDP5yBOAc6RdAbwIuAwSj2KwyU1p17CXGBnat8HHAP0SWoGZgK/Hn7SiOgCugBaW1sPKiBmE9m+2FdVfLKbN3Me23dvz4w3ohO/dCJbHt+yf/uEI09g88Wbc/u+3P5ZEhGXRsTciGgBzgM2REQ78D3gXanZ+cBN6fPNaZu0f0NEuACYNbAippeoV8OLA8CWx7dw4pdOzO07i+i3fhz4G0lbKd1juDrFrwZmpfjfAJ8oIDezQs2ann3bbaT4ZNe+qJ2T5548JHby3JNr+jRxvRheHMaKj4eaFIiIuD0izkqfH4yIN0TEcRHx7oh4NsV/n7aPS/sfrEVuZvVk5ekrmTLsr+UUprDy9JUFZVSszvWd9GzrGRLr2dbTsPMx1Vpj3vkyq2PDR3c38mhvT7VRLBcIszpyybcuOWgaiYEY4JJvXVJQRsXyVBsHnHDkCVXFx4MLhFkdeeKZJ6qKT3aeauOAzRdvZnrT9CGx6U3TJ+YoJjOzF8pTbRywZN0Snhl4ZkjsmYFnWLJuSW7f6fUgzKxuDa750LWxi4EYoElNdLyuoyHXghh+s36s+HhwgTCzurbqzFUNWRDqgS8xmZlZJhcIM7MJoG1BW1Xx8eACYWY2Ady27LaDikHbgjZuW3Zbbt/pAmFmNkEcP+v4/UN8m9TE8bOOz/X7fJPazGwC6Fzfyere1fu3B2Jg/3ZeN/HdgzAzmwCKmHZkzAIh6cVSabUSScdLOkfS1NwyMjMr072pm5YrWphy2RRarmihe1N30SkVoohpRyrpQXwfeJGkOUAP8JfAmtwyMjNLujd103FLB9t3bycItu/eTsctHQ1ZJIpYbbCSMysi+oF3Al+MiHcA+c0OZWaWLO9ZTv+e/iGx/j39DbkmdRGrDVZUICSdDLQD61PMN7fNLHdek7pYlRSIS4BLgRsjYrOkl1NaNtTMLFcjrT3dqGtS19qYBSIivh8R50TEZ9P2gxHx4bGOk/QiST+WdI+kzZIuS/E1krZJuju9Fqe4JH1B0lZJ90p67Qv9w5nZxHbcEcdVFbfxNealIknHA38LtJS3j4jTxjj0WeC0iPhdGvX0A0nfSvv+LiJuGNb+dGBher0RWJ3ezaxB3f7Q7VXFbXxVci/hfwFXAlcBFY+niogAfpc2p6ZXjHLIUmBdOu4OSYdLOjoiHqn0O81scvGKcgc0qSnzz53n4kmV3IPYGxGrI+LHEbFx8FXJySU1SbobeAz4bkTcmXatSJeRLpd0SIrNAR4uO7wvxawBdK7vpPnTzegy0fzpZi9Kb4BXlCtXxOJJlRSIWyR1Sjpa0hGDr0pOHhEDEbEYmAu8QdKrKN3wfiXweuAI4OOpedbK7Af1OCR1SOqV1Ltr165K0rA6NziFwOC/jganEHCRMK8od8CqM1dxUetFQ+Ziuqj1olzXylDpis4oDaRtGeGIiJdX9UXSJ4GnI+JzZbFTgb+NiLMk/Stwe0R8Le37GXDqaJeYWltbo7e3t5o0rA41f7p5xK7z3n/YW0BGxdFlWf9OKolPjv53dbLqXN/pFeXGmaSNEdE6Vrsx70FExILnmcBsYE9E/FbSdGAJ8NnB+wqSBJwL3JcOuRn4kKRrKd2c3u37D43B15ltNF5RrjiVjGKaClwEvCmFbgf+NSL2jHHo0cBaSU2ULmVdHxHflLQhFQ8BdwMfTO1vBc4AtgL9lKb0sAZQxM03MxtbJaOYVlMagTRYwt+XYv9ltIMi4l7gNRnxzOGxafTSxRXkY5NMx+s6hkxjXB43s+JUUiBeHxGvLtveIOmevBKyxrPqzFX8/Imf07OtZ3+sbUGbLyuYFaySUUwDko4d3EhTbfjisI2b7k3d/KjvR0NiP+r7UUPO2GlWTyopEH8HfE/S7ZL+A9gAfDTftKyReMZOs/pUySimHkkLgVdQurH804h4NvfMrGF4xk6z+jRigZB0WkRskPTOYbuOlUREfD3n3KxBzJs5j+27t2fGzaw4o11ienN6PzvjdVbOeVkDOWPhGVXFzaw2RuxBRMQn07ufR7Bc3frArVXFzaw2xrxJLekSSYel9RquknSXpD+rRXLWGLIuL40WN7PaqGQU0wUR8STwZ8DLKD3h/JlcszIzs8JVtCZ1ej8D+EpE3EP2zKtmZjaJVFIgNkr6DqUC8b8lvQTYl29aZmZWtEqm2rgQWAw8GBH9aS0I37g2M5vkKulBnAz8LE3b/V7g74Hd+aZlZmZFq6RArAb6Jb0a+BiwHViXa1ZmZla4StekDmApsDIiVgIvyTctMzMrWiX3IJ6SdCnwXuBNaQGgqfmmZWZmRaukB/HnwLPAhRHxK2AO8M+5ZmVmZoUbs0BExK8i4vMR8X/S9o6IGPMehKQXSfqxpHskbZZ0WYovkHSnpAckXSdpWoofkra3pv0tL+yPZmZmL8SIBULSD9L7U5KeLHs9JenJCs79LHBaWo1uMfB2SScBnwUuj4iFwG8oDaMlvf8mIo4DLk/tzMysICMWiIj40/T+kog4rOz1kog4bKwTR8nv0ubU9ArgNOCGFF8LnJs+L03bpP1tkvzEtplZQSq5SY2klwLHlLePiLsqOK4J2AgcB3wJ+AXw24jYm5r0UbqnQXp/OJ17r6TdwCzg8Yr+JGZmNq7GLBCS/hF4P/AgB6bYGOwJjCoiBoDFkg4HbgT+KKvZ4FeNsq88nw6gA2DePC8oY2aWl0p6EO8Bjo2I557vl6SnsG8HTgIOl9ScehFzgZ2pWR+lXkqfpGZgJvDrjHN1AV0Ara2tBxUQMzMbH5UMc70POLzaE0uanXoOSJoOLAHuB74HvCs1Ox+4KX2+OW2T9m9ID+iZmVkBKulB/BPwE0n3URqZBEBEnDPGcUcDa9N9iCnA9RHxTUlbgGsl/Q/gJ8DVqf3VwFclbaXUczivuj/KxLJk3RJ6tvXs325b0MZty24rMCMzs6EqKRBrKQ053UQV03xHxL3AazLiDwJvyIj/Hnh3peefyIYXB4CebT0sWbfERcLM6kYlBeLxiPhC7pk0kOHFYay4mVkRKikQGyX9E6V7BOWXmMYc5mpmZhNXJQVi8DLRSWWxioa5mpnZxDVmgYiIt9QiETMzqy+jzcV0RdnnS4btW5NjTmZmVgdGew7iTWWfzx+2749zyKVhNKmpqriZWRFGKxAa4bO9QB2v66gqbmZWhNHuQUxJk/RNKfs8WCj8T10zs0lutB7ETEozsfYChwF3pe2NeE3qF+TK3iuripuZFWHEHkREtNQwj4YSB09SO2rczKwIlUzWZ2ZmDcgFwszMMrlAmJlZJhcIMzPLNNqT1Isk3SHpYUldaZjr4L4f1yY9MzMrymg9iNXAp4BFwM+BH0g6Nu2bmnNeZmZWsNEelDs0Ir6dPn9O0kbg25LeBx6PaWY22Y061YakmYMbEfE94D8DXwXmj3ViScdI+p6k+yVtHpzwT9KnJP1S0t3pdUbZMZdK2irpZ5Le9vz/WGZm9kKN1oP4LPBHwB2DgYi4V1Ib8N8rOPde4KMRcZekl1BaeOi7ad/lEfG58saSTqC0DvWJwB8Ct0k6PiIGKv/jmE1ss6bP4olnnsiMm9XaiD2IiPifEXEHgKRDJb04xXdExF+NdeKIeGRw1bmIeAq4H5gzyiFLgWsj4tmI2AZsJWPtarPJbOXpK5nWNG1IbFrTNFaevrKgjKyRjTrMVdJFknYA24GHJW2X1Fntl0hqobQy3Z0p9CFJ90q6pmx01Bzg4bLD+hi9oJhNOu2L2rnwNRfun/q9SU1c+JoLaV/UXnBm1ohGG+b698DZwKkRMSsijgDeApye9lVE0qHAvwMfiYgnKY2OOhZYDDwC/Mtg04zDD7oZLqlDUq+k3l27dlWahtmE0L2pm7X3rGUgXVkdiAHW3rOW7k3dBWdmjWi0HsT7gHdGxIODgfT5PcCySk4uaSql4tAdEV9P53g0IgYiYh/wZQ5cRuoDjik7fC6wc/g5I6IrIlojonX27NmVpGE2YSzvWU7/nv4hsf49/SzvWV5QRtbIRr3EFBG/z4g9A+wb68SSBFwN3B8Rny+LH13W7B3AfenzzcB5kg6RtABYCPiBPGsoO3bvqCpulqfRRjH1SWqLiJ7yoKTTKF0aGssplHohmyTdnWL/DfgLSYspXT56CPgAQERslnQ9sIXSCKiLPYLJGs28mfPYvnt7Ztys1kYrEB8GbpL0A0qLBAXwekr/4V861okj4gdk31e4dZRjVgArxjq32WS1om0FHbd0DLnMNGPqDFa0+a+F1d5ow1w3A68Cvg+0AC9Pn1+V9pnZOGtf1E7X2V3MnzkfIebPnE/X2V0exWSFGLEHIek44KiIuGZY/D9J2hkRv8g9O8td5/pOujZ2MRADNKmJjtd1sOrMVUWn1dDaF7W7IFhdGO0m9RXAUxnxZ9I+m+A613eyunf1kCGVq3tX07m+6kddzGwSGq1AtETEvcODEdFL6ZKTTXBdG7uqiptZYxmtQLxolH3TxzsRq72BEQaJjRQ3s8YyWoH4f5IOmnNJ0oWURjXZBDc4nUOlcTNrLKMNc/0IcKOkdg4UhFZgGqUH3GyCe8WsV7Dl8S2ZcTOzEQtERDwK/Imkt1Aa7gqwPiI21CQzy11WcRgtbmaNZbQeBLB/oaDv1SAXMzOrI6POxWRmZo3LBcLMzDK5QJiZWSYXCDMzy+QCYWZmmVwgGtis6bOqiptZY3GBaGArT1/JtKZpQ2LTmqax8vSVBWVkZvXEBaKBtS9q55ql1wxZe+Capdd4qmkzAyp4UO75knQMsA74A0prWHdFxEpJRwDXUZoR9iHgPRHxm7SG9UrgDKAfeH9E3JVXflZSD2sPTJsyjef2PZcZN7Pi5NmD2At8NCL+CDgJuFjSCcAngJ6IWAj0pG2A04GF6dUBrM4xN6sjF772wqriZlYbuRWIiHhksAcQEU8B9wNzKK1nvTY1Wwucmz4vBdZFyR3A4ZKOzis/qx+3PpC9TPlIcTOrjZrcg5DUArwGuJPSMqaPQKmIAC9LzeYAD5cd1pdiNsnt2L2jqriZ1UbuBULSocC/Ax+JiCdHa5oRi4zzdUjqldS7a9eu8UrTCjRv5ryq4mZWG7kWCElTKRWH7oj4ego/OnjpKL0/luJ9wDFlh88Fdg4/Z0R0RURrRLTOnj07v+StZla0rWDG1BlDYjOmzmBF24qCMjIzyLFApFFJVwP3R8Tny3bdDJyfPp8P3FQWX6aSk4Ddg5eibHJrX9TOyXNPHhI7ee7JhY+uMmt0efYgTgHeB5wm6e70OgP4DPBWSQ8Ab03bALcCDwJbgS8DnTnmZnWkc30nPdt6hsR6tvXQud7/FzArkiIOusw/YbS2tkZvb2/RaVRNl2XdbimJT07c/z2eL/8eZrUlaWNEtI7Vzk9Sm5lZJhcIMzPL5AJhZmaZXCCscG0L2qqKm1ltuEBY4W5bdttBxaBtQRu3LbutoIzMDFwgrE4cP+t4mtQEQJOaOH7W8QVnZGa5TfdtVqnO9Z2s7j0wee9ADOzfXnXmqqLSMmt47kFY4bo2dlUVN7PacIGwwg3EQFVxM6sNFwgzM8vkAmFmZplcIKxw82fOrypuZrXhAmGF83oQZvXJBcIK176ona6zu5g/cz5CzJ85n66zu7wehFnB/ByE1YX2Re0uCGZ1xj0IMzPL5AJhZmaZ8lyT+hpJj0m6ryz2KUm/HLYE6eC+SyVtlfQzSW/LKy8zM6tMnj2INcDbM+KXR8Ti9LoVQNIJwHnAiemYVVKauc3MzAqRW4GIiO8Dv66w+VLg2oh4NiK2AVuBN+SVm5mZja2IexAfknRvugT10hSbAzxc1qYvxXKxZN0SdJn2v5asW5LXV5mZTVi1LhCrgWOBxcAjwL+kuDLaRtYJJHVI6pXUu2vXrqoTWLJuCT3beobEerb11LRINI1w9WykuJlZEWpaICLi0YgYiIh9wJc5cBmpDzimrOlcYOcI5+iKiNaIaJ09e3bVOQwvDmPF83DUi4+qKm5mVoSaFghJR5dtvgMYHOF0M3CepEMkLQAWAj+uZW61tPN3mbVvxLiZWRFye5Ja0teAU4EjJfUBnwROlbSY0uWjh4APAETEZknXA1uAvcDFEV4MwMysSLkViIj4i4zw1aO0XwHkPjvbCUeewJbHt2TGzczsgIZ7kvrpPU9XFTcza1QNVyB27N5RVdzMrFE1XIGYN3NeVXEzs0bVcAWiHhanaWKE5yBGiJuZFaHhCkQ9LE4zfdr0quJmZkVoyAWDil6c5nfP/a6quJlZERquB2FmZpVxgTAzs0wuEGZmlskFwszMMrlAFODQaYdWFTczK4ILRAGuPOtKmqcMHUDWPKWZK8+6sqCMzMwO5gJRgPZF7aw5d82QZzHWnLum0KG3ZmbDuUAU5Ic7fkjfk30EQd+Tffxwxw+LTsnMbIiGfFCuaJ3rO1ndu3r/9kAM7N9edeaqotIyMxvCPYgCXNmbfa9hpLiZWRFcIAoQRFVxM7Mi5FYgJF0j6TFJ95XFjpD0XUkPpPeXprgkfUHSVkn3SnptXnmZmVll8uxBrAHePiz2CaAnIhYCPWkb4HRgYXp1AKuZxPwchJlNBLkViIj4PvDrYeGlwNr0eS1wbll8XZTcARwu6ei8ciuan4Mws4mg1vcgjoqIRwDS+8tSfA7wcFm7vhSblPwchJlNBPUyzFUZscw7tpI6KF2GYt68ibtMaNFrUpiZjaXWPYhHBy8dpffHUrwPOKas3VxgZ9YJIqIrIlojonX27Nm5Jmtm1shqXSBuBs5Pn88HbiqLL0ujmU4Cdg9eijIzs2LkdolJ0teAU4EjJfUBnwQ+A1wv6UJgB/Du1PxW4AxgK9AP/GVeeZmZWWVyKxAR8Rcj7GrLaBvAxXnlYmZm1fOT1GZmlkmlf7xPTJJ2AduLzuMFOhJ4vOgk6oh/jwP8Wwzl3+OAF/pbzI+IMUf5TOgCMRlI6o2I1qLzqBf+PQ7wbzGUf48DavVb+BKTmZllcoEwM7NMLhDF6yo6gTrj3+MA/xZD+fc4oCa/he9BmJlZJvcgzMwskwtEwSQ1SfqJpG8WnUvRJB0u6QZJP5V0v6STi86pKJL+WtJmSfdJ+pqkFxWdUy1Vs+DYZDfCb/HP6e/JvZJulHR4Ht/tAlG8S4D7i06iTqwEvh0RrwReTYP+LpLmAB8GWiPiVUATcF6xWdXcGipfcGyyW8PBv8V3gVdFxB8DPwcuzeOLXSAKJGkucCZwVdG5FE3SYcCbgKsBIuK5iPhtsVkVqhmYLqkZmMEIsxtPVlUuODapZf0WEfGdiNibNu+gNAP2uHOBKNYVwMeAfUUnUgdeDuwCvpIuuV0l6cVFJ1WEiPgl8DlKE1o+Qml24+8Um1VdGGnBsUZ3AfCtPE7sAlEQSWcBj0XExqJzqRPNwGuB1RHxGuBpGucSwhDp2vpSYAHwh8CLJb232KysHklaDuwFuvM4vwtEcU4BzpH0EHAtcJqkfys2pUL1AX0RcWfavoFSwWhES4BtEbErIvYAXwf+pOCc6sFIC441JEnnA2cB7ZHT8wouEAWJiEsjYm5EtFC6AbkhIhr2X4kR8SvgYUmvSKE2YEuBKRVpB3CSpBmSROm3aMgb9sOMtOBYw5H0duDjwDkR0Z/X99TLmtRmAP8V6JY0DXiQBl04KiLulHQDcBelywc/ocGeIq5ywbFJbYTf4lLgEOC7pX9DcEdEfHDcv9tPUpuZWRZfYjIzs0wuEGZmlskFwszMMrlAmJlZJhcIMzPL5AJhDU/SH0i6VtIvJG2RdKuk40doe+rgzLuSzpFU1dPektZIetd45G2WNz8HYQ0tPYh2I7A2Is5LscXAUZRmyRxRRNxM6eGtPPNrLpuUzaymXCCs0b0F2BMRVw4GIuJuSV+VdERE3AQgqRu4DnhysJ2k91OakvtDktakfa3AHwAfi4gbUgH6InAasA1Q2fGvAz4PHAo8Drw/Ih6RdDvwfylNx3KzpB2UHo4aoDRx35ty+SXMhnGBsEb3KiBrwsSrgL8GbpI0k9JcSOcDfzrKuY5O+19JqWdxA/AO4BXAIkq9ki3ANZKmUiocSyNil6Q/B1ZQmpkT4PCIeDOApE3A2yLil3ktDGOWxQXCLENE/IekL0l6GfBO4N8jYm+a1mAk34iIfcAWSUel2JuAr0XEALBT0oYUfwWl4jQ4VUITpam9B11X9vmHwBpJ11OauM+sJlwgrNFtBka6afxVoJ3SZIoXjNCm3LNln8srSdZ8NgI2R8RIy6o+vf/giA9KeiOlxaXulrQ4Ip6oIB+zF8SjmKzRbQAOkfRXgwFJr5f0ZkpLPX4EICI2P8/zfx84L609fjSlex4APwNmD667LWmqpBOzTiDp2Ii4MyL+gdK9imOeZy5mVXEPwhpaRISkdwBXpCGrvwceAj4SEY9Kuh/4xgv4ihsp3aDeRGlU1H+k730uDXf9QrrH0UxphcGsQvTPkhZS6nX0APe8gHzMKubZXM1GIGkGpf+wvzYidhedj1mt+RKTWQZJS4CfAl90cbBG5R6EmZllcg/CzMwyuUCYmVkmFwgzM8vkAmFmZplcIMzMLJPaE4TdAAAAC0lEQVQLhJmZZfr/GP6GAvjcqjgAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# write your code here\n",
"plt.scatter(df.CYLINDERS,df.CO2EMISSIONS, color='green')\n",
"plt.xlabel('Cylinders')\n",
"plt.ylabel('CO2 Emissions')\n",
"plt.show()\n"
]
},
{
"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": 14,
"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>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>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",
" <tr>\n",
" <th>9</th>\n",
" <td>2.4</td>\n",
" <td>4</td>\n",
" <td>9.2</td>\n",
" <td>212</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>4.7</td>\n",
" <td>8</td>\n",
" <td>14.7</td>\n",
" <td>338</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>4.7</td>\n",
" <td>8</td>\n",
" <td>15.4</td>\n",
" <td>354</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>4.7</td>\n",
" <td>8</td>\n",
" <td>14.7</td>\n",
" <td>338</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>4.7</td>\n",
" <td>8</td>\n",
" <td>15.4</td>\n",
" <td>354</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>5.9</td>\n",
" <td>12</td>\n",
" <td>15.6</td>\n",
" <td>359</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>8.8</td>\n",
" <td>202</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.0</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>9.3</td>\n",
" <td>214</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.0</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.0</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>9.3</td>\n",
" <td>214</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.2</td>\n",
" <td>235</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>10.9</td>\n",
" <td>251</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>8.3</td>\n",
" <td>224</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.2</td>\n",
" <td>258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>8.3</td>\n",
" <td>224</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.2</td>\n",
" <td>258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>4.0</td>\n",
" <td>8</td>\n",
" <td>11.3</td>\n",
" <td>260</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.2</td>\n",
" <td>258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>8.5</td>\n",
" <td>230</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.5</td>\n",
" <td>242</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.4</td>\n",
" <td>239</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.2</td>\n",
" <td>258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1031</th>\n",
" <td>2.5</td>\n",
" <td>5</td>\n",
" <td>9.4</td>\n",
" <td>216</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1032</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>7.2</td>\n",
" <td>194</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1033</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>6.9</td>\n",
" <td>186</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1034</th>\n",
" <td>1.8</td>\n",
" <td>4</td>\n",
" <td>8.2</td>\n",
" <td>189</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1035</th>\n",
" <td>1.8</td>\n",
" <td>4</td>\n",
" <td>8.2</td>\n",
" <td>189</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1037</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>9.0</td>\n",
" <td>207</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1038</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>9.0</td>\n",
" <td>207</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1039</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>9.2</td>\n",
" <td>212</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1040</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>6.9</td>\n",
" <td>186</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1041</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>6.9</td>\n",
" <td>186</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1042</th>\n",
" <td>1.4</td>\n",
" <td>4</td>\n",
" <td>5.4</td>\n",
" <td>124</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1043</th>\n",
" <td>1.8</td>\n",
" <td>4</td>\n",
" <td>8.6</td>\n",
" <td>198</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1044</th>\n",
" <td>1.8</td>\n",
" <td>4</td>\n",
" <td>8.6</td>\n",
" <td>198</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1048</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>7.1</td>\n",
" <td>192</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1049</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>6.8</td>\n",
" <td>184</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1051</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.7</td>\n",
" <td>246</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1053</th>\n",
" <td>2.0</td>\n",
" <td>4</td>\n",
" <td>10.7</td>\n",
" <td>246</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1054</th>\n",
" <td>3.6</td>\n",
" <td>6</td>\n",
" <td>12.2</td>\n",
" <td>281</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1055</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>10.4</td>\n",
" <td>281</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1056</th>\n",
" <td>2.5</td>\n",
" <td>5</td>\n",
" <td>9.7</td>\n",
" <td>223</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1057</th>\n",
" <td>2.5</td>\n",
" <td>5</td>\n",
" <td>10.1</td>\n",
" <td>232</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1058</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.5</td>\n",
" <td>264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1059</th>\n",
" <td>3.2</td>\n",
" <td>6</td>\n",
" <td>10.2</td>\n",
" <td>235</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1060</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.5</td>\n",
" <td>264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1061</th>\n",
" <td>3.2</td>\n",
" <td>6</td>\n",
" <td>11.2</td>\n",
" <td>258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1062</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.8</td>\n",
" <td>271</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1063</th>\n",
" <td>3.2</td>\n",
" <td>6</td>\n",
" <td>11.5</td>\n",
" <td>264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1064</th>\n",
" <td>3.0</td>\n",
" <td>6</td>\n",
" <td>11.8</td>\n",
" <td>271</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1065</th>\n",
" <td>3.2</td>\n",
" <td>6</td>\n",
" <td>11.3</td>\n",
" <td>260</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1066</th>\n",
" <td>3.2</td>\n",
" <td>6</td>\n",
" <td>12.8</td>\n",
" <td>294</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>859 rows × 4 columns</p>\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",
"4 3.5 6 10.6 244\n",
"5 3.5 6 10.0 230\n",
"7 3.7 6 11.1 255\n",
"8 3.7 6 11.6 267\n",
"9 2.4 4 9.2 212\n",
"14 4.7 8 14.7 338\n",
"15 4.7 8 15.4 354\n",
"16 4.7 8 14.7 338\n",
"17 4.7 8 15.4 354\n",
"18 5.9 12 15.6 359\n",
"19 2.0 4 8.8 202\n",
"20 2.0 4 10.0 230\n",
"21 2.0 4 9.3 214\n",
"22 2.0 4 10.0 230\n",
"23 2.0 4 10.0 230\n",
"24 2.0 4 9.3 214\n",
"25 2.0 4 10.2 235\n",
"26 3.0 6 10.9 251\n",
"27 3.0 6 8.3 224\n",
"28 3.0 6 11.2 258\n",
"29 3.0 6 8.3 224\n",
"30 3.0 6 11.2 258\n",
"31 4.0 8 11.3 260\n",
"33 3.0 6 11.2 258\n",
"36 3.0 6 8.5 230\n",
"37 2.0 4 10.5 242\n",
"38 2.0 4 10.4 239\n",
"39 3.0 6 11.2 258\n",
"... ... ... ... ...\n",
"1031 2.5 5 9.4 216\n",
"1032 2.0 4 7.2 194\n",
"1033 2.0 4 6.9 186\n",
"1034 1.8 4 8.2 189\n",
"1035 1.8 4 8.2 189\n",
"1037 2.0 4 9.0 207\n",
"1038 2.0 4 9.0 207\n",
"1039 2.0 4 9.2 212\n",
"1040 2.0 4 6.9 186\n",
"1041 2.0 4 6.9 186\n",
"1042 1.4 4 5.4 124\n",
"1043 1.8 4 8.6 198\n",
"1044 1.8 4 8.6 198\n",
"1048 2.0 4 7.1 192\n",
"1049 2.0 4 6.8 184\n",
"1051 2.0 4 10.7 246\n",
"1053 2.0 4 10.7 246\n",
"1054 3.6 6 12.2 281\n",
"1055 3.0 6 10.4 281\n",
"1056 2.5 5 9.7 223\n",
"1057 2.5 5 10.1 232\n",
"1058 3.0 6 11.5 264\n",
"1059 3.2 6 10.2 235\n",
"1060 3.0 6 11.5 264\n",
"1061 3.2 6 11.2 258\n",
"1062 3.0 6 11.8 271\n",
"1063 3.2 6 11.5 264\n",
"1064 3.0 6 11.8 271\n",
"1065 3.2 6 11.3 260\n",
"1066 3.2 6 12.8 294\n",
"\n",
"[859 rows x 4 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"msk = np.random.rand(len(df)) < 0.8\n",
"train = cdf[msk]\n",
"test = cdf[~msk]\n",
"train"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Simple Regression Model\n",
"Linear Regression fits a linear model with coefficients B = (B1, ..., Bn) 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": 15,
"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": 16,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.14170703]]\n",
"Intercept: [125.70571971]\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": null,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"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",
" - 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"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [],
"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,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## Want to learn more?\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: [SPSS Modeler](http://cocl.us/ML0101EN-SPSSModeler).\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 [Watson Studio](https://cocl.us/ML0101EN_DSX)\n",
"\n",
"### Thanks for completing this lesson!\n",
"\n",
"Notebook created by: <a href = \"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>\n",
"\n",
"<hr>\n",
"Copyright &copy; 2018 [Cognitive Class](https://cocl.us/DX0108EN_CC). This notebook and its source code are released under the terms of the [MIT License](https://bigdatauniversity.com/mit-license/).​"
]
}
],
"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