Skip to content

Instantly share code, notes, and snippets.

@theone9807
Created October 22, 2020 15:27
Show Gist options
  • Save theone9807/e72fce23b7b3a71f71f430db074feb71 to your computer and use it in GitHub Desktop.
Save theone9807/e72fce23b7b3a71f71f430db074feb71 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"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: **30** minutes\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://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/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",
"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"
]
},
{
"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, 56135.62409040515)"
]
},
"execution_count": 8,
"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": [
"# Engine size as potential predictor variable of price\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": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" stroke price\n",
"stroke 1.00000 0.08231\n",
"price 0.08231 1.00000\n"
]
},
{
"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)\n",
"print(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",
"#no\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'])\n"
]
},
{
"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": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['rwd', 'fwd', '4wd'], dtype=object)"
]
},
"execution_count": 26,
"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": 27,
"metadata": {},
"outputs": [],
"source": [
"df_group_one = df[['drive-wheels','body-style','price']]"
]
},
{
"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": 28,
"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": 28,
"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": 29,
"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": 29,
"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": 30,
"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": 30,
"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": 31,
"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": 31,
"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": 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>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": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"group_2 = df[['body-style', 'price']].groupby('body-style', as_index=False).mean()\n",
"group_2"
]
},
{
"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": 33,
"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": 36,
"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.xlabel('drive-wheel')\n",
"plt.ylabel('body-style')\n",
"plt.show()\n"
]
},
{
"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": 37,
"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": 38,
"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": 38,
"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": 39,
"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": 40,
"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": [
"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": 41,
"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": 42,
"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": 43,
"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 &lt; 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": null,
"metadata": {},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"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 &lt; 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": "markdown",
"metadata": {},
"source": [
" Let's see if different types 'drive-wheels' impact 'price', we group the data.\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"grouped_test2=df_gptest[['drive-wheels', 'price']].groupby(['drive-wheels'])\n",
"grouped_test2.head(2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"source": [
"grouped_test2.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": null,
"metadata": {},
"outputs": [],
"source": [
"# ANOVA\n",
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price'], grouped_test2.get_group('4wd')['price']) \n",
" \n",
"print( \"ANOVA results: F=\", f_val, \", P =\", p_val) "
]
},
{
"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": null,
"metadata": {},
"outputs": [],
"source": [
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price']) \n",
" \n",
"print( \"ANOVA results: F=\", f_val, \", P =\", p_val )"
]
},
{
"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": null,
"metadata": {
"scrolled": true
},
"outputs": [],
"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": null,
"metadata": {},
"outputs": [],
"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-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