Skip to content

Instantly share code, notes, and snippets.

@Moloi-Mokete
Created March 7, 2019 09:00
Show Gist options
  • Save Moloi-Mokete/40650d05d0e6399c505a4be8f1abbc37 to your computer and use it in GitHub Desktop.
Save Moloi-Mokete/40650d05d0e6399c505a4be8f1abbc37 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": 4,
"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": 5,
"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": 6,
"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": 7,
"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": 7,
"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": 23,
"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": 23,
"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": 12,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"(0, 55992.597416100194)"
]
},
"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": [
"# 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": 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>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": 13,
"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": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2fd40bf860>"
]
},
"execution_count": 14,
"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": 15,
"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": 15,
"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": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2fd40290f0>"
]
},
"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.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": 17,
"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": 17,
"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": 20,
"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": 20,
"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": 24,
"metadata": {
"collapsed": false
},
"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": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2fc9af5e48>"
]
},
"execution_count": 24,
"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": 25,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2fc99d37f0>"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAEKCAYAAADaa8itAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XucXVV99/HPN2GEUKqBzICQQUNJLCLVVCLi4w3BhAyiYEXBqgyWx1jkYkvrBcvToEKrr7aikyoKEjN4IQJeiJg0GREEKwIDiYEANlOMMiSSGUIQTAK5/J4/1hpyMpy573POTPJ9v17nNfv89tp7r73nnPM7a+991lJEYGZmVoRxta6AmZntPpxUzMysME4qZmZWGCcVMzMrjJOKmZkVxknFzMwK46RiZmaFcVIxM7PCOKmYmVlh9qp1Baqtvr4+pkyZUutqmJmNKffcc093RDQMVG6PSypTpkyhvb291tUwMxtTJP12MOV8+svMzArjpGJmZoVxUjEzs8I4qZiZWWGcVMzMrDBOKmZmVhgnFTMzK0zFf6ciaTzQDjwaESdLWgC8GXgyFzkrIlZIEvAl4CRgU47fm9fRDFycy18aEa05fjSwAJgALAY+Gh4f2cxGoZaWFjo6Ooa0TGdnJwCNjY1DWm7q1KlccMEFQ1qmKNVoqXwUeLBX7GMRMT0/VuRYEzAtP+YAVwBIOgCYC7wWOAaYK2n/vMwVuWzPcrMruSNmZtW0efNmNm/eXOtqDElFWyqSGoG3AZcBFw5Q/BTgmtzS+KWkiZIOBo4D2iJiQ15nGzBb0q3ACyPijhy/BjgVWFKJfTEzG4nhtBx6lmlpaSm6OhVT6ZbKF4GPAzt6xS+TtFLS5ZL2zrHJwCMlZTpzrL94Z5n480iaI6ldUntXV9ewd8bMzPpXsaQi6WRgfUTc02vWRcARwGuAA4BP9CxSZjUxjPjzgxFXRsSMiJjR0DBgf2hmZjZMlWypvB54h6Q1wELgeEnfioh1kTwDfIN0nQRSS+PQkuUbgbUDxBvLxM3MrEYqllQi4qKIaIyIKcAZwE8j4v35Ogn5bq9TgfvzIouAM5UcCzwZEeuApcAsSfvnC/SzgKV53lOSjs3rOhO4sVL7Y2ZmA6tF1/ffltRAOn21AvjbHF9Mup24g3RL8QcBImKDpM8Cd+dyn+m5aA+cw85bipfgi/RmZjVVlaQSEbcCt+bp4/soE8C5fcybD8wvE28HjiqqnmZmNjL+Rb2ZmRXGScXMzArjpGJmZoVxUjEzs8I4qZiZWWGcVMzMrDBOKmZmVhgnFTMzK4yTitko0N3dzfnnn8/jjz9e66qYjYiTitko0NraysqVK2ltba11VcxGxEnFrMa6u7tZvHgxEcHixYvdWrExzUnFrMZaW1vZtm0bAFu3bnVrxcY0JxWzGlu2bBmpP1WICJYuXVrjGpkNn5OKWY0ddNBB/T43G0ucVMxq7LHHHuv3udlYUvGkImm8pOWSbsrPD5N0p6TVkr4r6QU5vnd+3pHnTylZx0U5/mtJJ5bEZ+dYh6RPVnpfzCph1qxZpMFLQRInnnjiAEuYjV7VaKl8FHiw5PnngcsjYhrwBHB2jp8NPBERU4HLczkkHUkajvgVwGzgKzlRjQe+DDQBRwLvzWXNxpTm5mbq6uoAqKuro7m5ucY1Mhu+iiYVSY3A24Cv5+cCjgduyEVaSePUA5ySn5Pnn5DLnwIsjIhnIuI3pOGGj8mPjoh4OCKeBRbmsmZjSn19PU1NTUjipJNOYtKkSbWuktmwVbql8kXg48CO/HwSsDEituXnncDkPD0ZeAQgz38yl38u3muZvuJmY05zczOvfOUr3UqxMa9iSUXSycD6iLinNFymaAwwb6jxcnWZI6ldUntXV1c/tTarjfr6eubNm+dWio15lWypvB54h6Q1pFNTx5NaLhMl7ZXLNAJr83QncChAnv8iYENpvNcyfcWfJyKujIgZETGjoaFh5HtmZmZlVSypRMRFEdEYEVNIF9p/GhHvA24BTsvFmoEb8/Si/Jw8/6eRfhG2CDgj3x12GDANuAu4G5iW7yZ7Qd7Gokrtj5mZDWyvgYsU7hPAQkmXAsuBq3P8auCbkjpILZQzACJilaTrgAeAbcC5EbEdQNJ5wFJgPDA/IlZVdU/MzGwXVUkqEXErcGuefph051bvMluAd/ex/GXAZWXii4HFBVbVzMxGwL+oNzOzwjipmJlZYZxUzMysME4qZmZWGCcVMzMrjJOKmZkVxknFbBTo7u7m/PPP9/j0NuY5qZiNAq2traxcudLj09uYV4tf1O82Wlpa6OjoGNIynZ2dADQ2Ng55e1OnTuWCCy4Y8nI2unV3d7NkyRIigiVLltDc3OyOJW3MckulyjZv3szmzZtrXQ0bRVpbW0nd3MGOHTvcWrExzS2VERhOq6FnmZaWlqKrY2NUW1sbW7duBWDr1q0sW7aMCy+8sMa1Mhset1TMamzmzJm7jFE/a9asGtfIbPicVMxq7O1vf/tzp78igne84x01rpHZ8DmpmNXYj370o11aKosWeVggG7ucVMxqrK2tbZeWyrJly2pcI7Phc1Ixq7E3vvGNuzx/05veVKOamI1cxZKKpH0k3SXpV5JWSfp0ji+Q9BtJK/Jjeo5LUoukDkkrJb26ZF3NklbnR3NJ/GhJ9+VlWtRzDsHMzGqiki2VZ4DjI+JVwHRgtqRj87yPRcT0/FiRY02k8eenAXOAKwAkHQDMBV5LGjFyrqT98zJX5LI9y82u4P6YVcTtt9++y/PbbrutRjUxG7mKJZVIns5P6/Ij+lnkFOCavNwvgYmSDgZOBNoiYkNEPAG0kRLUwcALI+KOSCekrwFOrdT+mFXKzJkz2Wuv9JOxvfbay7cU25hW0WsqksZLWgGsJyWGO/Osy/Iprssl7Z1jk4FHShbvzLH+4p1l4uXqMUdSu6T2rq6uEe+XWZGam5ufu/tr3LhxNDc3D7CE2ehV0aQSEdsjYjrQCBwj6SjgIuAI4DXAAcAncvFy10NiGPFy9bgyImZExIyGhoYh7oVZZdXX1zN5cvo+dMghh7jfLxvTqnL3V0RsBG4FZkfEunyK6xngG6TrJJBaGoeWLNYIrB0g3lgmbjamdHd3s3ZteumuXbvW3d/bmFbJu78aJE3M0xOAtwIP5Wsh5Du1TgXuz4ssAs7Md4EdCzwZEeuApcAsSfvnC/SzgKV53lOSjs3rOhO4sVL7Y1YppR1KRoQ7lLQxrZItlYOBWyStBO4mXVO5Cfi2pPuA+4B64NJcfjHwMNABXAV8BCAiNgCfzeu4G/hMjgGcA3w9L/O/wJIK7o9ZRZTrUNJsrKpYL8URsRL4yzLx4/soH8C5fcybD8wvE28HjhpZTc1qa+bMmSxevJitW7dSV1fnu79sTPMv6s1qzHd/2e7EScWsxurr62lqakISTU1NvvvLxjQP0mU2CjQ3N7NmzRq3UmzMc1IxGwXq6+uZN29erathNmJOKmZmQ9DS0kJHR0dVtrV69WpgeEOXD8fUqVNHvC0nFTOzIejo6GDVfQ8ycd8DK76tHc+mGzge/d/K/yB246b1hazHScXMbIgm7nsgbznijFpXo1C3PLSwkPU4qZgVbDinRzo7U9+ojY2NA5TcVRGnK8yK5KRiNgps3ry51lUwK4STilnBhtNy6FmmpaWl6OqYVZV//GhmZoVxUjEzs8I4qZiZWWGcVMzMrDC+UI9/IWtmVpSKJRVJ+wC3AXvn7dwQEXMlHQYsJI1Pfy/wgYh4VtLewDXA0cDjwOkRsSav6yLgbGA7cEFELM3x2cCXgPHA1yPic8Opa0dHB8vve4Ad+x4w7P0dLD2bRvi7539/X/Ftjdu0YeBCZmYFqmRL5Rng+Ih4WlId8HNJS4ALgcsjYqGkr5KSxRX57xMRMVXSGcDngdMlHQmcAbwCOAT4iaSX5W18GZhJGq/+bkmLIuKB4VR2x74HsOXIk4e/t6PQPg/cVOsqmNkepmLXVCJ5Oj+ty48AjgduyPFW0jj1AKfk5+T5J+Sx508BFkbEMxHxG9LQwcfkR0dEPBwRz5JaP6dUan/MzGxgFb1QL2m8pBXAeqCNNI78xojYlot0ApPz9GTgEYA8/0lgUmm81zJ9xc3MrEYqmlQiYntETAcaSS2Ll5crlv+qj3lDjT+PpDmS2iW1d3V1DVxxMzMblqrcUhwRG4FbgWOBiZJ6ruU0AmvzdCdwKECe/yJgQ2m81zJ9xctt/8qImBERMxoaGorYJTMzK6NiSUVSg6SJeXoC8FbgQeAW4LRcrBm4MU8vys/J838aEZHjZ0jaO985Ng24C7gbmCbpMEkvIF3MX1Sp/TEzs4FV8u6vg4FWSeNJyeu6iLhJ0gPAQkmXAsuBq3P5q4FvSuogtVDOAIiIVZKuAx4AtgHnRsR2AEnnAUtJtxTPj4hVFdwfMzMbQMWSSkSsBP6yTPxh0vWV3vEtwLv7WNdlwGVl4ouBxSOurJmNGt3d3Xz605/mkksuYdKkSbWujg2Ru2kxs1GltbWVlStX0traOnBhG3WcVMxs1Oju7mbJkiVEBEuWLOHxxys/NrsVy0nFzEaN1tZW0v05sGPHDrdWxiAnFTMbNdra2ti6dSsAW7duZdmyZTWukQ2Vk4qZjRozZ86krq4OgLq6OmbNmlXjGtlQOamY2ajR3NxM6vIPxo0bR3Nz8wBL2GjjpGJmo0Z9fT1NTU1IoqmpybcUj0EepMvMRpXm5mbWrFnjVsoYNeikIumlwLSI+EnudmWviHiqclUzsz1RfX098+bNq3U1bJgGdfpL0odIY5x8LYcagR9WqlJmZjY2DfaayrnA64E/AETEauDASlXKzMzGpsEmlWfy6IrAc13Tlx27xMzM9lyDTSo/k/QpYIKkmcD1wI8qVy0zMxuLBptUPgl0AfcBHyb1DHxxpSplZmZj02Dv/ppAGq/kKkhjz+fYpkpVzMzMxp7BtlRuJiWRHhOAnxRfHTMzG8sGm1T2iYine57k6X37W0DSoZJukfSgpFWSPprjl0h6VNKK/DipZJmLJHVI+rWkE0vis3OsQ9InS+KHSbpT0mpJ383DCpuZWY0MNqn8UdKre55IOhrYPMAy24B/iIiXA8cC50o6Ms+7PCKm58fivM4jSUMIvwKYDXxF0vh8qu3LQBNwJPDekvV8Pq9rGvAEcPYg98fMzCpgsNdU/g64XtLa/Pxg4PT+FoiIdcC6PP2UpAeByf0scgqwMCKeAX6Tx6rvGXa4Iw9DjKSFwCl5fccDf53LtAKXAFcMcp/MzKxgg2qpRMTdwBHAOcBHgJdHxD2D3YikKaTx6u/MofMkrZQ0X9L+OTYZeKRksc4c6ys+CdgYEdt6xcttf46kdkntXV1dg622mZkNUb9JRdLx+e9fAW8HXgZMA96eYwOStB/wPeDvIuIPpJbE4cB0UkvmP3qKllk8hhF/fjDiyoiYEREzGhoaBlNtMzMbhoFOf70Z+CkpofQWwPf7W1hSHSmhfDsivg8QEY+VzL8KuCk/7QQOLVm8Eeg53VYu3g1MlLRXbq2UljczsxroN6lExFxJ44AlEXHdUFasNNLO1cCDEfGFkvjB+XoLwDuB+/P0IuA7kr4AHEJqEd1FapFMk3QY8CjpYv5fR0RIugU4DVgINAM3DqWOZmZWrAEv1EfEDknnAUNKKqQOKD8A3CdpRY59inT31nRSS2cN6Rf6RMQqSdcBD5DuHDs3IrYD5O0vBcaTfoS5Kq/vE8BCSZcCy0lJzMzMamSwd3+1SfpH4LvAH3uCEbGhrwUi4ueUv+6xuJ9lLgMuKxNfXG65fEfYMb3jZmZWG4NNKn9Dall8pFf8z4qtjpmZjWWDTSpHkhLKG0jJ5Xbgq5WqlJmZjU2DTSqtpAG6WvLz9+bYeypRKTMzG5sGm1T+PCJeVfL8Fkm/qkSFzMxs7Bps31/LJR3b80TSa4H/rkyVzMxsrBpsUnkt8AtJayStAe4A3izpPkkrK1Y72611d3dz/vnn8/jjj9e6KmZWkMGe/ppd0VrYHqm1tZWVK1fS2trKhRdeWOvqmFkBBtuh5G/7e1S6krb76e7uZsmSJUQES5YscWvFbDcx2NNfZoVqbW0lIvX/uWPHDlpbW2tcIzMrgpOK1URbWxtbt24FYOvWrSxbtqzGNTKzIjipWE3MnDmTuro6AOrq6pg1a1aNa2RmRXBSsZpobm4mdWQN48aNo7m5ucY1MrMiOKlYTdTX19PU1IQkmpqamDRpUq2rZGYFGOwtxWaFa25uZs2aNW6lmO1GnFSsZurr65k3b16tq2FmBarY6S9Jh0q6RdKDklZJ+miOHyCpTdLq/Hf/HJekFkkdklZKenXJuppz+dWSmkviR+df9XfkZcuN32JmZlVSyWsq24B/iIiXA8cC50o6EvgkcHNETANuzs8BmkhDCE8D5gBXQEpCwFxSVzHHAHN7ElEuM6dkOf/y38yshiqWVCJiXUTcm6efAh4EJgOnkLrNJ/89NU+fAlwTyS+BiZIOBk4E2iJiQ0Q8AbQBs/O8F0bEHZF+RXdNybrMzKwGqnL3l6QpwF8CdwIHRcQ6SIkHODAXmww8UrJYZ471F+8sEzczsxqp+IV6SfsB3wP+LiL+0M9lj3IzYhjxcnWYQzpNxkte8pKBqmzD0NLSQkdHx5CW6exM3wkaGxuHvL2pU6dywQUXDHk5s5Hq7OzkyU1PcctDC2tdlUJt3LSe6Nw84vVUtKUiqY6UUL4dEd/P4cfyqSvy3/U53gkcWrJ4I7B2gHhjmfjzRMSVETEjImY0NDSMbKesMJs3b2bz5pG/iM1s9KhYSyXfiXU18GBEfKFk1iKgGfhc/ntjSfw8SQtJF+WfjIh1kpYC/1JycX4WcFFEbJD0VB487E7gTMD3p9bIcFoNPcu0tLQMUNJs9GhsbETPPM5bjjij1lUp1C0PLWRy48h/hFzJ01+vBz4A3CdpRY59ipRMrpN0NvA74N153mLgJKAD2AR8ECAnj88Cd+dyn4mIDXn6HGABMAFYkh9mZlYjFUsqEfFzyl/3ADihTPkAzu1jXfOB+WXi7cBRI6immVVQNa+1+Trb6OBf1JvZqOLrbGObk4qZVYyvte153EuxmZkVxknFzMwK49NfZn0YzkXm4Vq9ejUwvNNFw+GL2lYpTipmfejo6GD5quUwsQob25H+LH90eeW3tbHym7A9l5OKWX8mwo7jdtS6FoUad6vPelvl+NVlZmaFcUuF9GOrcZueZJ8Hbqp1VQo1btPjdHZuq3U1zGwP4paKmZkVxi0VUncQjz2zF1uOPLnWVSnUPg/cRGPji2tdDTPbg7ilYmZmhXFSMTOzwjipmJlZYZxUzMysML5Qb2YDcpc1NliVHE54PnAysD4ijsqxS4APAV252KciYnGedxFwNrAduCAilub4bOBLwHjg6xHxuRw/DFgIHADcC3wgIp6t1P6Y7ck6Ojp4aMUKqnEvYc/pk40rVvRbrgi/r/gW9jyVbKksAP4TuKZX/PKI+PfSgKQjgTOAVwCHAD+R9LI8+8vATKATuFvSooh4APh8XtdCSV8lJaQrKrUzZnu6FwNn9zmY69h0NVHrKux2KnZNJSJuAzYMWDA5BVgYEc9ExG9I49Qfkx8dEfFwboUsBE6RJOB44Ia8fCtwaqE7YGZmQ1aLC/XnSVopab6k/XNsMvBISZnOHOsrPgnYGBHbesXLkjRHUruk9q6urr6KmZnZCFU7qVwBHA5MB9YB/5Hj5drUMYx4WRFxZUTMiIgZDQ0NQ6uxmZkNWlXv/oqIx3qmJV0F9PTg2AkcWlK0EVibp8vFu4GJkvbKrZXS8mZmViNVTSqSDo6IdfnpO4H78/Qi4DuSvkC6UD8NuIvUIpmW7/R6lHQx/68jIiTdApxGus7SDNw4krqN27ShKr0Ua8sfAIh9XljxbY3btAGqcr+OmVlSyVuKrwWOA+oldQJzgeMkTSedqloDfBggIlZJug54ANgGnBsR2/N6zgOWkm4pnh8Rq/ImPgEslHQpsBy4erh1nTp16nAXHbLVq58CYNrh1fiwf3FV983MrGJJJSLeWybc5wd/RFwGXFYmvhhYXCb+MOnusBGr5g+ferbV0tJStW2amVWLu2kxM7PCOKmYmVlhnFTMzKwwTipmZlYYJxUzMyuMk4qZmRXGScXMzArjpGJmZoXxyI+2C4/wZ2Yj4aRiu+jo6OB/7r+Xl+y3veLbesHW1FDesubuim/rd0+Pr/g2zMxJZUSG861+JN/Oq/VN+yX7befiGU9XfDvVdGn7frWuwpjW2dnJU+x+IyWuA57u7Kx1NXYrTipVNmHChFpXwcysYpxURsDn521P0djYyMbu7t1yjPqJjY21rsZuxUnFrA+dnZ3wJIy7dTe7SXIjdIZP+Vhl7GbvFjMzq6VKDtI1HzgZWB8RR+XYAcB3gSmkQbreExFPSBLwJeAkYBNwVkTcm5dpBi7Oq700Ilpz/GhgATCBNN7KRyNi97qKaDXV2NhIl7rYcdyOWlelUONuHUfjZJ/yscqoZEtlATC7V+yTwM0RMQ24OT8HaCINITwNmANcAc8lobnAa0kDcs2VtH9e5opctme53tsyM7Mqq1hSiYjbgA29wqcArXm6FTi1JH5NJL8EJko6GDgRaIuIDRHxBNAGzM7zXhgRd+TWyTUl6zIzsxqp9jWVgyJiHUD+e2COTwYeKSnXmWP9xTvLxM3MrIZGy4X6cvcpxjDi5VcuzZHULqm9q6trmFU0M7OBVDupPJZPXZH/rs/xTuDQknKNwNoB4o1l4mVFxJURMSMiZjQ0NIx4J8zMrLxq/05lEdAMfC7/vbEkfp6khaSL8k9GxDpJS4F/Kbk4Pwu4KCI2SHpK0rHAncCZwLxq7oiZ7bk2blrPLQ8trPh2nt7yBAD77bP/ACVHbuOm9Uxm0ojXU8lbiq8FjgPqJXWS7uL6HHCdpLOB3wHvzsUXk24n7iDdUvxBgJw8Pgv09Dj4mYjoufh/DjtvKV6SH2ZmFTV16tSqbWv16vRxN/nwkX/YD2QykwrZt4ollYh4bx+zTihTNoBz+1jPfGB+mXg7cNRI6mhmNlTV7J6pZ1stLS1V2+ZIuZsW20VnZyd/fGr8bter72+fGs+fuDdas4obLXd/mZnZbsAtFdtFY2MjW7at2y3HU9nHvdGaVZyTiplZFVRzUL9aDp3tpGLWn41V6vq+p2FYjUtZGxlW/xO/pzojPz6e/1b+fqe0TxOrsJ3hGouD+jmpmPWhureOpm+k0yZPq/zGJg9936p5LLrysZg4rfLHYiLV27c9ZVA/JxWzPvjW0Z18LGywfPeXmZkVxknFzMwK49NfZlYxe8odT7aTk4qZjSpj8Y4n28lJxZ7nd09Xp5uWxzals68H7Vv5MeB/9/R4XlbxrVhvbjnseZxUbBfVvHX02XyaY58plb919GVUd9/M9lROKrYL3zpqZiPhu7/MzKwwTipmZlaYmpz+krQGeArYDmyLiBmSDgC+C0wB1gDviYgnJAn4EmlkyE3AWRFxb15PM3BxXu2lEdFazf0wK8e30dqerJYtlbdExPSImJGffxK4OSKmATfn5wBNwLT8mANcAZCT0FzSmPbHAHNLxrI3G1MmTJjgW2lttzCaLtSfQhrTHqAVuBX4RI5fk4cc/qWkiZIOzmXbesasl9QGzAaurW61Dar77RxG9zf00Vovs2qoVUslgGWS7pE0J8cOioh1APnvgTk+GXikZNnOHOsr/jyS5khql9Te1dVV4G7YSPjbudnup1YtlddHxFpJBwJtkh7qp6zKxKKf+PODEVcCVwLMmDGj8gNC7IH87dzMoEYtlYhYm/+uB35AuibyWD6tRf67PhfvBA4tWbwRWNtP3MzMaqTqSUXSn0j6055pYBZwP7AIaM7FmoEb8/Qi4EwlxwJP5tNjS4FZkvbPF+hn5ZiZmdVILU5/HQT8IN0pzF7AdyLivyTdDVwn6Wzgd8C7c/nFpNuJO0i3FH8QICI2SPoscHcu95mei/ZmZlYbSjdV7TlmzJgR7e3tta6GmdmYIumekp+A9Mm/qDczs8I4qZiZWWGcVMzMrDBOKmZmVpg97kK9pC7gtzWuRj3QXeM6jBY+Fjv5WOzkY7HTaDkWL42IhoEK7XFJZTSQ1D6Yuyj2BD4WO/lY7ORjsdNYOxY+/WVmZoVxUjEzs8I4qdTGlbWuwCjiY7GTj8VOPhY7jalj4WsqZmZWGLdUzMysME4qo0ge1fIjJc8PkXRDnj5L0n/2sdzTFarPFEn3D6H8qZKOHKDMcZJu6mPeGkn1Q61nmfVU5HhU2lCPt41eRf8ve94bvT8jRiMnlVFC0nhgIvDcCyYi1kbEabWr1ZCdCvSbVMysf5L66z1+l8+I0chJpYSkMyWtlPQrSd+U9FJJN+fYzZJeksstkNQi6ReSHpZ0Wo5/V9JJJetbIOldksZL+jdJd+d1fTjPP07SLZK+A9wHfA44XNKKXL73t51DJf2XpF9LmtvHPnysZDufLuCwjJd0laRVkpZJmiDpQ3kbv5L0PUn7Svo/wDuAf8v1P1zSVEk/yeXulXR4Xud+km6Q9JCkbyuPg5B9TNJd+TE179PbJd0paXle30E5vp+kb0i6L+/vu3odi3pJd0h6WwHHYdDymEE/zvt9v6TTJR0t6WdKQ2gv1c4B6Y7O5e4Azi1ZxxRJt+fjdm8+vj2vmVv7OX6jgqSPS7ogT18u6ad5+gRJ35J0hdIQ36tKX6eSTsr79fP8Hrspxw+Q9MP8f/6lpFfm+CWS5udj8nDPNkeJQb134LnPii9IugX4vKRJeZnlkr7GzpFue39GKP+9P78PTs/rO07SbZJ+IOkBSV+VVJ3P+4jwI92s8Arg10B9fn4A8COgOT//G+CHeXoBcD0pKR8JdOT4O4HWPP0C4BFgAjAHuDjH9wbagcOA44A/AofleVOA+0vq9Nxz4CxgHTApr/N+YEae93T+O4t0p4hy3W4C3jSCYzIF2AZMz8+vA94PTCopcylwfslxOa1k3p3AO/P0PsC+eZ+fJI3UOQ64A3hDLrMG+Kc8fSZwU57en503lfxf4D/y9OeBL5Zsb/+e40Eat+dOYGYNXksiWTEUAAAH60lEQVTvAq4qef4i4BdAQ35+OjA/T68E3pyn/63k/70vsE+enga05+k+j99oegDHAtfn6duBu4A6YC7wYeCAPG88cCvwyvwaeaTk/XBtyWtgHjA3Tx8PrMjTl+Rjuzfpl+ePA3WjYP+H8965CRifn7cA/5yn30YaKr2e539GvAtoy8fxINJYVAfn18kW4M/yvDZK3puVfLilstPxwA0R0Q1pEDDgdcB38vxvAm8oKf/DiNgREQ+Q/pkAS4DjJe0NNAG3RcRm0of9mZJWkD7oJpE+KADuiojfDLKObRHxeF7n93vVh7ydWcBy4F7giJLtDNdvImJFnr6H9KI+Kn+Lvg94Hykh70JpdM/JEfEDgIjYEhGb8uy7IqIzInYAK/I6e1xb8vd1eboRWJq397GS7b0V+HLPghHxRJ6sA24GPh4RbcPa65G5D3irpM9LeiNp2OujgLb8GrgYaJT0ImBiRPwsL/fNknXUAVflfb6eXU8r9nf8Rot7gKPz6+AZUvKbAbyRlGTeI+le0mv1FaT9OwJ4uOT9cG3J+t5APj4R8VNgUj5+AD+OiGfye3c9O9+PtTbU9871EbE9T78J+BZARPwYeILy3gBcGxHbI+Ix4GfAa/K8uyLi4bzOa3n+50VF1GLkx9FKpG8D/Smd/0yvZYmILZJuBU4kfRu9tmT++RGxy3DHko4jtVQGq3f9ej8X8K8R8bUhrHMgpfu5ndRKWgCcGhG/knQW6VtRb/2dkum9ztLXYZSZngd8ISIW5WN2Sck2yv3PtpHexCeS3mRVFRH/I+lo0oil/0r6lrgqIl5XWk7SRPp+zf098BjwKlKLZEvJvP6O36gQEVslrSGN1PoLUovsLcDhwGbgH4HXRMQTkhaQWin9vWbKzes5dqP1eAz1vdP7s2Awv/fo75gN9HlREW6p7HQz6dvTJEjncElvhjPy/PcBPx/EehaS3khvBHqSyFLgHEl1ed0vk/QnZZZ9CvjTftY9M59bnkC6KP7fveYvBf5G0n55O5MlHTiIOg/VnwLr8v68ryT+XP0j4g9Ap6RTc1327jl/PIDTS/7ekadfBDyap5tLyi4Dzut5Imn/PBmk05VHSPrkYHeqKJIOATZFxLeAfwdeCzRIel2eXyfpFRGxEXhSUs83yNJj+SJgXW6NfIB0CmOsuY2UPG4jtU7+ltSyeiHpA/RJpetjTbn8Q8CfSZqSn5/ea13vg+e+jHXn19hY09d7p7fS/W0inQKG539G3AacrnTdtoHUwrkrzztG0mH5WsrpDO7za8RGS0avuYhYJeky4GeStpOa5RcA8yV9DOgiJYuBLAOuARZFxLM59nVS0/fefFG1i5QUetfhcUn/rXRxfgklp3ayn5NOAUwFvhMR7b2WXybp5cAd+drt06TzuOsHUe+h+H+k03i/JZ3q6XmRLySdsrkAOI30Yfg1SZ8BtgLvHsS695Z0J+kLz3tz7BLgekmPAr8kXY+CdE76y/l4bQc+TTotSERsl3QG8CNJf4iIr4xgf4fqL0g3LOwg7fc5pNZTSz5lsxfwRWAV6TU1X9Imdn4JAfgK8D1J7wZuYWgt2tHiduCfgDsi4o+StgC352/py0n7/zD5y1FEbFa6Xfa/JHWz88MR0mvgG5JWApvY9cvFWNLXe6e3TwPX5lOEPyNdKyn3GfFx0mniX5G+TH08In4v6QjSl7LPkV6PtwE/qNhelfAv6s1s1JC0X0Q8nb98fRlYHRGX17peY01uzf1jRJxc7W379JeZjSYfyjczrCKdAizy+qBVgVsqZmZWGLdUzMysME4qZmZWGCcVMzMrjJOK2SBoBL3Oqp+emYe4nrPyb2AGKldIb89mw+GkYjZ2nAUMmFTMaslJxWzw9pLUqtRT7g1KvTOfkHuSvU+pt9y9ASTNVu5tF/irHBsnaXX+5XPP847erYr86+gF2tnz7N8r9YQ9A/i2Ug+1b5P0g5JlZkr6fu8KS3q/Uo/PKyR9TWmIBbOKcVIxG7w/B66MiFcCfwAuJPXldHpE/AXpl/LnSNoHuAp4O6m7nhcD5C5XvsXO7jneCvyqpxPTEtNJnXEeldf7jYi4gdS79fsiYjqwGHh5T4Ii/TL/G6Uryb0rnA68Pi+znf67BjEbMScVs8F7JCJ6+lv7FnACqSfa/8mxVlLfS0fk+OpIPwT7Vsk65pO69YfUP9kuiSB7mNQH1jxJs0kJbBd5vd8E3p87pnwdqduOUicARwN35x8UnkDqCt2sYtz3l9ngDeWXwmXLRsQjkh6TdDypo8n35VNS9+QiiyLinyW9itTL8rnAe0gJqLdvkMb82ULqNn1br/kije9z0RDqbTYibqmYDd5LenoaJnV2+RNgivIIlaQONH9G6m33MO0c6fK9u66Gr5NaL9flcTC2R8T0/PjnfI1lXER8j9QB4avzcrv0UBsRa4G1pPFZFpSp783AaT09Vecerl863J03GwwnFbPBexBozj3lHgBcTrqWcb3SoEs7gK9GxBbSaJ8/zhfqf9trPYuA/Sh/6gtgMnBrPmW1AOhpaSwAvpovuk/IsW+TTss90HslOXYxsCzXuY00KqBZxbjvL7MqkzQDuDwi3ljAuv4TWB4RV4+8ZmYj52sqZlWUBw07hwLuwpJ0D2mclX8Y6brMiuKWipmZFcbXVMzMrDBOKmZmVhgnFTMzK4yTipmZFcZJxczMCuOkYmZmhfn/omI6QJGqFD4AAAAASUVORK5CYII=\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": 26,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2fc99e4ac8>"
]
},
"execution_count": 26,
"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": 27,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f2fc98ff588>"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# drive-wheels\n",
"sns.boxplot(x=\"drive-wheels\", y=\"price\", data=df)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Here we see that the distribution of price between the different drive-wheels categories differs; as such drive-wheels could potentially be a predictor of price.</p>"
]
},
{
"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": 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>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": 28,
"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": 29,
"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": 29,
"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": 30,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"fwd 118\n",
"rwd 75\n",
"4wd 8\n",
"Name: drive-wheels, dtype: int64"
]
},
"execution_count": 30,
"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": 31,
"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": 31,
"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": 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>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": 32,
"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": 33,
"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": 33,
"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": 34,
"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": 34,
"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": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array(['rwd', 'fwd', '4wd'], dtype=object)"
]
},
"execution_count": 35,
"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": 42,
"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": 37,
"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": 37,
"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": 38,
"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": 38,
"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": 39,
"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": 39,
"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": 40,
"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": 40,
"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": 45,
"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": 45,
"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": 46,
"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": 47,
"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": 48,
"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": 49,
"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": 49,
"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": 50,
"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": 51,
"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": 52,
"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": 53,
"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": 54,
"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": 55,
"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": 56,
"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": 57,
"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": 58,
"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": 59,
"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": 60,
"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": 60,
"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": 61,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>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": 61,
"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": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"grouped_test2.get_group('4wd')['price']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can use the function 'f_oneway' in the module 'stats' to obtain the <b>F-test score</b> and <b>P-value</b>."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# ANOVA\n",
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price'], grouped_test2.get_group('4wd')['price']) \n",
" \n",
"print( \"ANOVA results: F=\", f_val, \", P =\", p_val) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is a great result, with a large F test score showing a strong correlation and a P value of almost 0 implying almost certain statistical significance. But does this mean all three tested groups are all this highly correlated? "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Separately: fwd and rwd"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price']) \n",
" \n",
"print( \"ANOVA results: F=\", f_val, \", P =\", p_val )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's examine the other groups "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 4wd and rwd"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [],
"source": [
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('rwd')['price']) \n",
" \n",
"print( \"ANOVA results: F=\", f_val, \", P =\", p_val) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>4wd and fwd</h4>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('fwd')['price']) \n",
" \n",
"print(\"ANOVA results: F=\", f_val, \", P =\", p_val) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h3>Conclusion: Important Variables</h3>"
]
},
{
"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