Skip to content

Instantly share code, notes, and snippets.

@iateadonut
Created May 28, 2019 15:19
Show Gist options
  • Save iateadonut/8419014ae7eca15ea779e473afe7dbcf to your computer and use it in GitHub Desktop.
Save iateadonut/8419014ae7eca15ea779e473afe7dbcf to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
" <a href=\"https://cocl.us/corsera_da0101en_notebook_top\">\n",
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/TopAd.png\" width=\"750\" align=\"center\">\n",
" </a>\n",
"</div>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a href=\"https://www.bigdatauniversity.com\"><img src = \"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/CCLog.png\" width = 300, align = \"center\"></a>\n",
"\n",
"<h1 align=center><font size = 5>Data Analysis with Python</font></h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Exploratory Data Analysis"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Welcome!</h3>\n",
"In this section, we will explore several methods to see if certain characteristics or features can be used to predict car price. "
]
},
{
"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",
"Estimated Time Needed: <strong>30 min</strong>\n",
"</div>\n",
" \n",
"<hr>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>What are the main characteristics which have the most impact on the car price?</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"import_data\">1. Import Data from Module 2</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Setup</h4>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Import libraries "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" load data and store in dataframe df:"
]
},
{
"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"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"To install seaborn we use the pip which is the python package manager."
]
},
{
"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."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"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": {
"collapsed": false
},
"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",
"</div>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"float64\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\":"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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."
]
},
{
"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>"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": 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>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",
"-->"
]
},
{
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's see several examples of different linear relationships:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Positive linear relationship</h4>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's find the scatterplot of \"engine-size\" and \"price\" "
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
" return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
]
},
{
"data": {
"text/plain": [
"(0, 56383.539173837635)"
]
},
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can examine the correlation between 'engine-size' and 'price' and see it's approximately 0.87"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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 "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f8671784080>"
]
},
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can examine the correlation between 'highway-mpg' and 'price' and see it's approximately -0.704"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's see if \"Peak-rpm\" as a predictor variable of \"price\"."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f867171c1d0>"
]
},
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can examine the correlation between 'peak-rpm' and 'price' and see it's approximately -0.101616 "
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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>"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>stroke</th>\n",
" <th>price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>stroke</th>\n",
" <td>1.00000</td>\n",
" <td>0.08231</td>\n",
" </tr>\n",
" <tr>\n",
" <th>price</th>\n",
" <td>0.08231</td>\n",
" <td>1.00000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" stroke price\n",
"stroke 1.00000 0.08231\n",
"price 0.08231 1.00000"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute\n",
"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",
"-->"
]
},
{
"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>"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f8671798d68>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"sns.regplot(x=\"stroke\", y=\"price\", data=df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"#There is a weak correlation between the variable 'stroke' and 'price.' as such regression will not work well. We #can see this use \"regplot\" to demonstrate this.\n",
"\n",
"#Code: \n",
"sns.regplot(x=\"stroke\", y=\"price\", data=df)\n",
"\n",
"-->"
]
},
{
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's look at the relationship between \"body-style\" and \"price\"."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f867163f978>"
]
},
"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>"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f8671592e10>"
]
},
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's examine \"drive-wheels\" and \"price\"."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f8671512518>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEKCAYAAADaa8itAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3X18HdV95/HPV0aAE0psLMUQC2qKlQRCXSco4CxNmxAsLDeJaZNuybblvihbkxQwWZoG2HZf5Im+kt1t6JomBAJORJLW0CRdXGrVFk+BdHmSgxFPoVaABBUHJAwEwpONfvvHHMFFXD3YntHoSt/363Vfd+Y3Z+ae4WL97pk5c44iAjMzszw0lF0BMzObPpxUzMwsN04qZmaWGycVMzPLjZOKmZnlxknFzMxy46RiZma5cVIxM7PcOKmYmVlu9iq7ApOtqakpFi5cWHY1zMzqyubNmwcjonm8cjMuqSxcuJCenp6yq2FmVlck/XQi5Xz5y8zMcuOkYmZmuXFSMTOz3DipmJlZbpxUppHBwUHOPPNMnnjiibKrYmYzlJPKNNLZ2Ulvby+dnZ1lV8XMZignlWlicHCQrq4uIoKuri63VsysFIUnFUmzJN0p6Zq0/k1JD0nakl5LUlyS1kjqk9Qr6V1Vx6hI2ppelar4UZLuTvuskaSiz2eq6uzsZHhq6KGhIbdWzKwUk9FSOQu4f0TsLyJiSXptSbEOoDW9VgEXA0g6ADgfOAY4Gjhf0ty0z8Wp7PB+y4s8kamsu7ubHTt2ALBjxw42bdpUco3MbCYqNKlIagF+B7hsAsVXAldE5lZgjqSDgBOA7ojYHhFPAt3A8rRt/4i4JbKf6FcAJxZzJlPfsmXLaGxsBKCxsZH29vaSa2RmM1HRLZW/BT4NDI2IX5AucV0oaZ8UWwA8UlWmP8XGivfXiL+OpFWSeiT1DAwM7PbJTGWVSoXhq38NDQ1UKpVx9jAzy19hSUXSB4HHI2LziE3nAW8H3g0cAJwzvEuNw8RuxF8fjLg0Itoioq25edzx0OpSU1MTHR0dSKKjo4N58+aVXSUzm4GKbKkcC3xY0sPAOuA4Sd+OiG3pEteLwDfI7pNA1tI4uGr/FuDRceItNeIzVqVSYfHixW6lmFlpCksqEXFeRLRExELgJOD6iPijdC+E1FPrROCetMt64OTUC2wp8HREbAM2Au2S5qYb9O3AxrTtGUlL07FOBq4u6nzqQVNTExdddJFbKWZWmjKGvv+OpGayy1dbgI+n+AZgBdAHPAecAhAR2yV9HrgjlftcRGxPy58AvgnMBrrSy8zMSqLhZxtmira2tvB8KmZmu0bS5ohoG6+cn6g3M7PcOKmYmVlunFTMzCw3TipmZpYbJxUzM8uNk4qZmeXGScXMzHLjpGJmZrlxUplGPEe9mZXNSWUa8Rz1ZlY2J5VpYnBwkA0bNhARbNiwwa0VMyuFk8o00dnZyc6dO4FsOmG3VsysDE4q08SmTZsYHhw0Iti4cWPJNTKzmchJZZqYP3/+mOtmZpPBSWWaeOyxx8ZcNzObDIUnFUmzJN0p6Zq0fqik2yRtlXSlpL1TfJ+03pe2L6w6xnkp/oCkE6riy1OsT9K5RZ/LVNbe3k42ASZI4oQTThhnDzOz/E1GS+Us4P6q9S8BF0ZEK/AkcGqKnwo8GRGLgAtTOSQdQTYd8TuA5cBXU6KaBXwF6ACOAD6Wys5IlUqFxsZGABobGz1PvZmVotCkIqkF+B3gsrQu4Djgu6lIJ9k89QAr0zpp+wdS+ZXAuoh4MSIeIptu+Oj06ouIByPiJWBdKjsjNTU10dHRgSRWrFjheerNrBRFt1T+Fvg0MJTW5wFPRcTOtN4PLEjLC4BHANL2p1P5V+Ij9hktPmNVKhUWL17sVoqZlaawpCLpg8DjEbG5OlyjaIyzbVfjteqySlKPpJ6BgYExal3fmpqauOiii9xKMbPSFNlSORb4sKSHyS5NHUfWcpkjaa9UpgV4NC33AwcDpO1vArZXx0fsM1r8dSLi0ohoi4i25ubmPT8zMzOrqbCkEhHnRURLRCwku9F+fUT8IXAD8NFUrAJcnZbXp3XS9usje5pvPXBS6h12KNAK3A7cAbSm3mR7p89YX9T5mJnZ+PYav0juzgHWSfoCcCdweYpfDnxLUh9ZC+UkgIi4V9JVwH3ATuD0iHgZQNIZwEZgFrA2Iu6d1DMxM7PX0PDQHjNFW1tb9PT0lF0NM7O6ImlzRLSNV85P1JuZWW6cVMzMLDdOKmZmlhsnFTMzy42TipmZ5cZJZRoZHBzkzDPP9FTCZlYaJ5Vp5JJLLuGuu+7ikksuKbsqZjZDOalME4ODg3R3dwPZ1MJurZhZGZxUpolLLrmEoaFsMOihoSG3VsysFE4q08R11133mvVrr722pJqY2UzmpDJNjBxuZ6YNv2NmU4OTyjRx/PHHv2Z92bJlJdXEzGYyJ5Vp4rTTTqOhIfs6GxoaOO2000qukZnNRGUMfT+jrVmzhr6+vkKOvddee/HSSy/xpje9ic9+9rO5HnvRokWsXr0612Oa2fTjlso0MmvWLBoaGnjLW95SdlXMbIZyS2WSFflrf/jYa9asKewzzMzGUlhLRdK+km6XdJekeyV9NsW/KekhSVvSa0mKS9IaSX2SeiW9q+pYFUlb06tSFT9K0t1pnzWSVNT5mJnZ+IpsqbwIHBcRz0pqBH4oqStt+4uI+O6I8h1k88+3AscAFwPHSDoAOB9oAwLYLGl9RDyZyqwCbgU2AMuBLszMrBSFtVQi82xabUyvsR6eWAlckfa7FZgj6SDgBKA7IranRNINLE/b9o+IWyJ7KOMK4MSizsfMzMZX6I16SbMkbQEeJ0sMt6VNF6RLXBdK2ifFFgCPVO3en2JjxftrxGvVY5WkHkk9AwMDe3xeZmZWW6FJJSJejoglQAtwtKQjgfOAtwPvBg4AzknFa90Pid2I16rHpRHRFhFtzc3Nu3gWZmY2UZPSpTgingJuBJZHxLZ0ietF4BvA0alYP3Bw1W4twKPjxFtqxM3MrCRF9v5qljQnLc8Gjgd+nO6FkHpqnQjck3ZZD5yceoEtBZ6OiG3ARqBd0lxJc4F2YGPa9oykpelYJwNXF3U+ZmY2viJ7fx0EdEqaRZa8roqIayRdL6mZ7PLVFuDjqfwGYAXQBzwHnAIQEdslfR64I5X7XERsT8ufAL4JzCbr9eWeX2ZmJSosqUREL/DOGvHjRikfwOmjbFsLrK0R7wGO3LOamplZXjxMi5mZ5cZJxczMcuOkYmZmuXFSMTOz3DipmJlZbpxUzMwsN04qZmaWGycVMzPLjZOKmZnlxknFzMxy46RiZma5cVIxM7PcOKmYmVlunFTMzCw3TipmZpabImd+3FfS7ZLuknSvpM+m+KGSbpO0VdKVkvZO8X3Sel/avrDqWOel+AOSTqiKL0+xPknnFnUuZmY2MUW2VF4EjouI3wCWAMvTNMFfAi6MiFbgSeDUVP5U4MmIWARcmMoh6QjgJOAdwHLgq5JmpRklvwJ0AEcAH0tlzcysJIUllcg8m1Yb0yuA44Dvpngn2Tz1ACvTOmn7B9Lc8yuBdRHxYkQ8RDbd8NHp1RcRD0bES8C6VNbMzEpS6D2V1KLYAjwOdAM/AZ6KiJ2pSD+wIC0vAB4BSNufBuZVx0fsM1rczMxKUmhSiYiXI2IJ0ELWsji8VrH0rlG27Wr8dSStktQjqWdgYGD8ipuZ2W6ZlN5fEfEUcCOwFJgjaa+0qQV4NC33AwcDpO1vArZXx0fsM1q81udfGhFtEdHW3NycxymZmVkNRfb+apY0Jy3PBo4H7gduAD6ailWAq9Py+rRO2n59RESKn5R6hx0KtAK3A3cArak32d5kN/PXF3U+ZmY2vr3GL7LbDgI6Uy+tBuCqiLhG0n3AOklfAO4ELk/lLwe+JamPrIVyEkBE3CvpKuA+YCdwekS8DCDpDGAjMAtYGxH3Fng+ZmY2jsKSSkT0Au+sEX+Q7P7KyPgLwO+PcqwLgAtqxDcAG/a4smZmlgs/UW9mZrlxUjEzs9w4qZiZWW6cVMzMLDdOKmZmlhsnFTMzy42TipmZ5cZJxczMcjPhpCLpVyUdn5ZnS/qV4qplZmb1aEJJRdKfks1xckkKtQD/t6hKmZlZfZpoS+V04FjgFwARsRV4c1GVMjOz+jTRpPJiml0ReGVo+ppzl5iZ2cw10aTyA0n/HZgtaRnwj8A/F1ctMzOrRxNNKucCA8DdwGlkIwP/VVGVMjOz+jTRoe9nk81X8nXI5p5PseeKqpiZmdWfibZUriNLIsNmA9fmXx0zM6tnE00q+0bEs8MrafkNY+0g6WBJN0i6X9K9ks5K8c9I+g9JW9JrRdU+50nqk/SApBOq4stTrE/SuVXxQyXdJmmrpCvTtMJmZlaSiSaVX0p61/CKpKOA58fZZyfw5xFxOLAUOF3SEWnbhRGxJL02pGMeQTaF8DuA5cBXJc1Kl9q+AnQARwAfqzrOl9KxWoEngVMneD5mZlaAid5T+STwj5IeTesHAX8w1g4RsQ3YlpafkXQ/sGCMXVYC6yLiReChNFf98LTDfWkaYiStA1am4x0H/JdUphP4DHDxBM/JzMxyNqGWSkTcAbwd+ATwZ8DhEbF5oh8iaSHZfPW3pdAZknolrZU0N8UWAI9U7dafYqPF5wFPRcTOEfFan79KUo+knoGBgYlW28zMdtGYSUXScen994APAW8FWoEPpdi4JO0HfA/4ZET8gqwlcRiwhKwl8zfDRWvsHrsRf30w4tKIaIuItubm5olU28zMdsN4LZXfTu8fqvH64HgHl9RIllC+ExHfB4iIxyLi5YgYAr7Oq5e4+oGDq3ZvAR4dIz4IzElP91fHzerO4OAgZ555Jk888UTZVTHbI2MmlYg4X1ID0BURp4x4/clY+0oScDlwf0R8uSp+UFWx3wXuScvrgZMk7SPpULIW0e3AHUBr6um1N9nN/PUREcANwEfT/hXg6gmet9mU0tnZSW9vL52dnWVXxWyPjHtPJbUoztiNYx8L/DFw3Ijuw/9T0t2SeoH3A/8tfc69wFXAfcC/AqenFs3O9PkbgfuBq1JZgHOAs9NN/XlkScysrgwODtLV1UVE0NXV5daK1bWJ9v7qlvQp4Ergl8PBiNg+2g4R8UNq3/fYMMY+FwAX1IhvqLVf6hF29Mi4WT3p7Owka3jD0NAQnZ2dnH322SXXymz3TPQ5lT8h6/X1A6Cn6mVme6i7u5sdO3YAsGPHDjZt2lRyjcx230STyhFkDyDeBWwBLiJ7SNHM9tCyZctobGwEoLGxkfb29pJrZLb7JppUOoHDgTVkCeXwFDOzPVSpVMj6tUBDQwOVSqXkGpntvokmlbdFxH+NiBvSaxXwtiIrZjZTNDU10dHRgSQ6OjqYN29e2VUy220TTSp3Slo6vCLpGODfiqmS2cxTqVRYvHixWylW9zTc62TMQtk4W28DfpZCh5B17x0CIiIWF1bDnLW1tUVPz/h9DNasWUNfX98k1Cg/W7duBaC1tbXkmkzcokWLWL16ddnVMLNxSNocEW3jlZtol+Lle1ifutPX18edd9/H0BsOKLsqE6aXsh8Im3/y85JrMjENz43aI93M6tSEkkpE/LToikxFQ284gBeOGHc0GttN+953TdlVMLOcTfSeipmZ2bicVMzMLDdOKmZmlhsnFTMzy42TipmZ5cZJxczMcuOkYmZmuSksqUg6WNINku6XdK+ks1L8AEndkram97kpLklrJPVJ6pX0rqpjVVL5rZIqVfGj0oRffWnfWvO3mJnZJCmypbIT+POIOBxYCpwu6QjgXOC6iGgFrkvrAB1kUwi3AquAiyFLQsD5wDFkE3KdP5yIUplVVfvNuCf/zcymksKSSkRsi4gfpeVnyMYKWwCs5NVh8zuBE9PySuCKyNwKzEnz2Z8AdEfE9oh4EugGlqdt+0fELWm++iuqjmVmZiWYlHsqkhYC7wRuA+ZHxDbIEg/w5lRsAfBI1W79KTZWvL9G3MzMSlJ4UpG0H/A94JMR8YuxitaIxW7Ea9VhlaQeST0DAwPjVdnMzHZToUlFUiNZQvlORHw/hR9Ll65I74+neD9wcNXuLcCj48RbasRfJyIujYi2iGhrbm7es5MyK8Dg4CBnnnkmTzzxRNlVMdsjRfb+EnA5cH9EfLlq03pguAdXBbi6Kn5y6gW2FHg6XR7bCLRLmptu0LcDG9O2ZyQtTZ91ctWxzOpKZ2cnvb29dHZ6lm6rb0W2VI4F/hg4TtKW9FoBfBFYJmkrsCytA2wAHgT6gK8DfwYQEduBzwN3pNfnUgzgE8BlaZ+fAF0Fno9ZIQYHB9mwYQMRwYYNG9xasbo20Um6dllE/JDa9z0APlCjfACnj3KstcDaGvEe4Mg9qKZZ6To7O9m5cycAO3bsoLOzk7PPPrvkWpntHj9Rb1ayTZs2MTytd0SwcePGkmtktvucVMxKNn/+/DHXzeqJk4pZyX7+85+PuW5WT5xUzEp24IEHjrluU5+7hL/KScWsZG6p1D93CX+Vk4pZydxSqW+Dg4N0dXUREXR1dc341oqTilnJHnvssTHXbWrr7Ox8pffe0NDQjG+tOKmYlay9vZ3hqYAkccIJJ5RcI9sV3d3d7NixA8ieM9q0aVPJNSqXk4pZySqVCnvtlT2H3NjYSKVSGWcPm0qWLVtGY2MjkH1/7e3tJdeoXIU9UV/v+vv7aXjuafa975qyqzJtNTz3BP39O8uuRumamppYsWIF69evZ8WKFcybN6/sKtkuqFQqdHVlI0Q1NDTM+B8FbqmYTQGVSoXFixfP+D9I9aipqYmOjg4k0dHRMeN/FLilMoqWlhYee3EvXjjig2VXZdra975raGlxTyfI/jBddNFFZVfDdlOlUuHhhx/2jwKcVMzM9ph/FLzKl7/MpgA/kW3ThZOK2RTgJ7JtunBSMSuZn8i26aTI6YTXSnpc0j1Vsc9I+o8RM0EObztPUp+kBySdUBVfnmJ9ks6tih8q6TZJWyVdKWnvos7FrEh+ItumkyJv1H8T+DvgihHxCyPif1cHJB0BnAS8A3gLcK2kt6bNXyGbdrgfuEPS+oi4D/hSOtY6SV8DTgUuLupkzADWrFlDX19frsfs7e1laGgIyJ7IXr9+PQ8//HBux1+0aBGrV6/O7XhmYymspRIRNwHbxy2YWQmsi4gXI+Ihsjnnj06vvoh4MCJeAtYBK5WNaXEc8N20fydwYq4nYDZJ5s6dO+a6WT0po0vxGZJOBnqAP4+IJ4EFwK1VZfpTDOCREfFjgHnAUxGxs0b515G0ClgFcMghh+RxDjZDFfGLf3BwkI985CNEBPvssw+XXXbZjH+AzurXZN+ovxg4DFgCbAP+JsVVo2zsRrymiLg0Itoioq25uXnXamxWsKamJg444AAAP5FtdW9SWyoR8cqY3pK+DgwPrNUPHFxVtAV4NC3Xig8CcyTtlVor1eXN6s6BBx7ICy+84Ceyre5NaktF0kFVq78LDPcMWw+cJGkfSYcCrcDtwB1Aa+rptTfZzfz1kXWVuQH4aNq/Alw9GedgVoTGxkZaW1vdSrG6V1hLRdI/AO8DmiT1A+cD75O0hOxS1cPAaQARca+kq4D7gJ3A6RHxcjrOGcBGYBawNiLuTR9xDrBO0heAO4HLizoXMzObmMKSSkR8rEZ41D/8EXEBcEGN+AZgQ434g2S9w8zMbIrwE/VmZpYbj1I8hobnttfVJF164RcAxL77l1yTiWl4bjvgoe/NphMnlVEsWrSo7Crssq1bnwGg9bB6+UN9YF3+dzaz0TmpjKIeh7UYrvOaNWtKromZzVS+p2JmZrlxUjEzs9w4qZiZWW6cVMzMLDdOKmZmlhsnFTMzy427FJvZjFDErJ3D+vv7AWhpacn92PU2c6eTiplNKUX98e/v7+f555/P/bjAK8ct4vj9/f2F/PcoKlk5qZjZlNLX18ed994Jc3I+sIA35HzMYUPZ27NveDb3Qz/Lswz8x0C+B30q38NVc1Ixs6lnDgy9b6jsWkxbDTcWdzvdN+rNzCw3hSUVSWslPS7pnqrYAZK6JW1N73NTXJLWSOqT1CvpXVX7VFL5rZIqVfGjJN2d9lkjqda89WZmNomKvPz1TeDvgCuqYucC10XEFyWdm9bPATrIphBuBY4BLgaOkXQA2YyRbWSzRW6WtD4inkxlVgG3kk3itRzoKvB8rE4U2cunKFu3bgXqbyDTeuuZZMUrcubHmyQtHBFeSTbFMEAncCNZUlkJXJHmnr9V0pw0n/37gO6I2A4gqRtYLulGYP+IuCXFrwBOxEnFyG70/vs9P+KQ/V4uuyoTtveO7KLBCw/fUXJNJu5nz84quwo2BU32jfr5EbENICK2SXpzii8AHqkq159iY8X7a8TNADhkv5f5q7b8e+LYq77Qs1/ZVbApaKrcqK91PyR2I1774NIqST2SegYGcu6aZ2Zmr5jspPJYuqxFen88xfuBg6vKtQCPjhNvqRGvKSIujYi2iGhrbm7e45MwM7PaJjuprAeGe3BVgKur4ienXmBLgafTZbKNQLukuamnWDuwMW17RtLS1Ovr5KpjmZlZSQq7pyLpH8hutDdJ6ifrxfVF4CpJpwI/A34/Fd8ArAD6gOeAUwAiYrukzwPDdy8/N3zTHvgEWQ+z2WQ36H2T3sysZEX2/vrYKJs+UKNsAKePcpy1wNoa8R7gyD2po5lNPf39/fB0sU99z3hPQX/0j19uN/hbMzOz3HjsLzObUlpaWhjQgMf+KlDDjQ20LMh/mH5wS8XMzHLklopNO/39/fzymVl+OK9gP31mFm/sL+a6vNUvJxUzm3qeqrMb9cODN9TL75inKGwMEicVm3ZaWlp4Yec2D9NSsC/07Me+BU2fW2+GBwRtXdBack0maEFx/52dVMxsSilq1ON6HL0a6m8kaCcVM7M9NHv27LKrMGU4qZjZjFBPv/brmZOKTUs/e7a+en899lx2U3r+G+rn2YyfPTuLt5ZdCZtynFQmWZHXdYucPbCeruvW443el9J3t+/COrnRC7yV+vxvbcVyUplGfF03Uy/Jr9pwndesWVNyTcz2jJPKJKvHP3hmZhNVR08XmZnZVOekYmZmuXFSMTOz3JSSVCQ9LOluSVsk9aTYAZK6JW1N73NTXJLWSOqT1CvpXVXHqaTyWyVVRvs8MzObHGW2VN4fEUsioi2tnwtcFxGtwHVpHaADaE2vVcDFkCUhsimKjwGOBs4fTkRmZlaOqdT7ayXZnPYAncCNwDkpfkWacvhWSXMkHZTKdg/PWS+pG1gO/MPkVttmkqKeM/IzRjZdlNVSCWCTpM2SVqXY/IjYBpDe35ziC4BHqvbtT7HR4q8jaZWkHkk9AwMDOZ6GWT5mz57t54xsWiirpXJsRDwq6c1At6Qfj1FWNWIxRvz1wYhLgUsB2traapYxmwj/4jcbWyktlYh4NL0/DvwT2T2Rx9JlLdL746l4P3Bw1e4twKNjxM3MrCSTnlQkvVHSrwwvA+3APcB6YLgHVwW4Oi2vB05OvcCWAk+ny2MbgXZJc9MN+vYUMzOzkpRx+Ws+8E+Shj//7yPiXyXdAVwl6VTgZ8Dvp/IbgBVAH/AccApARGyX9HngjlTuc8M37c3MrBzKOlXNHG1tbdHT01N2NczM6oqkzVWPgIzKT9SbmVlunFTMzCw3TipmZpYbJxUzM8vNjLtRL2kA+GnZ9ShQEzBYdiVst/i7q2/T/fv71YhoHq/QjEsq052knon00LCpx99dffP3l/HlLzMzy42TipmZ5cZJZfq5tOwK2G7zd1ff/P3heypmZpYjt1TMzCw3TiozhKT3Sbqm7HrMZJJWS7pf0nd2cb8bJc34XkVlkzRL0p278+9I0kJJ9xRRr6lmKk0nbLtA2TDPioihsutiE/ZnQEdEPFR2RWy3nAXcD+xfdkWmMrdU6kj6tXO/pK8CDwKXp/hZkh5My4dJ+mFaXi7px2n990qruCHpa8CvAeslPSNpTpoj6AlJJ6cy35J0vKTZktZJ6pV0JeB5hksmqQX4HeCytH60pO+n5ZWSnpe0t6R9q/4tHiXpLkm3AKeXVvlJ5qRSf94GXAG8Bzgyxd4LPCFpAfCbwM2S9gW+DnwobT+whLpaEhEfJ5uZ9P3Ad4BjgXeQ/Th4byq2FLgV+ATwXEQsBi4Ajpr0CttIfwt8Ghi+MvAj4J1p+b1kEw2+GzgGuC3FvwGsjoj3TGI9S+ekUn9+GhG3RsTPgf3SLJoHA38P/BbZ/+A3A28HHoqIrZF18ft2aTW2kW4m+65+C7gY+PX0g2B7RDyb4t8GiIheoLesihpI+iDweERsHo5FxE6gT9LhZNOhf5mqf3+S3gTMiYgfpF2+NcnVLo2TSv35ZdXyLWQzYT5A9ofqvWQtmH9L291ffGq6iey7ei9wIzAAfJTsOxzm727qOBb4sKSHgXXAcZK+TfZ9dQA7gGvJrhL8Jtn3K2bod+ikUt9uAj6V3u8ku7TyYkQ8DfwYOFTSYansx8qpoo0UEY+QDT7YGhEPAj8k+x6Hk8pNwB8CSDoSWFxGPS0TEedFREtELAROAq6PiD8i+54+CdwSEQPAPLIrBPdGxFPA05J+Mx3mD0uoeimcVOrbzWSXvm6KiJeBR8j+QBERLwCrgH9JN+qn88jM9eg24N/T8s3AAtJ3R3ZJbD9JvWTX8W+f/OrZBNwGzCdLLpBdpuyNV58oPwX4SrpR/3wJ9SuFn6g3M7PcuKViZma5cVIxM7PcOKmYmVlunFTMzCw3TipmZpYbJxWzMUj6jKRP1Yh/fHjMrkmow7M5HccjVVvhPEqx2S6StFdEfK3sephNRW6pmI0g6S8lPSDpWrIBPIfnNPlrST8AzhpuwUg6XNLtVfsuTA8tDo9S+wNJmyVtlHRQjc/6tKTVaflCSden5Q+koUCGy12QRry9VdL8FGuW9D1Jd6TXsSn+RklrU+xOSStrfO5vS9qSXnemMeTM9piTilkVSUeRDcXxTrLpAt5dtXlORPx2RPzNcCAi7gf2lvRrKfQHwFWSGoGLgI9GxFHAWrIRh0caHgcMoI3sSfpG0mjTKf5G4NaI+I38gmdJAAAB/ElEQVRU/k9T/P8AF0bEu4GPkIZlB/6SbCiRd5MN3fO/JL1xxOd+Cjg9Ipakz58xT3xbsXz5y+y13gv8U0Q8ByBpfdW2K0fZ5yrgPwNfJEsqf0DWwjkS6M7mU2MWsK3GvpuBo1JL4UWyIdXbUj1WpzIvAddUlV+Wlo8HjkjHB9g/HaedbADE4XtB+wKHjPjcfwO+nGah/H5E9I9ybma7xEnF7PVGG7vol6PErwT+MU3aFBGxVdKvkw0s+Jq5NCQdDPxzWv1aRHwtjX57CvD/yMaPej9wGNksgwA7qsaTeplX/902AO+JiNe0MtKsoB+JiAdGxOe/coIRX5T0L8AK4FZJx0fEj0c5P7MJ8+Uvs9e6CfjdNPvir5BNcjamiPgJ2R/7/8GrrZkHgGZJ7wGQ1CjpHRHxSEQsSa/hm/3Vo03fDHwc2BLjD8y3CThjeEXSkrS4ETgzJRckvXPkjpIOi4i7I+JLQA/Z6Lpme8xJxaxKRPyILDFsAb7Ha+c4GcuVwB+RXQojIl4imyPlS5LuSsf7T6PsezNwENkQ6o8BL0zwc1cDbWna4fvIkhHA54FGoFfSPWl9pE9KuifV7XmgawKfZzYuj1JsZma5cUvFzMxy46RiZma5cVIxM7PcOKmYmVlunFTMzCw3TipmZpYbJxUzM8uNk4qZmeXm/wOJ4wILNo1GjAAAAABJRU5ErkJggg==\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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"discriptive_statistics\">3. Descriptive Statistical Analysis</h2>"
]
},
{
"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",
"<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:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>make</th>\n",
" <th>aspiration</th>\n",
" <th>num-of-doors</th>\n",
" <th>body-style</th>\n",
" <th>drive-wheels</th>\n",
" <th>engine-location</th>\n",
" <th>engine-type</th>\n",
" <th>num-of-cylinders</th>\n",
" <th>fuel-system</th>\n",
" <th>horsepower-binned</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>201</td>\n",
" <td>200</td>\n",
" </tr>\n",
" <tr>\n",
" <th>unique</th>\n",
" <td>22</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>7</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>top</th>\n",
" <td>toyota</td>\n",
" <td>std</td>\n",
" <td>four</td>\n",
" <td>sedan</td>\n",
" <td>fwd</td>\n",
" <td>front</td>\n",
" <td>ohc</td>\n",
" <td>four</td>\n",
" <td>mpfi</td>\n",
" <td>Low</td>\n",
" </tr>\n",
" <tr>\n",
" <th>freq</th>\n",
" <td>32</td>\n",
" <td>165</td>\n",
" <td>115</td>\n",
" <td>94</td>\n",
" <td>118</td>\n",
" <td>198</td>\n",
" <td>145</td>\n",
" <td>157</td>\n",
" <td>92</td>\n",
" <td>115</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" make aspiration num-of-doors body-style drive-wheels \\\n",
"count 201 201 201 201 201 \n",
"unique 22 2 2 5 3 \n",
"top toyota std four sedan fwd \n",
"freq 32 165 115 94 118 \n",
"\n",
" engine-location engine-type num-of-cylinders fuel-system \\\n",
"count 201 201 201 201 \n",
"unique 2 6 7 8 \n",
"top front ohc four mpfi \n",
"freq 198 145 157 92 \n",
"\n",
" horsepower-binned \n",
"count 200 \n",
"unique 3 \n",
"top Low \n",
"freq 115 "
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe(include=['object'])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Value Counts</h3>"
]
},
{
"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>"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"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 :"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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'."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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':"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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'."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"basic_grouping\">4. Basics of Grouping</h2>"
]
},
{
"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>"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false
},
"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>"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": true
},
"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."
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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>"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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>"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead 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>"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false,
"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>"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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",
"df_gptest2 = df[['body-style','price']]\n",
"grouped_test_bodystyle = df_gptest2.groupby(['body-style'],as_index= False).mean()\n",
"grouped_test_bodystyle"
]
},
{
"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",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you did not import \"pyplot\" let's do it again. "
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": true
},
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's use a heat map to visualize the relationship between Body Style vs Price."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#use the grouped results\n",
"plt.pcolor(grouped_pivot, cmap='RdBu')\n",
"plt.colorbar()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>The heatmap plots the target variable (price) proportional to colour with respect to the variables 'drive-wheel' and 'body-style' in the vertical and horizontal axis respectively. This allows us to visualize how the price is related to 'drive-wheel' and 'body-style'.</p>\n",
"\n",
"<p>The default labels convey no useful information to us. Let's change that:</p>"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"correlation_causation\">5. Correlation and Causation</h2>"
]
},
{
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p3>Pearson Correlation</p>\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>"
]
},
{
"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>"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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": 36,
"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. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<b>P-value</b>: \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",
"<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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can obtain this information using \"stats\" module in the \"scipy\" library."
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from scipy import stats"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Wheel-base vs Price</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's calculate the Pearson Correlation Coefficient and P-value of 'wheel-base' and 'price'. "
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is 0.5846418222655081 with a P-value of P = 8.076488270732955e-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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Horsepower vs Price</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's calculate the Pearson Correlation Coefficient and P-value of 'horsepower' and 'price'."
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is 0.8095745670036559 with a P-value of P = 6.36905742825998e-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>"
]
},
{
"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'."
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is 0.690628380448364 with a P-value of P = 8.016477466159053e-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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Width vs Price</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's calculate the Pearson Correlation Coefficient and P-value of 'width' and 'price':"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is 0.7512653440522674 with a P-value of P = 9.200335510481426e-38\n"
]
}
],
"source": [
"pearson_coef, p_value = stats.pearsonr(df['width'], df['price'])\n",
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value ) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Conclusion:\n",
"\n",
"Since the p-value is < 0.001, the correlation between width and price is statistically significant, and the linear relationship is quite strong (~0.751)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Curb-weight vs Price"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's calculate the Pearson Correlation Coefficient and P-value of 'curb-weight' and 'price':"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is 0.8344145257702846 with a P-value of P = 2.1895772388936997e-53\n"
]
}
],
"source": [
"pearson_coef, p_value = stats.pearsonr(df['curb-weight'], df['price'])\n",
"print( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h5>Conclusion:</h5>\n",
"<p>Since the p-value is $<$ 0.001, the correlation between curb-weight and price is statistically significant, and the linear relationship is quite strong (~0.834).</p>"
]
},
{
"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':"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is 0.8723351674455185 with a P-value of P = 9.265491622197996e-64\n"
]
}
],
"source": [
"pearson_coef, p_value = stats.pearsonr(df['engine-size'], df['price'])\n",
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h5>Conclusion:</h5>\n",
"\n",
"<p>Since the p-value is $<$ 0.001, the correlation between engine-size and price is statistically significant, and the linear relationship is very strong (~0.872).</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Bore vs Price</h3>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's calculate the Pearson Correlation Coefficient and P-value of 'bore' and 'price':"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is 0.5431553832626602 with a P-value of P = 8.049189483935364e-17\n"
]
}
],
"source": [
"pearson_coef, p_value = stats.pearsonr(df['bore'], df['price'])\n",
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h5>Conclusion:</h5>\n",
"<p>Since the p-value is $<$ 0.001, the correlation between bore and price is statistically significant, but the linear relationship is only moderate (~0.521).</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can relate the process for each 'City-mpg' and 'Highway-mpg':"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>City-mpg vs Price</h3>"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is -0.6865710067844677 with a P-value of P = 2.3211320655676368e-29\n"
]
}
],
"source": [
"pearson_coef, p_value = stats.pearsonr(df['city-mpg'], df['price'])\n",
"print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h5>Conclusion:</h5>\n",
"<p>Since the p-value is $<$ 0.001, the correlation between city-mpg and price is statistically significant, and the coefficient of ~ -0.687 shows that the relationship is negative and moderately strong.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Highway-mpg vs Price</h3>"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Pearson Correlation Coefficient is -0.7046922650589529 with a P-value of P = 1.7495471144476807e-31\n"
]
}
],
"source": [
"pearson_coef, p_value = stats.pearsonr(df['highway-mpg'], df['price'])\n",
"print( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### Conclusion:\n",
"Since the p-value is < 0.001, the correlation between highway-mpg and price is statistically significant, and the coefficient of ~ -0.705 shows that the relationship is negative and moderately strong."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"anova\">6. ANOVA</h2>"
]
},
{
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Drive Wheels</h3>"
]
},
{
"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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's see if different types 'drive-wheels' impact 'price', we group the data."
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>drive-wheels</th>\n",
" <th>price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>rwd</td>\n",
" <td>13495.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>rwd</td>\n",
" <td>16500.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>fwd</td>\n",
" <td>13950.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4wd</td>\n",
" <td>17450.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>fwd</td>\n",
" <td>15250.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>136</th>\n",
" <td>4wd</td>\n",
" <td>7603.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" drive-wheels price\n",
"0 rwd 13495.0\n",
"1 rwd 16500.0\n",
"3 fwd 13950.0\n",
"4 4wd 17450.0\n",
"5 fwd 15250.0\n",
"136 4wd 7603.0"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"grouped_test2=df_gptest[['drive-wheels', 'price']].groupby(['drive-wheels'])\n",
"grouped_test2.head(2)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>drive-wheels</th>\n",
" <th>body-style</th>\n",
" <th>price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>rwd</td>\n",
" <td>convertible</td>\n",
" <td>13495.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>rwd</td>\n",
" <td>convertible</td>\n",
" <td>16500.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>rwd</td>\n",
" <td>hatchback</td>\n",
" <td>16500.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>13950.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4wd</td>\n",
" <td>sedan</td>\n",
" <td>17450.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>15250.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>17710.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>fwd</td>\n",
" <td>wagon</td>\n",
" <td>18920.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>23875.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>16430.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>16925.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>20970.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>21105.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>24565.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>30760.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>41315.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>36880.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>5151.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>6295.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>6575.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>5572.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>6377.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>7957.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>6229.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>6692.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>7609.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>8558.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>fwd</td>\n",
" <td>wagon</td>\n",
" <td>8921.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>12964.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>6479.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>171</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>9988.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>172</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>10898.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>173</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>11248.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>174</th>\n",
" <td>rwd</td>\n",
" <td>hatchback</td>\n",
" <td>16558.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>175</th>\n",
" <td>rwd</td>\n",
" <td>hatchback</td>\n",
" <td>15998.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>176</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>15690.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>177</th>\n",
" <td>rwd</td>\n",
" <td>wagon</td>\n",
" <td>15750.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>178</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>7775.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>179</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>7975.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>180</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>7995.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>181</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>8195.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>182</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>8495.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>183</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>9495.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>184</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>9995.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>185</th>\n",
" <td>fwd</td>\n",
" <td>convertible</td>\n",
" <td>11595.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>186</th>\n",
" <td>fwd</td>\n",
" <td>hatchback</td>\n",
" <td>9980.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>187</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>13295.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>188</th>\n",
" <td>fwd</td>\n",
" <td>sedan</td>\n",
" <td>13845.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>189</th>\n",
" <td>fwd</td>\n",
" <td>wagon</td>\n",
" <td>12290.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>190</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>12940.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>191</th>\n",
" <td>rwd</td>\n",
" <td>wagon</td>\n",
" <td>13415.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>192</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>15985.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>193</th>\n",
" <td>rwd</td>\n",
" <td>wagon</td>\n",
" <td>16515.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>194</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>18420.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>195</th>\n",
" <td>rwd</td>\n",
" <td>wagon</td>\n",
" <td>18950.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>196</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>16845.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>197</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>19045.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>198</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>21485.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>199</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>22470.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>200</th>\n",
" <td>rwd</td>\n",
" <td>sedan</td>\n",
" <td>22625.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>201 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" drive-wheels body-style price\n",
"0 rwd convertible 13495.0\n",
"1 rwd convertible 16500.0\n",
"2 rwd hatchback 16500.0\n",
"3 fwd sedan 13950.0\n",
"4 4wd sedan 17450.0\n",
"5 fwd sedan 15250.0\n",
"6 fwd sedan 17710.0\n",
"7 fwd wagon 18920.0\n",
"8 fwd sedan 23875.0\n",
"9 rwd sedan 16430.0\n",
"10 rwd sedan 16925.0\n",
"11 rwd sedan 20970.0\n",
"12 rwd sedan 21105.0\n",
"13 rwd sedan 24565.0\n",
"14 rwd sedan 30760.0\n",
"15 rwd sedan 41315.0\n",
"16 rwd sedan 36880.0\n",
"17 fwd hatchback 5151.0\n",
"18 fwd hatchback 6295.0\n",
"19 fwd sedan 6575.0\n",
"20 fwd hatchback 5572.0\n",
"21 fwd hatchback 6377.0\n",
"22 fwd hatchback 7957.0\n",
"23 fwd hatchback 6229.0\n",
"24 fwd sedan 6692.0\n",
"25 fwd sedan 7609.0\n",
"26 fwd sedan 8558.0\n",
"27 fwd wagon 8921.0\n",
"28 fwd hatchback 12964.0\n",
"29 fwd hatchback 6479.0\n",
".. ... ... ...\n",
"171 fwd hatchback 9988.0\n",
"172 fwd sedan 10898.0\n",
"173 fwd hatchback 11248.0\n",
"174 rwd hatchback 16558.0\n",
"175 rwd hatchback 15998.0\n",
"176 rwd sedan 15690.0\n",
"177 rwd wagon 15750.0\n",
"178 fwd sedan 7775.0\n",
"179 fwd sedan 7975.0\n",
"180 fwd sedan 7995.0\n",
"181 fwd sedan 8195.0\n",
"182 fwd sedan 8495.0\n",
"183 fwd sedan 9495.0\n",
"184 fwd sedan 9995.0\n",
"185 fwd convertible 11595.0\n",
"186 fwd hatchback 9980.0\n",
"187 fwd sedan 13295.0\n",
"188 fwd sedan 13845.0\n",
"189 fwd wagon 12290.0\n",
"190 rwd sedan 12940.0\n",
"191 rwd wagon 13415.0\n",
"192 rwd sedan 15985.0\n",
"193 rwd wagon 16515.0\n",
"194 rwd sedan 18420.0\n",
"195 rwd wagon 18950.0\n",
"196 rwd sedan 16845.0\n",
"197 rwd sedan 19045.0\n",
"198 rwd sedan 21485.0\n",
"199 rwd sedan 22470.0\n",
"200 rwd sedan 22625.0\n",
"\n",
"[201 rows x 3 columns]"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_gptest"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can obtain the values of the method group using the method \"get_group\". "
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4 17450.0\n",
"136 7603.0\n",
"140 9233.0\n",
"141 11259.0\n",
"144 8013.0\n",
"145 11694.0\n",
"150 7898.0\n",
"151 8778.0\n",
"Name: price, dtype: float64"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"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>."
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ANOVA results: F= 67.95406500780399 , P = 3.3945443577151245e-23\n"
]
}
],
"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? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Separately: fwd and rwd"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ANOVA results: F= 130.5533160959111 , P = 2.2355306355677845e-23\n"
]
}
],
"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 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 4wd and rwd"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ANOVA results: F= 8.580681368924756 , P = 0.004411492211225333\n"
]
}
],
"source": [
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('rwd')['price']) \n",
" \n",
"print( \"ANOVA results: F=\", f_val, \", P =\", p_val) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>4wd and fwd</h4>"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ANOVA results: F= 0.665465750252303 , P = 0.41620116697845666\n"
]
}
],
"source": [
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('fwd')['price']) \n",
" \n",
"print(\"ANOVA results: F=\", f_val, \", P =\", p_val) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Conclusion: Important Variables</h3>"
]
},
{
"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",
"<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>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Thank you for completing this notebook</h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
"\n",
" <p><a href=\"https://cocl.us/corsera_da0101en_notebook_bottom\"><img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/BottomAd.png\" width=\"750\" align=\"center\"></a></p>\n",
"</div>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>About the Authors:</h3>\n",
"\n",
"This notebook was written by <a href=\"https://www.linkedin.com/in/mahdi-noorian-58219234/\" target=\"_blank\">Mahdi Noorian PhD</a>, <a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>, Bahare Talayian, Eric Xiao, Steven Dong, Parizad, Hima Vsudevan and <a href=\"https://www.linkedin.com/in/fiorellawever/\" target=\"_blank\">Fiorella Wenver</a> and <a href=\" https://www.linkedin.com/in/yi-leng-yao-84451275/ \" target=\"_blank\" >Yi Yao</a>.\n",
"\n",
"<p><a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a> is a Data Scientist at IBM, and holds a PhD in Electrical Engineering. His research focused on using Machine Learning, Signal Processing, and Computer Vision to determine how videos impact human cognition. Joseph has been working for IBM since he completed his PhD.</p>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<hr>\n",
"<p>Copyright &copy; 2018 IBM Developer Skills Network. This notebook and its source code are released under the terms of the <a href=\"https://cognitiveclass.ai/mit-license/\">MIT License</a>.</p>"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.8"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment