Created
November 19, 2020 01:04
-
-
Save PBSWE/623e3f5ad7ffa236c7755b70ef00082c to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<center>\n", | |
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/Logos/organization_logo/organization_logo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n", | |
"</center>\n", | |
"\n", | |
"# Data Analysis with Python\n", | |
"\n", | |
"Estimated time needed: **10** hours\n", | |
"\n", | |
"## Objectives\n", | |
"\n", | |
"After completing this lab you will be able to:\n", | |
"\n", | |
"- Explore features or charecteristics to predict price of car\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2>Table of content</h2>\n", | |
"\n", | |
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n", | |
"<ol>\n", | |
" <li><a href=\"#import_data\">Import Data from Module</a></li>\n", | |
" <li><a href=\"#pattern_visualization\">Analyzing Individual Feature Patterns using Visualization</a></li>\n", | |
" <li><a href=\"#discriptive_statistics\">Descriptive Statistical Analysis</a></li>\n", | |
" <li><a href=\"#basic_grouping\">Basics of Grouping</a></li>\n", | |
" <li><a href=\"#correlation_causation\">Correlation and Causation</a></li>\n", | |
" <li><a href=\"#anova\">ANOVA</a></li>\n", | |
"</ol>\n", | |
"\n", | |
"</div>\n", | |
" \n", | |
"<hr>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>What are the main characteristics which have the most impact on the car price?</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2 id=\"import_data\">1. Import Data from Module 2</h2>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Setup</h4>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Import libraries \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import pandas as pd\n", | |
"import numpy as np" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" load data and store in dataframe df:\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/DA101EN_object_storage\">HERE</a> for free storage\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"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>symboling</th>\n", | |
" <th>normalized-losses</th>\n", | |
" <th>make</th>\n", | |
" <th>aspiration</th>\n", | |
" <th>num-of-doors</th>\n", | |
" <th>body-style</th>\n", | |
" <th>drive-wheels</th>\n", | |
" <th>engine-location</th>\n", | |
" <th>wheel-base</th>\n", | |
" <th>length</th>\n", | |
" <th>...</th>\n", | |
" <th>compression-ratio</th>\n", | |
" <th>horsepower</th>\n", | |
" <th>peak-rpm</th>\n", | |
" <th>city-mpg</th>\n", | |
" <th>highway-mpg</th>\n", | |
" <th>price</th>\n", | |
" <th>city-L/100km</th>\n", | |
" <th>horsepower-binned</th>\n", | |
" <th>diesel</th>\n", | |
" <th>gas</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>3</td>\n", | |
" <td>122</td>\n", | |
" <td>alfa-romero</td>\n", | |
" <td>std</td>\n", | |
" <td>two</td>\n", | |
" <td>convertible</td>\n", | |
" <td>rwd</td>\n", | |
" <td>front</td>\n", | |
" <td>88.6</td>\n", | |
" <td>0.811148</td>\n", | |
" <td>...</td>\n", | |
" <td>9.0</td>\n", | |
" <td>111.0</td>\n", | |
" <td>5000.0</td>\n", | |
" <td>21</td>\n", | |
" <td>27</td>\n", | |
" <td>13495.0</td>\n", | |
" <td>11.190476</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>3</td>\n", | |
" <td>122</td>\n", | |
" <td>alfa-romero</td>\n", | |
" <td>std</td>\n", | |
" <td>two</td>\n", | |
" <td>convertible</td>\n", | |
" <td>rwd</td>\n", | |
" <td>front</td>\n", | |
" <td>88.6</td>\n", | |
" <td>0.811148</td>\n", | |
" <td>...</td>\n", | |
" <td>9.0</td>\n", | |
" <td>111.0</td>\n", | |
" <td>5000.0</td>\n", | |
" <td>21</td>\n", | |
" <td>27</td>\n", | |
" <td>16500.0</td>\n", | |
" <td>11.190476</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>1</td>\n", | |
" <td>122</td>\n", | |
" <td>alfa-romero</td>\n", | |
" <td>std</td>\n", | |
" <td>two</td>\n", | |
" <td>hatchback</td>\n", | |
" <td>rwd</td>\n", | |
" <td>front</td>\n", | |
" <td>94.5</td>\n", | |
" <td>0.822681</td>\n", | |
" <td>...</td>\n", | |
" <td>9.0</td>\n", | |
" <td>154.0</td>\n", | |
" <td>5000.0</td>\n", | |
" <td>19</td>\n", | |
" <td>26</td>\n", | |
" <td>16500.0</td>\n", | |
" <td>12.368421</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>2</td>\n", | |
" <td>164</td>\n", | |
" <td>audi</td>\n", | |
" <td>std</td>\n", | |
" <td>four</td>\n", | |
" <td>sedan</td>\n", | |
" <td>fwd</td>\n", | |
" <td>front</td>\n", | |
" <td>99.8</td>\n", | |
" <td>0.848630</td>\n", | |
" <td>...</td>\n", | |
" <td>10.0</td>\n", | |
" <td>102.0</td>\n", | |
" <td>5500.0</td>\n", | |
" <td>24</td>\n", | |
" <td>30</td>\n", | |
" <td>13950.0</td>\n", | |
" <td>9.791667</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>2</td>\n", | |
" <td>164</td>\n", | |
" <td>audi</td>\n", | |
" <td>std</td>\n", | |
" <td>four</td>\n", | |
" <td>sedan</td>\n", | |
" <td>4wd</td>\n", | |
" <td>front</td>\n", | |
" <td>99.4</td>\n", | |
" <td>0.848630</td>\n", | |
" <td>...</td>\n", | |
" <td>8.0</td>\n", | |
" <td>115.0</td>\n", | |
" <td>5500.0</td>\n", | |
" <td>18</td>\n", | |
" <td>22</td>\n", | |
" <td>17450.0</td>\n", | |
" <td>13.055556</td>\n", | |
" <td>Medium</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>5 rows × 29 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" symboling normalized-losses make aspiration num-of-doors \\\n", | |
"0 3 122 alfa-romero std two \n", | |
"1 3 122 alfa-romero std two \n", | |
"2 1 122 alfa-romero std two \n", | |
"3 2 164 audi std four \n", | |
"4 2 164 audi std four \n", | |
"\n", | |
" body-style drive-wheels engine-location wheel-base length ... \\\n", | |
"0 convertible rwd front 88.6 0.811148 ... \n", | |
"1 convertible rwd front 88.6 0.811148 ... \n", | |
"2 hatchback rwd front 94.5 0.822681 ... \n", | |
"3 sedan fwd front 99.8 0.848630 ... \n", | |
"4 sedan 4wd front 99.4 0.848630 ... \n", | |
"\n", | |
" compression-ratio horsepower peak-rpm city-mpg highway-mpg price \\\n", | |
"0 9.0 111.0 5000.0 21 27 13495.0 \n", | |
"1 9.0 111.0 5000.0 21 27 16500.0 \n", | |
"2 9.0 154.0 5000.0 19 26 16500.0 \n", | |
"3 10.0 102.0 5500.0 24 30 13950.0 \n", | |
"4 8.0 115.0 5500.0 18 22 17450.0 \n", | |
"\n", | |
" city-L/100km horsepower-binned diesel gas \n", | |
"0 11.190476 Medium 0 1 \n", | |
"1 11.190476 Medium 0 1 \n", | |
"2 12.368421 Medium 0 1 \n", | |
"3 9.791667 Medium 0 1 \n", | |
"4 13.055556 Medium 0 1 \n", | |
"\n", | |
"[5 rows x 29 columns]" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"path='https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DA0101EN-SkillsNetwork/labs/Data%20files/automobileEDA.csv'\n", | |
"df = pd.read_csv(path)\n", | |
"df.head()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2 id=\"pattern_visualization\">2. Analyzing Individual Feature Patterns using Visualization</h2>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"To install seaborn we use the pip which is the python package manager.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%%capture\n", | |
"! pip install seaborn" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Import visualization packages \"Matplotlib\" and \"Seaborn\", don't forget about \"%matplotlib inline\" to plot in a Jupyter notebook.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"import seaborn as sns\n", | |
"%matplotlib inline " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>How to choose the right visualization method?</h4>\n", | |
"<p>When visualizing individual variables, it is important to first understand what type of variable you are dealing with. This will help us find the right visualization method for that variable.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"symboling int64\n", | |
"normalized-losses int64\n", | |
"make object\n", | |
"aspiration object\n", | |
"num-of-doors object\n", | |
"body-style object\n", | |
"drive-wheels object\n", | |
"engine-location object\n", | |
"wheel-base float64\n", | |
"length float64\n", | |
"width float64\n", | |
"height float64\n", | |
"curb-weight int64\n", | |
"engine-type object\n", | |
"num-of-cylinders object\n", | |
"engine-size int64\n", | |
"fuel-system object\n", | |
"bore float64\n", | |
"stroke float64\n", | |
"compression-ratio float64\n", | |
"horsepower float64\n", | |
"peak-rpm float64\n", | |
"city-mpg int64\n", | |
"highway-mpg int64\n", | |
"price float64\n", | |
"city-L/100km float64\n", | |
"horsepower-binned object\n", | |
"diesel int64\n", | |
"gas int64\n", | |
"dtype: object\n" | |
] | |
} | |
], | |
"source": [ | |
"# list the data types for each column\n", | |
"print(df.dtypes)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h3>Question #1:</h3>\n", | |
"\n", | |
"<b>What is the data type of the column \"peak-rpm\"? </b>\n", | |
"\n", | |
"</div>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"float64\n", | |
"\n", | |
"-->\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"for example, we can calculate the correlation between variables of type \"int64\" or \"float64\" using the method \"corr\":\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": {}, | |
"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>symboling</th>\n", | |
" <th>normalized-losses</th>\n", | |
" <th>wheel-base</th>\n", | |
" <th>length</th>\n", | |
" <th>width</th>\n", | |
" <th>height</th>\n", | |
" <th>curb-weight</th>\n", | |
" <th>engine-size</th>\n", | |
" <th>bore</th>\n", | |
" <th>stroke</th>\n", | |
" <th>compression-ratio</th>\n", | |
" <th>horsepower</th>\n", | |
" <th>peak-rpm</th>\n", | |
" <th>city-mpg</th>\n", | |
" <th>highway-mpg</th>\n", | |
" <th>price</th>\n", | |
" <th>city-L/100km</th>\n", | |
" <th>diesel</th>\n", | |
" <th>gas</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>symboling</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.466264</td>\n", | |
" <td>-0.535987</td>\n", | |
" <td>-0.365404</td>\n", | |
" <td>-0.242423</td>\n", | |
" <td>-0.550160</td>\n", | |
" <td>-0.233118</td>\n", | |
" <td>-0.110581</td>\n", | |
" <td>-0.140019</td>\n", | |
" <td>-0.008245</td>\n", | |
" <td>-0.182196</td>\n", | |
" <td>0.075819</td>\n", | |
" <td>0.279740</td>\n", | |
" <td>-0.035527</td>\n", | |
" <td>0.036233</td>\n", | |
" <td>-0.082391</td>\n", | |
" <td>0.066171</td>\n", | |
" <td>-0.196735</td>\n", | |
" <td>0.196735</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>normalized-losses</th>\n", | |
" <td>0.466264</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.056661</td>\n", | |
" <td>0.019424</td>\n", | |
" <td>0.086802</td>\n", | |
" <td>-0.373737</td>\n", | |
" <td>0.099404</td>\n", | |
" <td>0.112360</td>\n", | |
" <td>-0.029862</td>\n", | |
" <td>0.055563</td>\n", | |
" <td>-0.114713</td>\n", | |
" <td>0.217299</td>\n", | |
" <td>0.239543</td>\n", | |
" <td>-0.225016</td>\n", | |
" <td>-0.181877</td>\n", | |
" <td>0.133999</td>\n", | |
" <td>0.238567</td>\n", | |
" <td>-0.101546</td>\n", | |
" <td>0.101546</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>wheel-base</th>\n", | |
" <td>-0.535987</td>\n", | |
" <td>-0.056661</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.876024</td>\n", | |
" <td>0.814507</td>\n", | |
" <td>0.590742</td>\n", | |
" <td>0.782097</td>\n", | |
" <td>0.572027</td>\n", | |
" <td>0.493244</td>\n", | |
" <td>0.158502</td>\n", | |
" <td>0.250313</td>\n", | |
" <td>0.371147</td>\n", | |
" <td>-0.360305</td>\n", | |
" <td>-0.470606</td>\n", | |
" <td>-0.543304</td>\n", | |
" <td>0.584642</td>\n", | |
" <td>0.476153</td>\n", | |
" <td>0.307237</td>\n", | |
" <td>-0.307237</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>length</th>\n", | |
" <td>-0.365404</td>\n", | |
" <td>0.019424</td>\n", | |
" <td>0.876024</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.857170</td>\n", | |
" <td>0.492063</td>\n", | |
" <td>0.880665</td>\n", | |
" <td>0.685025</td>\n", | |
" <td>0.608971</td>\n", | |
" <td>0.124139</td>\n", | |
" <td>0.159733</td>\n", | |
" <td>0.579821</td>\n", | |
" <td>-0.285970</td>\n", | |
" <td>-0.665192</td>\n", | |
" <td>-0.698142</td>\n", | |
" <td>0.690628</td>\n", | |
" <td>0.657373</td>\n", | |
" <td>0.211187</td>\n", | |
" <td>-0.211187</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>width</th>\n", | |
" <td>-0.242423</td>\n", | |
" <td>0.086802</td>\n", | |
" <td>0.814507</td>\n", | |
" <td>0.857170</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.306002</td>\n", | |
" <td>0.866201</td>\n", | |
" <td>0.729436</td>\n", | |
" <td>0.544885</td>\n", | |
" <td>0.188829</td>\n", | |
" <td>0.189867</td>\n", | |
" <td>0.615077</td>\n", | |
" <td>-0.245800</td>\n", | |
" <td>-0.633531</td>\n", | |
" <td>-0.680635</td>\n", | |
" <td>0.751265</td>\n", | |
" <td>0.673363</td>\n", | |
" <td>0.244356</td>\n", | |
" <td>-0.244356</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>height</th>\n", | |
" <td>-0.550160</td>\n", | |
" <td>-0.373737</td>\n", | |
" <td>0.590742</td>\n", | |
" <td>0.492063</td>\n", | |
" <td>0.306002</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.307581</td>\n", | |
" <td>0.074694</td>\n", | |
" <td>0.180449</td>\n", | |
" <td>-0.062704</td>\n", | |
" <td>0.259737</td>\n", | |
" <td>-0.087027</td>\n", | |
" <td>-0.309974</td>\n", | |
" <td>-0.049800</td>\n", | |
" <td>-0.104812</td>\n", | |
" <td>0.135486</td>\n", | |
" <td>0.003811</td>\n", | |
" <td>0.281578</td>\n", | |
" <td>-0.281578</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>curb-weight</th>\n", | |
" <td>-0.233118</td>\n", | |
" <td>0.099404</td>\n", | |
" <td>0.782097</td>\n", | |
" <td>0.880665</td>\n", | |
" <td>0.866201</td>\n", | |
" <td>0.307581</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.849072</td>\n", | |
" <td>0.644060</td>\n", | |
" <td>0.167562</td>\n", | |
" <td>0.156433</td>\n", | |
" <td>0.757976</td>\n", | |
" <td>-0.279361</td>\n", | |
" <td>-0.749543</td>\n", | |
" <td>-0.794889</td>\n", | |
" <td>0.834415</td>\n", | |
" <td>0.785353</td>\n", | |
" <td>0.221046</td>\n", | |
" <td>-0.221046</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>engine-size</th>\n", | |
" <td>-0.110581</td>\n", | |
" <td>0.112360</td>\n", | |
" <td>0.572027</td>\n", | |
" <td>0.685025</td>\n", | |
" <td>0.729436</td>\n", | |
" <td>0.074694</td>\n", | |
" <td>0.849072</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.572609</td>\n", | |
" <td>0.209523</td>\n", | |
" <td>0.028889</td>\n", | |
" <td>0.822676</td>\n", | |
" <td>-0.256733</td>\n", | |
" <td>-0.650546</td>\n", | |
" <td>-0.679571</td>\n", | |
" <td>0.872335</td>\n", | |
" <td>0.745059</td>\n", | |
" <td>0.070779</td>\n", | |
" <td>-0.070779</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>bore</th>\n", | |
" <td>-0.140019</td>\n", | |
" <td>-0.029862</td>\n", | |
" <td>0.493244</td>\n", | |
" <td>0.608971</td>\n", | |
" <td>0.544885</td>\n", | |
" <td>0.180449</td>\n", | |
" <td>0.644060</td>\n", | |
" <td>0.572609</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.055390</td>\n", | |
" <td>0.001263</td>\n", | |
" <td>0.566936</td>\n", | |
" <td>-0.267392</td>\n", | |
" <td>-0.582027</td>\n", | |
" <td>-0.591309</td>\n", | |
" <td>0.543155</td>\n", | |
" <td>0.554610</td>\n", | |
" <td>0.054458</td>\n", | |
" <td>-0.054458</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>stroke</th>\n", | |
" <td>-0.008245</td>\n", | |
" <td>0.055563</td>\n", | |
" <td>0.158502</td>\n", | |
" <td>0.124139</td>\n", | |
" <td>0.188829</td>\n", | |
" <td>-0.062704</td>\n", | |
" <td>0.167562</td>\n", | |
" <td>0.209523</td>\n", | |
" <td>-0.055390</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.187923</td>\n", | |
" <td>0.098462</td>\n", | |
" <td>-0.065713</td>\n", | |
" <td>-0.034696</td>\n", | |
" <td>-0.035201</td>\n", | |
" <td>0.082310</td>\n", | |
" <td>0.037300</td>\n", | |
" <td>0.241303</td>\n", | |
" <td>-0.241303</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>compression-ratio</th>\n", | |
" <td>-0.182196</td>\n", | |
" <td>-0.114713</td>\n", | |
" <td>0.250313</td>\n", | |
" <td>0.159733</td>\n", | |
" <td>0.189867</td>\n", | |
" <td>0.259737</td>\n", | |
" <td>0.156433</td>\n", | |
" <td>0.028889</td>\n", | |
" <td>0.001263</td>\n", | |
" <td>0.187923</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.214514</td>\n", | |
" <td>-0.435780</td>\n", | |
" <td>0.331425</td>\n", | |
" <td>0.268465</td>\n", | |
" <td>0.071107</td>\n", | |
" <td>-0.299372</td>\n", | |
" <td>0.985231</td>\n", | |
" <td>-0.985231</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>horsepower</th>\n", | |
" <td>0.075819</td>\n", | |
" <td>0.217299</td>\n", | |
" <td>0.371147</td>\n", | |
" <td>0.579821</td>\n", | |
" <td>0.615077</td>\n", | |
" <td>-0.087027</td>\n", | |
" <td>0.757976</td>\n", | |
" <td>0.822676</td>\n", | |
" <td>0.566936</td>\n", | |
" <td>0.098462</td>\n", | |
" <td>-0.214514</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.107885</td>\n", | |
" <td>-0.822214</td>\n", | |
" <td>-0.804575</td>\n", | |
" <td>0.809575</td>\n", | |
" <td>0.889488</td>\n", | |
" <td>-0.169053</td>\n", | |
" <td>0.169053</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>peak-rpm</th>\n", | |
" <td>0.279740</td>\n", | |
" <td>0.239543</td>\n", | |
" <td>-0.360305</td>\n", | |
" <td>-0.285970</td>\n", | |
" <td>-0.245800</td>\n", | |
" <td>-0.309974</td>\n", | |
" <td>-0.279361</td>\n", | |
" <td>-0.256733</td>\n", | |
" <td>-0.267392</td>\n", | |
" <td>-0.065713</td>\n", | |
" <td>-0.435780</td>\n", | |
" <td>0.107885</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.115413</td>\n", | |
" <td>-0.058598</td>\n", | |
" <td>-0.101616</td>\n", | |
" <td>0.115830</td>\n", | |
" <td>-0.475812</td>\n", | |
" <td>0.475812</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>city-mpg</th>\n", | |
" <td>-0.035527</td>\n", | |
" <td>-0.225016</td>\n", | |
" <td>-0.470606</td>\n", | |
" <td>-0.665192</td>\n", | |
" <td>-0.633531</td>\n", | |
" <td>-0.049800</td>\n", | |
" <td>-0.749543</td>\n", | |
" <td>-0.650546</td>\n", | |
" <td>-0.582027</td>\n", | |
" <td>-0.034696</td>\n", | |
" <td>0.331425</td>\n", | |
" <td>-0.822214</td>\n", | |
" <td>-0.115413</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.972044</td>\n", | |
" <td>-0.686571</td>\n", | |
" <td>-0.949713</td>\n", | |
" <td>0.265676</td>\n", | |
" <td>-0.265676</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>highway-mpg</th>\n", | |
" <td>0.036233</td>\n", | |
" <td>-0.181877</td>\n", | |
" <td>-0.543304</td>\n", | |
" <td>-0.698142</td>\n", | |
" <td>-0.680635</td>\n", | |
" <td>-0.104812</td>\n", | |
" <td>-0.794889</td>\n", | |
" <td>-0.679571</td>\n", | |
" <td>-0.591309</td>\n", | |
" <td>-0.035201</td>\n", | |
" <td>0.268465</td>\n", | |
" <td>-0.804575</td>\n", | |
" <td>-0.058598</td>\n", | |
" <td>0.972044</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.704692</td>\n", | |
" <td>-0.930028</td>\n", | |
" <td>0.198690</td>\n", | |
" <td>-0.198690</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>price</th>\n", | |
" <td>-0.082391</td>\n", | |
" <td>0.133999</td>\n", | |
" <td>0.584642</td>\n", | |
" <td>0.690628</td>\n", | |
" <td>0.751265</td>\n", | |
" <td>0.135486</td>\n", | |
" <td>0.834415</td>\n", | |
" <td>0.872335</td>\n", | |
" <td>0.543155</td>\n", | |
" <td>0.082310</td>\n", | |
" <td>0.071107</td>\n", | |
" <td>0.809575</td>\n", | |
" <td>-0.101616</td>\n", | |
" <td>-0.686571</td>\n", | |
" <td>-0.704692</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.789898</td>\n", | |
" <td>0.110326</td>\n", | |
" <td>-0.110326</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>city-L/100km</th>\n", | |
" <td>0.066171</td>\n", | |
" <td>0.238567</td>\n", | |
" <td>0.476153</td>\n", | |
" <td>0.657373</td>\n", | |
" <td>0.673363</td>\n", | |
" <td>0.003811</td>\n", | |
" <td>0.785353</td>\n", | |
" <td>0.745059</td>\n", | |
" <td>0.554610</td>\n", | |
" <td>0.037300</td>\n", | |
" <td>-0.299372</td>\n", | |
" <td>0.889488</td>\n", | |
" <td>0.115830</td>\n", | |
" <td>-0.949713</td>\n", | |
" <td>-0.930028</td>\n", | |
" <td>0.789898</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.241282</td>\n", | |
" <td>0.241282</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>diesel</th>\n", | |
" <td>-0.196735</td>\n", | |
" <td>-0.101546</td>\n", | |
" <td>0.307237</td>\n", | |
" <td>0.211187</td>\n", | |
" <td>0.244356</td>\n", | |
" <td>0.281578</td>\n", | |
" <td>0.221046</td>\n", | |
" <td>0.070779</td>\n", | |
" <td>0.054458</td>\n", | |
" <td>0.241303</td>\n", | |
" <td>0.985231</td>\n", | |
" <td>-0.169053</td>\n", | |
" <td>-0.475812</td>\n", | |
" <td>0.265676</td>\n", | |
" <td>0.198690</td>\n", | |
" <td>0.110326</td>\n", | |
" <td>-0.241282</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-1.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>gas</th>\n", | |
" <td>0.196735</td>\n", | |
" <td>0.101546</td>\n", | |
" <td>-0.307237</td>\n", | |
" <td>-0.211187</td>\n", | |
" <td>-0.244356</td>\n", | |
" <td>-0.281578</td>\n", | |
" <td>-0.221046</td>\n", | |
" <td>-0.070779</td>\n", | |
" <td>-0.054458</td>\n", | |
" <td>-0.241303</td>\n", | |
" <td>-0.985231</td>\n", | |
" <td>0.169053</td>\n", | |
" <td>0.475812</td>\n", | |
" <td>-0.265676</td>\n", | |
" <td>-0.198690</td>\n", | |
" <td>-0.110326</td>\n", | |
" <td>0.241282</td>\n", | |
" <td>-1.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" symboling normalized-losses wheel-base length \\\n", | |
"symboling 1.000000 0.466264 -0.535987 -0.365404 \n", | |
"normalized-losses 0.466264 1.000000 -0.056661 0.019424 \n", | |
"wheel-base -0.535987 -0.056661 1.000000 0.876024 \n", | |
"length -0.365404 0.019424 0.876024 1.000000 \n", | |
"width -0.242423 0.086802 0.814507 0.857170 \n", | |
"height -0.550160 -0.373737 0.590742 0.492063 \n", | |
"curb-weight -0.233118 0.099404 0.782097 0.880665 \n", | |
"engine-size -0.110581 0.112360 0.572027 0.685025 \n", | |
"bore -0.140019 -0.029862 0.493244 0.608971 \n", | |
"stroke -0.008245 0.055563 0.158502 0.124139 \n", | |
"compression-ratio -0.182196 -0.114713 0.250313 0.159733 \n", | |
"horsepower 0.075819 0.217299 0.371147 0.579821 \n", | |
"peak-rpm 0.279740 0.239543 -0.360305 -0.285970 \n", | |
"city-mpg -0.035527 -0.225016 -0.470606 -0.665192 \n", | |
"highway-mpg 0.036233 -0.181877 -0.543304 -0.698142 \n", | |
"price -0.082391 0.133999 0.584642 0.690628 \n", | |
"city-L/100km 0.066171 0.238567 0.476153 0.657373 \n", | |
"diesel -0.196735 -0.101546 0.307237 0.211187 \n", | |
"gas 0.196735 0.101546 -0.307237 -0.211187 \n", | |
"\n", | |
" width height curb-weight engine-size bore \\\n", | |
"symboling -0.242423 -0.550160 -0.233118 -0.110581 -0.140019 \n", | |
"normalized-losses 0.086802 -0.373737 0.099404 0.112360 -0.029862 \n", | |
"wheel-base 0.814507 0.590742 0.782097 0.572027 0.493244 \n", | |
"length 0.857170 0.492063 0.880665 0.685025 0.608971 \n", | |
"width 1.000000 0.306002 0.866201 0.729436 0.544885 \n", | |
"height 0.306002 1.000000 0.307581 0.074694 0.180449 \n", | |
"curb-weight 0.866201 0.307581 1.000000 0.849072 0.644060 \n", | |
"engine-size 0.729436 0.074694 0.849072 1.000000 0.572609 \n", | |
"bore 0.544885 0.180449 0.644060 0.572609 1.000000 \n", | |
"stroke 0.188829 -0.062704 0.167562 0.209523 -0.055390 \n", | |
"compression-ratio 0.189867 0.259737 0.156433 0.028889 0.001263 \n", | |
"horsepower 0.615077 -0.087027 0.757976 0.822676 0.566936 \n", | |
"peak-rpm -0.245800 -0.309974 -0.279361 -0.256733 -0.267392 \n", | |
"city-mpg -0.633531 -0.049800 -0.749543 -0.650546 -0.582027 \n", | |
"highway-mpg -0.680635 -0.104812 -0.794889 -0.679571 -0.591309 \n", | |
"price 0.751265 0.135486 0.834415 0.872335 0.543155 \n", | |
"city-L/100km 0.673363 0.003811 0.785353 0.745059 0.554610 \n", | |
"diesel 0.244356 0.281578 0.221046 0.070779 0.054458 \n", | |
"gas -0.244356 -0.281578 -0.221046 -0.070779 -0.054458 \n", | |
"\n", | |
" stroke compression-ratio horsepower peak-rpm \\\n", | |
"symboling -0.008245 -0.182196 0.075819 0.279740 \n", | |
"normalized-losses 0.055563 -0.114713 0.217299 0.239543 \n", | |
"wheel-base 0.158502 0.250313 0.371147 -0.360305 \n", | |
"length 0.124139 0.159733 0.579821 -0.285970 \n", | |
"width 0.188829 0.189867 0.615077 -0.245800 \n", | |
"height -0.062704 0.259737 -0.087027 -0.309974 \n", | |
"curb-weight 0.167562 0.156433 0.757976 -0.279361 \n", | |
"engine-size 0.209523 0.028889 0.822676 -0.256733 \n", | |
"bore -0.055390 0.001263 0.566936 -0.267392 \n", | |
"stroke 1.000000 0.187923 0.098462 -0.065713 \n", | |
"compression-ratio 0.187923 1.000000 -0.214514 -0.435780 \n", | |
"horsepower 0.098462 -0.214514 1.000000 0.107885 \n", | |
"peak-rpm -0.065713 -0.435780 0.107885 1.000000 \n", | |
"city-mpg -0.034696 0.331425 -0.822214 -0.115413 \n", | |
"highway-mpg -0.035201 0.268465 -0.804575 -0.058598 \n", | |
"price 0.082310 0.071107 0.809575 -0.101616 \n", | |
"city-L/100km 0.037300 -0.299372 0.889488 0.115830 \n", | |
"diesel 0.241303 0.985231 -0.169053 -0.475812 \n", | |
"gas -0.241303 -0.985231 0.169053 0.475812 \n", | |
"\n", | |
" city-mpg highway-mpg price city-L/100km diesel \\\n", | |
"symboling -0.035527 0.036233 -0.082391 0.066171 -0.196735 \n", | |
"normalized-losses -0.225016 -0.181877 0.133999 0.238567 -0.101546 \n", | |
"wheel-base -0.470606 -0.543304 0.584642 0.476153 0.307237 \n", | |
"length -0.665192 -0.698142 0.690628 0.657373 0.211187 \n", | |
"width -0.633531 -0.680635 0.751265 0.673363 0.244356 \n", | |
"height -0.049800 -0.104812 0.135486 0.003811 0.281578 \n", | |
"curb-weight -0.749543 -0.794889 0.834415 0.785353 0.221046 \n", | |
"engine-size -0.650546 -0.679571 0.872335 0.745059 0.070779 \n", | |
"bore -0.582027 -0.591309 0.543155 0.554610 0.054458 \n", | |
"stroke -0.034696 -0.035201 0.082310 0.037300 0.241303 \n", | |
"compression-ratio 0.331425 0.268465 0.071107 -0.299372 0.985231 \n", | |
"horsepower -0.822214 -0.804575 0.809575 0.889488 -0.169053 \n", | |
"peak-rpm -0.115413 -0.058598 -0.101616 0.115830 -0.475812 \n", | |
"city-mpg 1.000000 0.972044 -0.686571 -0.949713 0.265676 \n", | |
"highway-mpg 0.972044 1.000000 -0.704692 -0.930028 0.198690 \n", | |
"price -0.686571 -0.704692 1.000000 0.789898 0.110326 \n", | |
"city-L/100km -0.949713 -0.930028 0.789898 1.000000 -0.241282 \n", | |
"diesel 0.265676 0.198690 0.110326 -0.241282 1.000000 \n", | |
"gas -0.265676 -0.198690 -0.110326 0.241282 -1.000000 \n", | |
"\n", | |
" gas \n", | |
"symboling 0.196735 \n", | |
"normalized-losses 0.101546 \n", | |
"wheel-base -0.307237 \n", | |
"length -0.211187 \n", | |
"width -0.244356 \n", | |
"height -0.281578 \n", | |
"curb-weight -0.221046 \n", | |
"engine-size -0.070779 \n", | |
"bore -0.054458 \n", | |
"stroke -0.241303 \n", | |
"compression-ratio -0.985231 \n", | |
"horsepower 0.169053 \n", | |
"peak-rpm 0.475812 \n", | |
"city-mpg -0.265676 \n", | |
"highway-mpg -0.198690 \n", | |
"price -0.110326 \n", | |
"city-L/100km 0.241282 \n", | |
"diesel -1.000000 \n", | |
"gas 1.000000 " | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The diagonal elements are always one; we will study correlation more precisely Pearson correlation in-depth at the end of the notebook.\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1> Question #2: </h1>\n", | |
"\n", | |
"<p>Find the correlation between the following columns: bore, stroke,compression-ratio , and horsepower.</p>\n", | |
"<p>Hint: if you would like to select those columns use the following syntax: df[['bore','stroke' ,'compression-ratio','horsepower']]</p>\n", | |
"</div>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"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>bore</th>\n", | |
" <th>stroke</th>\n", | |
" <th>compression-ratio</th>\n", | |
" <th>horsepower</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>bore</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.055390</td>\n", | |
" <td>0.001263</td>\n", | |
" <td>0.566936</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>stroke</th>\n", | |
" <td>-0.055390</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.187923</td>\n", | |
" <td>0.098462</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>compression-ratio</th>\n", | |
" <td>0.001263</td>\n", | |
" <td>0.187923</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.214514</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>horsepower</th>\n", | |
" <td>0.566936</td>\n", | |
" <td>0.098462</td>\n", | |
" <td>-0.214514</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" bore stroke compression-ratio horsepower\n", | |
"bore 1.000000 -0.055390 0.001263 0.566936\n", | |
"stroke -0.055390 1.000000 0.187923 0.098462\n", | |
"compression-ratio 0.001263 0.187923 1.000000 -0.214514\n", | |
"horsepower 0.566936 0.098462 -0.214514 1.000000" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"\n", | |
"df[['bore','stroke' ,'compression-ratio','horsepower']].corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"df[['bore', 'stroke', 'compression-ratio', 'horsepower']].corr() \n", | |
"\n", | |
"-->\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2>Continuous numerical variables:</h2> \n", | |
"\n", | |
"<p>Continuous numerical variables are variables that may contain any value within some range. Continuous numerical variables can have the type \"int64\" or \"float64\". A great way to visualize these variables is by using scatterplots with fitted lines.</p>\n", | |
"\n", | |
"<p>In order to start understanding the (linear) relationship between an individual variable and the price. We can do this by using \"regplot\", which plots the scatterplot plus the fitted regression line for the data.</p>\n", | |
"(Who wrote or reviewed / didn't review this?)\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's see several examples of different linear relationships:\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Positive linear relationship</h4>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's find the scatterplot of \"engine-size\" and \"price\" \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(0.0, 56366.13258458171)" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAACaCAYAAADGkR5QAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAz/klEQVR4nO3de3xcd33n/9fnzE0zI+tu+W7LThyc0ARInARKmnUhbdPCBuimxemWwm8DpFvYhO3STeDRUuDRdkNhYUPZHyRN+TX0lqVpC6FNuAQT0vBLSJzghCR2Y8eSbDm2ZN01F83lnO/+cc6MRtLMaEaa0ejyeT4efnh0NJej47H01vfy+YgxBqWUUkoptbpYjT4BpZRSSilVPQ1xSimllFKrkIY4pZRSSqlVSEOcUkoppdQqpCFOKaWUUmoV0hCnlFJKKbUK+Rt9Asutq6vL9PT0NPo0lFJKKaUW9MwzzwwbYzYW+9y6C3E9PT0cPny40aehlFJKKbUgEekv9TmdTlVKKaWUWoU0xCmllFJKrUIa4pRSSimlVqF1tyZOKaWUUmoly9gO6az7pxwNcUoppZRSDWCMIV0Q2HK3bcdU9HgNcUoppZRSdeY4bmBLeYEtlbXJ2AZjKgtsxWiIU0oppZSqoaztzBphS2UdMnb5qdHF0BCnlFJKKbVIhdOgqaxd1XToUmmIU0oppZRagDHGnQq1HVKZmeC2lOnQpdIQp5RSSilVwHZMwVSoXbfp0KXSEKeUUkqpdStjz6xbywW3rLPyAlsxGuKUUkopteYVlvMoDGxOA6dDFzKZzJT9vIY4pZRSSq0p+XIeGYeU7W42WGo5j3qams7QN5ygbyRO34j393CcsYSGOKWUUkqtUblyHoWbDVbi+jWAWCpL/0h8XmAbiaUX9Xwa4pRSSim1KhSW8ai2u8FySqSz9I8k6BsuHFlLcD6WKvu47g0hejoj7OqM0tMVpaczwts/U/r+GuKUUkoptaLM7W6wEsp5FJPM2PNH1objDE2VD2udzUF6Ot2Q1tMZZXdXlF2dEaKh6mKZhjillFJKNYztmPzo2qPHhrjviX5enUiypSXMwSt3cNWejkafItMZm1OjiXxI6xuJ0z+S4OzEdNnHdUSD+aDW0+X+vaszwoamQE3OS0OcUkoppZZFxp69M7SwnMdTJ0e569Bx/JbQ0uRnJJ7irkPHuY29yxbk0lnHC2vxWVOhZ8enKTcG2B4JuFOgnZH8NGhPZ5SWcG3CWika4pRSSilVU7lyHnMDW7lyHvc/fRq/JYQDPgDCAR/JjM39T5+ueYhLZx1OjyUKpkHdkbVXx5OUW2LX0uT3QlqU3d7IWk9nlNZIfcNaKRrilFJKKbVohevXctOiiynncXYySUvT7FjSFLA4N5lc9LllbIeBsWR+CjQ3HXqmgrC2qzM3/TkzFdoeCSAiiz6fWtMQp5RSSqmKFK5fyxXNrVU5jy0tYUbiqfxIHMB0xmFzS3jBx2Zth4Hx5OyRteEEA+PJsrtXoyFffjStJz+yFqEjGlxRYa0UDXFKKaWUmifXjqqww0E921EdvHIHdx06TjJj0xSwmM44ZB3DwSt35O9jO4YzY8l8UMuFtoGxJNkyYS0S9OXXqe0qWLPW1bwyw5qI4LeEoN8qez8NcUoppdQ6VtiOqjCwLXc7qqv2dHAbe7n/6dOcnUjQEQmxv6edl4em+O7RQfpG4pweTZCxS59XU8DKbzDY7a1d6+mMsHFDaMWFtVxQC/gsAj7B77MI+iz8PvdYJTTEKaWUUutErdav1ex8jOHsxDR9w+7Ggr6ROLFUlrFklsGpNEcHp4o+rslvsbNzZvozt9mguyWEtcLCmt+yCPgFv+WGtNztgE+WHCw1xCml1Cr06LEh7n7sJKfHEuxoj3DLtXs4sK+70aelVpBcO6rC0bVGtaNyjGFwcnpeUdxTowlS2dLnFPRb7OyIzKu1trm1aUWFNZ83oub3iRvUCm7XcwRQQ5xSSq0yjx4b4hMPvkjAJ7SFAwxNTfOJB1/k06BBbp3KdTVIZeyGtqMyxjA4lZo1stY3kqB/JM50pnRYC/jEC2uFGwzcsOaz3BD01MlRd6p1sjGFgC0RAn6LQG4K1G+569Z8FpbVmEBZ9xAnIj7gMHDGGPN2EekA/g/QA/QBv26MGfPu+zHgZsAGbjXGfMc7fgXwl0AYeAi4zRhjRCQEfA24AhgB3m2M6av316SUUo1092MnCfiESND9Fh4J+kmks9z92EkNcWucMcYdVZvT8H25p0ONMQzH0vmiuL3eCFv/SIJkxi75uIBP2NEecct3FKxZ29oWzoe1YparELCIEPDl1qnNHlkrd36NshwjcbcBR4EW7+M7gO8bY+4UkTu8j28XkUuAg8Brga3AIyJykTHGBr4MfBB4EjfEXQ88jBv4xowxF4rIQeAzwLuX4WtSSqmGOT2WoG1OJfhwwMfAWKJBZ6TqwXbMrIbvtSznUSljDKPxNL1zGrn3j8aJp0qHNZ8lbG8Pz1qztrszyrb28mGtlFoWAi61oSB3ezWpa4gTke3A24A/Bn7XO/wO4IB3+z7gUeB27/j9xpgU0CsiJ4CrRKQPaDHGPOE959eAd+KGuHcAn/Se6wHgSyIiZqV1yFVKqRra0R5haGo6PxIHbiPu7e2RBp6VWopy7aiWgzGGsURmXlHc/tEEU9PZko+zBLa3z16ztqszyvb2cMU7LCuxmELA9dxQsFLUeyTufwH/HdhQcGyTMeYsgDHmrIjkxv634Y605Qx4xzLe7bnHc4857T1XVkQmgE5guLZfhlJKrRy3XLuHTzz4Iol0Nj8ikbENt1y7p9GnphawmHZUtTaeSBc0ck/QOxynfyTO5AJhbWtbeF5R3O3tkQVrmdVCqULAW1rDNAV8y76hYKWoW4gTkbcDQ8aYZ0TkQCUPKXLMlDle7jFzz+WDuNOx7Ny5s4JTUUqplevAvm4+jbs2bmAswXbdnboiOY7Jh7WUvfzlPCYSmZmiuN7mgr7hBOPJTMnHCLmwNruR+46O5QlrxVgivOeNO/n8I8dJ2w7hgI/prDuVe9tb97K1beGODmtVPUfi3gzcICK/AjQBLSLy18CgiGzxRuG2AEPe/QeAHQWP3w686h3fXuR44WMGRMQPtAKjc0/EGHMPcA/A/v37dapVKbXqHdjXraFtBckWjq7Zy1vOY2o6M7t0h7fZYCxROqwBbGltYtecorg7OyKECka7lsvcDQWFt32W0NMVpbM5pL+4zFG3EGeM+RjwMQBvJO6jxpjfFJHPAu8F7vT+/qb3kAeBvxWRz+NubNgLPGWMsUVkSkTeCPwY+C3gzwoe817gCeBG4JCuh1NKLTet2bZ+zO1usJzlPGKpbH40rXckTr83HToST5d93KaW0LyiuDs7I7OmJpfDUjcU6C8u8zWiTtydwNdF5GbgFPBrAMaYF0Xk68BLQBb4kLczFeA/M1Ni5GHvD8BfAH/lbYIYxd3dqpRSy6ZRNds0ONZfYXeDwsBW77GCRDpLv7dWLVe2o284wflYquzjujeE6Ol0NxbkpkJ3dUZmbYBZDuthQ8FKIett4Gr//v3m8OHDjT4NpdQacdM9T87bKZpIZ+ne0MTfffCNdXnNwuBYuLHh0ze8VoPcItmOyZfyWK5yHsm0Tf9ofF4Xg6Gp8mGtszlIT2eU3QVFcXd1RoiGli+sFSt8G/AJAatxhW+X03L+EiUizxhj9hf7nHZsUEqpJWhEzTYt9rs0mSLN3ist57GYrgHTGZtTozO7QXO11s5NTpd9XGc06I6mFaxZ6+mM0ty0PD+6c9OfQa8zQcDvNWi3Vl89tVpaSR1TNMQppdQSNKJm21oo9rtcIxm1bEe1UNeAVC6sFQS1vpE45yam55dNKNAeCbhToAVFcXd1RmiZ829cL8WmP3ObCtR8K+mXKA1xSim1BI2o2bbai/3WYySjsB1V4QhbLZcM5boGhPxWfvdpIm3zPx4+xoawn1fHk5TLh63hwLxG7j2dUVoj9Q9r+elPb8pzvU1/1tJK+iVKQ5xSSi3BgX3d3Dgwzr2P9xJP20SDPt5/ze66/ka+2ov93v3YSTK2zUgsS9p2CPosWsL+ikcylqv+WsZ2GBhL5rsYHD03iWMMGXv+60xMz5TzaGnye5sLIrN2hbZHgjU9v7lKTX+u1L6fq9VK+iVKQ5xSSi3Bo8eGeODZM2zcEGKnF6geePYMl21vq1uQW+3Ffo8PTTGRyGBZgs8Sso5heCpNxp6ad9/lqL+WtR0GxpMFGwzi9A8nGBhPlp16tcSditzQ5OfgVTvY7e0KbY8E6roLMzf9GfBZ3qiaTn8up5X0S5SGOKWUWoJGrY9ZzTWz0lkHxJ3iAxABG3fd2tR0pm7112zHcGYsOdPFwAttA2NJsmVeJxL00eOV6vi3wSma/BbNIR8Z22AbuO0te6tuwr6QwunPoM/C75u5rWU6Gmsl/RKlIU4ppZbg9FgCn8DJ87H81GBXc3BVbTJYbn7LXcNm2w4ikJsF9VvC+QXKa1TCdgxnJ2ZG1tzeoAlOjyWKToXmhAM+ds1bsxZh44ZQPjjldqeem0yyucLdqaUUTn8W9vzU6c+Vb6X8ElVxiBORXcBeY8wjIhIG/MaY+WPfSim1jmwI+Tk+FMNXMDV4Znyavd3NjT61FcF2jLfRwM5vONjZ0czAWJx42iZjOwR8Fi1BP9vbo1U9t2MMZyem6fNCWm507dRYwh3tK6HJb+XXrBXuCu3eEMqPDi6kmvFBnf5U9VJRiBORD+A2kO8ALsDtX/oV4K31OzWllKq9Wpe2yC+mz/1UN3OOryNz16+lMsXrrx28cgd3HTpOV9BPU8BiOuOQdQwHr9xR5FndsDY4OT2vKO6p0QSpMmEt6LfY2RHJ7wjd3eUGt00tTRWHtULlSoy88YJOnf5Uy67SkbgPAVfh9i7FGHNcRBo/jqiUUlWoR2mLWNpmW1sTw7F0fjp1c3OIeNpe+MFL0Mi2W0vtH3rVng5uY++8ackrd7dzbnI6XxQ31ye0fzTOdKZ0WAv4xAtrs0t3bG5tqum05P2HT+fXPwqwoclHMpPlG0fOcPDqnTV7HaUqVWmISxlj0pJfhCp+qhtNVkqphqvHJoRcuYE9G2emT3Ntt+plOSvGz+0fmsraSy7nYYxh98YoN129w+0POpzgL5/o41P//BLJTOnwG/AJO9rdfqA9BV0MtraFaxrW/HOmPAM+9/ZwLEVbePbO02jQz5nxZM1eW6lqVBrifigiHwfCIvILwO8A36rfaSmlVO3Vo0hnI8oN1GtHbNZ2Zo2wLbV/qDGGkXh6Xrup/pF42ZFKvyVsbw/PG1nb1l67sObzWkdVM/25kuqDKQWVh7g7gJuBnwK3AA8B99brpJRSqh7q8UO4EeUGahFG07O6G9hLKudhjGEskckXxc2tWesbSRBLZUs+zhL332RXQVDr6YqwvS1ck96clkh+x6e/YERtsbs/V1J9MKWg8hAXBr5qjPlzABHxecd0D71SatWo1w/h5S43UE0YLdaOKpN1cBY5HTqeSNM3knCnQQtG1iany4e1rW1zR9Yi7OiILHmHZq5MR37a0+/tAPXVvkn7SqoPphRUHuK+D1wHxLyPw8B3gZ+tx0kppVQ9HNjXzRVHBnjw+XPYjsFnCTdctnnV/RAuFUY/8HO7mc7YpDJLb0c1kcjMK4rbN5JgIpkp+RghF9Zya9bcwLajI0LQv7RAtVLKdKyU+mBKQeUhrskYkwtwGGNiIqKLAJRSq8oXH3mZB58/57ZL8guOgQefP8furpe59bqLGn16FTuwr5s/dEx+RGhLq7u7s6cryqtVLrKfms7MCmluYdw4Y4nyYW1za9O8kbWdHRFCAd+ivy5t0q5UdSoNcXERudwY8yyAiFwB6HYcpdSqcu/jvfl+l+BO82Udh3sf713RIS5TMBWa23Swe2OUO//DpRU/RyyVnbXBoN+7PRJPl33c5pameY3cd3RECC8yrBWb/tQuBUotTqUh7iPA34vIq97HW4B31+WMlFKqTuJpm7mzepZQ95pu1ZgplGsvqn9oPJWd6V5QMBU6HCsf1ro3hOjpdDsY5Iri7uqIEg4uLqz5LbeNVMDnhTS/uFOiPtHit0rVSEUhzhjztIjsA16DO5J+zBhTeqxdKaVWoGjQXT9WOODjGPf4cissmFs4wlbphoNk2qZ/ND6vi8HQAr1HO5uD7J5TumNXZ4RoqPpW2oW7P3O9P3OhTac/laq/sv9rReQtxphDIvKrcz61V0QwxvxjHc9NKaVq6v3X7OauQyfIOg6WuAHOMe7xelpKwdzpjM2pUTeg9RZMhw5OLhDWokF3ZK2gKG5PZ5TmpurC2nLu/lRKVWeh/83/DjgE/PsinzOAhjil1Kpx63UX0Tsc48Hnz5GxZ3an1nI9nO2YfN21agrmpnJhraAobt9InHMT02Xb47RHArO6F+Q2G2xoCpR51Hy53Z9+S6c/lVotyoY4Y8wfiogFPGyM+foynZNSag1pZI/PYufyzKkJejoj+dIcz5ya4NFjQ4s6p8yc7gbpbPGG74XSWYfTowVToCNx+kcSvDqepNzSt7ZwwF2nVlAUt6czSmu48rDm80bU5hbA1SbtSq1OC46rG2McEfkwoCFOKVWV5ezxWYnFtqsqtn4tY5ffcJCxHQbGkrO6GPQOxxcMay1NfjeozdkR2h4JVvQ16jo1pdaPShdHfE9EPgr8HyCeO2iMGa3LWSm1hqykkajlVq8en4tVSbsqxzEza9cqKJibtR0GxpMFGwzi9A8nGBhPlg15zSF/wW7Q3DRolPZIYMFRsdw6taDfmj2yZuk6NaXWk0pD3H/CXQP3O3OOa8M4pcpYaSNRy60eDeeXYm67KmMM8XSWTS1NDE5O50fYirEdw5mx5LzSHQNjSbJlwlo06Cs6stYZDS4Y1gJFRtNyt5VSqtIQdwlugLsGN8z9K/CVep2UUmtFPUaiyo3srbRRv3o0nF+sdNbht960iz/6l6Nk7TRBv4/pjE3WMdx4+XbiXqN22zGcnUjSmxtZG3bXrJ0eS5CxS4e1cMDHroKNBbu9zQZdzeXDmm4oUEotVqUh7j5gEvii9/FN3rFfr8dJKbVW1HokqtzIHlD1qF+9Q1+9Gs6XM7fhe2H9tdds3sB/+fkLuf/p05ydSNARDXFlTwcnzsf43tFB+kbinBotH9aa/FZ+ZG1Xwcjapg2hkqHL501zBnRDgVKqhioNca8xxryu4OMfiMhz9TghpdaSWo9ElRvZA6oa9VuOqd4D+7r5tHfeA2MJti8yKJYKm7ZjCnaH2kXLeTjGMDg5PasobjydZTyZZXAqzdFzU0VfM+i32NkRoadzZlStpyvCppYmrCLBq3BDQS6k5aZDtZ2UUqoeKg1xPxGRNxpjngQQkauBH9XvtJRaG2o9ElVuZM9AVaN+y7Xp4PmBcV58dYJ42mYimeH5gfGqnj8XNv0WbAj5OTuR5OPf+Ckfeete9vd05O9njGFwKpXvD9rvrVvrH40znSld9iPgEy+sze5isLm1aV74KtxQ4Ldm+n7qhgKlVCNUGuKuBn5LRE55H+8EjorITwFjjLls7gNEZAfwNWAz4AD3GGPuEpEO3F2uPUAf8OvGmDHvMR8DbgZs4FZjzHe841cAfwmEgYeA24wxRkRC3mtcAYwA7zbG9FVzAZSqp1qNROUsNLJXzajfcmw6+OIjL3PXoRNe03n3fO46dAKgZIHdwnIe6azDFw8dBwx+y4ftGAKWkMoavvLDk/zi8MwGg/6RBMlM6R6oAZ+woz3irlsrKI67tS08L6zl1qnlRtIKR9WUUmqlqDTEXb+I584C/80Y86yIbACeEZHvAe8Dvm+MuVNE7gDuAG4XkUuAg8Brga3AIyJykTHGBr4MfBB4EjfEXQ88jBv4xowxF4rIQeAzwLsXca5K1c2Bfd01G9laaGSvmlG/5dh0cO/jvV6Ac8OPJZB1HO59vJdbr7uobDsqYwwj8TQnh+P4LWE8kck3h3c3g6b4yg9PzntNnyXsaA/PG1nb1j47rM0tfFt4W9epKaVWg4pCnDGmv9onNsacBc56t6dE5CiwDXgHcMC7233Ao8Dt3vH7jTEpoFdETgBXiUgf0GKMeQJARL4GvBM3xL0D+KT3XA8AXxIRMZU0JFRqFVpoZK+aUb/l2HQQT9v4vcGr3H9LwRBLZTk9miBjOxhjGEtkZhXFzU2Jxrwdo6Xs6oiwqyCo9XRF2N4Wzk9tigjP9I3yZ4dO8OpEku3tYT5wzR7eeskmXaemlFr1quuEvEgi0gO8AfgxsMkLeBhjzopI7ifMNtyRtpwB71jGuz33eO4xp73nyorIBNAJDNfnK1GqOtXs/qx2p2ix31SqGfWr9VRvodyIWThgMZ2xwXLP1hhD1gG/Jfzpd465a9ZG4kxOlw5rAliWEPQJ4YAPETecfeSte/nZC7uAOdOfBbd/dHyYLx46QcAndEaDjMbT/NFDRwn6rXVRp08ptbbVPcSJSDPwD8BHjDGTZaYpin3ClDle7jFzz+GDuNOx7Ny5c6FTVqompTcePTbE7z3wHFPTWbKOw/BUit974Dk+e+PrOLCve9ZrbAj5OR9L0RoOlN0pWusdpUud6i1VzmMsnqZvJM7PbG3lyd7Ref1E07bhW8+dnXVMgK1t4XzJjlwz9x0dEY6cGuf+w6cZnEyytTXC//OzPRy4uNtdq2aVbid192MnSWdtRmJZ0rZD0GexocnfsI4RSilVS3UNcSISwA1wf2OM+Ufv8KCIbPFG4bYAQ97xAWBHwcO3A696x7cXOV74mAER8QOtwLxWYMaYe4B7APbv369TraqshcJXpT7z7WOMJTL5GmHGwFgiw2e+fQyAjz7wHLFUFtsxvOoYMBAN+pGgFN0p+uixIW69/yfE01ma/D42bgixoSlQkx2llYTWWeU8vHZUI7E0vcOxWVOg/SNxxhKZsq+3pbVpzpq1CDs7IjQF/UV3f17Y3czBq6v/BezlwUkmp7NYCD4Rsra7zi5rT1b9XEoptdLULcSJO+T2F8BRY8znCz71IPBe4E7v728WHP9bEfk87saGvcBTxhhbRKZE5I2407G/BfzZnOd6ArgROKTr4dRSlQtf1QSlk8NxLCFfU0wEjBhODse58+GjjCcy+MQNFxnvbds/6u4MtQS6okHSWXcEKzcCl0jb+C0h6xheHZ9ma5vbg3PujtJqp3Hnju79wTdf4OOZi7l6TyfprMNoPM2JoSk3rI3E6fcC20g8XfYabG5pmtduamdHhOZQoOj0Z613f+aK9uZG6kTwNlPotwml1OpXz5G4NwPvAX4qIke8Yx/HDW9fF5GbgVPArwEYY14Uka8DL+HubP2QtzMV4D8zU2LkYe8PuCHxr7xNEKO4u1vVGlfvLgPlwlet9I4k3NfIhQtmrxEwBoZiaXa0h4GZmm4hv0Uq6+AYd4fmqdEEm1pC9HQ255+7milX2zH8v4++wmQyzUQymz+HsN/iE998kV2dEfpG4gzHyoe17g2hWVOgueDWEg7kd34G/NaC05+1FvRbxFNZpm07vzbDEve4UkqtdnULccaYxym+Zg3grSUe88fAHxc5fhj4mSLHp/FCoFofajXVWcoXH3mZlDf6he2Oei12dGh3Z4TjQzEycwLE3u4ovSOzR85MidvDsRTg1nTzCaQyNtmCOzgGBidT3HTlzFRjqSK+X/7hK+zf3UE66zCeSPPy4BSvnI/z7KmxeQ3ck1mHZCzFee/1c7qag/NKd1zY3UxbJOgGNL83suZbWvHbWgX1jc0hxuJpEJCCFbYbm0OLPjellFoplmV3qlK1UqupzmJyhWkLZR2DMTYiwoVd1dVP+5VLt/CFR47POuYY9/jDL5zj+FAMMYa5e30Ed/TPEvLTfs1BHyfOxyk2C2gMPPzCuXzx3FOjcVrDAWzHkPVqsE1nspybmObmv3yavpE4g5Op+U9UxK9evo2ezigXbHTDWkc05LWVknwR3NxmpVoFr0ePDc1aLzgcS/HRB57jc4sI6sYYRISgiDuiasD2atAppdRqpyFujav31ONyq+dU572P91KscIdtoCVocccvX1zV8z1xcpRNLSGmpmfvjHzi5Ci3X79vZkTRLt4SyhiIhnwA+aBULHoY4OVzU/zry+f5t8EpMrZ7PWzbkJkzwvbj3tn7ftojgbKbEP7kXZdW1Puzlrtm73z4KKOxNMb72rK2IZ1Jc+fDR6t+rljaZltbE8OxdP7fYHNziHi6dGcHpZRaLTTErWHL0eB8LYmlsjg1HKA5PZagqznExg1N+WPGGAbGEhzY181nb3xdvkZbMmPn150Z3AAH8NZ9GwGYSmXZ2hri1Nh00deygfd89amS52IJ9HRGuXR7KxdsbGZvdzN7NzWzcUMTr/vUd4s+RgSaAr6KfhGoZR/WE+djFMbaXJg7cT5W1fPATFeKPRtn1gwm0lm6C/5NlFJqtdIQt4YtV4Pz5bS7M8KJ83HEMfnpMcdQ9VRnMZJ7wiISGafqKduF2loV1mi76Z4nsZ0JJpIzQbI5ZHHk9CR/+OCLTE1niS/QvQCgpcnPrs4o0aCPgfEkyXSW7e0RfvvfXcBbLu4u2lJqe2uIgYn506vbWkIVT23Wsg9rbsq48DTdadCqn4pbrt3D7z3wHGfGkmQdB7/ljob+wdsuqf7JlFJqhdEQtwLVagp0ORqcL6TW07l3/PLF+VAx02Nz5rWW8tzhgBBLFU8KllD1lG0lba2S6SzHh2IcOzeJJW7gTmdt0rYhlnKIpeL0/v8Lv+7W1ib++v1Xs6W1yesBWvmmgj9612X89l8fZrpgx0STX/ijd102rxSKcWA8kZk3tVnLPqz+XMmV3EYEM3N8MQzu84gISPEpaaWUWo10n/0Kk5sCHZqanjUF+uixoYUfPMeO9gjJzOy1P7VucF5OLb+WnAP7uvncja9jd2cUcEtF7OwIk3HMkp/70m3ttIXn/16z2GoYB/Z1c+Pl2zg/leLFVyc5O57kki3NPHFyhJvve5qf/9wPuPST3+WGL/2IsUSGkXiGWCo7q4aZJfDarS38+9dt4Z2v38rW1tnTgJZAS8jHn7zrUvZsbCYc9C9qV2go4MtvJRfvY5hdCkVEsCzBEubtrr3l2j1kbEMincUY9+/F9mG9sLsZn3cyuYDuE/d4te5+7CS24xYozthusWLbcbj7sZNVP5dSSq00GuJWmMIpUPFGZgI+WdQPnVr+YF2MWn4thQ7s66YtEqSnM8Le7g2AcG5imlfHk9x6/08WHeRuuXYPLeEggTn/KywRHONO5S7EdgwvD07xzSNn+PDfPMuXf/hKPkgnMg7fftEdmfz+0SF6hxP50h7+gnpxPm9nqgD/5ecv4F9u/Tn+7KbL+V8H38CfvOtSWkK+RQfLYj7z7WPEUzZBv0VTwPJqq9n5zhJp25DM2Pk/xQrlHtjXzadveC3dG5qYSGbo3tDEp2947aJGRm+/fh8d0SAhv4XfgpDfoiMa5Pbr91X9XC+cGWcsMTNF7RgYS2R54cx41c+llFIrjU6nrjC1nAKtZ4PzStRzOjdXN+3lwSlSWccNPxbE09lFb944sK+bGwfG+fIPXyFT0OvTMYbmoG/W7lTbMfSPxDl6dpJj56Y4PhjjlfMx+kcT+S4LxQgQDvr4+X3d7O1u5jWbNrBvcwt3/MNznBpLMJmc2cnaEvbzVN/4rMd/5tvHSGQcAj4rvyZwMev1CpXb8Rv0CcWW4gV981PkUvuwFj5P4aaPpbxvExn332Lu+rrccaWUWs00xK0wO9oj9I3E5v0wL6zIX41a/WBdjFqukyr06LEhRmIpkgU/iA2QdSDkk/xo32Ia1v/Vk/3zSn44BjK2wzeOnOHvnxngxFCMvpH4TFHgIkJ+C9sxRII+mgI+mvwWTQEfAZ8wOZ3lf//G5bPuf2Zims5oiK7m+TtZCy1HN4lCpUpx1LtER63et/l6cKbEcaWUWsU0xK0wb9rTwVN9o94PakjbDkNTaW66sqPRp1a1Shb2VyvXsSFZYiTFYXGjfYeODvI7f/Ms0yWCWTJr+MaRV+cdD/oseroiXLCxmYs2NfOaTS1cvGUDOzuj/Oa9P54XYhPebtG5ah14v/jIy9z7eC/xtE006OP91+zOFwOeq9yO32ODxct61LIUSz01h/zEU9l82RYRdw1JNKTf+pRSq59+J1thnjg5SkuTj4lkloxxg1xr2C0Qe2ujT65K9ZjOzXVsKCVju2UwdncVH7k0xnB2Yjo/Dfry4BQ/OTXO6dFExbsW37i7g/e8qYeLt2xgV2e0ZCHcakJspfetpMRKrvOEJeC33DCY60RRLMgV7vi1HYPPEtpCAe745Yu5+WuHsR0zbzpyoeK/K8X7r9nNXYdO5NcZOt71ev81uxt9akoptWQa4laY40NTxKbtWWueYtM2x4emGn1qi1Lr6dyTw/EFp8LcXqI7GJyc5tjZSV4664a1E0MxTg7HiKeWNhX4TP8Y99/ypgXvV02IrfS+5QJXzr2P93oBzt2hYQlkHYd7H+8tGuJyO36LvfYNl23mn46cnVc+74bLNi98oVaA3Ndb6aikUkqtJrLe1obs37/fHD58uNGnUdJln/wOyYyd/wEM7g/gcMDH85/8pQae2eLk6sQdH5oinXUI+ISLNrUsekTuwo8/NK9ZezEF5cWK8lnCzo4IF3Y388Qrw7SFAwxOTlPpeve+O99W2R0L1LK3aLmwd8HHHwJjZhXH9XkNWV/5k1+p+vX+6/3P8uDz5/Kh8YbLNvOFg5cv/ECllFJLJiLPGGP2F/ucjsStMAGfkMyAUzBdBsV3A650uTpxGdtmNJbOt1J64uQIL52d4K53v6GqEDMcS1W8ID13L0tge3uEvZvcnaCv2ezuBt3dFSXod4PyTfc86dayiwQ577W+qrXcWr6p6SxZx2F4KsXvPfAcn11EU/eFRjf9lpDKzr5OtnE3fSzGFw5ezhcOLuqhSiml6khD3Apz0aYWeodjc5qmB0qu8WqkhUaWcnXizk6kmTvANZHM8gfffIF/3feWec87Gk9z9OwEx87FePncFMeHpjh5Ps54svRauGIeuvXn2LMxSpNXuLaU3Hq0qVQWC+aday3k1vL5LMHvszAGxhKZJZUGKcVxSmz6KHFcKaXU6qQhboXJBYrNrf6a7eish9woW8Ans7oxFNZnOz2WYCqZIVOi6eXpsSQ/OnHeDWu5NWvnY2U3LlTjkq0tFd0vtx7tA187jIM7FRvwSdGitou1nKVBnBKTyQ6rbzRXKaVUaRriVphGF+gtp3DkbTKZ8abtnFn17Arrs01nbCamyzdt/4/3PlXyc1tam7iwu9ktiru5hUu2tHDDlx6vS+/LA/u6CQd9ULge0a5vLbR6CfktEmnbjWxenjPecaWUUmuHhrgVqJEFekspHHnzCUzOCWcZ2yaetomnsvx/P+rl+GCM4QrXl21qCXHBxmb2bmpGDBzuH2M0kWZXR5Sb37x71rWwBGo4QDbL3PWItVRJaZBa6Qj7SaRtN+ya2ceVUkqtHfpdXVXk7sdOMjiZnLdgfq7JaZtPfeulip/3hU/9Es1e4dXCoNgRCRadoq0mwD16bKiqMDx3PWItVVIapGYsi43NAUbiGRyv1mBnNIBYOhKnlFJriX5XV/MYY0hlbYampnn8+Hm++ngvPz45smCAy+mMBrmyp72i+zYXVM7PbYSIBP2IuH/nWmgtxicefJFHjw1VfP9brt1D0O9jc2sTr9m0YVGvWUquFtsbdrSzuaWJN+xo53OL2JlaiR3tEVrCQV67tZVLt7Xy2q2ttISDS253ppRSamXRkbg1qpKaZFnbIWMbplIZdxfoYIwT571G7iMJzk1ML2r92TN/8AsA9NzxL1U97vRYgrZwYNaxxbTQyqm2h+rc9Yh+S4rWpOuKBuY/uMLnX45p8nq0O1NKKbXyaIiroVoVc63FeeSmJVub/JybTPL733yB/xa/iI0tIV4einFyKMbJ4Th9I3HOjpcPa23hQNXlPSoxd519Jf1DfUAl2w1aQ75FBcDCoHXTPU8WKffiX5HlXgqt5M0xSimlakdDXI1UUnKjnjK24/0xfPHQcTJZm4wtjMXTpG2H6YzDf/3758o+R0uTn12dUXZ3RfPFcfdtaWFzSxMX/f7DNT/nW9+yd9bHlYwg3XbdXj7/yPGyz9sa8rGzq7lks/lKrZZyL8WsxM0xSimlaktDXI0UrucCiAT9JNLZqqbzFmKMIe0FtUzWIZHO8sr5OCeGYvR5o2p9IwlOjZYffWoO+enpjNDTFc3vCr14cwtbWpsIBXw1a27uK7OT9Hev2zuvf2UlI0ilemFetr0tH6LDAR+JdHbJgUtHtJRSSq1kGuJqpJbruXJr1dLe6Np0xubk+TivnM+FtQR9I3EGxpLYZfqIWgJBn0XQb2FZQlc0yJd+43K2trlhLeizkAprafgtyFawYTNYEAD9PguTdWZ1QLCAgN8q2YC8khGkW6+7qOjj6xG4dERLKaXUSqUhrkYqWc9VaO6oWsZ2mM469A/H82vV+obj9I8kOD2WKNn1ACAS9LGrM0JPZ5SezgiZrOGff3qWkF+IBv1MZ22yDvz+2y5h35bKuhjMdetbFp7GBPjwWy7M397TFeX4UIyAJfnaaLZj2NMVXdQ5LEQDl1JKqfVEQ1yNlFrPdfM1Pfmpvdy6tVTG4fRowpv+jNM37N4+NVo+rDUFLHZ5Qa2nM8qerigXbtrAzo5wfmQt5HdH167Z21XTUancyNdXfniSRMbGEgj5IGW7RWsjQR+/fe2eWSNkt1+/b6bpu+3gtyzaIwFuv37fos9DKaWUUi4xpk7l71eo/fv3m8OHD9f0OXPTnz84NshXf9THmfEkm1ua+LX929nVGaF3eCao5daspcvMTYb8Fjs73DVrucB2YXczOzoiNAV8BP1Wfpq0EXK7cCsJiNXcVymllFKzicgzxpj9RT+nIa4yjuNOf2admenPtO2QtQ1Zx2FoMpWfAs2tWTs1kmC6TFgL+i12tkfo6XKD2q7OCLs3NrO9LUwk5CPk8wKb36rZZgOllFJKrR7lQpxOpxYwxpDxQlkmmwtt7u2s42CM4fxUKh/Ser3A1j8SZzpTOqwFfMKOjpk1az2dUXq6ImxrixAOzgS1wulQpZRSSqlyVn2IE5Hrgbtw68Dea4y5c6HHZL0RtbTteKNq7nq1rGMwxv0zHEvnpz/7vY0G/SMJ4unSpWb9Vi6seSNr3gjbtrYwIX9BWPO7YS3g065nSimllFqcVR3iRMQH/G/gF4AB4GkRedAYU7IDezrr5OuoGWMYS2ToG47TO1K4bi1OPFU6rPksYXtbmF1dEXZ3RvNr17a1hQn4ffgtIRSwdDpUKaWUUnWzqkMccBVwwhhzEkBE7gfeAZQMcWOJNF/43sv5kbXJ6WzJJ7cEtrWFZ20w6OmKsr09TMBnYYnMGl3T6VCllFJKLZfVHuK2AacLPh4Ari73gKGpFN96/uysY5bA1rZwQa01d83ajvZIfgeo37LmBbZG7Q5VSimllFrtIa7YkNe87bYi8kHgg96Hsf7PvP3fCj7dBQz3Aj+q/fmphXUBw40+iXVMr39j6fVvHL32jaXXv3K7Sn1itYe4AWBHwcfbgVfn3skYcw9wT7EnEJHDpbbuqvrT699Yev0bS69/4+i1byy9/rWx2ucDnwb2ishuEQkCB4EHG3xOSimllFJ1t6pH4owxWRH5MPAd3BIjXzXGvNjg01JKKaWUqrtVHeIAjDEPAQ8t4SmKTrOqZaPXv7H0+jeWXv/G0WvfWHr9a2Ddtd1SSimllFoLVvuaOKWUUkqpdWndhTgR6RORn4rIERE57B3rEJHvichx7+/2Rp/nWiEiXxWRIRF5oeBYyestIh8TkRMi8m8i8kuNOeu1ocS1/6SInPHe/0dE5FcKPqfXvoZEZIeI/EBEjorIiyJym3dc3/91Vuba6/t/GYhIk4g8JSLPedf/U95xfe/X2LqbThWRPmC/MWa44NifAqPGmDtF5A6g3Rhze6POcS0RkWuBGPA1Y8zPeMeKXm8RuQT4O9xOHFuBR4CLjDGle6Cpkkpc+08CMWPM5+bcV699jYnIFmCLMeZZEdkAPAO8E3gf+v6vqzLX/tfR93/didu2KGqMiYlIAHgcuA34VfS9X1PrbiSuhHcA93m378P9z65qwBjzGDA653Cp6/0O4H5jTMoY0wucwP1PrRahxLUvRa99jRljzhpjnvVuTwFHcbvM6Pu/zspc+1L02teQccW8DwPeH4O+92tuPYY4A3xXRJ7xOjkAbDLGnAX3Pz/Q3bCzWx9KXe9ibdTKfeNVi/NhEXnem27NTWfota8jEekB3gD8GH3/L6s51x70/b8sRMQnIkeAIeB7xhh979fBegxxbzbGXA78MvAhb8pJrQwVtVFTS/Jl4ALg9cBZ4H96x/Xa14mINAP/AHzEGDNZ7q5Fjum/wRIUufb6/l8mxhjbGPN63E5KV4nIz5S5u17/RVp3Ic4Y86r39xDwT7hDtoPeGorcWoqhxp3hulDqelfURk0tnjFm0Pvm6gB/zsyUhV77OvDWA/0D8DfGmH/0Duv7fxkUu/b6/l9+xphx4FHgevS9X3PrKsSJSNRb5IqIRIFfBF7AbdX1Xu9u7wW+2ZgzXDdKXe8HgYMiEhKR3cBe4KkGnN+alfsG6nkX7vsf9NrXnLe4+y+Ao8aYzxd8St//dVbq2uv7f3mIyEYRafNuh4HrgGPoe7/mVn3HhiptAv7J/f+NH/hbY8y3ReRp4OsicjNwCvi1Bp7jmiIifwccALpEZAD4Q+BOilxvY8yLIvJ14CUgC3xIdyctXolrf0BEXo87VdEH3AJ67evkzcB7gJ96a4MAPo6+/5dDqWt/k77/l8UW4D4R8eEOFn3dGPPPIvIE+t6vqXVXYkQppZRSai1YV9OpSimllFJrhYY4pZRSSqlVSEOcUkoppdQqpCFOKaWUUmoV0hCnlFJKKbUKaYhTSqkyRGSriDxQ59d4KFdXSymlKqUlRpRSSimlViEdiVNKrVki8psi8pSIHBGRu72m3DER+WMReU5EnhSRTd59L/A+flpEPi0iMe94j4i84N1+n4j8o4h8W0SOi8ifFrzWL4rIEyLyrIj8vde3c+75bBGRx7zzeUFEfs473iciXSLy297njohIr4j8oNLnVkqtPxrilFJrkohcDLwbeLPXiNsG/iMQBZ40xrwOeAz4gPeQu4C7jDFXUr5v4+u9570UeLeI7BCRLuD3geuMMZcDh4HfLfLY3wC+453P64AjhZ80xnzF+9yVuP0kP1/Fcyul1pn11nZLKbV+vBW4Anjaa7UXxm24nQb+2bvPM8AveLffBLzTu/23wOdKPO/3jTETACLyErALaAMuAX7kvVYQeKLIY58Gvuo1Z/+GMeZIide4CzhkjPmWiLy9wudWSq0zGuKUUmuVAPcZYz4266DIR83MYmCb6r8Ppgpu5x4vwPeMMTfNea2rgbu9Dz9hjHlQRK4F3gb8lYh81hjztTmPeR9uMPxwwdcx77mVUkqnU5VSa9X3gRtFpBtARDpEZFeZ+z8J/Afv9sEqX+tJ4M0icqH3WhERucgY82NjzOu9Pw96rz9kjPlz4C+AywufRESuAD4K/KYxxin33FWen1JqDdIQp5Rak4wxL+GuJfuuiDwPfA/YUuYhHwF+V0Se8u43UcVrnQfeB/yd91pPAvuK3PUAcEREfoIbGO+a8/kPAx3AD7zNDfdW8dxKqXVGS4wopRTuCBeQNMYYETkI3GSMeUejz0sppUrRNXFKKeW6AviSuLsHxoH/1NjTUUqp8nQkTimllFJqFdI1cUoppZRSq5CGOKWUUkqpVUhDnFJKKaXUKqQhTimllFJqFdIQp5RSSim1CmmIU0oppZRahf4vYPVgj15Fq/QAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<Figure size 720x144 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Engine size as potential predictor variable of price\n", | |
"plt.figure(figsize = (10, 2)) # arbitrarily added this line to visualize the graph better \n", | |
"sns.regplot(x=\"engine-size\", y=\"price\", data=df)\n", | |
"plt.ylim(0,)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>As the engine-size goes up, the price goes up: this indicates a positive direct correlation between these two variables. Engine size seems like a pretty good predictor of price since the regression line is almost a perfect diagonal line.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" We can examine the correlation between 'engine-size' and 'price' and see it's approximately 0.87\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"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>engine-size</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>engine-size</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.872335</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>price</th>\n", | |
" <td>0.872335</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" engine-size price\n", | |
"engine-size 1.000000 0.872335\n", | |
"price 0.872335 1.000000" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[[\"engine-size\", \"price\"]].corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Highway mpg is a potential predictor variable of price \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<AxesSubplot:xlabel='highway-mpg', ylabel='price'>" | |
] | |
}, | |
"execution_count": 10, | |
"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": [ | |
"sns.regplot(x=\"highway-mpg\", y=\"price\", data=df)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>As the highway-mpg goes up, the price goes down: this indicates an inverse/negative relationship between these two variables. Highway mpg could potentially be a predictor of price.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can examine the correlation between 'highway-mpg' and 'price' and see it's approximately -0.704\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"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>highway-mpg</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>highway-mpg</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.704692</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>price</th>\n", | |
" <td>-0.704692</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" highway-mpg price\n", | |
"highway-mpg 1.000000 -0.704692\n", | |
"price -0.704692 1.000000" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[['highway-mpg', 'price']].corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Weak Linear Relationship</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's see if \"Peak-rpm\" as a predictor variable of \"price\".\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<AxesSubplot:xlabel='peak-rpm', ylabel='price'>" | |
] | |
}, | |
"execution_count": 12, | |
"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": [ | |
"sns.regplot(x=\"peak-rpm\", y=\"price\", data=df)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Peak rpm does not seem like a good predictor of the price at all since the regression line is close to horizontal. Also, the data points are very scattered and far from the fitted line, showing lots of variability. Therefore it's it is not a reliable variable.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can examine the correlation between 'peak-rpm' and 'price' and see it's approximately -0.101616 \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": {}, | |
"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>peak-rpm</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>peak-rpm</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.101616</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>price</th>\n", | |
" <td>-0.101616</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" peak-rpm price\n", | |
"peak-rpm 1.000000 -0.101616\n", | |
"price -0.101616 1.000000" | |
] | |
}, | |
"execution_count": 13, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df[['peak-rpm','price']].corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" <div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1> Question 3 a): </h1>\n", | |
"\n", | |
"<p>Find the correlation between x=\"stroke\", y=\"price\".</p>\n", | |
"<p>Hint: if you would like to select those columns use the following syntax: df[[\"stroke\",\"price\"]] </p>\n", | |
"</div>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": {}, | |
"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>stroke</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>stroke</th>\n", | |
" <td>1.00000</td>\n", | |
" <td>0.08231</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>price</th>\n", | |
" <td>0.08231</td>\n", | |
" <td>1.00000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" stroke price\n", | |
"stroke 1.00000 0.08231\n", | |
"price 0.08231 1.00000" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute\n", | |
"\n", | |
"df[['stroke', 'price']].corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"#The correlation is 0.0823, the non-diagonal elements of the table.\n", | |
"#code:\n", | |
"df[[\"stroke\",\"price\"]].corr() \n", | |
"\n", | |
"-->\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question 3 b):</h1>\n", | |
"\n", | |
"<p>Given the correlation results between \"price\" and \"stroke\" do you expect a linear relationship?</p> \n", | |
"<p>Verify your results using the function \"regplot()\".</p>\n", | |
"</div>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<AxesSubplot:xlabel='stroke', ylabel='price'>" | |
] | |
}, | |
"execution_count": 15, | |
"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": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"sns.regplot(x=\"stroke\", y=\"price\", data=df)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"#There is a weak correlation between the variable 'stroke' and 'price.' as such regression will not work well. We can see this use \"regplot\" to demonstrate this.\n", | |
"\n", | |
"#Code: \n", | |
"sns.regplot(x=\"stroke\", y=\"price\", data=df)\n", | |
"\n", | |
"-->\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Categorical variables</h3>\n", | |
"\n", | |
"<p>These are variables that describe a 'characteristic' of a data unit, and are selected from a small group of categories. The categorical variables can have the type \"object\" or \"int64\". A good way to visualize categorical variables is by using boxplots.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's look at the relationship between \"body-style\" and \"price\".\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<AxesSubplot:xlabel='body-style', ylabel='price'>" | |
] | |
}, | |
"execution_count": 16, | |
"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": [ | |
"sns.boxplot(x=\"body-style\", y=\"price\", data=df)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>We see that the distributions of price between the different body-style categories have a significant overlap, and so body-style would not be a good predictor of price. Let's examine engine \"engine-location\" and \"price\":</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<AxesSubplot:xlabel='engine-location', ylabel='price'>" | |
] | |
}, | |
"execution_count": 17, | |
"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": [ | |
"sns.boxplot(x=\"engine-location\", y=\"price\", data=df)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Here we see that the distribution of price between these two engine-location categories, front and rear, are distinct enough to take engine-location as a potential good predictor of price.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's examine \"drive-wheels\" and \"price\".\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<AxesSubplot:xlabel='drive-wheels', ylabel='price'>" | |
] | |
}, | |
"execution_count": 18, | |
"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": [ | |
"# drive-wheels\n", | |
"sns.boxplot(x=\"drive-wheels\", y=\"price\", data=df)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Here we see that the distribution of price between the different drive-wheels categories differs; as such drive-wheels could potentially be a predictor of price.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2 id=\"discriptive_statistics\">3. Descriptive Statistical Analysis</h2>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Let's first take a look at the variables by utilizing a description method.</p>\n", | |
"\n", | |
"<p>The <b>describe</b> function automatically computes basic statistics for all continuous variables. Any NaN values are automatically skipped in these statistics.</p>\n", | |
"\n", | |
"This will show:\n", | |
"\n", | |
"<ul>\n", | |
" <li>the count of that variable</li>\n", | |
" <li>the mean</li>\n", | |
" <li>the standard deviation (std)</li> \n", | |
" <li>the minimum value</li>\n", | |
" <li>the IQR (Interquartile Range: 25%, 50% and 75%)</li>\n", | |
" <li>the maximum value</li>\n", | |
"<ul>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" We can apply the method \"describe\" as follows:\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"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>symboling</th>\n", | |
" <th>normalized-losses</th>\n", | |
" <th>wheel-base</th>\n", | |
" <th>length</th>\n", | |
" <th>width</th>\n", | |
" <th>height</th>\n", | |
" <th>curb-weight</th>\n", | |
" <th>engine-size</th>\n", | |
" <th>bore</th>\n", | |
" <th>stroke</th>\n", | |
" <th>compression-ratio</th>\n", | |
" <th>horsepower</th>\n", | |
" <th>peak-rpm</th>\n", | |
" <th>city-mpg</th>\n", | |
" <th>highway-mpg</th>\n", | |
" <th>price</th>\n", | |
" <th>city-L/100km</th>\n", | |
" <th>diesel</th>\n", | |
" <th>gas</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.00000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>197.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" <td>201.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>mean</th>\n", | |
" <td>0.840796</td>\n", | |
" <td>122.00000</td>\n", | |
" <td>98.797015</td>\n", | |
" <td>0.837102</td>\n", | |
" <td>0.915126</td>\n", | |
" <td>53.766667</td>\n", | |
" <td>2555.666667</td>\n", | |
" <td>126.875622</td>\n", | |
" <td>3.330692</td>\n", | |
" <td>3.256904</td>\n", | |
" <td>10.164279</td>\n", | |
" <td>103.405534</td>\n", | |
" <td>5117.665368</td>\n", | |
" <td>25.179104</td>\n", | |
" <td>30.686567</td>\n", | |
" <td>13207.129353</td>\n", | |
" <td>9.944145</td>\n", | |
" <td>0.099502</td>\n", | |
" <td>0.900498</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>std</th>\n", | |
" <td>1.254802</td>\n", | |
" <td>31.99625</td>\n", | |
" <td>6.066366</td>\n", | |
" <td>0.059213</td>\n", | |
" <td>0.029187</td>\n", | |
" <td>2.447822</td>\n", | |
" <td>517.296727</td>\n", | |
" <td>41.546834</td>\n", | |
" <td>0.268072</td>\n", | |
" <td>0.319256</td>\n", | |
" <td>4.004965</td>\n", | |
" <td>37.365700</td>\n", | |
" <td>478.113805</td>\n", | |
" <td>6.423220</td>\n", | |
" <td>6.815150</td>\n", | |
" <td>7947.066342</td>\n", | |
" <td>2.534599</td>\n", | |
" <td>0.300083</td>\n", | |
" <td>0.300083</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>min</th>\n", | |
" <td>-2.000000</td>\n", | |
" <td>65.00000</td>\n", | |
" <td>86.600000</td>\n", | |
" <td>0.678039</td>\n", | |
" <td>0.837500</td>\n", | |
" <td>47.800000</td>\n", | |
" <td>1488.000000</td>\n", | |
" <td>61.000000</td>\n", | |
" <td>2.540000</td>\n", | |
" <td>2.070000</td>\n", | |
" <td>7.000000</td>\n", | |
" <td>48.000000</td>\n", | |
" <td>4150.000000</td>\n", | |
" <td>13.000000</td>\n", | |
" <td>16.000000</td>\n", | |
" <td>5118.000000</td>\n", | |
" <td>4.795918</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25%</th>\n", | |
" <td>0.000000</td>\n", | |
" <td>101.00000</td>\n", | |
" <td>94.500000</td>\n", | |
" <td>0.801538</td>\n", | |
" <td>0.890278</td>\n", | |
" <td>52.000000</td>\n", | |
" <td>2169.000000</td>\n", | |
" <td>98.000000</td>\n", | |
" <td>3.150000</td>\n", | |
" <td>3.110000</td>\n", | |
" <td>8.600000</td>\n", | |
" <td>70.000000</td>\n", | |
" <td>4800.000000</td>\n", | |
" <td>19.000000</td>\n", | |
" <td>25.000000</td>\n", | |
" <td>7775.000000</td>\n", | |
" <td>7.833333</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50%</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>122.00000</td>\n", | |
" <td>97.000000</td>\n", | |
" <td>0.832292</td>\n", | |
" <td>0.909722</td>\n", | |
" <td>54.100000</td>\n", | |
" <td>2414.000000</td>\n", | |
" <td>120.000000</td>\n", | |
" <td>3.310000</td>\n", | |
" <td>3.290000</td>\n", | |
" <td>9.000000</td>\n", | |
" <td>95.000000</td>\n", | |
" <td>5125.369458</td>\n", | |
" <td>24.000000</td>\n", | |
" <td>30.000000</td>\n", | |
" <td>10295.000000</td>\n", | |
" <td>9.791667</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75%</th>\n", | |
" <td>2.000000</td>\n", | |
" <td>137.00000</td>\n", | |
" <td>102.400000</td>\n", | |
" <td>0.881788</td>\n", | |
" <td>0.925000</td>\n", | |
" <td>55.500000</td>\n", | |
" <td>2926.000000</td>\n", | |
" <td>141.000000</td>\n", | |
" <td>3.580000</td>\n", | |
" <td>3.410000</td>\n", | |
" <td>9.400000</td>\n", | |
" <td>116.000000</td>\n", | |
" <td>5500.000000</td>\n", | |
" <td>30.000000</td>\n", | |
" <td>34.000000</td>\n", | |
" <td>16500.000000</td>\n", | |
" <td>12.368421</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>max</th>\n", | |
" <td>3.000000</td>\n", | |
" <td>256.00000</td>\n", | |
" <td>120.900000</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>59.800000</td>\n", | |
" <td>4066.000000</td>\n", | |
" <td>326.000000</td>\n", | |
" <td>3.940000</td>\n", | |
" <td>4.170000</td>\n", | |
" <td>23.000000</td>\n", | |
" <td>262.000000</td>\n", | |
" <td>6600.000000</td>\n", | |
" <td>49.000000</td>\n", | |
" <td>54.000000</td>\n", | |
" <td>45400.000000</td>\n", | |
" <td>18.076923</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" symboling normalized-losses wheel-base length width \\\n", | |
"count 201.000000 201.00000 201.000000 201.000000 201.000000 \n", | |
"mean 0.840796 122.00000 98.797015 0.837102 0.915126 \n", | |
"std 1.254802 31.99625 6.066366 0.059213 0.029187 \n", | |
"min -2.000000 65.00000 86.600000 0.678039 0.837500 \n", | |
"25% 0.000000 101.00000 94.500000 0.801538 0.890278 \n", | |
"50% 1.000000 122.00000 97.000000 0.832292 0.909722 \n", | |
"75% 2.000000 137.00000 102.400000 0.881788 0.925000 \n", | |
"max 3.000000 256.00000 120.900000 1.000000 1.000000 \n", | |
"\n", | |
" height curb-weight engine-size bore stroke \\\n", | |
"count 201.000000 201.000000 201.000000 201.000000 197.000000 \n", | |
"mean 53.766667 2555.666667 126.875622 3.330692 3.256904 \n", | |
"std 2.447822 517.296727 41.546834 0.268072 0.319256 \n", | |
"min 47.800000 1488.000000 61.000000 2.540000 2.070000 \n", | |
"25% 52.000000 2169.000000 98.000000 3.150000 3.110000 \n", | |
"50% 54.100000 2414.000000 120.000000 3.310000 3.290000 \n", | |
"75% 55.500000 2926.000000 141.000000 3.580000 3.410000 \n", | |
"max 59.800000 4066.000000 326.000000 3.940000 4.170000 \n", | |
"\n", | |
" compression-ratio horsepower peak-rpm city-mpg highway-mpg \\\n", | |
"count 201.000000 201.000000 201.000000 201.000000 201.000000 \n", | |
"mean 10.164279 103.405534 5117.665368 25.179104 30.686567 \n", | |
"std 4.004965 37.365700 478.113805 6.423220 6.815150 \n", | |
"min 7.000000 48.000000 4150.000000 13.000000 16.000000 \n", | |
"25% 8.600000 70.000000 4800.000000 19.000000 25.000000 \n", | |
"50% 9.000000 95.000000 5125.369458 24.000000 30.000000 \n", | |
"75% 9.400000 116.000000 5500.000000 30.000000 34.000000 \n", | |
"max 23.000000 262.000000 6600.000000 49.000000 54.000000 \n", | |
"\n", | |
" price city-L/100km diesel gas \n", | |
"count 201.000000 201.000000 201.000000 201.000000 \n", | |
"mean 13207.129353 9.944145 0.099502 0.900498 \n", | |
"std 7947.066342 2.534599 0.300083 0.300083 \n", | |
"min 5118.000000 4.795918 0.000000 0.000000 \n", | |
"25% 7775.000000 7.833333 0.000000 1.000000 \n", | |
"50% 10295.000000 9.791667 0.000000 1.000000 \n", | |
"75% 16500.000000 12.368421 0.000000 1.000000 \n", | |
"max 45400.000000 18.076923 1.000000 1.000000 " | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.describe()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" The default setting of \"describe\" skips variables of type object. We can apply the method \"describe\" on the variables of type 'object' as follows:\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"scrolled": true | |
}, | |
"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>make</th>\n", | |
" <th>aspiration</th>\n", | |
" <th>num-of-doors</th>\n", | |
" <th>body-style</th>\n", | |
" <th>drive-wheels</th>\n", | |
" <th>engine-location</th>\n", | |
" <th>engine-type</th>\n", | |
" <th>num-of-cylinders</th>\n", | |
" <th>fuel-system</th>\n", | |
" <th>horsepower-binned</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>201</td>\n", | |
" <td>200</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>unique</th>\n", | |
" <td>22</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>5</td>\n", | |
" <td>3</td>\n", | |
" <td>2</td>\n", | |
" <td>6</td>\n", | |
" <td>7</td>\n", | |
" <td>8</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>top</th>\n", | |
" <td>toyota</td>\n", | |
" <td>std</td>\n", | |
" <td>four</td>\n", | |
" <td>sedan</td>\n", | |
" <td>fwd</td>\n", | |
" <td>front</td>\n", | |
" <td>ohc</td>\n", | |
" <td>four</td>\n", | |
" <td>mpfi</td>\n", | |
" <td>Low</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>freq</th>\n", | |
" <td>32</td>\n", | |
" <td>165</td>\n", | |
" <td>115</td>\n", | |
" <td>94</td>\n", | |
" <td>118</td>\n", | |
" <td>198</td>\n", | |
" <td>145</td>\n", | |
" <td>157</td>\n", | |
" <td>92</td>\n", | |
" <td>115</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" make aspiration num-of-doors body-style drive-wheels \\\n", | |
"count 201 201 201 201 201 \n", | |
"unique 22 2 2 5 3 \n", | |
"top toyota std four sedan fwd \n", | |
"freq 32 165 115 94 118 \n", | |
"\n", | |
" engine-location engine-type num-of-cylinders fuel-system \\\n", | |
"count 201 201 201 201 \n", | |
"unique 2 6 7 8 \n", | |
"top front ohc four mpfi \n", | |
"freq 198 145 157 92 \n", | |
"\n", | |
" horsepower-binned \n", | |
"count 200 \n", | |
"unique 3 \n", | |
"top Low \n", | |
"freq 115 " | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.describe(include=['object'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Value Counts</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Value-counts is a good way of understanding how many units of each characteristic/variable we have. We can apply the \"value_counts\" method on the column 'drive-wheels'. Don’t forget the method \"value_counts\" only works on Pandas series, not Pandas Dataframes. As a result, we only include one bracket \"df['drive-wheels']\" not two brackets \"df[['drive-wheels']]\".</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"fwd 118\n", | |
"rwd 75\n", | |
"4wd 8\n", | |
"Name: drive-wheels, dtype: int64" | |
] | |
}, | |
"execution_count": 21, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['drive-wheels'].value_counts()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can convert the series to a Dataframe as follows :\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": {}, | |
"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>drive-wheels</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>fwd</th>\n", | |
" <td>118</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rwd</th>\n", | |
" <td>75</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4wd</th>\n", | |
" <td>8</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" drive-wheels\n", | |
"fwd 118\n", | |
"rwd 75\n", | |
"4wd 8" | |
] | |
}, | |
"execution_count": 22, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['drive-wheels'].value_counts().to_frame()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's repeat the above steps but save the results to the dataframe \"drive_wheels_counts\" and rename the column 'drive-wheels' to 'value_counts'.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": {}, | |
"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>value_counts</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>fwd</th>\n", | |
" <td>118</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rwd</th>\n", | |
" <td>75</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4wd</th>\n", | |
" <td>8</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" value_counts\n", | |
"fwd 118\n", | |
"rwd 75\n", | |
"4wd 8" | |
] | |
}, | |
"execution_count": 23, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"drive_wheels_counts = df['drive-wheels'].value_counts().to_frame()\n", | |
"drive_wheels_counts.rename(columns={'drive-wheels': 'value_counts'}, inplace=True)\n", | |
"drive_wheels_counts" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Now let's rename the index to 'drive-wheels':\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": {}, | |
"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>value_counts</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>drive-wheels</th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>fwd</th>\n", | |
" <td>118</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rwd</th>\n", | |
" <td>75</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4wd</th>\n", | |
" <td>8</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" value_counts\n", | |
"drive-wheels \n", | |
"fwd 118\n", | |
"rwd 75\n", | |
"4wd 8" | |
] | |
}, | |
"execution_count": 24, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"drive_wheels_counts.index.name = 'drive-wheels'\n", | |
"drive_wheels_counts" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can repeat the above process for the variable 'engine-location'.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": {}, | |
"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>value_counts</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>engine-location</th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>front</th>\n", | |
" <td>198</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rear</th>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" value_counts\n", | |
"engine-location \n", | |
"front 198\n", | |
"rear 3" | |
] | |
}, | |
"execution_count": 25, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# engine-location as variable\n", | |
"engine_loc_counts = df['engine-location'].value_counts().to_frame()\n", | |
"engine_loc_counts.rename(columns={'engine-location': 'value_counts'}, inplace=True)\n", | |
"engine_loc_counts.index.name = 'engine-location'\n", | |
"engine_loc_counts.head(10)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Examining the value counts of the engine location would not be a good predictor variable for the price. This is because we only have three cars with a rear engine and 198 with an engine in the front, this result is skewed. Thus, we are not able to draw any conclusions about the engine location.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2 id=\"basic_grouping\">4. Basics of Grouping</h2>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>The \"groupby\" method groups data by different categories. The data is grouped based on one or several variables and analysis is performed on the individual groups.</p>\n", | |
"\n", | |
"<p>For example, let's group by the variable \"drive-wheels\". We see that there are 3 different categories of drive wheels.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array(['rwd', 'fwd', '4wd'], dtype=object)" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df['drive-wheels'].unique()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>If we want to know, on average, which type of drive wheel is most valuable, we can group \"drive-wheels\" and then average them.</p>\n", | |
"\n", | |
"<p>We can select the columns 'drive-wheels', 'body-style' and 'price', then assign it to the variable \"df_group_one\".</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"df_group_one = df[['drive-wheels','body-style','price']]\n", | |
"# print(df_group_one)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"We can then calculate the average price for each of the different categories of data.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": {}, | |
"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>drive-wheels</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>4wd</td>\n", | |
" <td>10241.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>fwd</td>\n", | |
" <td>9244.779661</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>rwd</td>\n", | |
" <td>19757.613333</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" drive-wheels price\n", | |
"0 4wd 10241.000000\n", | |
"1 fwd 9244.779661\n", | |
"2 rwd 19757.613333" | |
] | |
}, | |
"execution_count": 32, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# grouping results\n", | |
"df_group_one = df_group_one.groupby(['drive-wheels'],as_index=False).mean()\n", | |
"df_group_one" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>From our data, it seems rear-wheel drive vehicles are, on average, the most expensive, while 4-wheel and front-wheel are approximately the same in price.</p>\n", | |
"\n", | |
"<p>You can also group with multiple variables. For example, let's group by both 'drive-wheels' and 'body-style'. This groups the dataframe by the unique combinations 'drive-wheels' and 'body-style'. We can store the results in the variable 'grouped_test1'.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": {}, | |
"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>drive-wheels</th>\n", | |
" <th>body-style</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>4wd</td>\n", | |
" <td>hatchback</td>\n", | |
" <td>7603.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>4wd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>12647.333333</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>4wd</td>\n", | |
" <td>wagon</td>\n", | |
" <td>9095.750000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>fwd</td>\n", | |
" <td>convertible</td>\n", | |
" <td>11595.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>fwd</td>\n", | |
" <td>hardtop</td>\n", | |
" <td>8249.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>fwd</td>\n", | |
" <td>hatchback</td>\n", | |
" <td>8396.387755</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>fwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>9811.800000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>fwd</td>\n", | |
" <td>wagon</td>\n", | |
" <td>9997.333333</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>rwd</td>\n", | |
" <td>convertible</td>\n", | |
" <td>23949.600000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>rwd</td>\n", | |
" <td>hardtop</td>\n", | |
" <td>24202.714286</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>rwd</td>\n", | |
" <td>hatchback</td>\n", | |
" <td>14337.777778</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>rwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>21711.833333</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>rwd</td>\n", | |
" <td>wagon</td>\n", | |
" <td>16994.222222</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" drive-wheels body-style price\n", | |
"0 4wd hatchback 7603.000000\n", | |
"1 4wd sedan 12647.333333\n", | |
"2 4wd wagon 9095.750000\n", | |
"3 fwd convertible 11595.000000\n", | |
"4 fwd hardtop 8249.000000\n", | |
"5 fwd hatchback 8396.387755\n", | |
"6 fwd sedan 9811.800000\n", | |
"7 fwd wagon 9997.333333\n", | |
"8 rwd convertible 23949.600000\n", | |
"9 rwd hardtop 24202.714286\n", | |
"10 rwd hatchback 14337.777778\n", | |
"11 rwd sedan 21711.833333\n", | |
"12 rwd wagon 16994.222222" | |
] | |
}, | |
"execution_count": 35, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# grouping results\n", | |
"df_gptest = df[['drive-wheels','body-style','price']]\n", | |
"grouped_test1 = df_gptest.groupby(['drive-wheels','body-style'],as_index=False).mean()\n", | |
"grouped_test1" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>This grouped data is much easier to visualize when it is made into a pivot table. A pivot table is like an Excel spreadsheet, with one variable along the column and another along the row. We can convert the dataframe to a pivot table using the method \"pivot \" to create a pivot table from the groups.</p>\n", | |
"\n", | |
"<p>In this case, we will leave the drive-wheel variable as the rows of the table, and pivot body-style to become the columns of the table:</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"metadata": {}, | |
"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 tr th {\n", | |
" text-align: left;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead tr:last-of-type th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr>\n", | |
" <th></th>\n", | |
" <th colspan=\"5\" halign=\"left\">price</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>body-style</th>\n", | |
" <th>convertible</th>\n", | |
" <th>hardtop</th>\n", | |
" <th>hatchback</th>\n", | |
" <th>sedan</th>\n", | |
" <th>wagon</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>drive-wheels</th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>4wd</th>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>7603.000000</td>\n", | |
" <td>12647.333333</td>\n", | |
" <td>9095.750000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>fwd</th>\n", | |
" <td>11595.0</td>\n", | |
" <td>8249.000000</td>\n", | |
" <td>8396.387755</td>\n", | |
" <td>9811.800000</td>\n", | |
" <td>9997.333333</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rwd</th>\n", | |
" <td>23949.6</td>\n", | |
" <td>24202.714286</td>\n", | |
" <td>14337.777778</td>\n", | |
" <td>21711.833333</td>\n", | |
" <td>16994.222222</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" price \\\n", | |
"body-style convertible hardtop hatchback sedan \n", | |
"drive-wheels \n", | |
"4wd NaN NaN 7603.000000 12647.333333 \n", | |
"fwd 11595.0 8249.000000 8396.387755 9811.800000 \n", | |
"rwd 23949.6 24202.714286 14337.777778 21711.833333 \n", | |
"\n", | |
" \n", | |
"body-style wagon \n", | |
"drive-wheels \n", | |
"4wd 9095.750000 \n", | |
"fwd 9997.333333 \n", | |
"rwd 16994.222222 " | |
] | |
}, | |
"execution_count": 36, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"grouped_pivot = grouped_test1.pivot(index='drive-wheels',columns='body-style')\n", | |
"grouped_pivot" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Often, we won't have data for some of the pivot cells. We can fill these missing cells with the value 0, but any other value could potentially be used as well. It should be mentioned that missing data is quite a complex subject and is an entire course on its own.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"metadata": { | |
"scrolled": true | |
}, | |
"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 tr th {\n", | |
" text-align: left;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead tr:last-of-type th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr>\n", | |
" <th></th>\n", | |
" <th colspan=\"5\" halign=\"left\">price</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>body-style</th>\n", | |
" <th>convertible</th>\n", | |
" <th>hardtop</th>\n", | |
" <th>hatchback</th>\n", | |
" <th>sedan</th>\n", | |
" <th>wagon</th>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>drive-wheels</th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" <th></th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>4wd</th>\n", | |
" <td>0.0</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>7603.000000</td>\n", | |
" <td>12647.333333</td>\n", | |
" <td>9095.750000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>fwd</th>\n", | |
" <td>11595.0</td>\n", | |
" <td>8249.000000</td>\n", | |
" <td>8396.387755</td>\n", | |
" <td>9811.800000</td>\n", | |
" <td>9997.333333</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>rwd</th>\n", | |
" <td>23949.6</td>\n", | |
" <td>24202.714286</td>\n", | |
" <td>14337.777778</td>\n", | |
" <td>21711.833333</td>\n", | |
" <td>16994.222222</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" price \\\n", | |
"body-style convertible hardtop hatchback sedan \n", | |
"drive-wheels \n", | |
"4wd 0.0 0.000000 7603.000000 12647.333333 \n", | |
"fwd 11595.0 8249.000000 8396.387755 9811.800000 \n", | |
"rwd 23949.6 24202.714286 14337.777778 21711.833333 \n", | |
"\n", | |
" \n", | |
"body-style wagon \n", | |
"drive-wheels \n", | |
"4wd 9095.750000 \n", | |
"fwd 9997.333333 \n", | |
"rwd 16994.222222 " | |
] | |
}, | |
"execution_count": 37, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"grouped_pivot = grouped_pivot.fillna(0) #fill missing values with 0\n", | |
"grouped_pivot" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
"<h1>Question 4:</h1>\n", | |
"\n", | |
"<p>Use the \"groupby\" function to find the average \"price\" of each car based on \"body-style\" ? </p>\n", | |
"</div>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": {}, | |
"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>body-style</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>convertible</td>\n", | |
" <td>21890.500000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>hardtop</td>\n", | |
" <td>22208.500000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>hatchback</td>\n", | |
" <td>9957.441176</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>sedan</td>\n", | |
" <td>14459.755319</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>wagon</td>\n", | |
" <td>12371.960000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" body-style price\n", | |
"0 convertible 21890.500000\n", | |
"1 hardtop 22208.500000\n", | |
"2 hatchback 9957.441176\n", | |
"3 sedan 14459.755319\n", | |
"4 wagon 12371.960000" | |
] | |
}, | |
"execution_count": 61, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# Write your code below and press Shift+Enter to execute \n", | |
"\n", | |
"body_unique = df['body-style'].unique()\n", | |
"\n", | |
"grouped_body = grouped_body.groupby(['body-style'], as_index=False).mean()\n", | |
"\n", | |
"grouped_body" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Double-click <b>here</b> for the solution.\n", | |
"\n", | |
"<!-- The answer is below:\n", | |
"\n", | |
"# grouping results\n", | |
"df_gptest2 = df[['body-style','price']]\n", | |
"grouped_test_bodystyle = df_gptest2.groupby(['body-style'],as_index= False).mean()\n", | |
"grouped_test_bodystyle\n", | |
"\n", | |
"-->\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"If you did not import \"pyplot\" let's do it again. \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 62, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"%matplotlib inline " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>Variables: Drive Wheels and Body Style vs Price</h4>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's use a heat map to visualize the relationship between Body Style vs Price.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 66, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 2 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"#use the grouped results\n", | |
"plt.pcolor(grouped_pivot, cmap='RdBu')\n", | |
"plt.colorbar()\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>The heatmap plots the target variable (price) proportional to colour with respect to the variables 'drive-wheel' and 'body-style' in the vertical and horizontal axis respectively. This allows us to visualize how the price is related to 'drive-wheel' and 'body-style'.</p>\n", | |
"\n", | |
"<p>The default labels convey no useful information to us. Let's change that:</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 67, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 2 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"fig, ax = plt.subplots()\n", | |
"im = ax.pcolor(grouped_pivot, cmap='RdBu')\n", | |
"\n", | |
"#label names\n", | |
"row_labels = grouped_pivot.columns.levels[1]\n", | |
"col_labels = grouped_pivot.index\n", | |
"\n", | |
"#move ticks and labels to the center\n", | |
"ax.set_xticks(np.arange(grouped_pivot.shape[1]) + 0.5, minor=False)\n", | |
"ax.set_yticks(np.arange(grouped_pivot.shape[0]) + 0.5, minor=False)\n", | |
"\n", | |
"#insert labels\n", | |
"ax.set_xticklabels(row_labels, minor=False)\n", | |
"ax.set_yticklabels(col_labels, minor=False)\n", | |
"\n", | |
"#rotate label if too long\n", | |
"plt.xticks(rotation=90)\n", | |
"\n", | |
"fig.colorbar(im)\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Visualization is very important in data science, and Python visualization packages provide great freedom. We will go more in-depth in a separate Python Visualizations course.</p>\n", | |
"\n", | |
"<p>The main question we want to answer in this module, is \"What are the main characteristics which have the most impact on the car price?\".</p>\n", | |
"\n", | |
"<p>To get a better measure of the important characteristics, we look at the correlation of these variables with the car price, in other words: how is the car price dependent on this variable?</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2 id=\"correlation_causation\">5. Correlation and Causation</h2>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p><b>Correlation</b>: a measure of the extent of interdependence between variables.</p>\n", | |
"\n", | |
"<p><b>Causation</b>: the relationship between cause and effect between two variables.</p>\n", | |
"\n", | |
"<p>It is important to know the difference between these two and that correlation does not imply causation. Determining correlation is much simpler the determining causation as causation may require independent experimentation.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p3>Pearson Correlation</p>\n", | |
"\n", | |
"<p>The Pearson Correlation measures the linear dependence between two variables X and Y.</p>\n", | |
"<p>The resulting coefficient is a value between -1 and 1 inclusive, where:</p>\n", | |
"<ul>\n", | |
" <li><b>1</b>: Total positive linear correlation.</li>\n", | |
" <li><b>0</b>: No linear correlation, the two variables most likely do not affect each other.</li>\n", | |
" <li><b>-1</b>: Total negative linear correlation.</li>\n", | |
"</ul>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Pearson Correlation is the default method of the function \"corr\". Like before we can calculate the Pearson Correlation of the of the 'int64' or 'float64' variables.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 70, | |
"metadata": {}, | |
"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>symboling</th>\n", | |
" <th>normalized-losses</th>\n", | |
" <th>wheel-base</th>\n", | |
" <th>length</th>\n", | |
" <th>width</th>\n", | |
" <th>height</th>\n", | |
" <th>curb-weight</th>\n", | |
" <th>engine-size</th>\n", | |
" <th>bore</th>\n", | |
" <th>stroke</th>\n", | |
" <th>compression-ratio</th>\n", | |
" <th>horsepower</th>\n", | |
" <th>peak-rpm</th>\n", | |
" <th>city-mpg</th>\n", | |
" <th>highway-mpg</th>\n", | |
" <th>price</th>\n", | |
" <th>city-L/100km</th>\n", | |
" <th>diesel</th>\n", | |
" <th>gas</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>symboling</th>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.466264</td>\n", | |
" <td>-0.535987</td>\n", | |
" <td>-0.365404</td>\n", | |
" <td>-0.242423</td>\n", | |
" <td>-0.550160</td>\n", | |
" <td>-0.233118</td>\n", | |
" <td>-0.110581</td>\n", | |
" <td>-0.140019</td>\n", | |
" <td>-0.008245</td>\n", | |
" <td>-0.182196</td>\n", | |
" <td>0.075819</td>\n", | |
" <td>0.279740</td>\n", | |
" <td>-0.035527</td>\n", | |
" <td>0.036233</td>\n", | |
" <td>-0.082391</td>\n", | |
" <td>0.066171</td>\n", | |
" <td>-0.196735</td>\n", | |
" <td>0.196735</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>normalized-losses</th>\n", | |
" <td>0.466264</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.056661</td>\n", | |
" <td>0.019424</td>\n", | |
" <td>0.086802</td>\n", | |
" <td>-0.373737</td>\n", | |
" <td>0.099404</td>\n", | |
" <td>0.112360</td>\n", | |
" <td>-0.029862</td>\n", | |
" <td>0.055563</td>\n", | |
" <td>-0.114713</td>\n", | |
" <td>0.217299</td>\n", | |
" <td>0.239543</td>\n", | |
" <td>-0.225016</td>\n", | |
" <td>-0.181877</td>\n", | |
" <td>0.133999</td>\n", | |
" <td>0.238567</td>\n", | |
" <td>-0.101546</td>\n", | |
" <td>0.101546</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>wheel-base</th>\n", | |
" <td>-0.535987</td>\n", | |
" <td>-0.056661</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.876024</td>\n", | |
" <td>0.814507</td>\n", | |
" <td>0.590742</td>\n", | |
" <td>0.782097</td>\n", | |
" <td>0.572027</td>\n", | |
" <td>0.493244</td>\n", | |
" <td>0.158502</td>\n", | |
" <td>0.250313</td>\n", | |
" <td>0.371147</td>\n", | |
" <td>-0.360305</td>\n", | |
" <td>-0.470606</td>\n", | |
" <td>-0.543304</td>\n", | |
" <td>0.584642</td>\n", | |
" <td>0.476153</td>\n", | |
" <td>0.307237</td>\n", | |
" <td>-0.307237</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>length</th>\n", | |
" <td>-0.365404</td>\n", | |
" <td>0.019424</td>\n", | |
" <td>0.876024</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.857170</td>\n", | |
" <td>0.492063</td>\n", | |
" <td>0.880665</td>\n", | |
" <td>0.685025</td>\n", | |
" <td>0.608971</td>\n", | |
" <td>0.124139</td>\n", | |
" <td>0.159733</td>\n", | |
" <td>0.579821</td>\n", | |
" <td>-0.285970</td>\n", | |
" <td>-0.665192</td>\n", | |
" <td>-0.698142</td>\n", | |
" <td>0.690628</td>\n", | |
" <td>0.657373</td>\n", | |
" <td>0.211187</td>\n", | |
" <td>-0.211187</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>width</th>\n", | |
" <td>-0.242423</td>\n", | |
" <td>0.086802</td>\n", | |
" <td>0.814507</td>\n", | |
" <td>0.857170</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.306002</td>\n", | |
" <td>0.866201</td>\n", | |
" <td>0.729436</td>\n", | |
" <td>0.544885</td>\n", | |
" <td>0.188829</td>\n", | |
" <td>0.189867</td>\n", | |
" <td>0.615077</td>\n", | |
" <td>-0.245800</td>\n", | |
" <td>-0.633531</td>\n", | |
" <td>-0.680635</td>\n", | |
" <td>0.751265</td>\n", | |
" <td>0.673363</td>\n", | |
" <td>0.244356</td>\n", | |
" <td>-0.244356</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>height</th>\n", | |
" <td>-0.550160</td>\n", | |
" <td>-0.373737</td>\n", | |
" <td>0.590742</td>\n", | |
" <td>0.492063</td>\n", | |
" <td>0.306002</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.307581</td>\n", | |
" <td>0.074694</td>\n", | |
" <td>0.180449</td>\n", | |
" <td>-0.062704</td>\n", | |
" <td>0.259737</td>\n", | |
" <td>-0.087027</td>\n", | |
" <td>-0.309974</td>\n", | |
" <td>-0.049800</td>\n", | |
" <td>-0.104812</td>\n", | |
" <td>0.135486</td>\n", | |
" <td>0.003811</td>\n", | |
" <td>0.281578</td>\n", | |
" <td>-0.281578</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>curb-weight</th>\n", | |
" <td>-0.233118</td>\n", | |
" <td>0.099404</td>\n", | |
" <td>0.782097</td>\n", | |
" <td>0.880665</td>\n", | |
" <td>0.866201</td>\n", | |
" <td>0.307581</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.849072</td>\n", | |
" <td>0.644060</td>\n", | |
" <td>0.167562</td>\n", | |
" <td>0.156433</td>\n", | |
" <td>0.757976</td>\n", | |
" <td>-0.279361</td>\n", | |
" <td>-0.749543</td>\n", | |
" <td>-0.794889</td>\n", | |
" <td>0.834415</td>\n", | |
" <td>0.785353</td>\n", | |
" <td>0.221046</td>\n", | |
" <td>-0.221046</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>engine-size</th>\n", | |
" <td>-0.110581</td>\n", | |
" <td>0.112360</td>\n", | |
" <td>0.572027</td>\n", | |
" <td>0.685025</td>\n", | |
" <td>0.729436</td>\n", | |
" <td>0.074694</td>\n", | |
" <td>0.849072</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.572609</td>\n", | |
" <td>0.209523</td>\n", | |
" <td>0.028889</td>\n", | |
" <td>0.822676</td>\n", | |
" <td>-0.256733</td>\n", | |
" <td>-0.650546</td>\n", | |
" <td>-0.679571</td>\n", | |
" <td>0.872335</td>\n", | |
" <td>0.745059</td>\n", | |
" <td>0.070779</td>\n", | |
" <td>-0.070779</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>bore</th>\n", | |
" <td>-0.140019</td>\n", | |
" <td>-0.029862</td>\n", | |
" <td>0.493244</td>\n", | |
" <td>0.608971</td>\n", | |
" <td>0.544885</td>\n", | |
" <td>0.180449</td>\n", | |
" <td>0.644060</td>\n", | |
" <td>0.572609</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.055390</td>\n", | |
" <td>0.001263</td>\n", | |
" <td>0.566936</td>\n", | |
" <td>-0.267392</td>\n", | |
" <td>-0.582027</td>\n", | |
" <td>-0.591309</td>\n", | |
" <td>0.543155</td>\n", | |
" <td>0.554610</td>\n", | |
" <td>0.054458</td>\n", | |
" <td>-0.054458</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>stroke</th>\n", | |
" <td>-0.008245</td>\n", | |
" <td>0.055563</td>\n", | |
" <td>0.158502</td>\n", | |
" <td>0.124139</td>\n", | |
" <td>0.188829</td>\n", | |
" <td>-0.062704</td>\n", | |
" <td>0.167562</td>\n", | |
" <td>0.209523</td>\n", | |
" <td>-0.055390</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.187923</td>\n", | |
" <td>0.098462</td>\n", | |
" <td>-0.065713</td>\n", | |
" <td>-0.034696</td>\n", | |
" <td>-0.035201</td>\n", | |
" <td>0.082310</td>\n", | |
" <td>0.037300</td>\n", | |
" <td>0.241303</td>\n", | |
" <td>-0.241303</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>compression-ratio</th>\n", | |
" <td>-0.182196</td>\n", | |
" <td>-0.114713</td>\n", | |
" <td>0.250313</td>\n", | |
" <td>0.159733</td>\n", | |
" <td>0.189867</td>\n", | |
" <td>0.259737</td>\n", | |
" <td>0.156433</td>\n", | |
" <td>0.028889</td>\n", | |
" <td>0.001263</td>\n", | |
" <td>0.187923</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.214514</td>\n", | |
" <td>-0.435780</td>\n", | |
" <td>0.331425</td>\n", | |
" <td>0.268465</td>\n", | |
" <td>0.071107</td>\n", | |
" <td>-0.299372</td>\n", | |
" <td>0.985231</td>\n", | |
" <td>-0.985231</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>horsepower</th>\n", | |
" <td>0.075819</td>\n", | |
" <td>0.217299</td>\n", | |
" <td>0.371147</td>\n", | |
" <td>0.579821</td>\n", | |
" <td>0.615077</td>\n", | |
" <td>-0.087027</td>\n", | |
" <td>0.757976</td>\n", | |
" <td>0.822676</td>\n", | |
" <td>0.566936</td>\n", | |
" <td>0.098462</td>\n", | |
" <td>-0.214514</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.107885</td>\n", | |
" <td>-0.822214</td>\n", | |
" <td>-0.804575</td>\n", | |
" <td>0.809575</td>\n", | |
" <td>0.889488</td>\n", | |
" <td>-0.169053</td>\n", | |
" <td>0.169053</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>peak-rpm</th>\n", | |
" <td>0.279740</td>\n", | |
" <td>0.239543</td>\n", | |
" <td>-0.360305</td>\n", | |
" <td>-0.285970</td>\n", | |
" <td>-0.245800</td>\n", | |
" <td>-0.309974</td>\n", | |
" <td>-0.279361</td>\n", | |
" <td>-0.256733</td>\n", | |
" <td>-0.267392</td>\n", | |
" <td>-0.065713</td>\n", | |
" <td>-0.435780</td>\n", | |
" <td>0.107885</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.115413</td>\n", | |
" <td>-0.058598</td>\n", | |
" <td>-0.101616</td>\n", | |
" <td>0.115830</td>\n", | |
" <td>-0.475812</td>\n", | |
" <td>0.475812</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>city-mpg</th>\n", | |
" <td>-0.035527</td>\n", | |
" <td>-0.225016</td>\n", | |
" <td>-0.470606</td>\n", | |
" <td>-0.665192</td>\n", | |
" <td>-0.633531</td>\n", | |
" <td>-0.049800</td>\n", | |
" <td>-0.749543</td>\n", | |
" <td>-0.650546</td>\n", | |
" <td>-0.582027</td>\n", | |
" <td>-0.034696</td>\n", | |
" <td>0.331425</td>\n", | |
" <td>-0.822214</td>\n", | |
" <td>-0.115413</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.972044</td>\n", | |
" <td>-0.686571</td>\n", | |
" <td>-0.949713</td>\n", | |
" <td>0.265676</td>\n", | |
" <td>-0.265676</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>highway-mpg</th>\n", | |
" <td>0.036233</td>\n", | |
" <td>-0.181877</td>\n", | |
" <td>-0.543304</td>\n", | |
" <td>-0.698142</td>\n", | |
" <td>-0.680635</td>\n", | |
" <td>-0.104812</td>\n", | |
" <td>-0.794889</td>\n", | |
" <td>-0.679571</td>\n", | |
" <td>-0.591309</td>\n", | |
" <td>-0.035201</td>\n", | |
" <td>0.268465</td>\n", | |
" <td>-0.804575</td>\n", | |
" <td>-0.058598</td>\n", | |
" <td>0.972044</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.704692</td>\n", | |
" <td>-0.930028</td>\n", | |
" <td>0.198690</td>\n", | |
" <td>-0.198690</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>price</th>\n", | |
" <td>-0.082391</td>\n", | |
" <td>0.133999</td>\n", | |
" <td>0.584642</td>\n", | |
" <td>0.690628</td>\n", | |
" <td>0.751265</td>\n", | |
" <td>0.135486</td>\n", | |
" <td>0.834415</td>\n", | |
" <td>0.872335</td>\n", | |
" <td>0.543155</td>\n", | |
" <td>0.082310</td>\n", | |
" <td>0.071107</td>\n", | |
" <td>0.809575</td>\n", | |
" <td>-0.101616</td>\n", | |
" <td>-0.686571</td>\n", | |
" <td>-0.704692</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.789898</td>\n", | |
" <td>0.110326</td>\n", | |
" <td>-0.110326</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>city-L/100km</th>\n", | |
" <td>0.066171</td>\n", | |
" <td>0.238567</td>\n", | |
" <td>0.476153</td>\n", | |
" <td>0.657373</td>\n", | |
" <td>0.673363</td>\n", | |
" <td>0.003811</td>\n", | |
" <td>0.785353</td>\n", | |
" <td>0.745059</td>\n", | |
" <td>0.554610</td>\n", | |
" <td>0.037300</td>\n", | |
" <td>-0.299372</td>\n", | |
" <td>0.889488</td>\n", | |
" <td>0.115830</td>\n", | |
" <td>-0.949713</td>\n", | |
" <td>-0.930028</td>\n", | |
" <td>0.789898</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-0.241282</td>\n", | |
" <td>0.241282</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>diesel</th>\n", | |
" <td>-0.196735</td>\n", | |
" <td>-0.101546</td>\n", | |
" <td>0.307237</td>\n", | |
" <td>0.211187</td>\n", | |
" <td>0.244356</td>\n", | |
" <td>0.281578</td>\n", | |
" <td>0.221046</td>\n", | |
" <td>0.070779</td>\n", | |
" <td>0.054458</td>\n", | |
" <td>0.241303</td>\n", | |
" <td>0.985231</td>\n", | |
" <td>-0.169053</td>\n", | |
" <td>-0.475812</td>\n", | |
" <td>0.265676</td>\n", | |
" <td>0.198690</td>\n", | |
" <td>0.110326</td>\n", | |
" <td>-0.241282</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>-1.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>gas</th>\n", | |
" <td>0.196735</td>\n", | |
" <td>0.101546</td>\n", | |
" <td>-0.307237</td>\n", | |
" <td>-0.211187</td>\n", | |
" <td>-0.244356</td>\n", | |
" <td>-0.281578</td>\n", | |
" <td>-0.221046</td>\n", | |
" <td>-0.070779</td>\n", | |
" <td>-0.054458</td>\n", | |
" <td>-0.241303</td>\n", | |
" <td>-0.985231</td>\n", | |
" <td>0.169053</td>\n", | |
" <td>0.475812</td>\n", | |
" <td>-0.265676</td>\n", | |
" <td>-0.198690</td>\n", | |
" <td>-0.110326</td>\n", | |
" <td>0.241282</td>\n", | |
" <td>-1.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" symboling normalized-losses wheel-base length \\\n", | |
"symboling 1.000000 0.466264 -0.535987 -0.365404 \n", | |
"normalized-losses 0.466264 1.000000 -0.056661 0.019424 \n", | |
"wheel-base -0.535987 -0.056661 1.000000 0.876024 \n", | |
"length -0.365404 0.019424 0.876024 1.000000 \n", | |
"width -0.242423 0.086802 0.814507 0.857170 \n", | |
"height -0.550160 -0.373737 0.590742 0.492063 \n", | |
"curb-weight -0.233118 0.099404 0.782097 0.880665 \n", | |
"engine-size -0.110581 0.112360 0.572027 0.685025 \n", | |
"bore -0.140019 -0.029862 0.493244 0.608971 \n", | |
"stroke -0.008245 0.055563 0.158502 0.124139 \n", | |
"compression-ratio -0.182196 -0.114713 0.250313 0.159733 \n", | |
"horsepower 0.075819 0.217299 0.371147 0.579821 \n", | |
"peak-rpm 0.279740 0.239543 -0.360305 -0.285970 \n", | |
"city-mpg -0.035527 -0.225016 -0.470606 -0.665192 \n", | |
"highway-mpg 0.036233 -0.181877 -0.543304 -0.698142 \n", | |
"price -0.082391 0.133999 0.584642 0.690628 \n", | |
"city-L/100km 0.066171 0.238567 0.476153 0.657373 \n", | |
"diesel -0.196735 -0.101546 0.307237 0.211187 \n", | |
"gas 0.196735 0.101546 -0.307237 -0.211187 \n", | |
"\n", | |
" width height curb-weight engine-size bore \\\n", | |
"symboling -0.242423 -0.550160 -0.233118 -0.110581 -0.140019 \n", | |
"normalized-losses 0.086802 -0.373737 0.099404 0.112360 -0.029862 \n", | |
"wheel-base 0.814507 0.590742 0.782097 0.572027 0.493244 \n", | |
"length 0.857170 0.492063 0.880665 0.685025 0.608971 \n", | |
"width 1.000000 0.306002 0.866201 0.729436 0.544885 \n", | |
"height 0.306002 1.000000 0.307581 0.074694 0.180449 \n", | |
"curb-weight 0.866201 0.307581 1.000000 0.849072 0.644060 \n", | |
"engine-size 0.729436 0.074694 0.849072 1.000000 0.572609 \n", | |
"bore 0.544885 0.180449 0.644060 0.572609 1.000000 \n", | |
"stroke 0.188829 -0.062704 0.167562 0.209523 -0.055390 \n", | |
"compression-ratio 0.189867 0.259737 0.156433 0.028889 0.001263 \n", | |
"horsepower 0.615077 -0.087027 0.757976 0.822676 0.566936 \n", | |
"peak-rpm -0.245800 -0.309974 -0.279361 -0.256733 -0.267392 \n", | |
"city-mpg -0.633531 -0.049800 -0.749543 -0.650546 -0.582027 \n", | |
"highway-mpg -0.680635 -0.104812 -0.794889 -0.679571 -0.591309 \n", | |
"price 0.751265 0.135486 0.834415 0.872335 0.543155 \n", | |
"city-L/100km 0.673363 0.003811 0.785353 0.745059 0.554610 \n", | |
"diesel 0.244356 0.281578 0.221046 0.070779 0.054458 \n", | |
"gas -0.244356 -0.281578 -0.221046 -0.070779 -0.054458 \n", | |
"\n", | |
" stroke compression-ratio horsepower peak-rpm \\\n", | |
"symboling -0.008245 -0.182196 0.075819 0.279740 \n", | |
"normalized-losses 0.055563 -0.114713 0.217299 0.239543 \n", | |
"wheel-base 0.158502 0.250313 0.371147 -0.360305 \n", | |
"length 0.124139 0.159733 0.579821 -0.285970 \n", | |
"width 0.188829 0.189867 0.615077 -0.245800 \n", | |
"height -0.062704 0.259737 -0.087027 -0.309974 \n", | |
"curb-weight 0.167562 0.156433 0.757976 -0.279361 \n", | |
"engine-size 0.209523 0.028889 0.822676 -0.256733 \n", | |
"bore -0.055390 0.001263 0.566936 -0.267392 \n", | |
"stroke 1.000000 0.187923 0.098462 -0.065713 \n", | |
"compression-ratio 0.187923 1.000000 -0.214514 -0.435780 \n", | |
"horsepower 0.098462 -0.214514 1.000000 0.107885 \n", | |
"peak-rpm -0.065713 -0.435780 0.107885 1.000000 \n", | |
"city-mpg -0.034696 0.331425 -0.822214 -0.115413 \n", | |
"highway-mpg -0.035201 0.268465 -0.804575 -0.058598 \n", | |
"price 0.082310 0.071107 0.809575 -0.101616 \n", | |
"city-L/100km 0.037300 -0.299372 0.889488 0.115830 \n", | |
"diesel 0.241303 0.985231 -0.169053 -0.475812 \n", | |
"gas -0.241303 -0.985231 0.169053 0.475812 \n", | |
"\n", | |
" city-mpg highway-mpg price city-L/100km diesel \\\n", | |
"symboling -0.035527 0.036233 -0.082391 0.066171 -0.196735 \n", | |
"normalized-losses -0.225016 -0.181877 0.133999 0.238567 -0.101546 \n", | |
"wheel-base -0.470606 -0.543304 0.584642 0.476153 0.307237 \n", | |
"length -0.665192 -0.698142 0.690628 0.657373 0.211187 \n", | |
"width -0.633531 -0.680635 0.751265 0.673363 0.244356 \n", | |
"height -0.049800 -0.104812 0.135486 0.003811 0.281578 \n", | |
"curb-weight -0.749543 -0.794889 0.834415 0.785353 0.221046 \n", | |
"engine-size -0.650546 -0.679571 0.872335 0.745059 0.070779 \n", | |
"bore -0.582027 -0.591309 0.543155 0.554610 0.054458 \n", | |
"stroke -0.034696 -0.035201 0.082310 0.037300 0.241303 \n", | |
"compression-ratio 0.331425 0.268465 0.071107 -0.299372 0.985231 \n", | |
"horsepower -0.822214 -0.804575 0.809575 0.889488 -0.169053 \n", | |
"peak-rpm -0.115413 -0.058598 -0.101616 0.115830 -0.475812 \n", | |
"city-mpg 1.000000 0.972044 -0.686571 -0.949713 0.265676 \n", | |
"highway-mpg 0.972044 1.000000 -0.704692 -0.930028 0.198690 \n", | |
"price -0.686571 -0.704692 1.000000 0.789898 0.110326 \n", | |
"city-L/100km -0.949713 -0.930028 0.789898 1.000000 -0.241282 \n", | |
"diesel 0.265676 0.198690 0.110326 -0.241282 1.000000 \n", | |
"gas -0.265676 -0.198690 -0.110326 0.241282 -1.000000 \n", | |
"\n", | |
" gas \n", | |
"symboling 0.196735 \n", | |
"normalized-losses 0.101546 \n", | |
"wheel-base -0.307237 \n", | |
"length -0.211187 \n", | |
"width -0.244356 \n", | |
"height -0.281578 \n", | |
"curb-weight -0.221046 \n", | |
"engine-size -0.070779 \n", | |
"bore -0.054458 \n", | |
"stroke -0.241303 \n", | |
"compression-ratio -0.985231 \n", | |
"horsepower 0.169053 \n", | |
"peak-rpm 0.475812 \n", | |
"city-mpg -0.265676 \n", | |
"highway-mpg -0.198690 \n", | |
"price -0.110326 \n", | |
"city-L/100km 0.241282 \n", | |
"diesel -1.000000 \n", | |
"gas 1.000000 " | |
] | |
}, | |
"execution_count": 70, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.corr()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" sometimes we would like to know the significant of the correlation estimate. \n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<b>P-value</b>: \n", | |
"\n", | |
"<p>What is this P-value? The P-value is the probability value that the correlation between these two variables is statistically significant. Normally, we choose a significance level of 0.05, which means that we are 95% confident that the correlation between the variables is significant.</p>\n", | |
"\n", | |
"By convention, when the\n", | |
"\n", | |
"<ul>\n", | |
" <li>p-value is $<$ 0.001: we say there is strong evidence that the correlation is significant.</li>\n", | |
" <li>the p-value is $<$ 0.05: there is moderate evidence that the correlation is significant.</li>\n", | |
" <li>the p-value is $<$ 0.1: there is weak evidence that the correlation is significant.</li>\n", | |
" <li>the p-value is $>$ 0.1: there is no evidence that the correlation is significant.</li>\n", | |
"</ul>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" We can obtain this information using \"stats\" module in the \"scipy\" library.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 72, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from scipy import stats" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Wheel-base vs Price</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Let's calculate the Pearson Correlation Coefficient and P-value of 'wheel-base' and 'price'. \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 75, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is 0.584641822265508 with a P-value of P = 8.076488270733218e-20\n" | |
] | |
} | |
], | |
"source": [ | |
"x, y = stats.pearsonr(df['wheel-base'], df['price'])\n", | |
"print(\"The Pearson Correlation Coefficient is\", x, \" with a P-value of P =\", y) \n", | |
"\n", | |
"\n", | |
"#pearson_coef, p_value = stats.pearsonr(df['wheel-base'], df['price'])\n", | |
"#print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h5>Conclusion:</h5>\n", | |
"<p>Since the p-value is $<$ 0.001, the correlation between wheel-base and price is statistically significant, although the linear relationship isn't extremely strong (~0.585)</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Horsepower vs Price</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's calculate the Pearson Correlation Coefficient and P-value of 'horsepower' and 'price'.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 76, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is 0.8095745670036559 with a P-value of P = 6.369057428260101e-48\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['horsepower'], df['price'])\n", | |
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h5>Conclusion:</h5>\n", | |
"\n", | |
"<p>Since the p-value is $<$ 0.001, the correlation between horsepower and price is statistically significant, and the linear relationship is quite strong (~0.809, close to 1)</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Length vs Price</h3>\n", | |
"\n", | |
"Let's calculate the Pearson Correlation Coefficient and P-value of 'length' and 'price'.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 77, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is 0.6906283804483638 with a P-value of P = 8.016477466159556e-30\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['length'], df['price'])\n", | |
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h5>Conclusion:</h5>\n", | |
"<p>Since the p-value is $<$ 0.001, the correlation between length and price is statistically significant, and the linear relationship is moderately strong (~0.691).</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Width vs Price</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's calculate the Pearson Correlation Coefficient and P-value of 'width' and 'price':\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 78, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is 0.7512653440522673 with a P-value of P = 9.200335510481646e-38\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['width'], df['price'])\n", | |
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value ) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"##### Conclusion:\n", | |
"\n", | |
"Since the p-value is < 0.001, the correlation between width and price is statistically significant, and the linear relationship is quite strong (~0.751).\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Curb-weight vs Price\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's calculate the Pearson Correlation Coefficient and P-value of 'curb-weight' and 'price':\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 79, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is 0.8344145257702843 with a P-value of P = 2.189577238894065e-53\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['curb-weight'], df['price'])\n", | |
"print( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h5>Conclusion:</h5>\n", | |
"<p>Since the p-value is $<$ 0.001, the correlation between curb-weight and price is statistically significant, and the linear relationship is quite strong (~0.834).</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Engine-size vs Price</h3>\n", | |
"\n", | |
"Let's calculate the Pearson Correlation Coefficient and P-value of 'engine-size' and 'price':\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 80, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is 0.8723351674455185 with a P-value of P = 9.265491622198389e-64\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['engine-size'], df['price'])\n", | |
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h5>Conclusion:</h5>\n", | |
"\n", | |
"<p>Since the p-value is $<$ 0.001, the correlation between engine-size and price is statistically significant, and the linear relationship is very strong (~0.872).</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Bore vs Price</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's calculate the Pearson Correlation Coefficient and P-value of 'bore' and 'price':\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 81, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is 0.5431553832626602 with a P-value of P = 8.049189483935489e-17\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['bore'], df['price'])\n", | |
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h5>Conclusion:</h5>\n", | |
"<p>Since the p-value is $<$ 0.001, the correlation between bore and price is statistically significant, but the linear relationship is only moderate (~0.521).</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" We can relate the process for each 'City-mpg' and 'Highway-mpg':\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>City-mpg vs Price</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 82, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is -0.6865710067844678 with a P-value of P = 2.321132065567641e-29\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['city-mpg'], df['price'])\n", | |
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h5>Conclusion:</h5>\n", | |
"<p>Since the p-value is $<$ 0.001, the correlation between city-mpg and price is statistically significant, and the coefficient of ~ -0.687 shows that the relationship is negative and moderately strong.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Highway-mpg vs Price</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 83, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The Pearson Correlation Coefficient is -0.704692265058953 with a P-value of P = 1.7495471144476358e-31\n" | |
] | |
} | |
], | |
"source": [ | |
"pearson_coef, p_value = stats.pearsonr(df['highway-mpg'], df['price'])\n", | |
"print( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"##### Conclusion:\n", | |
"\n", | |
"Since the p-value is < 0.001, the correlation between highway-mpg and price is statistically significant, and the coefficient of ~ -0.705 shows that the relationship is negative and moderately strong.\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h2 id=\"anova\">6. ANOVA</h2>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>ANOVA: Analysis of Variance</h3>\n", | |
"<p>The Analysis of Variance (ANOVA) is a statistical method used to test whether there are significant differences between the means of two or more groups. ANOVA returns two parameters:</p>\n", | |
"\n", | |
"<p><b>F-test score</b>: ANOVA assumes the means of all groups are the same, calculates how much the actual means deviate from the assumption, and reports it as the F-test score. A larger score means there is a larger difference between the means.</p>\n", | |
"\n", | |
"<p><b>P-value</b>: P-value tells how statistically significant is our calculated score value.</p>\n", | |
"\n", | |
"<p>If our price variable is strongly correlated with the variable we are analyzing, expect ANOVA to return a sizeable F-test score and a small p-value.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Drive Wheels</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>Since ANOVA analyzes the difference between different groups of the same variable, the groupby function will come in handy. Because the ANOVA algorithm averages the data automatically, we do not need to take the average before hand.</p>\n", | |
"\n", | |
"<p>Let's see if different types 'drive-wheels' impact 'price', we group the data.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 90, | |
"metadata": {}, | |
"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>drive-wheels</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>rwd</td>\n", | |
" <td>13495.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>rwd</td>\n", | |
" <td>16500.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>fwd</td>\n", | |
" <td>13950.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>4wd</td>\n", | |
" <td>17450.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>fwd</td>\n", | |
" <td>15250.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>136</th>\n", | |
" <td>4wd</td>\n", | |
" <td>7603.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" drive-wheels price\n", | |
"0 rwd 13495.0\n", | |
"1 rwd 16500.0\n", | |
"3 fwd 13950.0\n", | |
"4 4wd 17450.0\n", | |
"5 fwd 15250.0\n", | |
"136 4wd 7603.0" | |
] | |
}, | |
"execution_count": 90, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"gptest2=df_gptest[['drive-wheels', 'price']].groupby(['drive-wheels'])\n", | |
"gptest2.head(2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 87, | |
"metadata": {}, | |
"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>drive-wheels</th>\n", | |
" <th>body-style</th>\n", | |
" <th>price</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>rwd</td>\n", | |
" <td>convertible</td>\n", | |
" <td>13495.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>rwd</td>\n", | |
" <td>convertible</td>\n", | |
" <td>16500.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>rwd</td>\n", | |
" <td>hatchback</td>\n", | |
" <td>16500.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>fwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>13950.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>4wd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>17450.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>196</th>\n", | |
" <td>rwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>16845.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>197</th>\n", | |
" <td>rwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>19045.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>198</th>\n", | |
" <td>rwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>21485.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>199</th>\n", | |
" <td>rwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>22470.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>200</th>\n", | |
" <td>rwd</td>\n", | |
" <td>sedan</td>\n", | |
" <td>22625.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>201 rows × 3 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" drive-wheels body-style price\n", | |
"0 rwd convertible 13495.0\n", | |
"1 rwd convertible 16500.0\n", | |
"2 rwd hatchback 16500.0\n", | |
"3 fwd sedan 13950.0\n", | |
"4 4wd sedan 17450.0\n", | |
".. ... ... ...\n", | |
"196 rwd sedan 16845.0\n", | |
"197 rwd sedan 19045.0\n", | |
"198 rwd sedan 21485.0\n", | |
"199 rwd sedan 22470.0\n", | |
"200 rwd sedan 22625.0\n", | |
"\n", | |
"[201 rows x 3 columns]" | |
] | |
}, | |
"execution_count": 87, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df_gptest" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" We can obtain the values of the method group using the method \"get_group\". \n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 91, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"4 17450.0\n", | |
"136 7603.0\n", | |
"140 9233.0\n", | |
"141 11259.0\n", | |
"144 8013.0\n", | |
"145 11694.0\n", | |
"150 7898.0\n", | |
"151 8778.0\n", | |
"Name: price, dtype: float64" | |
] | |
}, | |
"execution_count": 91, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"gptest2.get_group('4wd')['price']" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"we can use the function 'f_oneway' in the module 'stats' to obtain the <b>F-test score</b> and <b>P-value</b>.\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 93, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ANOVA results: F= 67.95406500780399 , P = 3.3945443577151245e-23\n" | |
] | |
} | |
], | |
"source": [ | |
"# ANOVA\n", | |
"f, p = stats.f_oneway(gptest2.get_group('fwd')['price'], gptest2.get_group('rwd')['price'], gptest2.get_group('4wd')['price']) \n", | |
" \n", | |
"print( \"ANOVA results: F=\", f, \", P =\", p) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This is a great result, with a large F test score showing a strong correlation and a P value of almost 0 implying almost certain statistical significance. But does this mean all three tested groups are all this highly correlated? \n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"#### Separately: fwd and rwd\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 94, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ANOVA results: F= 130.5533160959111 , P = 2.2355306355677845e-23\n" | |
] | |
} | |
], | |
"source": [ | |
"f, p = stats.f_oneway(gptest2.get_group('fwd')['price'], gptest2.get_group('rwd')['price']) \n", | |
" \n", | |
"print( \"ANOVA results: F=\", f, \", P =\", p)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
" Let's examine the other groups \n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"#### 4wd and rwd\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 95, | |
"metadata": { | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ANOVA results: F= 8.580681368924756 , P = 0.004411492211225333\n" | |
] | |
} | |
], | |
"source": [ | |
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('rwd')['price']) \n", | |
" \n", | |
"print( \"ANOVA results: F=\", f_val, \", P =\", p_val) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h4>4wd and fwd</h4>\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 96, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ANOVA results: F= 0.665465750252303 , P = 0.41620116697845666\n" | |
] | |
} | |
], | |
"source": [ | |
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('fwd')['price']) \n", | |
" \n", | |
"print(\"ANOVA results: F=\", f_val, \", P =\", p_val) " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<h3>Conclusion: Important Variables</h3>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"<p>We now have a better idea of what our data looks like and which variables are important to take into account when predicting the car price. We have narrowed it down to the following variables:</p>\n", | |
"\n", | |
"Continuous numerical variables:\n", | |
"\n", | |
"<ul>\n", | |
" <li>Length</li>\n", | |
" <li>Width</li>\n", | |
" <li>Curb-weight</li>\n", | |
" <li>Engine-size</li>\n", | |
" <li>Horsepower</li>\n", | |
" <li>City-mpg</li>\n", | |
" <li>Highway-mpg</li>\n", | |
" <li>Wheel-base</li>\n", | |
" <li>Bore</li>\n", | |
"</ul>\n", | |
" \n", | |
"Categorical variables:\n", | |
"<ul>\n", | |
" <li>Drive-wheels</li>\n", | |
"</ul>\n", | |
"\n", | |
"<p>As we now move into building machine learning models to automate our analysis, feeding the model with variables that meaningfully affect our target variable will improve our model's prediction performance.</p>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Thank you for completing this lab!\n", | |
"\n", | |
"## Author\n", | |
"\n", | |
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>\n", | |
"\n", | |
"### Other Contributors\n", | |
"\n", | |
"<a href=\"https://www.linkedin.com/in/mahdi-noorian-58219234/\" target=\"_blank\">Mahdi Noorian PhD</a>\n", | |
"\n", | |
"Bahare Talayian\n", | |
"\n", | |
"Eric Xiao\n", | |
"\n", | |
"Steven Dong\n", | |
"\n", | |
"Parizad\n", | |
"\n", | |
"Hima Vasudevan\n", | |
"\n", | |
"<a href=\"https://www.linkedin.com/in/fiorellawever/\" target=\"_blank\">Fiorella Wenver</a>\n", | |
"\n", | |
"<a href=\" https://www.linkedin.com/in/yi-leng-yao-84451275/ \" target=\"_blank\" >Yi Yao</a>.\n", | |
"\n", | |
"## Change Log\n", | |
"\n", | |
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n", | |
"| ----------------- | ------- | ---------- | ---------------------------------- |\n", | |
"| 2020-10-30 | 2.1 | Lakshmi | changed URL of csv |\n", | |
"| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n", | |
"\n", | |
"<hr>\n", | |
"\n", | |
"## <h3 align=\"center\"> © IBM Corporation 2020. All rights reserved. <h3/>\n" | |
] | |
} | |
], | |
"metadata": { | |
"anaconda-cloud": {}, | |
"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.11" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment