Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save oaadeegbe/72ff7dceea808523c47172ee9157207c to your computer and use it in GitHub Desktop.
Save oaadeegbe/72ff7dceea808523c47172ee9157207c 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,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import pylab as pl\n",
"import numpy as np\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Downloading Data\n",
"To download the data, we will use !wget to download it from IBM Object Storage."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"--2019-08-15 13:10:41-- 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.07s \n",
"\n",
"2019-08-15 13:10:42 (1.02 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": 18,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"1067"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"FuelConsumption.csv\")\n",
"\n",
"# take a look at the dataset\n",
"df.head()\n",
"len(df)\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,
"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,
"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,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAEICAYAAAC3Y/QeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3dfZxdVX3v8c+X8PygIY6EAIFBTXkJxlYbEYvVUaE8arAIDSIQC+XWgoJGJXgRpFdatBd8hNsbCyVIBKM8BdTyVKYUroCEohACEiRCJCQCQhhEauB3/1hrcOdkn5kzJ3PmnDP7+369zmvOWftp7T17/846a629tiICMzOrlo3anQEzMxt7Dv5mZhXk4G9mVkEO/mZmFeTgb2ZWQQ7+ZmYV5OBvZlZBlQ7+kj4s6S5JA5JWSvqRpHfmabtLWiTpWUnPSbpZ0p8Vlv0jSVdL+rWkpyVdJ2m3wvQvSPp9Xvfg65nC9JC0StLGhbSNJa2WFIW0fknHFT5/TtIjeX0rJH23MG0PSddL+o2kZyQtlnRgntYnaUXN/h8s6U5Jz0t6StICSTsVps/O+fxMzXIrJPXl9xMlXSjpiXycfi7plCb/JdZh6lwjn8/nbk9hvs0kLZX0PyT15vNm45L1fUHSJYXPIeleSRsV0r4o6aL8fnBdg9fQKknXStq3Zr3LJb1Qc719M0+bLemlnLZG0k8lHVyz/LGSHsjn8CpJP5C0zagdyA5U2eAv6VPAV4F/ACYDOwPnAzMlvR64DbgX2BXYAbgSuF7SO/IqJgKLgN3y8ncCV9ds5rsRsXXhNbFm+jPAAYXPBwK/GSLPxwBHAftExNbADOCmwizXADfk/GwHfAJYU2ddHwK+A3wN6AH2AF4EbpW0bWHWp4FTJL2qTra+AmwNvBF4NfAB4OF6+2DdY4hr5FXAtaRzZ9BpwEpgXhOb2gGYNcw8E/M5/8ekc/xKSbNr5nl/zfV2YmHaj/PyE/M+XCZpIoCkd+d9PCIitiGdywub2I/uEhGVe5GC1ABwWJ3p3wZ+WJL+f4Bb6iwzCQjgNfnzF4BLhshDkC6Y7xXSvg/8z/RveSWtHzguv/8m8NU66+vJ65xYZ3ofsCK/F/BL4LM182wE3Af8ff48G7iV9KVyRmG+FUBffn8fcEi7/6d+je6rgWvk1fk8OAh4E6nQ8vo8rTefixuXLLfOdZHnOwV4aHB+4IvARUOtC/g0sArYKH9eTioUleV1NnBr4fOWeZ1vK6zrqnYf87F+VbXk/w5gc1Jpvsy+wPdK0hcCe0vasmTau4AnIuKpEeTjKuBduepkIvDnrP/roeh24GhJn5E0Q9KEwrSngGXAJZIOkTR5iPXsRirFrbOPEfEycDlp/4s+D3xS0qQ6eTpL0kclTRtim9ZdhrxGIuJZ4GPAPwMXAmdGRLO/+K4g/UKdPcJltiOdyw3L18xHgd+TCkAAdwD7STpT0t6SNhvJOrtVVYP/a4AnI2Jtnek9pJ+wtVaSjlmxWoRcT34e8Kma+Q/Pde+Dr5trpv+OVKr+K9LP3kU5rVREXAJ8HNgP+A9gtaS5eVoA7yGVgM4BVkq6pU5AHqyrrbePPcWEiLgHuJ5UQqv1cWABcCJwv6Rlkg4omc+6y3DXCBFxDenLfyPg6xuwrSAVME4fQeB9PP8tFkiuqrne/qYwba/c5vY74H8DH4mI1Xk//hP4S+CtwA+ApySdW1O4GneqGvyfAnrKGqSyJ4EpJelTgJcp1MtLei0pMJ4fEZfWzL8wIiYWXu8pWefFwNH5dfFwGY+IBRGxD6nu8m+Bv5e0X562IiJOjIjXA7sAz9dZ55OF/SnbxydL0k8HPiZp+5r8vBAR/xARf0oKGAuB79X5lWDdY7hrZNAS4IH8q7FpEfFD4FHg+AYX2TH/fbqQdkjN9fatwrTbI7W5bUsqZP15zfZ/FBHvJ32ZzCT9CjmOcayqwf/HpBLAIXWm3wgcVpJ+OKnh6LcAuWH0emBRRJzVZF7+kxRwJ5Pq1xsSEb+PiO8BPyPVudZOf4z0a2S9acCDpPradfYx97g4lHUbkQfX9wDpp/bnhsjTGlLD2VakhnLrXsNdI61wGqnNq6xatdYHgdWkc7lhETEA/B1wlKS3lEx/OSJuAv6d8mtn3Khk8M/1lacD5+X68S0lbSLpAElfBs4E/kzSWZImSdpG0sdJpfNTAHLvl+uA2yJi7gbkJYD3Ax/I7+vKXdYOyvnZKFev7AHcIWnbXGf5hjytB/hr0s/ysm1+Gjgtd+XbIpfo/4XUk+MrdbJwJqm+9JVeS7nb39skbSppc+AkUi+mEV2U1lkauEYasZmkzQuvIeNNRPSTetgdU28eSZMlnQicAZzazC+O3C73L6T9Q9JMSbPyNSRJewLvpuTaGU8qGfwBIuJcUh39acCvgcdI9dZXRcRDwDtJ3cqWk+rBDwX2i4jb8io+CLwN+GhN3+KdC5v5q5ppA5K2K8nLkohY0kC215BK3o+SAuyXgY9FxK3Af5N6RtyY57uP1HVzdp39/y6p2+gnSdU89wNbAHvXa7SOiEdIPaG2KiYD/5rX8TipsfigXMKyLjbUNdLgKgaAFwqv9zawzGmsW48/6BlJz5O+HA4k9UK6sGaea2qutXodOiB1YT1Q0ptJ1bh/Q+pxtAa4BPiniFjQQH67loYpbJqZ2ThU2ZK/mVmVOfibmVWQg7+ZWQU5+JuZVdBwN3CMiZ6enujt7W13Nko9//zzbLXVVsPPWDGdeFwWL178ZES8tt35aFSnnfed9j/ttPxA5+VpQ875jgj+vb293HXXXe3ORqn+/n76+vranY2O04nHRdIvh5+rc3Taed9p/9NOyw90Xp425Jx3tY+ZWQU5+JuZVZCDv5lZBXVEnX836537gxEvs/zsg1qQE6uyZs5D8LlYZS75m9UhaYKk/5J0bf48SdINkh7Kf7ctzHtqfpbBg4NDbJt1Mgd/s/pOApYWPs8FboqIaaRhr+cCSNqd9DCePYD9gfPH+4NArPs5+JuVyE9nO4g09O+gmcD8/H4+fxjrfiZwWUS8mEc+XQbsOVZ5NWuG6/yzenWmc6avZXaT9anW1b4KfBbYppA2OSJWAkTEysLw3Duy7tjvK/jDk6bWIel48tOqJk+eTH9//6hkds70uk9bHFJx+wMDA6OWn9HQafmBzsxTsxz828CNxJ1N0sHA6ohYLKmvkUVK0krHSo+IecA8gBkzZsRo3TDUbAFl+ZF/2H6n3cDUafmBzsxTsxz8zda3N/ABSQcCmwOvknQJsErSlFzqn0J6jCCkkv7UwvI78YcHjJt1JNf5m9WIiFMjYqeI6CU15P57RHyE9ODvwUcMHgNcnd8vAmZJ2kzSrsA04M4xzrbZiLjkb9a4s4GFko4lPUrzMEiP4ZS0kPQozLXACRHxUvuyaTY8B3+zIeSHivfn908B76sz31nAWWOWMbMN5GofM7MKcvA3M6sgB38zswpy8Dczq6BhG3wlTQUuBrYHXgbmRcTXJE0Cvgv0AsuBwyPiN3mZU4FjgZeAT0TEdS3JvZmNOd+kOD40UvJfC8yJiDcCewEn5IGsPMiVmVmXGjb4R8TKiLg7v3+ONMrhjniQKzOzrjWifv6SeoG3AHewgYNctWqAq2bVGxhr8hbND5o1mtp9fGqNpwGuzKqo4eAvaWvgcuDkiFgjlY1llWYtSVtvkKtWDXDVrHoDY82ZvpZz7m3/vXDFAbg6wXga4Mqsihrq7SNpE1LgXxARV+TkVXlwKzzIlZlZdxk2+CsV8S8AlkbEuYVJHuTKzKxLNVKfsTdwFHCvpHty2ufwIFdmZl1r2OAfEbdSXo8PHuTKzKwr+Q5fM7MKcvA3M6sgB38zswpy8DczqyAHfzOzCnLwNzOrIAd/M7MKcvA3M6sgB38zswpy8DczqyAHfzOzCnLwNzOrIAd/M7MKav8jqszMStz7q2frPmFvKMvPPqgFuRl/XPI3M6sgB38zswpy8DczqyAHfzOzCnLwNzOrIAd/M7MKcvA3M6sgB3+zGpKmSrpZ0lJJSySdlNMnSbpB0kP577aFZU6VtEzSg5L2a1/uzRrj4G+2vrXAnIh4I7AXcIKk3YG5wE0RMQ24KX8mT5sF7AHsD5wvaUJbcm7WIAd/sxoRsTIi7s7vnwOWAjsCM4H5ebb5wCH5/Uzgsoh4MSIeAZYBe45trs1GxsM7mA1BUi/wFuAOYHJErIT0BSFpuzzbjsDthcVW5LSy9R0PHA8wefJk+vv7RyWfc6avbWq54vYHBgYayk8z22pmPydvMXbbalSjx6gbOPib1SFpa+By4OSIWCOp7qwlaVE2Y0TMA+YBzJgxI/r6+kYhpzQ1Bg7A8iP/sP3+/n4ayU9T4+0UttOobyy4mnPuHXmIamZbjWr0GHUDV/uYlZC0CSnwL4iIK3LyKklT8vQpwOqcvgKYWlh8J+DxscqrWTOGDf6SLpS0WtJ9hTT3erBxS6mIfwGwNCLOLUxaBByT3x8DXF1InyVpM0m7AtOAO8cqv2bNaKTkfxGpB0ORez3YeLY3cBTwXkn35NeBwNnAvpIeAvbNn4mIJcBC4H7g34ATIuKl9mTdrDHDVqhFxC250atoJtCX388H+oFTKPR6AB6RNNjr4cejk12z1ouIWymvxwd4X51lzgLOalmmzEZZsw2+HdvroVn1ehU02+NgtLX7+NQaT70ezKpotHv7tL3XQ7Pq9WCYM31tUz0ORlsrezA0Yzz1ejCromaj2ipJU3Kpv+N6PfQ22e2tkzWzT36cnZnV02xXT/d6MDPrYsOW/CVdSmrc7ZG0AjiD1MthoaRjgUeBwyD1epA02OthLe71YGbWkRrp7XNEnUnu9WBm1qXa35JpLdNs24fbCszGPw/vYGZWQQ7+ZmYV5OBvZlZBDv5mZhXk4G9mVkEO/mZmFeTgb2ZWQQ7+ZmYV5OBvZlZBDv5mZhXk4G9mVkEO/mZmFeTgb2ZWQQ7+ZmYV5OBvZlZBHs/f1tPIcwDmTF+7zkPv/QwAs+7ikr+ZWQU5+JuZVZCDv5lZBTn4m5lVkIO/mVkFOfibmVWQg7+ZWQV1fD//Rvqcm5nZyHR88Lfu0MyXtG8MM2sfV/uYmVWQS/5mZmOk2WrsVvxKblnJX9L+kh6UtEzS3FZtx6xT+Jy3btKSkr+kCcB5wL7ACuAnkhZFxP2t2J5Zu3XrOV8sidYO1lcljZbIi8eo29usWlXtsyewLCJ+ASDpMmAm0NEXgtkGGLVz3j3cbCwoIkZ/pdKHgP0j4rj8+Sjg7RFxYmGe44Hj88fdgAdHPSOjowd4st2Z6ECdeFx2iYjXtmPDjZzzOb2Tz/tO+592Wn6g8/LU9DnfqpK/StLW+ZaJiHnAvBZtf9RIuisiZrQ7H53Gx2U9w57z0Nnnfaf9TzstP9CZeWpWqxp8VwBTC593Ah5v0bbMOoHPeesqrQr+PwGmSdpV0qbALGBRi7Zl1gl8zltXaUm1T0SslXQicB0wAbgwIpa0YltjoCN/oncAH5eCcXLOd9r/tNPyA52Zp6a0pMHXzMw6m4d3MDOrIAd/M7MKqnTwlzRV0s2SlkpaIumknD5J0g2SHsp/ty0sc2q+ff9BSfu1L/etJ2mCpP+SdG3+7OPS5SQtl3SvpHsk3VUyXZK+nv+XP5P01hbnZ7ecl8HXGkkn18zTJ+nZwjyntyAfF0paLem+Qlrd871m2e4c1iMiKvsCpgBvze+3AX4O7A58GZib0+cCX8rvdwd+CmwG7Ao8DExo93608Ph8CvgOcG3+7OPS5S9gOdAzxPQDgR+R7lvYC7hjDPM2AXiCdONSMb1v8Bxs4bbfBbwVuK+QVnq+l+T5YeB1wKb5Oti93f/nRl6VLvlHxMqIuDu/fw5YCuxIui1/fp5tPnBIfj8TuCwiXoyIR4BlpNv6xx1JOwEHAf9SSK78camAmcDFkdwOTJQ0ZYy2/T7g4Yj45Rht7xURcQvwdE1yvfO96JVhPSLiv4HBYT06XqWDf5GkXuAtwB3A5IhYCekLAtguz7Yj8FhhsRU5bTz6KvBZ4OVCmo9L9wvgekmL81ATtdr5v5wFXFpn2jsk/VTSjyTtMUb5qXe+F3Xtue/gD0jaGrgcODki1gw1a0nauOsrK+lgYHVELG50kZK0cXdcxom9I+KtwAHACZLeVTO9Lf/LfGPcB4DvlUy+m1QV9MfAN4CrWp2fEejac7/ywV/SJqTAvyAirsjJqwZ/6ua/q3N6VW7h3xv4gKTlpJ+x75V0CT4uXS8iHs9/VwNXsn71XLv+lwcAd0fEqtoJEbEmIgby+x8Cm0jqGYM81Tvfi7r23K908Jck4AJgaUScW5i0CDgmB79HgV0lDQCfB+ZIOk5SADOAOwvrWyGpr/B5mqTLJP0692J4SNI3cn36YC+GFYX5+yX9TtLUQto+OR+Dn5dLekHSQOH1zTxtU0nn5HwMSHpE0ldqlt0nv19Ss44BSS9KejkiTgU+AuwMvJrUkHUIqTH383l1xwBXF47XLEmbSdoVmFY8LtYZJG0laZvB98BfAPfVzLYIODr3+tkLeHaw6qPFjqBOlY+k7fO1iqQ9SXHrqTHI0yLSeQ7rnu9F3TusR7tbnNv5At5J+on2M+Ce/DoQeA1wE/B70k/OSYVl/iepBPAS8CzwqsK0FUBffv8GUgPSucBOOW074GRgVv7cB6woLN9POqnnFdL2AZYXPi8H9qmzP2cA/wHsQPo52gsc3eCyW5MavM8s5o1CT4vCcXko/609Lg+Thig+oN3/20555WP+AjBQeH24+H+v+f8fl99/IZ9/xeWeKcwbwBvqbHMKqVCzEngOeAA4E9iD1Bvlp6ReNU/mvD0N/Bupt5ZID6VZk7dxTGG9b0gh45XPewDXA78BngEWAwfmabOBW+scj33y+4vyNj6Uz/tX5/Sv5vT5+fO38+eXgLWkXnkHA0cWjs0LpPapV45X2TlPKpkvyNt7nlRIOZj0xbMyH/PI535P4Xx/BPhOXscOwA8L6zww5+lh4PT8v3sor385cCHQW5j/4Lzd53M+FpBjROHYBXBuzbE7JKdflD/35s+D+7wKOB/YpKFzs90XRye/ak+cmn/OrcA1wBmF9GLwvwS4Zpj197F+8D+DdMG+IaeNJPhfS2q3GNH+5GmXkS7kjcry5tfonUP1ji3rB/9LhlhvafAHJuVtfmcw4JCqJb4GvDl//kYOTu8gje+1Rw5GVxfWc1EOTNcX0mqD/y+Az5B+GW5Kqi58Z542m8aC/4PA5YXpGwO/IvUYm127LlKp/+PAb1m38FHvmBa3N3hs/hXYHtiC9ItjDfChmmP7FPDhQtoXyUF3mP/3IlKB8W15X14NnAAcm6d/KG/vyLz97UlfDsuBbQv7uywfh40L674iH6+L8ufenNeN8+ftgP9iiBhQfFW62mcUfB74pKRJJdP2IbUljNSvgG+RLv6Ruh34lKS/kzR98KfycCR9gnThfjgiXh5ufutonyIVHj4SEcsBIuKxiDgpIn4maRrwd8CREfHjiFgbaQC6Q4H9Jb23sK75wJslvbt2I7nOfVfgWxHx3/l1W0TcOsL8XgPsXbiBan/SL/EnymbO5+eFpMD5uhFu65OkEvKxEfFERLwQEZcCZwHn1FwvXwbOlNTw4Je5SnVfYGZE/CQf22cj4ryIuCCv/xzgixGxIG//CeC4nK9PFlb3BHAvsF9e9yTgzxiiSilSO84NpPtuhuXgP7yrJD1TeP3N4ISIuIdUWj6lZLkeCiewpBPz8gOSvjXMNv8ReP8QXdrq5ekfgS+RShV3Ab+SdEyddQzmay/gH4DDIqL2CUU71GznmVxXbJ1rH+CKIb7E30cqIa/TJhMRj5EKD/sWkn9LOjfOKlnPU6TS6SWSDpE0ucn8/o7cZpQ/Hw1cXG/mHIwHg+VDI9zWvqRfGbXHZiGpfeuPCmlXkEros0ew/n2AO/OxLLNb3s46PZpyfi5n3WMP6Tgcnd/PIrU5vFhv45J2IH1Z3N5IZh38h3dIREwsvGoD9+nAxyRtX5P+FKnuFYCI+GZETCTVZ24y1AYj4tfAN4G/H0meIuKlXMrYG5hIumgvlPTGspXk0tv3gFMj3dBT6/Ga7UyMiOeHyruVKn5Zj6Sb4uE1X7w3N7DMa0h11/X0DDF9ZZ5e9H+BnSUdUEyMVM/wHlJ1xTnASkm35F8WI3UxqZH51cC7Ke/KuZekZ0gFqiOAD0bEsyPcTr19X1mYPihIv+xPl7RZg+tv5NhTZ56yY38l0JePy1Bfik/mY/MrUjvC9xvJrIP/BoqIB0ilhM/VTLoJ+MsNWPU/kS6uP20yXy9ExHmkxrj1fgZK2ohUL3xbRHxjA/Jpwyt+WR9CarQsKwBsQmpwHLSw5ov3PQ1sa51CR4knh5g+hZrn00bEi8D/yi/VTFsRESdGxOuBXUiBZzBANbqP5Kqi1wKnkToXvFCy3O35GPRExF4RceMQ+1hPvX2fUphezNcPSb39ym6GK9PIsafOPGXH/gXgB6Tj0hMRt9VZb08uWG4J3EZqvB+Wg//oOBP4KKm0PegLwJ9LOlfSjvBKSbu0FF4rIp4hlag+22gmJJ2cu49uIWnjXOWzDakRqNYXSA2BxzW6fhs1jwI9SjcXAq90O94F2NChDW4EPpi/3Mv8OzA1d5l8Re5evBep0FLrX0kNlx+st9Fc1XEe8Kac9CjpF8MrXxiStiQ1Spbt4yXAHIao8hkFNwKHlhybw0l36f68ZJnTSD3Ztmxw/XsOduUu8SCpU8hhxcScn0MpP/YXk47Lt4fbeP6yuIh0N/Sw90E4+A/vmpq+8FfWzhBpPJtvA1sV0n5Ouph2An4q6TnSt/Lj/KGv/HC+Rure1mieXiB9YQx24zsBODQiflGyjtNIDWZPlPT33znPs0PJtEMbzLvVERGPkoYR+ZKkrXO1wmdIpeWG6muzTSVtXnhNIHUtfhUwX9IuAJJ2zIWQN+fz8p+BBZL2Uhq5dQ9SnfONZSXqiFhLKiy80rYlaVtJZ0p6g6SNcrD560L+7yDV58/NedsKOJvUFlUW/L9OqvO+ZQT7P1JfIR2bC5TuHdhc0hGk4P6ZXJW1jojoJzW8Dtl2lue9kdTgeqWkP80FsG0k/a2kv87r/zRwmqQP50La9qTxs16V81frP0jHZdhf5/k8Oop0/Q9/H0QjXYL88suv5l7U7y48ldTeMvhFfR2F0SAp7+c/AGyXp0fJa7Cb6A6kHjFP8Id+/mcAW+bpG5EC+TJSgeExUu+WzQvbv4jUK4XCMvfxSnU/W5F6Ay3P+XqC1Fd+x8Iyu+f9epLUB/37wNR626g5PrdS0tVziOPcxzBdPfPnnXM+nyZVU/2E1DunuMw63WiBt1PoXz9MPjYl1QQsy+v/JSm471yYZ2be7vM5H5fWHJe6+0uhyynr9/N/hvRl8bZGzk0/xtHMrIJc7WNmVkEO/mZmDZJ0ZEk72ICkJe3O20i52sfMrIIavnW5lXp6eqK3t7fd2eD5559nq6265wbWbssvtDbPixcvfjIiXtuSlbdAp5z3Zbrx3Bot3bTvG3LOd0Tw7+3t5a671nuW9Jjr7++nr6+v3dloWLflF1qbZ0mj8vg/SZuTuhxuRrpGvh8RZ+TxVb5L6mWxHDg8In6TlzkVOJbUNfcTEXHdcNvplPO+TDeeW6Olm/Z9Q8551/mbre9F4L2Rnhz1J6QBz/YiPcT7poiYRrohZy6ApN1JY6/sQRqY7Pzc596sYzn4m9WIZCB/3CS/Aj/A3saRjqj2Mes0ueS+mDSG/XkRcYekdR7oLan4APvinbl1H+Kt9ND04wEmT55Mf39/i/ZgwwwMDHRs3lqtKvs+LoN/79wfjHiZ5Wcf1IKcWLeKiJeAP5E0kXS7/puGmL3hh3hHxDxgHsCMGTOi3XXL9a6VOdNf4pxbywdwHe/XSjfV+W8IV/uYDSHSAHv9pLp8P8Dexg0Hf7Makl6bS/xI2oL0kI4HqP9Abz/A3rrOuKz2MdtAU0ijYk4gFZAWRsS1kn4MLJR0LGnI4sMAImKJpIXA/aSROU/I1UZmHcvB36xGRPwMeEtJ+lOkxyCWLXMW5Y87NOtIDv4byI3LZtaNXOdvZlZBDv5mZhXk4G9mVkEO/mZmFeTgb2ZWQQ7+ZmYV5OBvZlZBDv5mZhXk4G9mVkEO/mZmFeTgb2ZWQcMGf0lTJd0saamkJZJOyumTJN0g6aH8d9vCMqdKWibpQUn7tXIHzMxs5BoZ2G0tMCci7pa0DbBY0g3AbNLDrM+WNJf0MOtTah5mvQNwo6Q/8hC3ZuODBzMcH4Yt+UfEyoi4O79/DlhKej6pH2ZtZtalRjSks6Re0jjndwAb9DDrVj7Ies70tSNepr+/v6kHNze7rdHQjQ+a7sY8m41HDQd/SVsDlwMnR8QaqeyZ1WnWkrT1HmbdygdZz27mZ+mRfU09uLnZbY2GbnzQdDfmuRs0UxVj1dZQbx9Jm5AC/4KIuCIn+2HWZmZdqpHePgIuAJZGxLmFSX6YtZlZl2qk2mdv4CjgXkn35LTPAWfjh1mbmXWlYYN/RNxKeT0++GHWZmZdyXf4mtXwjY1WBQ7+ZusbvLHxjcBewAn55sW5pBsbpwE35c/U3Ni4P3C+pAltyblZgxz8zWr4xkarghHd5GVWNaN5Y2NeX0tubmzmZsOhTN5idNfZTTf2VeVGRAd/szpG+8ZGaN3Njc3cbDiUOdPXcs69oxceRuvGxrFQlRsRXe1jVsI3Ntp45+BvVsM3NloVuNrHbH2+sdHGPQd/sxq+sdGqwNU+ZmYV5OBvZlZBrvbJeuf+gDnT1456lzkzs07kkr+ZWQU5+JuZVZCDv5lZBTn4m5lVkIO/mVkFOfibmVWQg7+ZWQW5n3+X6C25/2C4+xKWn31QK7NkZl3MJX8zswpy8DczqyAHfzOzCnLwNzOroI5v8C1r6DQzsw3jkr+ZWQUNG/wlXShptaT7CmmTJN0g6aH8d9vCtFMlLZP0oKT9WpVxMzNrXiMl/4uA/WvS5gI3RcQ04Kb8GUm7A7OAPfIy50uaMGq5NTOzUTFs8I+IW4Cna5JnAvPz+/nAIYX0yyLixYh4BFgG7DlKeTUzs1HSbB1q60YAAAZVSURBVIPv5IhYCRARKyVtl9N3BG4vzLcip61H0vHA8QCTJ0+mv7+/dENzpq9tMosjN3mLsdlevX0dSlm+hstvM9tptYGBgY7Ml7VWMx03fId6a412bx+VpEXZjBExD5gHMGPGjOjr6ytd4Vg+VnHO9LWcc2/rO0AtP7JvxMuUHYfh8tvMdlqtv7+fev/rTiLpQuBgYHVEvCmnTQK+C/QCy4HDI+I3edqpwLHAS8AnIuK6NmTbrGHN9vZZJWkKQP67OqevAKYW5tsJeLz57Jm1zUW4rcvGsWaD/yLgmPz+GODqQvosSZtJ2hWYBty5YVk0G3tu67Lxbtg6DkmXAn1Aj6QVwBnA2cBCSccCjwKHAUTEEkkLgfuBtcAJEfFSi/JuNtbGrK1rpEa7rWqs2r+G0q62oaq0Sw0b/CPiiDqT3ldn/rOAszYkU2ZdZtTbukZqtNvGxqr9ayjtarPqlnapDdXxwzuYdZBVkqbkUr/bulqs2aFd3EuoMR7ewaxxbuuyccMlf7MSbuuy8c7B36yE27psvHO1j5lZBbnk3wZ+RoGZtZtL/mZmFeTgb2ZWQQ7+ZmYV5OBvZlZBbvAdx3yHpJnV45K/mVkFueRv6/FTl8zGP5f8zcwqyMHfzKyCHPzNzCrIwd/MrIIc/M3MKsi9fcxsXHFvtca45G9mVkEu+Zt1GA/5bWPBJX8zswpy8DczqyBX+5hZ5RWr2uZMX8vsBqreur2R2CV/M7MKcsnfzKwJ3d6ltGUlf0n7S3pQ0jJJc1u1HbNO4XPeuklLSv6SJgDnAfsCK4CfSFoUEfe3Yntm7eZz3hrRSQ9YalW1z57Asoj4BYCky4CZgC8Ee0W3/2yu4XPeukqrgv+OwGOFzyuAtxdnkHQ8cHz+OCDpwRblpWGfgB7gyXbno1GdlF99qeFZNyjPw2xnl2bXOwqGPeehM8/7Mp10bo21Ttz3Ic77ps/5VgV/laTFOh8i5gHzWrT9pki6KyJmtDsfjeq2/EJ35rlBw57z0JnnfZlx/H8aVlX2vVUNviuAqYXPOwGPt2hbZp3A57x1lVYF/58A0yTtKmlTYBawqEXbMusEPuetq7Sk2ici1ko6EbgOmABcGBFLWrGtUdbxP8drdFt+oTvzPKwuPufrGZf/pwZVYt8VsV61pJmZjXMe3sHMrIIc/M3MKqhywV/SVEk3S1oqaYmkk0rm6ZP0rKR78uv0duS1kJ/lku7NebmrZLokfT0PK/AzSW9tRz4L+dmtcOzukbRG0sk183TUMa4ySRdKWi3pvkLaJEk3SHoo/922nXlslXrxoAr7X7k6f0lTgCkRcbekbYDFwCHF2/Al9QGfjoiD25TNdUhaDsyIiNIbTyQdCHwcOJB0Y9HXImK9G4zaIQ978Cvg7RHxy0J6Hx10jKtM0ruAAeDiiHhTTvsy8HREnJ3HKdo2Ik5pZz5boV48AGYzzve/ciX/iFgZEXfn988BS0l3Z3azmaQLNyLidmBiPqk7wfuAh4uB3zpLRNwCPF2TPBOYn9/PJwXEcWeIeDDu979ywb9IUi/wFuCOksnvkPRTST+StMeYZmx9AVwvaXEeHqBW2dACnfKFNgu4tM60TjrGtq7JEbESUoAEtmtzflquJh6M+/2v7Hj+krYGLgdOjog1NZPvBnaJiIFcpXIVMG2s81iwd0Q8Lmk74AZJD+TS2qCGhhYYa/lmpw8Ap5ZM7rRjbBVWGw+ksktqfKlkyV/SJqR/9IKIuKJ2ekSsiYiB/P6HwCaSesY4m8X8PJ7/rgauJI0gWdSpQwscANwdEatqJ3TaMbb1rBqsOsx/V7c5Py1TJx6M+/2vXPBX+kq/AFgaEefWmWf7PB+S9iQdp6fGLpfr5GWr3BCFpK2AvwDuq5ltEXB07vWzF/Ds4E/WNjuCOlU+nXSMrdQi4Jj8/hjg6jbmpWWGiAfjfv+r2NvnncB/AvcCL+fkzwE7A0TEP+fb9D8GrAVeAD4VEf+vDdlF0utIpX1I1XTfiYizJP1tIb8CvgnsD/wW+GhErNcldCxJ2pLUDvG6iHg2pxXz3DHHuOokXQr0kYYyXgWcQaqGW0i6Lh4FDouI2kbhrjdEPLiDcb7/lQv+ZmZWwWofMzNz8DczqyQHfzOzCnLwNzOrIAd/M7MKcvA3M6sgB38zswr6/2Vb6j24kZMKAAAAAElFTkSuQmCC\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,
"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,
"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": 13,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# write your code here\n",
"plt.scatter(cdf.CYLINDERS, cdf.CO2EMISSIONS, color = 'r')\n",
"plt.ylabel('CO2 Emissions')\n",
"plt.xlabel('Cylinders')\n",
"plt.show()\n",
"\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"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([0.40076847, 0.94913943, 0.93420426, ..., 0.1796623 , 0.47976704,\n",
" 0.10200966])"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"msk = np.random.rand(len(df)) < 0.8\n",
"train = cdf[msk]\n",
"test = cdf[~msk]\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### 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,
"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": 21,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Coefficients: [[39.78469391]]\n",
"Intercept: [122.98671055]\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": 22,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"Text(0, 0.5, 'Emission')"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(train.ENGINESIZE, train.CO2EMISSIONS, color='blue')\n",
"plt.plot(train_x, regr.coef_[0][0]*train_x + regr.intercept_[0], '-r')\n",
"plt.xlabel(\"Engine size\")\n",
"plt.ylabel(\"Emission\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Evaluation\n",
"we compare the actual values and predicted values to calculate the accuracy of a regression model. Evaluation metrics provide a key role in the development of a model, as it provides insight to areas that require improvement.\n",
"\n",
"There are different model evaluation metrics, lets use MSE here to calculate the accuracy of our model based on the test set: \n",
" - 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": 23,
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean absolute error: 23.03\n",
"Residual sum of squares (MSE): 960.88\n",
"R2-score: 0.69\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,
"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",
"language": "python",
"name": "conda-env-python-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment