Created
September 1, 2019 09:55
-
-
Save uncoded0123/b130ac549727f037e2128baa6931f1a4 to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<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": 2, | |
| "metadata": {}, | |
| "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": 3, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>0</td>\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", | |
| " <td>1</td>\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", | |
| " <td>2</td>\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", | |
| " <td>3</td>\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", | |
| " <td>4</td>\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": 3, | |
| "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, | |
| "jupyter": { | |
| "outputs_hidden": 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, | |
| "jupyter": { | |
| "outputs_hidden": 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, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>symboling</td>\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", | |
| " <td>normalized-losses</td>\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", | |
| " <td>wheel-base</td>\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", | |
| " <td>length</td>\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", | |
| " <td>width</td>\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", | |
| " <td>height</td>\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", | |
| " <td>curb-weight</td>\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", | |
| " <td>engine-size</td>\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", | |
| " <td>bore</td>\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", | |
| " <td>stroke</td>\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", | |
| " <td>compression-ratio</td>\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", | |
| " <td>horsepower</td>\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", | |
| " <td>peak-rpm</td>\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", | |
| " <td>city-mpg</td>\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", | |
| " <td>highway-mpg</td>\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", | |
| " <td>price</td>\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", | |
| " <td>city-L/100km</td>\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", | |
| " <td>diesel</td>\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", | |
| " <td>gas</td>\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": 8, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>bore</th>\n", | |
| " <th>stroke</th>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <th>horsepower</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <td>bore</td>\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", | |
| " <td>stroke</td>\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", | |
| " <td>compression-ratio</td>\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", | |
| " <td>horsepower</td>\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": 8, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# Write your code below and press Shift+Enter to execute\n", | |
| "df[['bore','stroke' ,'compression-ratio','horsepower']].corr()\n" | |
| ] | |
| }, | |
| { | |
| "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": 9, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| "/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", | |
| " return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(0, 56339.36897659216)" | |
| ] | |
| }, | |
| "execution_count": 9, | |
| "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": 10, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>engine-size</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.872335</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>price</td>\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": 10, | |
| "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": 11, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7fee7c37c588>" | |
| ] | |
| }, | |
| "execution_count": 11, | |
| "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": 12, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>highway-mpg</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.704692</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>price</td>\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": 12, | |
| "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": 13, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7fee7c2e9278>" | |
| ] | |
| }, | |
| "execution_count": 13, | |
| "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": 14, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>peak-rpm</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.101616</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>price</td>\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": 14, | |
| "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": 15, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>stroke</td>\n", | |
| " <td>1.00000</td>\n", | |
| " <td>0.08231</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>price</td>\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": 15, | |
| "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": 16, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7fee7c2d76a0>" | |
| ] | |
| }, | |
| "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": [ | |
| "# 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": 17, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7fee7c24a908>" | |
| ] | |
| }, | |
| "execution_count": 17, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "sns.boxplot(x=\"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": 18, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| }, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7fee7c192b38>" | |
| ] | |
| }, | |
| "execution_count": 18, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEGCAYAAABPdROvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3df5BdZZ3n8feHDguNGgaaJhW7waAdVwOM0bSYXXRHJUDLKMFdWMKqaXeyxsUI0XFqJNbUgFOFJVOjDIkFGsWlw6gQGWeIVJIlgIhOQbCjSAg/iq4hQn5saBvEICHSne/+cZ4Ltzu3O50+OX26cz+vqlv3nO85z7nP6brV3/uc55znUURgZmY2VkeUXQEzM5vcnEjMzCwXJxIzM8vFicTMzHJxIjEzs1ymlF2B8XbCCSfEjBkzyq6GmdmksmnTpt9GRHOtbXWXSGbMmEF3d3fZ1TAzm1Qk/Wa4bb60ZWZmuTiRmJlZLk4kZmaWixOJmZnl4kRiY9bX18fll19OX19f2VUxsxI5kdiYdXV1sXnzZlatWlV2VcysRE4kNiZ9fX2sX7+eiGD9+vVulZjVscITiaQGSb+SdEdav0rSdkkPpdd5Vfsuk9Qj6QlJ51bF50janLYtl6QUP0rSrSm+UdKMos/HMl1dXezbtw+AgYEBt0rM6th4tEiWAo8NiV0bEbPTay2ApFnAAuBUoAO4XlJD2v8GYDEwM706UnwR8HxEtAHXAtcUeib2qrvuuov+/n4A+vv72bBhQ8k1MrOyFJpIJLUCfw58ZxS7zwduiYi9EfEU0AOcIWk6MDUi7o9sFq5VwAVVZbrS8m3AWZXWihVr3rx5TJmSDYwwZcoUzj777JJrZGZlKbpF8o/AXwP7hsQ/K+lhSd+VdFyKtQDPVO2zLcVa0vLQ+KAyEdEPvAA0Da2EpMWSuiV19/b25jwlA+js7OSII7KvT0NDAwsXLiy5RmZWlsISiaQPA89GxKYhm24A3gLMBnYCX6sUqXGYGCE+UpnBgYiVEdEeEe3NzTXHHLOD1NTUREdHB5Lo6OigqWm//G1mdaLIQRvPBM5PnelHA1Ml/VNEfLyyg6RvA3ek1W3ASVXlW4EdKd5aI15dZpukKcCxwHMFnIvV0NnZydatW90aMatzhbVIImJZRLRGxAyyTvR7IuLjqc+j4qPAI2l5DbAg3Yl1Clmn+oMRsRPYLWlu6v9YCNxeVaYzLV+YPmO/FokVo6mpieXLl7s1YlbnyhhG/u8lzSa7BLUV+DRARGyRtBp4FOgHlkTEQCpzKXAT0AisSy+AG4GbJfWQtUQWjNM5mJlZonr7Ad/e3h6ej8TM7OBI2hQR7bW2+cl2MzPLxYnEzMxycSIxM7NcnEjMzCwXJxIzM8vFicTMzHJxIjEzs1ycSMzMLBcnEhszz9luZuBEYjl4znYzAycSG6O+vj7WrVtHRLBu3Tq3SszqmBOJjUlXV9erU+2+8sorbpWY1TEnEhuTDRs2UBnwMyK48847S66RmZXFicTGZNq0aSOum1n9cCKxMdm1a9eI62ZWP5xIbEzOPvtssgkrQRLnnHNOyTUys7IUnkgkNUj6laQ70vrxkjZIejK9H1e17zJJPZKekHRuVXyOpM1p2/I05S5pWt5bU3yjpBlFn49lOjs7OfLIIwE48sgjPW+7WR0bjxbJUuCxqvUrgLsjYiZwd1pH0iyyqXJPBTqA6yU1pDI3AIvJ5nGfmbYDLAKej4g24FrgmmJPxSqampro6OhAEh/60Ic8b7tZHSs0kUhqBf4c+E5VeD7QlZa7gAuq4rdExN6IeAroAc6QNB2YGhH3R3ab0KohZSrHug04q9JaseJ1dnZy+umnuzViVueKbpH8I/DXwL6q2LSI2AmQ3k9M8Rbgmar9tqVYS1oeGh9UJiL6gReA/X4aS1osqVtSd29vb95zsqSpqYnly5e7NWJW5wpLJJI+DDwbEZtGW6RGLEaIj1RmcCBiZUS0R0R7c3PzKKtjZmajMaXAY58JnC/pPOBoYKqkfwJ2SZoeETvTZatn0/7bgJOqyrcCO1K8tUa8usw2SVOAY4HnijohMzPbX2EtkohYFhGtETGDrBP9noj4OLAG6Ey7dQK3p+U1wIJ0J9YpZJ3qD6bLX7slzU39HwuHlKkc68L0Gfu1SMzMrDhFtkiG81VgtaRFwNPARQARsUXSauBRoB9YEhEDqcylwE1AI7AuvQBuBG6W1EPWElkwXidhZmYZ1dsP+Pb29uju7i67GmZmk4qkTRHRXmubn2w3M7NcnEjMzCwXJxIzM8vFicTMzHJxIjEzs1ycSGzM+vr6uPzyyz1fu1mdcyKxMevq6mLz5s2er92szpXxQKIdBvr6+li/fj0Rwfr161m4cKEHbzQAVqxYQU9PT6l12L59OwAtLS0H2LN4bW1tXHbZZWVXo1BukdiYdHV1sW9fNqjzwMCAWyU2oezZs4c9e/aUXY264SfbbUzOO+88XnrppVfXjznmGNauXVtijcxes3TpUgCuu+66kmty+PCT7XbIzZs3b9Cc7WeffXbJNTKzsjiR2Jicf/75VFqzEcFHPvKRkmtkZmVxIrExWbNmzaAWyY9//OOSa2RmZXEisTG56667BrVINmzYUHKNzKwsTiQ2Ju973/tGXDez+lHYcySSjgbuA45Kn3NbRFwp6SrgU0Bv2vVLEbE2lVkGLAIGgMsj4v+m+Bxem9hqLbA0IkLSUcAqYA7QB1wcEVuLOid7Tb3d7TcZTITnNyaKyt+hcvdWvSv6WZYiH0jcC3wwIl6UdCTwc0mVmQ2vjYh/qN5Z0iyyGQ5PBd4I3CXprWmWxBuAxcADZImkg2yWxEXA8xHRJmkBcA1wcYHnZMnPfvazQev33Xcfy5YtK6k2Btk/zye3/IqTXz9w4J0Pc//hlexiy97f+Fb/p19sKPwzCkskae70F9Pqkek10s/Y+cAtEbEXeCpNn3uGpK3A1Ii4H0DSKuACskQyH7gqlb8N+IYked724k2bNo2tW7cOWrfynfz6Ab70rt+XXQ2bQL7yy6mFf0ahfSSSGiQ9BDwLbIiIjWnTZyU9LOm7ko5LsRbgmari21KsJS0PjQ8qExH9wAvAfuN0SFosqVtSd29v79DNNga7du0acd3M6kehiSQiBiJiNtBK1ro4jewy1VuA2cBO4Gtpd9U6xAjxkcoMrcfKiGiPiPbm5uaDPAurZegDiOecc05JNTGzso3LXVsR8TvgXqAjInalBLMP+DZwRtptG3BSVbFWYEeKt9aIDyojaQpwLPBcQadhVc4///xB634g0ax+FZZIJDVL+pO03AjMAx6XNL1qt48Cj6TlNcACSUdJOgWYCTwYETuB3ZLmKnsCbiFwe1WZzrR8IXCP+0fGhx9INLOKIu/amg50SWogS1irI+IOSTdLmk12CWor8GmAiNgiaTXwKNAPLEl3bAFcymu3/65LL4AbgZtTx/xzZHd92Tio9UDi5z//+ZJrVd+2b9/OH3Y3jEvnqk0ev9ndwOvSsPpFKfKurYeBd9aIf2KEMlcDV9eIdwOn1Yi/DFyUr6Y2FvPmzWPt2rX09/czZcoUD9poVsc8sZWNSWdnJ+vXrwegoaGBhQsXllwja2lpYW//Tt/+a4N85ZdTOargCb48RIqNSVNTEx0dHUiio6PDsyOa1TG3SGzMOjs72bp1q1sjE8jTL7qPBGDXS9lv5GnH7Cu5JuV7+sUGZhb8GU4kNmZNTU0sX7687GpY0tbWVnYVJow/prG2jnqT/yYzKf674URiY9bX18eXv/xlrrzySl/amgCKHJRvsvFUu+PLicTGrKuri82bN7Nq1Srf+muvmgijEE+k0X+LHnl3InBnu41JX18f69evJyJYv349fX19ZVfJ7FWNjY00NjaWXY264RaJjUlXVxcDA9nzov39/W6V2KsO91/ftj+3SGxM7rrrrlcTycDAgKfaNatjTiQ2Ju9973sHrXuqXbP65URiY1IZsNHMzInExmToVLtD182sfjiR2JjMmzdv0DDyHrTRrH45kdiYnH/++YOGkffEVmb1y4nExsQTW5lZhROJjUmtia3MrD4VOdXu0ZIelPRrSVskfTnFj5e0QdKT6f24qjLLJPVIekLSuVXxOZI2p23L05S7pGl5b03xjZJmFHU+Nti8efOYMiV7ntUTW5nVtyJbJHuBD0bEO4DZQIekucAVwN0RMRO4O60jaRbZVLmnAh3A9WmaXoAbgMVkA1nOTNsBFgHPR0QbcC1wTYHnY1U6Ozs54ojs6+OJrczqW2GJJDIvptUj0yuA+UBXincBF6Tl+cAtEbE3Ip4CeoAzJE0HpkbE/ZFdS1k1pEzlWLcBZ1VaK1YsT2xlZhWF9pFIapD0EPAssCEiNgLTImInQHo/Me3eAjxTVXxbirWk5aHxQWUioh94AdjvP5qkxZK6JXX39vYeqtOre52dnZx++ulujZjVuUITSUQMRMRsoJWsdXHaCLvXaknECPGRygytx8qIaI+I9ubm5gNV20apMrGVWyNm9W1c7tqKiN8B95L1bexKl6tI78+m3bYBJ1UVawV2pHhrjfigMpKmAMcCzxVyEmZmVlORd201S/qTtNwIzAMeB9YAnWm3TuD2tLwGWJDuxDqFrFP9wXT5a7ekuan/Y+GQMpVjXQjcE5V7Us3MbFwUOR/JdKAr3Xl1BLA6Iu6QdD+wWtIi4GngIoCI2CJpNfAo0A8siYiBdKxLgZuARmBdegHcCNwsqYesJbKgwPMxM7MaVG8/4Nvb26O7u7vsapiZTSqSNkVEe61tfrLdzMxy8VS7k9CKFSvo6ekpuxps374dgJaWlgPsWay2tjZP72pWIicSG7M9e/aUXQUzmwCcSCahifLre+nSpQBcd911JdfEzMrkPhIzM8vFicTMzHJxIjEzs1xGnUgkvUnSvLTcKOkNxVXLzMwmi1ElEkmfIhum/Vsp1Ar8a1GVMjOzyWO0LZIlwJnA7wEi4kleG/7dzMzq2GgTyd6I+GNlJY20W19jq5iZWU2jTSQ/lfQloFHS2cAPgR8XVy0zM5ssRptIrgB6gc3Ap4G1wN8UVSkzM5s8RvtkeyPw3Yj4NmRT6KbYS0VVzMzMJofRtkjuJkscFY3AXYe+OmZmNtmMNpEcHREvVlbS8jEjFZB0kqSfSHpM0hZJS1P8KknbJT2UXudVlVkmqUfSE5LOrYrPkbQ5bVueZkokzaZ4a4pvlDRj9KduZmaHwmgTyR8kvauyImkOcKChX/uBL0TE24G5wBJJs9K2ayNidnqtTcecRTbD4alkc7tfny6hAdwALCabfndm2g6wCHg+ItqAa4FrRnk+ZmZ2iIy2j+RzwA8l7Ujr04GLRyqQ5lrfmZZ3S3oMGGniivnALRGxF3gqTZ97hqStwNSIuB9A0irgArLpducDV6XytwHfkCTP225mNn5G1SKJiF8AbyObO/0zwNsjYtNoPyRdcnonsDGFPivpYUnflXRcirUAz1QV25ZiLWl5aHxQmYjoB14Ammp8/mJJ3ZK6e3t7R1ttMzMbhRETiaQPpvf/CnwEeCvZpaWPpNgBSXo98M/A5yLi92SXqd4CzCZrsXytsmuN4jFCfKQygwMRKyOiPSLam5ubR1NtMzMbpQNd2voz4B6yJDJUAD8aqbCkI8mSyPci4kcAEbGravu3gTvS6jbgpKrircCOFG+tEa8usy09bX8s8NwBzsnMzA6hERNJRFwp6QhgXUSsPpgDpzurbgQei4ivV8Wnp/4TgI8Cj6TlNcD3JX0deCNZy+fBiBiQtFvSXLJLYwuBFVVlOoH7gQuBe9w/YmY2vg7Y2R4R+yR9FjioREI2yOMngM2SHkqxLwGXSJpN1qLZSvakPBGxRdJq4FGyO76WRMRAKncpcBPZ8yvr0guyRHVz6ph/juyuLzMzG0ejvWtrg6S/Am4F/lAJRsSwl5Ei4ufU7sNYO0KZq4Gra8S7gdNqxF8GLhqx5mZmVqjRJpK/IGtBfGZI/M2HtjpmZjbZjDaRzCJLIu8lSyg/A75ZVKXMzGzyGG0i6SKb1Gp5Wr8kxf57EZUyM7PJY7SJ5D9GxDuq1n8i6ddFVMjMzCaX0Y619at0+y0Akt4D/FsxVTIzs8lktC2S9wALJT2d1k8GHpO0GYiI+NNCamdmZhPeaBNJx4F3MTOzejSqRBIRvym6ImZmNjmNto/EzMysJicSMzPLxYnEzMxycSIxM7NcnEjMzCwXJxIzM8vFicTMzHJxIjEzs1wKSySSTpL0E0mPSdoiaWmKHy9pg6Qn0/txVWWWSeqR9ISkc6vicyRtTtuWp2l8kXSUpFtTfKOkGUWdj5mZ1VZki6Qf+EJEvB2YCyyRNAu4Arg7ImYCd6d10rYFwKlkQ7JcL6khHesGYDHZPO4zeW3IlkXA8xHRBlwLXFPg+ZiZWQ2FJZKI2BkRv0zLu4HHgBZgPtlcJqT3C9LyfOCWiNgbEU8BPcAZkqYDUyPi/ogIYNWQMpVj3QacVWmtmJnZ+BiXPpJ0yemdwEZgWkTshCzZACem3VqAZ6qKbUuxlrQ8ND6oTET0Ay8ATTU+f7Gkbkndvb29h+akzMwMGIdEIun1wD8Dn4uI34+0a41YjBAfqczgQMTKiGiPiPbm5uYDVdnMzA5CoYlE0pFkSeR7EfGjFN6VLleR3p9N8W3ASVXFW4EdKd5aIz6ojKQpwLHAc4f+TMzMbDhF3rUl4EbgsYj4etWmNUBnWu4Ebq+KL0h3Yp1C1qn+YLr8tVvS3HTMhUPKVI51IXBP6kcxM7NxMtqJrcbiTOATwGZJD6XYl4CvAqslLQKeBi4CiIgtklYDj5Ld8bUkIgZSuUuBm4BGYF16QZaobpbUQ9YSWVDg+ZiZWQ2FJZKI+Dm1+zAAzhqmzNXA1TXi3cBpNeIvkxKRmZmVw0+2m5lZLk4kZmaWixOJmZnl4kRiZma5OJGYmVkuTiRmZpaLE4mZmeXiRGJmZrk4kZiZWS5OJGZmlosTiZmZ5VLkoI2HpRUrVtDT01N2NSaEyt9h6dKlJddkYmhra+Oyyy4ruxpm486J5CD19PTw0COPMXDM8WVXpXRH/DEbsX/Tv+8quSbla3jJ0+BY/XIiGYOBY45nz9vOK7saNoE0Pr627CqYlcZ9JGZmlkuRMyR+V9Kzkh6pil0labukh9LrvKptyyT1SHpC0rlV8TmSNqdty9MsiaSZFG9N8Y2SZhR1LmZmNrwiWyQ3AR014tdGxOz0WgsgaRbZ7IanpjLXS2pI+98ALCabendm1TEXAc9HRBtwLXBNUSdiZmbDKyyRRMR9ZNPfjsZ84JaI2BsRTwE9wBmSpgNTI+L+NBf7KuCCqjJdafk24KxKa8XMzMZPGX0kn5X0cLr0dVyKtQDPVO2zLcVa0vLQ+KAyEdEPvAA01fpASYsldUvq7u3tPXRnYmZm455IbgDeAswGdgJfS/FaLYkYIT5Smf2DESsjoj0i2pubmw+uxmZmNqJxTSQRsSsiBiJiH/Bt4Iy0aRtwUtWurcCOFG+tER9URtIU4FhGfynNzMwOkXFNJKnPo+KjQOWOrjXAgnQn1ilkneoPRsROYLekuan/YyFwe1WZzrR8IXBP6kcxM7NxVNgDiZJ+ALwfOEHSNuBK4P2SZpNdgtoKfBogIrZIWg08CvQDSyJiIB3qUrI7wBqBdekFcCNws6QespbIgqLOxczMhldYIomIS2qEbxxh/6uBq2vEu4HTasRfBi7KU0czM8vPT7abmVkuTiRmZpaLE4mZmeXiRGJmZrk4kZiZWS5OJGZmlosTiZmZ5eJEYmZmuTiRmJlZLk4kZmaWixOJmZnl4kRiZma5OJGYmVkuTiRmZpaLE4mZmeXiRGJmZrkUlkgkfVfSs5IeqYodL2mDpCfT+3FV25ZJ6pH0hKRzq+JzJG1O25anKXdJ0/LemuIbJc0o6lzMzGx4hc2QSDY97jeAVVWxK4C7I+Krkq5I61+UNItsqtxTgTcCd0l6a5pu9wZgMfAAsBboIJtudxHwfES0SVoAXANcXOD5ALB9+3YaXnqBxsfXFv1RNok0vNTH9u39ZVfDrBSFtUgi4j6yudSrzQe60nIXcEFV/JaI2BsRTwE9wBmSpgNTI+L+iAiypHRBjWPdBpxVaa2Ymdn4KbJFUsu0iNgJEBE7JZ2Y4i1kLY6KbSn2SloeGq+UeSYdq1/SC0AT8NuhHyppMVmrhpNPPjnXCbS0tPD/9k5hz9vOy3UcO7w0Pr6WlpZpZVfDrBQTpbO9VksiRoiPVGb/YMTKiGiPiPbm5uYxVtHMzGoZ70SyK12uIr0/m+LbgJOq9msFdqR4a434oDKSpgDHsv+lNDMzK9h4J5I1QGda7gRur4ovSHdinQLMBB5Ml8F2S5qb+j8WDilTOdaFwD2pH8XMzMZRYX0kkn4AvB84QdI24Ergq8BqSYuAp4GLACJii6TVwKNAP7Ak3bEFcCnZHWCNZHdrrUvxG4GbJfWQtUQWFHUuZmY2vMISSURcMsyms4bZ/2rg6hrxbuC0GvGXSYnIzMzKM1E6283MbJJyIjEzs1ycSMzMLBcnEjMzy2W8n2w/LDS89JzH2gKOePn3AOw7emrJNSlfw0vPAX6y3eqTE8lBamtrK7sKE0ZPz24A2t7sf6Awzd8Nq1tOJAfpsssuK7sKE8bSpUsBuO6660quiZmVyX0kZmaWixOJmZnl4kRiZma5OJGYmVkuTiRmZpaLE4mZmeXiRGJmZrk4kZiZWS6lJBJJWyVtlvSQpO4UO17SBklPpvfjqvZfJqlH0hOSzq2Kz0nH6ZG0PM2iaGZm46jMFskHImJ2RLSn9SuAuyNiJnB3WkfSLLLZD08FOoDrJTWkMjcAi8mm5p2ZtpuZ2TiaSEOkzCebmhegC7gX+GKK3xIRe4Gn0tS6Z0jaCkyNiPsBJK0CLuC1qXgPWytWrKCnp6fsarxah8pQKWVpa2vz0DVmJSqrRRLAnZI2SVqcYtMiYidAej8xxVuAZ6rKbkuxlrQ8NL4fSYsldUvq7u3tPYSnUd8aGxtpbGwsuxpmVrKyWiRnRsQOSScCGyQ9PsK+tfo9YoT4/sGIlcBKgPb29pr7TCb+9W1mE0kpLZKI2JHenwX+BTgD2CVpOkB6fzbtvg04qap4K7AjxVtrxM3MbByNeyKR9DpJb6gsA+cAjwBrgM60Wydwe1peAyyQdJSkU8g61R9Ml792S5qb7tZaWFXGzMzGSRmXtqYB/5Lu1J0CfD8i1kv6BbBa0iLgaeAigIjYImk18CjQDyyJiIF0rEuBm4BGsk72w76j3cxsolHEpO8yOCjt7e3R3d1ddjXMzCYVSZuqHtcYxE+2m5lZLk4kZmaWixOJmZnl4kRiZma51F1nu6Re4Ddl1+MwcgLw27IrYVaDv5uH1psiornWhrpLJHZoSeoe7k4OszL5uzl+fGnLzMxycSIxM7NcnEgsr5VlV8BsGP5ujhP3kZiZWS5ukZiZWS5OJGZmlosTie1H0uWSHpP0vUNwrC8dijqZ2cTlPhLbT5qx8kMR8VRVbEpE9I/hWC9GxOsPaQXNqqT5iBQR+8ZYfkzfbXuNWyQ2iKRvAm8G1kh6QdJKSXcCqyQdLen/SNos6VeSPpDKfFLSjyStl/SkpL9P8a8CjZIeOhStG7MKSTNSq/l64JfAJyTdL+mXkn4o6fVpv7+V9AtJj6TvslL8XklfkfRTYGmJp3JYcIvE9iNpK9AOfBb4CPDeiNgj6QvAaRHxPyW9DbgTeCuwAPhb4J3AXuCJVOYZt0isCJJmAP8O/GegB/gRWSv6D5K+CBwVEX8n6fiIeC6VuRlYHRE/lnQv8GhEfKaUEzjMuEViB7ImIvak5fcCNwNExONkY5a9NW27OyJeiIiXyWazfNO419TqzW8i4gFgLjAL+DdJD5FN1V35/n1A0kZJm4EPAqdWlb91XGt7GCtjql2bXP5QtawR9ttbtTyAv1tWvMp3U8CGiLikeqOko4HrgfbUOr4KOLpGecvJLRI7GPcBHwOQ9FbgZLLLWCN5RdKRRVfM6toDwJmS2gAkHZO+n5Wk8dvUZ3JhWRU83DmR2MG4HmhIlwluBT4ZEXsPUGYl8LA7260oEdELfBL4gaSHyRLL2yLid8C3gc3AvwK/KK2Shzl3tpuZWS5ukZiZWS5OJGZmlosTiZmZ5eJEYmZmuTiRmJlZLk4kZmMk6Y2SbjtEx5oh6ZFDcayqY35S0hur1r8jadah/Awz8NPHZmMWETuY2A+5fRJ4BNgBEBH/q9Ta2GHLLRKrS5I+LunBNDLxtyQ1SHpR0tWSfi3pAUnT0r5vSeu/kPR3kl5M8VdbEcONgJy2nVNrZNoR6jbcKMsNkv4hxR+WdFmK7zfCraQLyQbe/F46x8Y04m17KnNJOs4jkq6p+uyafwOzkTiRWN2R9HbgYuDMiJhNNjbYx4DXAQ9ExDvIhoP5VCpyHXBdRLyb9Ot+GLPTcU8HLpZ0kqQTgL8B5kXEu4Bu4C8PUMUlABFxOnAJ0JXGjVoMnAK8MyL+FKiMFvCNiHh3RJwGNAIfjojb0md9LCJmVw28SbrcdQ3ZIIazgXdLuiBtHu5vYDYsJxKrR2cBc4BfpNFizyKbg+WPwB1pn03AjLT8n4AfpuXvj3DcWiMgjzQy7XCGG2V5HvDNyiRMleHRGXmE21reDdwbEb3pWN8D/kvaNtzfwGxY7iOxeiSgKyKWDQpKfxWvjRk0lhGMa42APNzItO8BvpVW/xZ4eEj9hqv3oDGNRjHC7XDHGc4rOf8GVofcIrF6dDdwoaQTASQdL2mkVsIDwH9LywsO8rNqjkwbERvTJafZEbFmSJnhRlm+E/jfkqZU6s3II9zuBt5Qo04bgT+TdIKkBrLLZz89yPMye5UTidWdiHiUrN/izjRa7AZg+ghFPgf8paQH034vHMRn1RyZ9gDFhhtl+TvA02SjKf8a+B8HGOH2JuCblc72qjrtBJYBPwF+DfwyIm4f7TmZDeXRf80OQNIxwJ6ICEkLgEsiYn7Z9TKbKHz90+zA5gDfkCTgd8BflFwfswnFLRIzM8vFfSRmZpaLE4mZmeXiRGJmZrk4kZiZWS5OJGZmlsv/B/I9ZroA5YoAAAABSURBVLGUXv7yAAAAAElFTkSuQmCC\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": 19, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7fee7c113630>" | |
| ] | |
| }, | |
| "execution_count": 19, | |
| "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": 20, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>count</td>\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", | |
| " <td>mean</td>\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", | |
| " <td>std</td>\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", | |
| " <td>min</td>\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", | |
| " <td>25%</td>\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", | |
| " <td>50%</td>\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", | |
| " <td>75%</td>\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", | |
| " <td>max</td>\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": 20, | |
| "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": 21, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>count</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>201</td>\n", | |
| " <td>200</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>unique</td>\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", | |
| " <td>top</td>\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", | |
| " <td>freq</td>\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": 21, | |
| "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": 22, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "fwd 118\n", | |
| "rwd 75\n", | |
| "4wd 8\n", | |
| "Name: drive-wheels, dtype: int64" | |
| ] | |
| }, | |
| "execution_count": 22, | |
| "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": 23, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>fwd</td>\n", | |
| " <td>118</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>rwd</td>\n", | |
| " <td>75</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4wd</td>\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": 23, | |
| "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": 24, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>fwd</td>\n", | |
| " <td>118</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>rwd</td>\n", | |
| " <td>75</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4wd</td>\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": 24, | |
| "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": 25, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>fwd</td>\n", | |
| " <td>118</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>rwd</td>\n", | |
| " <td>75</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4wd</td>\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": 25, | |
| "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": 26, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>front</td>\n", | |
| " <td>198</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>rear</td>\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": 26, | |
| "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": 27, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array(['rwd', 'fwd', '4wd'], dtype=object)" | |
| ] | |
| }, | |
| "execution_count": 27, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df['drive-wheels'].unique()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p>If we want to know, on average, which type of drive wheel is most valuable, we can group \"drive-wheels\" and then average them.</p>\n", | |
| "\n", | |
| "<p>We can select the columns 'drive-wheels', 'body-style' and 'price', then assign it to the variable \"df_group_one\".</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "df_group_one = df[['drive-wheels','body-style','price']]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "We can then calculate the average price for each of the different categories of data." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>0</td>\n", | |
| " <td>4wd</td>\n", | |
| " <td>10241.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>1</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>9244.779661</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>2</td>\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": 29, | |
| "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": 30, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>0</td>\n", | |
| " <td>4wd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>7603.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>1</td>\n", | |
| " <td>4wd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>12647.333333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>2</td>\n", | |
| " <td>4wd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>9095.750000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>3</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>11595.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hardtop</td>\n", | |
| " <td>8249.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>5</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>8396.387755</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>6</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>9811.800000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>7</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>9997.333333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>8</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>23949.600000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>9</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hardtop</td>\n", | |
| " <td>24202.714286</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>10</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>14337.777778</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>11</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>21711.833333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>12</td>\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": 30, | |
| "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": 31, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>4wd</td>\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", | |
| " <td>fwd</td>\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", | |
| " <td>rwd</td>\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": 31, | |
| "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": 32, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>4wd</td>\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", | |
| " <td>fwd</td>\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", | |
| " <td>rwd</td>\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": 32, | |
| "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": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# Cody, You are here" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 33, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>0</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>21890.500000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>1</td>\n", | |
| " <td>hardtop</td>\n", | |
| " <td>22208.500000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>2</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>9957.441176</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>3</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>14459.755319</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4</td>\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": 33, | |
| "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": 37, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import matplotlib.pyplot as plt\n", | |
| "%matplotlib inline " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h4>Variables: Drive Wheels and Body Style vs Price</h4>" | |
| ] | |
| }, | |
| { | |
| "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": 38, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 39, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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 than 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": 40, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>symboling</td>\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", | |
| " <td>normalized-losses</td>\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", | |
| " <td>wheel-base</td>\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", | |
| " <td>length</td>\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", | |
| " <td>width</td>\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", | |
| " <td>height</td>\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", | |
| " <td>curb-weight</td>\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", | |
| " <td>engine-size</td>\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", | |
| " <td>bore</td>\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", | |
| " <td>stroke</td>\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", | |
| " <td>compression-ratio</td>\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", | |
| " <td>horsepower</td>\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", | |
| " <td>peak-rpm</td>\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", | |
| " <td>city-mpg</td>\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", | |
| " <td>highway-mpg</td>\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", | |
| " <td>price</td>\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", | |
| " <td>city-L/100km</td>\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", | |
| " <td>diesel</td>\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", | |
| " <td>gas</td>\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": 40, | |
| "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": 41, | |
| "metadata": {}, | |
| "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": 42, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 43, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 44, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 45, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 46, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 47, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 48, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 49, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 50, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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": 51, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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", | |
| " <td>0</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>13495.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>1</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>16500.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>3</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>13950.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4</td>\n", | |
| " <td>4wd</td>\n", | |
| " <td>17450.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>5</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>15250.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>136</td>\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": 51, | |
| "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": 52, | |
| "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", | |
| " <td>0</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>13495.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>1</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>16500.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>2</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>16500.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>3</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>13950.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>4</td>\n", | |
| " <td>4wd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>17450.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>196</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>16845.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>197</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>19045.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>198</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>21485.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>199</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>22470.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <td>200</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>22625.0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>201 rows × 3 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " drive-wheels body-style price\n", | |
| "0 rwd convertible 13495.0\n", | |
| "1 rwd convertible 16500.0\n", | |
| "2 rwd hatchback 16500.0\n", | |
| "3 fwd sedan 13950.0\n", | |
| "4 4wd sedan 17450.0\n", | |
| ".. ... ... ...\n", | |
| "196 rwd sedan 16845.0\n", | |
| "197 rwd sedan 19045.0\n", | |
| "198 rwd sedan 21485.0\n", | |
| "199 rwd sedan 22470.0\n", | |
| "200 rwd sedan 22625.0\n", | |
| "\n", | |
| "[201 rows x 3 columns]" | |
| ] | |
| }, | |
| "execution_count": 52, | |
| "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": 53, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "4 17450.0\n", | |
| "136 7603.0\n", | |
| "140 9233.0\n", | |
| "141 11259.0\n", | |
| "144 8013.0\n", | |
| "145 11694.0\n", | |
| "150 7898.0\n", | |
| "151 8778.0\n", | |
| "Name: price, dtype: float64" | |
| ] | |
| }, | |
| "execution_count": 53, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "grouped_test2.get_group('4wd')['price']" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "we can use the function 'f_oneway' in the module 'stats' to obtain the <b>F-test score</b> and <b>P-value</b>." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 54, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "ANOVA results: F= 67.95406500780399 , P = 3.3945443577151245e-23\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# ANOVA\n", | |
| "f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price'], grouped_test2.get_group('4wd')['price']) \n", | |
| " \n", | |
| "print( \"ANOVA results: F=\", f_val, \", P =\", p_val) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "This is a great result, with a large F test score showing a strong correlation and a P value of almost 0 implying almost certain statistical significance. But does this mean all three tested groups are all this highly correlated? " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "#### Separately: fwd and rwd" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 55, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": false | |
| } | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "ANOVA results: F= 130.5533160959111 , P = 2.2355306355677845e-23\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price']) \n", | |
| " \n", | |
| "print( \"ANOVA results: F=\", f_val, \", P =\", p_val )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's examine the other groups " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "#### 4wd and rwd" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": false, | |
| "jupyter": { | |
| "outputs_hidden": 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, | |
| "jupyter": { | |
| "outputs_hidden": 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 © 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", | |
| "language": "python", | |
| "name": "conda-env-python-py" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.6.7" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 4 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment