Created
July 2, 2019 14:50
-
-
Save kimbosliceit/bd49082175cf5f2831091e753e7e36f0 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/DA0101EN_edx_link_Notebook_link_top\">\n", | |
| " <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/TopAd.png\" width=\"750\" align=\"center\">\n", | |
| " </a>\n", | |
| "</div>\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<a href=\"https://www.bigdatauniversity.com\"><img src = \"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/Images/CCLog.png\" width = 300, align = \"center\"></a>\n", | |
| "\n", | |
| "<h1 align=center><font size = 5>Data Analysis with Python</font></h1>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Exploratory Data Analysis" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Welcome!</h3>\n", | |
| "In this section, we will explore several methods to see if certain characteristics or features can be used to predict car price. " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h2>Table of content</h2>\n", | |
| "\n", | |
| "<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n", | |
| "<ol>\n", | |
| " <li><a href=\"#import_data\">Import Data from Module</a></li>\n", | |
| " <li><a href=\"#pattern_visualization\">Analyzing Individual Feature Patterns using Visualization</a></li>\n", | |
| " <li><a href=\"#discriptive_statistics\">Descriptive Statistical Analysis</a></li>\n", | |
| " <li><a href=\"#basic_grouping\">Basics of Grouping</a></li>\n", | |
| " <li><a href=\"#correlation_causation\">Correlation and Causation</a></li>\n", | |
| " <li><a href=\"#anova\">ANOVA</a></li>\n", | |
| "</ol>\n", | |
| " \n", | |
| "Estimated Time Needed: <strong>30 min</strong>\n", | |
| "</div>\n", | |
| " \n", | |
| "<hr>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>What are the main characteristics which have the most impact on the car price?</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h2 id=\"import_data\">1. Import Data from Module 2</h2>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h4>Setup</h4>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Import libraries " | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import pandas as pd\n", | |
| "import numpy as np" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " load data and store in dataframe df:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/edx_DA0101EN_objectstorage\">HERE</a> for free storage." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>symboling</th>\n", | |
| " <th>normalized-losses</th>\n", | |
| " <th>make</th>\n", | |
| " <th>aspiration</th>\n", | |
| " <th>num-of-doors</th>\n", | |
| " <th>body-style</th>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th>engine-location</th>\n", | |
| " <th>wheel-base</th>\n", | |
| " <th>length</th>\n", | |
| " <th>...</th>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <th>horsepower</th>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <th>city-mpg</th>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <th>price</th>\n", | |
| " <th>city-L/100km</th>\n", | |
| " <th>horsepower-binned</th>\n", | |
| " <th>diesel</th>\n", | |
| " <th>gas</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>3</td>\n", | |
| " <td>122</td>\n", | |
| " <td>alfa-romero</td>\n", | |
| " <td>std</td>\n", | |
| " <td>two</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>front</td>\n", | |
| " <td>88.6</td>\n", | |
| " <td>0.811148</td>\n", | |
| " <td>...</td>\n", | |
| " <td>9.0</td>\n", | |
| " <td>111.0</td>\n", | |
| " <td>5000.0</td>\n", | |
| " <td>21</td>\n", | |
| " <td>27</td>\n", | |
| " <td>13495.0</td>\n", | |
| " <td>11.190476</td>\n", | |
| " <td>Medium</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>3</td>\n", | |
| " <td>122</td>\n", | |
| " <td>alfa-romero</td>\n", | |
| " <td>std</td>\n", | |
| " <td>two</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>front</td>\n", | |
| " <td>88.6</td>\n", | |
| " <td>0.811148</td>\n", | |
| " <td>...</td>\n", | |
| " <td>9.0</td>\n", | |
| " <td>111.0</td>\n", | |
| " <td>5000.0</td>\n", | |
| " <td>21</td>\n", | |
| " <td>27</td>\n", | |
| " <td>16500.0</td>\n", | |
| " <td>11.190476</td>\n", | |
| " <td>Medium</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>1</td>\n", | |
| " <td>122</td>\n", | |
| " <td>alfa-romero</td>\n", | |
| " <td>std</td>\n", | |
| " <td>two</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>rwd</td>\n", | |
| " <td>front</td>\n", | |
| " <td>94.5</td>\n", | |
| " <td>0.822681</td>\n", | |
| " <td>...</td>\n", | |
| " <td>9.0</td>\n", | |
| " <td>154.0</td>\n", | |
| " <td>5000.0</td>\n", | |
| " <td>19</td>\n", | |
| " <td>26</td>\n", | |
| " <td>16500.0</td>\n", | |
| " <td>12.368421</td>\n", | |
| " <td>Medium</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>2</td>\n", | |
| " <td>164</td>\n", | |
| " <td>audi</td>\n", | |
| " <td>std</td>\n", | |
| " <td>four</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>front</td>\n", | |
| " <td>99.8</td>\n", | |
| " <td>0.848630</td>\n", | |
| " <td>...</td>\n", | |
| " <td>10.0</td>\n", | |
| " <td>102.0</td>\n", | |
| " <td>5500.0</td>\n", | |
| " <td>24</td>\n", | |
| " <td>30</td>\n", | |
| " <td>13950.0</td>\n", | |
| " <td>9.791667</td>\n", | |
| " <td>Medium</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>2</td>\n", | |
| " <td>164</td>\n", | |
| " <td>audi</td>\n", | |
| " <td>std</td>\n", | |
| " <td>four</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>4wd</td>\n", | |
| " <td>front</td>\n", | |
| " <td>99.4</td>\n", | |
| " <td>0.848630</td>\n", | |
| " <td>...</td>\n", | |
| " <td>8.0</td>\n", | |
| " <td>115.0</td>\n", | |
| " <td>5500.0</td>\n", | |
| " <td>18</td>\n", | |
| " <td>22</td>\n", | |
| " <td>17450.0</td>\n", | |
| " <td>13.055556</td>\n", | |
| " <td>Medium</td>\n", | |
| " <td>0</td>\n", | |
| " <td>1</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>5 rows × 29 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " symboling normalized-losses make aspiration num-of-doors \\\n", | |
| "0 3 122 alfa-romero std two \n", | |
| "1 3 122 alfa-romero std two \n", | |
| "2 1 122 alfa-romero std two \n", | |
| "3 2 164 audi std four \n", | |
| "4 2 164 audi std four \n", | |
| "\n", | |
| " body-style drive-wheels engine-location wheel-base length ... \\\n", | |
| "0 convertible rwd front 88.6 0.811148 ... \n", | |
| "1 convertible rwd front 88.6 0.811148 ... \n", | |
| "2 hatchback rwd front 94.5 0.822681 ... \n", | |
| "3 sedan fwd front 99.8 0.848630 ... \n", | |
| "4 sedan 4wd front 99.4 0.848630 ... \n", | |
| "\n", | |
| " compression-ratio horsepower peak-rpm city-mpg highway-mpg price \\\n", | |
| "0 9.0 111.0 5000.0 21 27 13495.0 \n", | |
| "1 9.0 111.0 5000.0 21 27 16500.0 \n", | |
| "2 9.0 154.0 5000.0 19 26 16500.0 \n", | |
| "3 10.0 102.0 5500.0 24 30 13950.0 \n", | |
| "4 8.0 115.0 5500.0 18 22 17450.0 \n", | |
| "\n", | |
| " city-L/100km horsepower-binned diesel gas \n", | |
| "0 11.190476 Medium 0 1 \n", | |
| "1 11.190476 Medium 0 1 \n", | |
| "2 12.368421 Medium 0 1 \n", | |
| "3 9.791667 Medium 0 1 \n", | |
| "4 13.055556 Medium 0 1 \n", | |
| "\n", | |
| "[5 rows x 29 columns]" | |
| ] | |
| }, | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "path='https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/automobileEDA.csv'\n", | |
| "df = pd.read_csv(path)\n", | |
| "df.head()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h2 id=\"pattern_visualization\">2. Analyzing Individual Feature Patterns using Visualization</h2>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "To install seaborn we use the pip which is the python package manager." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "%%capture\n", | |
| "! pip install seaborn" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Import visualization packages \"Matplotlib\" and \"Seaborn\", don't forget about \"%matplotlib inline\" to plot in a Jupyter notebook." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import matplotlib.pyplot as plt\n", | |
| "import seaborn as sns\n", | |
| "%matplotlib inline " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h4>How to choose the right visualization method?</h4>\n", | |
| "<p>When visualizing individual variables, it is important to first understand what type of variable you are dealing with. This will help us find the right visualization method for that variable.</p>\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "symboling int64\n", | |
| "normalized-losses int64\n", | |
| "make object\n", | |
| "aspiration object\n", | |
| "num-of-doors object\n", | |
| "body-style object\n", | |
| "drive-wheels object\n", | |
| "engine-location object\n", | |
| "wheel-base float64\n", | |
| "length float64\n", | |
| "width float64\n", | |
| "height float64\n", | |
| "curb-weight int64\n", | |
| "engine-type object\n", | |
| "num-of-cylinders object\n", | |
| "engine-size int64\n", | |
| "fuel-system object\n", | |
| "bore float64\n", | |
| "stroke float64\n", | |
| "compression-ratio float64\n", | |
| "horsepower float64\n", | |
| "peak-rpm float64\n", | |
| "city-mpg int64\n", | |
| "highway-mpg int64\n", | |
| "price float64\n", | |
| "city-L/100km float64\n", | |
| "horsepower-binned object\n", | |
| "diesel int64\n", | |
| "gas int64\n", | |
| "dtype: object\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# list the data types for each column\n", | |
| "print(df.dtypes)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
| "<h3>Question #1:</h3>\n", | |
| "\n", | |
| "<b>What is the data type of the column \"peak-rpm\"? </b>\n", | |
| "</div>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Double-click <b>here</b> for the solution.\n", | |
| "\n", | |
| "<!-- The answer is below:\n", | |
| "\n", | |
| "float64\n", | |
| "\n", | |
| "-->" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "for example, we can calculate the correlation between variables of type \"int64\" or \"float64\" using the method \"corr\":" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>symboling</th>\n", | |
| " <th>normalized-losses</th>\n", | |
| " <th>wheel-base</th>\n", | |
| " <th>length</th>\n", | |
| " <th>width</th>\n", | |
| " <th>height</th>\n", | |
| " <th>curb-weight</th>\n", | |
| " <th>engine-size</th>\n", | |
| " <th>bore</th>\n", | |
| " <th>stroke</th>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <th>horsepower</th>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <th>city-mpg</th>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <th>price</th>\n", | |
| " <th>city-L/100km</th>\n", | |
| " <th>diesel</th>\n", | |
| " <th>gas</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>symboling</th>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.466264</td>\n", | |
| " <td>-0.535987</td>\n", | |
| " <td>-0.365404</td>\n", | |
| " <td>-0.242423</td>\n", | |
| " <td>-0.550160</td>\n", | |
| " <td>-0.233118</td>\n", | |
| " <td>-0.110581</td>\n", | |
| " <td>-0.140019</td>\n", | |
| " <td>-0.008245</td>\n", | |
| " <td>-0.182196</td>\n", | |
| " <td>0.075819</td>\n", | |
| " <td>0.279740</td>\n", | |
| " <td>-0.035527</td>\n", | |
| " <td>0.036233</td>\n", | |
| " <td>-0.082391</td>\n", | |
| " <td>0.066171</td>\n", | |
| " <td>-0.196735</td>\n", | |
| " <td>0.196735</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>normalized-losses</th>\n", | |
| " <td>0.466264</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.056661</td>\n", | |
| " <td>0.019424</td>\n", | |
| " <td>0.086802</td>\n", | |
| " <td>-0.373737</td>\n", | |
| " <td>0.099404</td>\n", | |
| " <td>0.112360</td>\n", | |
| " <td>-0.029862</td>\n", | |
| " <td>0.055563</td>\n", | |
| " <td>-0.114713</td>\n", | |
| " <td>0.217299</td>\n", | |
| " <td>0.239543</td>\n", | |
| " <td>-0.225016</td>\n", | |
| " <td>-0.181877</td>\n", | |
| " <td>0.133999</td>\n", | |
| " <td>0.238567</td>\n", | |
| " <td>-0.101546</td>\n", | |
| " <td>0.101546</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>wheel-base</th>\n", | |
| " <td>-0.535987</td>\n", | |
| " <td>-0.056661</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.876024</td>\n", | |
| " <td>0.814507</td>\n", | |
| " <td>0.590742</td>\n", | |
| " <td>0.782097</td>\n", | |
| " <td>0.572027</td>\n", | |
| " <td>0.493244</td>\n", | |
| " <td>0.158502</td>\n", | |
| " <td>0.250313</td>\n", | |
| " <td>0.371147</td>\n", | |
| " <td>-0.360305</td>\n", | |
| " <td>-0.470606</td>\n", | |
| " <td>-0.543304</td>\n", | |
| " <td>0.584642</td>\n", | |
| " <td>0.476153</td>\n", | |
| " <td>0.307237</td>\n", | |
| " <td>-0.307237</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>length</th>\n", | |
| " <td>-0.365404</td>\n", | |
| " <td>0.019424</td>\n", | |
| " <td>0.876024</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.857170</td>\n", | |
| " <td>0.492063</td>\n", | |
| " <td>0.880665</td>\n", | |
| " <td>0.685025</td>\n", | |
| " <td>0.608971</td>\n", | |
| " <td>0.124139</td>\n", | |
| " <td>0.159733</td>\n", | |
| " <td>0.579821</td>\n", | |
| " <td>-0.285970</td>\n", | |
| " <td>-0.665192</td>\n", | |
| " <td>-0.698142</td>\n", | |
| " <td>0.690628</td>\n", | |
| " <td>0.657373</td>\n", | |
| " <td>0.211187</td>\n", | |
| " <td>-0.211187</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>width</th>\n", | |
| " <td>-0.242423</td>\n", | |
| " <td>0.086802</td>\n", | |
| " <td>0.814507</td>\n", | |
| " <td>0.857170</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.306002</td>\n", | |
| " <td>0.866201</td>\n", | |
| " <td>0.729436</td>\n", | |
| " <td>0.544885</td>\n", | |
| " <td>0.188829</td>\n", | |
| " <td>0.189867</td>\n", | |
| " <td>0.615077</td>\n", | |
| " <td>-0.245800</td>\n", | |
| " <td>-0.633531</td>\n", | |
| " <td>-0.680635</td>\n", | |
| " <td>0.751265</td>\n", | |
| " <td>0.673363</td>\n", | |
| " <td>0.244356</td>\n", | |
| " <td>-0.244356</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>height</th>\n", | |
| " <td>-0.550160</td>\n", | |
| " <td>-0.373737</td>\n", | |
| " <td>0.590742</td>\n", | |
| " <td>0.492063</td>\n", | |
| " <td>0.306002</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.307581</td>\n", | |
| " <td>0.074694</td>\n", | |
| " <td>0.180449</td>\n", | |
| " <td>-0.062704</td>\n", | |
| " <td>0.259737</td>\n", | |
| " <td>-0.087027</td>\n", | |
| " <td>-0.309974</td>\n", | |
| " <td>-0.049800</td>\n", | |
| " <td>-0.104812</td>\n", | |
| " <td>0.135486</td>\n", | |
| " <td>0.003811</td>\n", | |
| " <td>0.281578</td>\n", | |
| " <td>-0.281578</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>curb-weight</th>\n", | |
| " <td>-0.233118</td>\n", | |
| " <td>0.099404</td>\n", | |
| " <td>0.782097</td>\n", | |
| " <td>0.880665</td>\n", | |
| " <td>0.866201</td>\n", | |
| " <td>0.307581</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.849072</td>\n", | |
| " <td>0.644060</td>\n", | |
| " <td>0.167562</td>\n", | |
| " <td>0.156433</td>\n", | |
| " <td>0.757976</td>\n", | |
| " <td>-0.279361</td>\n", | |
| " <td>-0.749543</td>\n", | |
| " <td>-0.794889</td>\n", | |
| " <td>0.834415</td>\n", | |
| " <td>0.785353</td>\n", | |
| " <td>0.221046</td>\n", | |
| " <td>-0.221046</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>engine-size</th>\n", | |
| " <td>-0.110581</td>\n", | |
| " <td>0.112360</td>\n", | |
| " <td>0.572027</td>\n", | |
| " <td>0.685025</td>\n", | |
| " <td>0.729436</td>\n", | |
| " <td>0.074694</td>\n", | |
| " <td>0.849072</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.572609</td>\n", | |
| " <td>0.209523</td>\n", | |
| " <td>0.028889</td>\n", | |
| " <td>0.822676</td>\n", | |
| " <td>-0.256733</td>\n", | |
| " <td>-0.650546</td>\n", | |
| " <td>-0.679571</td>\n", | |
| " <td>0.872335</td>\n", | |
| " <td>0.745059</td>\n", | |
| " <td>0.070779</td>\n", | |
| " <td>-0.070779</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>bore</th>\n", | |
| " <td>-0.140019</td>\n", | |
| " <td>-0.029862</td>\n", | |
| " <td>0.493244</td>\n", | |
| " <td>0.608971</td>\n", | |
| " <td>0.544885</td>\n", | |
| " <td>0.180449</td>\n", | |
| " <td>0.644060</td>\n", | |
| " <td>0.572609</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.055390</td>\n", | |
| " <td>0.001263</td>\n", | |
| " <td>0.566936</td>\n", | |
| " <td>-0.267392</td>\n", | |
| " <td>-0.582027</td>\n", | |
| " <td>-0.591309</td>\n", | |
| " <td>0.543155</td>\n", | |
| " <td>0.554610</td>\n", | |
| " <td>0.054458</td>\n", | |
| " <td>-0.054458</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>stroke</th>\n", | |
| " <td>-0.008245</td>\n", | |
| " <td>0.055563</td>\n", | |
| " <td>0.158502</td>\n", | |
| " <td>0.124139</td>\n", | |
| " <td>0.188829</td>\n", | |
| " <td>-0.062704</td>\n", | |
| " <td>0.167562</td>\n", | |
| " <td>0.209523</td>\n", | |
| " <td>-0.055390</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.187923</td>\n", | |
| " <td>0.098462</td>\n", | |
| " <td>-0.065713</td>\n", | |
| " <td>-0.034696</td>\n", | |
| " <td>-0.035201</td>\n", | |
| " <td>0.082310</td>\n", | |
| " <td>0.037300</td>\n", | |
| " <td>0.241303</td>\n", | |
| " <td>-0.241303</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <td>-0.182196</td>\n", | |
| " <td>-0.114713</td>\n", | |
| " <td>0.250313</td>\n", | |
| " <td>0.159733</td>\n", | |
| " <td>0.189867</td>\n", | |
| " <td>0.259737</td>\n", | |
| " <td>0.156433</td>\n", | |
| " <td>0.028889</td>\n", | |
| " <td>0.001263</td>\n", | |
| " <td>0.187923</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.214514</td>\n", | |
| " <td>-0.435780</td>\n", | |
| " <td>0.331425</td>\n", | |
| " <td>0.268465</td>\n", | |
| " <td>0.071107</td>\n", | |
| " <td>-0.299372</td>\n", | |
| " <td>0.985231</td>\n", | |
| " <td>-0.985231</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>horsepower</th>\n", | |
| " <td>0.075819</td>\n", | |
| " <td>0.217299</td>\n", | |
| " <td>0.371147</td>\n", | |
| " <td>0.579821</td>\n", | |
| " <td>0.615077</td>\n", | |
| " <td>-0.087027</td>\n", | |
| " <td>0.757976</td>\n", | |
| " <td>0.822676</td>\n", | |
| " <td>0.566936</td>\n", | |
| " <td>0.098462</td>\n", | |
| " <td>-0.214514</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.107885</td>\n", | |
| " <td>-0.822214</td>\n", | |
| " <td>-0.804575</td>\n", | |
| " <td>0.809575</td>\n", | |
| " <td>0.889488</td>\n", | |
| " <td>-0.169053</td>\n", | |
| " <td>0.169053</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <td>0.279740</td>\n", | |
| " <td>0.239543</td>\n", | |
| " <td>-0.360305</td>\n", | |
| " <td>-0.285970</td>\n", | |
| " <td>-0.245800</td>\n", | |
| " <td>-0.309974</td>\n", | |
| " <td>-0.279361</td>\n", | |
| " <td>-0.256733</td>\n", | |
| " <td>-0.267392</td>\n", | |
| " <td>-0.065713</td>\n", | |
| " <td>-0.435780</td>\n", | |
| " <td>0.107885</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.115413</td>\n", | |
| " <td>-0.058598</td>\n", | |
| " <td>-0.101616</td>\n", | |
| " <td>0.115830</td>\n", | |
| " <td>-0.475812</td>\n", | |
| " <td>0.475812</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>city-mpg</th>\n", | |
| " <td>-0.035527</td>\n", | |
| " <td>-0.225016</td>\n", | |
| " <td>-0.470606</td>\n", | |
| " <td>-0.665192</td>\n", | |
| " <td>-0.633531</td>\n", | |
| " <td>-0.049800</td>\n", | |
| " <td>-0.749543</td>\n", | |
| " <td>-0.650546</td>\n", | |
| " <td>-0.582027</td>\n", | |
| " <td>-0.034696</td>\n", | |
| " <td>0.331425</td>\n", | |
| " <td>-0.822214</td>\n", | |
| " <td>-0.115413</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.972044</td>\n", | |
| " <td>-0.686571</td>\n", | |
| " <td>-0.949713</td>\n", | |
| " <td>0.265676</td>\n", | |
| " <td>-0.265676</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <td>0.036233</td>\n", | |
| " <td>-0.181877</td>\n", | |
| " <td>-0.543304</td>\n", | |
| " <td>-0.698142</td>\n", | |
| " <td>-0.680635</td>\n", | |
| " <td>-0.104812</td>\n", | |
| " <td>-0.794889</td>\n", | |
| " <td>-0.679571</td>\n", | |
| " <td>-0.591309</td>\n", | |
| " <td>-0.035201</td>\n", | |
| " <td>0.268465</td>\n", | |
| " <td>-0.804575</td>\n", | |
| " <td>-0.058598</td>\n", | |
| " <td>0.972044</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.704692</td>\n", | |
| " <td>-0.930028</td>\n", | |
| " <td>0.198690</td>\n", | |
| " <td>-0.198690</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>price</th>\n", | |
| " <td>-0.082391</td>\n", | |
| " <td>0.133999</td>\n", | |
| " <td>0.584642</td>\n", | |
| " <td>0.690628</td>\n", | |
| " <td>0.751265</td>\n", | |
| " <td>0.135486</td>\n", | |
| " <td>0.834415</td>\n", | |
| " <td>0.872335</td>\n", | |
| " <td>0.543155</td>\n", | |
| " <td>0.082310</td>\n", | |
| " <td>0.071107</td>\n", | |
| " <td>0.809575</td>\n", | |
| " <td>-0.101616</td>\n", | |
| " <td>-0.686571</td>\n", | |
| " <td>-0.704692</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.789898</td>\n", | |
| " <td>0.110326</td>\n", | |
| " <td>-0.110326</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>city-L/100km</th>\n", | |
| " <td>0.066171</td>\n", | |
| " <td>0.238567</td>\n", | |
| " <td>0.476153</td>\n", | |
| " <td>0.657373</td>\n", | |
| " <td>0.673363</td>\n", | |
| " <td>0.003811</td>\n", | |
| " <td>0.785353</td>\n", | |
| " <td>0.745059</td>\n", | |
| " <td>0.554610</td>\n", | |
| " <td>0.037300</td>\n", | |
| " <td>-0.299372</td>\n", | |
| " <td>0.889488</td>\n", | |
| " <td>0.115830</td>\n", | |
| " <td>-0.949713</td>\n", | |
| " <td>-0.930028</td>\n", | |
| " <td>0.789898</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.241282</td>\n", | |
| " <td>0.241282</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>diesel</th>\n", | |
| " <td>-0.196735</td>\n", | |
| " <td>-0.101546</td>\n", | |
| " <td>0.307237</td>\n", | |
| " <td>0.211187</td>\n", | |
| " <td>0.244356</td>\n", | |
| " <td>0.281578</td>\n", | |
| " <td>0.221046</td>\n", | |
| " <td>0.070779</td>\n", | |
| " <td>0.054458</td>\n", | |
| " <td>0.241303</td>\n", | |
| " <td>0.985231</td>\n", | |
| " <td>-0.169053</td>\n", | |
| " <td>-0.475812</td>\n", | |
| " <td>0.265676</td>\n", | |
| " <td>0.198690</td>\n", | |
| " <td>0.110326</td>\n", | |
| " <td>-0.241282</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-1.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>gas</th>\n", | |
| " <td>0.196735</td>\n", | |
| " <td>0.101546</td>\n", | |
| " <td>-0.307237</td>\n", | |
| " <td>-0.211187</td>\n", | |
| " <td>-0.244356</td>\n", | |
| " <td>-0.281578</td>\n", | |
| " <td>-0.221046</td>\n", | |
| " <td>-0.070779</td>\n", | |
| " <td>-0.054458</td>\n", | |
| " <td>-0.241303</td>\n", | |
| " <td>-0.985231</td>\n", | |
| " <td>0.169053</td>\n", | |
| " <td>0.475812</td>\n", | |
| " <td>-0.265676</td>\n", | |
| " <td>-0.198690</td>\n", | |
| " <td>-0.110326</td>\n", | |
| " <td>0.241282</td>\n", | |
| " <td>-1.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " symboling normalized-losses wheel-base length \\\n", | |
| "symboling 1.000000 0.466264 -0.535987 -0.365404 \n", | |
| "normalized-losses 0.466264 1.000000 -0.056661 0.019424 \n", | |
| "wheel-base -0.535987 -0.056661 1.000000 0.876024 \n", | |
| "length -0.365404 0.019424 0.876024 1.000000 \n", | |
| "width -0.242423 0.086802 0.814507 0.857170 \n", | |
| "height -0.550160 -0.373737 0.590742 0.492063 \n", | |
| "curb-weight -0.233118 0.099404 0.782097 0.880665 \n", | |
| "engine-size -0.110581 0.112360 0.572027 0.685025 \n", | |
| "bore -0.140019 -0.029862 0.493244 0.608971 \n", | |
| "stroke -0.008245 0.055563 0.158502 0.124139 \n", | |
| "compression-ratio -0.182196 -0.114713 0.250313 0.159733 \n", | |
| "horsepower 0.075819 0.217299 0.371147 0.579821 \n", | |
| "peak-rpm 0.279740 0.239543 -0.360305 -0.285970 \n", | |
| "city-mpg -0.035527 -0.225016 -0.470606 -0.665192 \n", | |
| "highway-mpg 0.036233 -0.181877 -0.543304 -0.698142 \n", | |
| "price -0.082391 0.133999 0.584642 0.690628 \n", | |
| "city-L/100km 0.066171 0.238567 0.476153 0.657373 \n", | |
| "diesel -0.196735 -0.101546 0.307237 0.211187 \n", | |
| "gas 0.196735 0.101546 -0.307237 -0.211187 \n", | |
| "\n", | |
| " width height curb-weight engine-size bore \\\n", | |
| "symboling -0.242423 -0.550160 -0.233118 -0.110581 -0.140019 \n", | |
| "normalized-losses 0.086802 -0.373737 0.099404 0.112360 -0.029862 \n", | |
| "wheel-base 0.814507 0.590742 0.782097 0.572027 0.493244 \n", | |
| "length 0.857170 0.492063 0.880665 0.685025 0.608971 \n", | |
| "width 1.000000 0.306002 0.866201 0.729436 0.544885 \n", | |
| "height 0.306002 1.000000 0.307581 0.074694 0.180449 \n", | |
| "curb-weight 0.866201 0.307581 1.000000 0.849072 0.644060 \n", | |
| "engine-size 0.729436 0.074694 0.849072 1.000000 0.572609 \n", | |
| "bore 0.544885 0.180449 0.644060 0.572609 1.000000 \n", | |
| "stroke 0.188829 -0.062704 0.167562 0.209523 -0.055390 \n", | |
| "compression-ratio 0.189867 0.259737 0.156433 0.028889 0.001263 \n", | |
| "horsepower 0.615077 -0.087027 0.757976 0.822676 0.566936 \n", | |
| "peak-rpm -0.245800 -0.309974 -0.279361 -0.256733 -0.267392 \n", | |
| "city-mpg -0.633531 -0.049800 -0.749543 -0.650546 -0.582027 \n", | |
| "highway-mpg -0.680635 -0.104812 -0.794889 -0.679571 -0.591309 \n", | |
| "price 0.751265 0.135486 0.834415 0.872335 0.543155 \n", | |
| "city-L/100km 0.673363 0.003811 0.785353 0.745059 0.554610 \n", | |
| "diesel 0.244356 0.281578 0.221046 0.070779 0.054458 \n", | |
| "gas -0.244356 -0.281578 -0.221046 -0.070779 -0.054458 \n", | |
| "\n", | |
| " stroke compression-ratio horsepower peak-rpm \\\n", | |
| "symboling -0.008245 -0.182196 0.075819 0.279740 \n", | |
| "normalized-losses 0.055563 -0.114713 0.217299 0.239543 \n", | |
| "wheel-base 0.158502 0.250313 0.371147 -0.360305 \n", | |
| "length 0.124139 0.159733 0.579821 -0.285970 \n", | |
| "width 0.188829 0.189867 0.615077 -0.245800 \n", | |
| "height -0.062704 0.259737 -0.087027 -0.309974 \n", | |
| "curb-weight 0.167562 0.156433 0.757976 -0.279361 \n", | |
| "engine-size 0.209523 0.028889 0.822676 -0.256733 \n", | |
| "bore -0.055390 0.001263 0.566936 -0.267392 \n", | |
| "stroke 1.000000 0.187923 0.098462 -0.065713 \n", | |
| "compression-ratio 0.187923 1.000000 -0.214514 -0.435780 \n", | |
| "horsepower 0.098462 -0.214514 1.000000 0.107885 \n", | |
| "peak-rpm -0.065713 -0.435780 0.107885 1.000000 \n", | |
| "city-mpg -0.034696 0.331425 -0.822214 -0.115413 \n", | |
| "highway-mpg -0.035201 0.268465 -0.804575 -0.058598 \n", | |
| "price 0.082310 0.071107 0.809575 -0.101616 \n", | |
| "city-L/100km 0.037300 -0.299372 0.889488 0.115830 \n", | |
| "diesel 0.241303 0.985231 -0.169053 -0.475812 \n", | |
| "gas -0.241303 -0.985231 0.169053 0.475812 \n", | |
| "\n", | |
| " city-mpg highway-mpg price city-L/100km diesel \\\n", | |
| "symboling -0.035527 0.036233 -0.082391 0.066171 -0.196735 \n", | |
| "normalized-losses -0.225016 -0.181877 0.133999 0.238567 -0.101546 \n", | |
| "wheel-base -0.470606 -0.543304 0.584642 0.476153 0.307237 \n", | |
| "length -0.665192 -0.698142 0.690628 0.657373 0.211187 \n", | |
| "width -0.633531 -0.680635 0.751265 0.673363 0.244356 \n", | |
| "height -0.049800 -0.104812 0.135486 0.003811 0.281578 \n", | |
| "curb-weight -0.749543 -0.794889 0.834415 0.785353 0.221046 \n", | |
| "engine-size -0.650546 -0.679571 0.872335 0.745059 0.070779 \n", | |
| "bore -0.582027 -0.591309 0.543155 0.554610 0.054458 \n", | |
| "stroke -0.034696 -0.035201 0.082310 0.037300 0.241303 \n", | |
| "compression-ratio 0.331425 0.268465 0.071107 -0.299372 0.985231 \n", | |
| "horsepower -0.822214 -0.804575 0.809575 0.889488 -0.169053 \n", | |
| "peak-rpm -0.115413 -0.058598 -0.101616 0.115830 -0.475812 \n", | |
| "city-mpg 1.000000 0.972044 -0.686571 -0.949713 0.265676 \n", | |
| "highway-mpg 0.972044 1.000000 -0.704692 -0.930028 0.198690 \n", | |
| "price -0.686571 -0.704692 1.000000 0.789898 0.110326 \n", | |
| "city-L/100km -0.949713 -0.930028 0.789898 1.000000 -0.241282 \n", | |
| "diesel 0.265676 0.198690 0.110326 -0.241282 1.000000 \n", | |
| "gas -0.265676 -0.198690 -0.110326 0.241282 -1.000000 \n", | |
| "\n", | |
| " gas \n", | |
| "symboling 0.196735 \n", | |
| "normalized-losses 0.101546 \n", | |
| "wheel-base -0.307237 \n", | |
| "length -0.211187 \n", | |
| "width -0.244356 \n", | |
| "height -0.281578 \n", | |
| "curb-weight -0.221046 \n", | |
| "engine-size -0.070779 \n", | |
| "bore -0.054458 \n", | |
| "stroke -0.241303 \n", | |
| "compression-ratio -0.985231 \n", | |
| "horsepower 0.169053 \n", | |
| "peak-rpm 0.475812 \n", | |
| "city-mpg -0.265676 \n", | |
| "highway-mpg -0.198690 \n", | |
| "price -0.110326 \n", | |
| "city-L/100km 0.241282 \n", | |
| "diesel -1.000000 \n", | |
| "gas 1.000000 " | |
| ] | |
| }, | |
| "execution_count": 6, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "#float64\n", | |
| "df.corr()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The diagonal elements are always one; we will study correlation more precisely Pearson correlation in-depth at the end of the notebook." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
| "<h1> Question #2: </h1>\n", | |
| "\n", | |
| "<p>Find the correlation between the following columns: bore, stroke,compression-ratio , and horsepower.</p>\n", | |
| "<p>Hint: if you would like to select those columns use the following syntax: df[['bore','stroke' ,'compression-ratio','horsepower']]</p>\n", | |
| "</div>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>bore</th>\n", | |
| " <th>stroke</th>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <th>horsepower</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>bore</th>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.055390</td>\n", | |
| " <td>0.001263</td>\n", | |
| " <td>0.566936</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>stroke</th>\n", | |
| " <td>-0.055390</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.187923</td>\n", | |
| " <td>0.098462</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <td>0.001263</td>\n", | |
| " <td>0.187923</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.214514</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>horsepower</th>\n", | |
| " <td>0.566936</td>\n", | |
| " <td>0.098462</td>\n", | |
| " <td>-0.214514</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " bore stroke compression-ratio horsepower\n", | |
| "bore 1.000000 -0.055390 0.001263 0.566936\n", | |
| "stroke -0.055390 1.000000 0.187923 0.098462\n", | |
| "compression-ratio 0.001263 0.187923 1.000000 -0.214514\n", | |
| "horsepower 0.566936 0.098462 -0.214514 1.000000" | |
| ] | |
| }, | |
| "execution_count": 7, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "# Write your code below and press Shift+Enter to execute \n", | |
| "df[['bore','stroke' ,'compression-ratio','horsepower']].corr()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Double-click <b>here</b> for the solution.\n", | |
| "\n", | |
| "<!-- The answer is below:\n", | |
| "\n", | |
| "df[['bore', 'stroke', 'compression-ratio', 'horsepower']].corr() \n", | |
| "\n", | |
| "-->" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h2>Continuous numerical variables:</h2> \n", | |
| "\n", | |
| "<p>Continuous numerical variables are variables that may contain any value within some range. Continuous numerical variables can have the type \"int64\" or \"float64\". A great way to visualize these variables is by using scatterplots with fitted lines.</p>\n", | |
| "\n", | |
| "<p>In order to start understanding the (linear) relationship between an individual variable and the price. We can do this by using \"regplot\", which plots the scatterplot plus the fitted regression line for the data.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's see several examples of different linear relationships:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h4>Positive linear relationship</h4>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Let's find the scatterplot of \"engine-size\" and \"price\" " | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stderr", | |
| "output_type": "stream", | |
| "text": [ | |
| "/home/jupyterlab/conda/lib/python3.6/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n", | |
| " return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n" | |
| ] | |
| }, | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "(0, 56786.77560502522)" | |
| ] | |
| }, | |
| "execution_count": 8, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "# Engine size as potential predictor variable of price\n", | |
| "sns.regplot(x=\"engine-size\", y=\"price\", data=df)\n", | |
| "plt.ylim(0,)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p>As the engine-size goes up, the price goes up: this indicates a positive direct correlation between these two variables. Engine size seems like a pretty good predictor of price since the regression line is almost a perfect diagonal line.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " We can examine the correlation between 'engine-size' and 'price' and see it's approximately 0.87" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>engine-size</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>engine-size</th>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.872335</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>price</th>\n", | |
| " <td>0.872335</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " engine-size price\n", | |
| "engine-size 1.000000 0.872335\n", | |
| "price 0.872335 1.000000" | |
| ] | |
| }, | |
| "execution_count": 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 | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f8000138cf8>" | |
| ] | |
| }, | |
| "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 | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.704692</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>price</th>\n", | |
| " <td>-0.704692</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " highway-mpg price\n", | |
| "highway-mpg 1.000000 -0.704692\n", | |
| "price -0.704692 1.000000" | |
| ] | |
| }, | |
| "execution_count": 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 | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f80000c6eb8>" | |
| ] | |
| }, | |
| "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": 15, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.101616</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>price</th>\n", | |
| " <td>-0.101616</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " peak-rpm price\n", | |
| "peak-rpm 1.000000 -0.101616\n", | |
| "price -0.101616 1.000000" | |
| ] | |
| }, | |
| "execution_count": 15, | |
| "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": 16, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>stroke</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>stroke</th>\n", | |
| " <td>1.00000</td>\n", | |
| " <td>0.08231</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>price</th>\n", | |
| " <td>0.08231</td>\n", | |
| " <td>1.00000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " stroke price\n", | |
| "stroke 1.00000 0.08231\n", | |
| "price 0.08231 1.00000" | |
| ] | |
| }, | |
| "execution_count": 16, | |
| "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": 17, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f8000030f60>" | |
| ] | |
| }, | |
| "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": [ | |
| "# Write your code below and press Shift+Enter to execute \n", | |
| "\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": 18, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f80000309e8>" | |
| ] | |
| }, | |
| "execution_count": 18, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| }, | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "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": 19, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f7fcbf25f28>" | |
| ] | |
| }, | |
| "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": [ | |
| "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": 20, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "<matplotlib.axes._subplots.AxesSubplot at 0x7f7fcbea57b8>" | |
| ] | |
| }, | |
| "execution_count": 20, | |
| "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": 21, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>symboling</th>\n", | |
| " <th>normalized-losses</th>\n", | |
| " <th>wheel-base</th>\n", | |
| " <th>length</th>\n", | |
| " <th>width</th>\n", | |
| " <th>height</th>\n", | |
| " <th>curb-weight</th>\n", | |
| " <th>engine-size</th>\n", | |
| " <th>bore</th>\n", | |
| " <th>stroke</th>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <th>horsepower</th>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <th>city-mpg</th>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <th>price</th>\n", | |
| " <th>city-L/100km</th>\n", | |
| " <th>diesel</th>\n", | |
| " <th>gas</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>count</th>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.00000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>197.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " <td>201.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>mean</th>\n", | |
| " <td>0.840796</td>\n", | |
| " <td>122.00000</td>\n", | |
| " <td>98.797015</td>\n", | |
| " <td>0.837102</td>\n", | |
| " <td>0.915126</td>\n", | |
| " <td>53.766667</td>\n", | |
| " <td>2555.666667</td>\n", | |
| " <td>126.875622</td>\n", | |
| " <td>3.330692</td>\n", | |
| " <td>3.256904</td>\n", | |
| " <td>10.164279</td>\n", | |
| " <td>103.405534</td>\n", | |
| " <td>5117.665368</td>\n", | |
| " <td>25.179104</td>\n", | |
| " <td>30.686567</td>\n", | |
| " <td>13207.129353</td>\n", | |
| " <td>9.944145</td>\n", | |
| " <td>0.099502</td>\n", | |
| " <td>0.900498</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>std</th>\n", | |
| " <td>1.254802</td>\n", | |
| " <td>31.99625</td>\n", | |
| " <td>6.066366</td>\n", | |
| " <td>0.059213</td>\n", | |
| " <td>0.029187</td>\n", | |
| " <td>2.447822</td>\n", | |
| " <td>517.296727</td>\n", | |
| " <td>41.546834</td>\n", | |
| " <td>0.268072</td>\n", | |
| " <td>0.319256</td>\n", | |
| " <td>4.004965</td>\n", | |
| " <td>37.365700</td>\n", | |
| " <td>478.113805</td>\n", | |
| " <td>6.423220</td>\n", | |
| " <td>6.815150</td>\n", | |
| " <td>7947.066342</td>\n", | |
| " <td>2.534599</td>\n", | |
| " <td>0.300083</td>\n", | |
| " <td>0.300083</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>min</th>\n", | |
| " <td>-2.000000</td>\n", | |
| " <td>65.00000</td>\n", | |
| " <td>86.600000</td>\n", | |
| " <td>0.678039</td>\n", | |
| " <td>0.837500</td>\n", | |
| " <td>47.800000</td>\n", | |
| " <td>1488.000000</td>\n", | |
| " <td>61.000000</td>\n", | |
| " <td>2.540000</td>\n", | |
| " <td>2.070000</td>\n", | |
| " <td>7.000000</td>\n", | |
| " <td>48.000000</td>\n", | |
| " <td>4150.000000</td>\n", | |
| " <td>13.000000</td>\n", | |
| " <td>16.000000</td>\n", | |
| " <td>5118.000000</td>\n", | |
| " <td>4.795918</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>0.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25%</th>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>101.00000</td>\n", | |
| " <td>94.500000</td>\n", | |
| " <td>0.801538</td>\n", | |
| " <td>0.890278</td>\n", | |
| " <td>52.000000</td>\n", | |
| " <td>2169.000000</td>\n", | |
| " <td>98.000000</td>\n", | |
| " <td>3.150000</td>\n", | |
| " <td>3.110000</td>\n", | |
| " <td>8.600000</td>\n", | |
| " <td>70.000000</td>\n", | |
| " <td>4800.000000</td>\n", | |
| " <td>19.000000</td>\n", | |
| " <td>25.000000</td>\n", | |
| " <td>7775.000000</td>\n", | |
| " <td>7.833333</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>50%</th>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>122.00000</td>\n", | |
| " <td>97.000000</td>\n", | |
| " <td>0.832292</td>\n", | |
| " <td>0.909722</td>\n", | |
| " <td>54.100000</td>\n", | |
| " <td>2414.000000</td>\n", | |
| " <td>120.000000</td>\n", | |
| " <td>3.310000</td>\n", | |
| " <td>3.290000</td>\n", | |
| " <td>9.000000</td>\n", | |
| " <td>95.000000</td>\n", | |
| " <td>5125.369458</td>\n", | |
| " <td>24.000000</td>\n", | |
| " <td>30.000000</td>\n", | |
| " <td>10295.000000</td>\n", | |
| " <td>9.791667</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>75%</th>\n", | |
| " <td>2.000000</td>\n", | |
| " <td>137.00000</td>\n", | |
| " <td>102.400000</td>\n", | |
| " <td>0.881788</td>\n", | |
| " <td>0.925000</td>\n", | |
| " <td>55.500000</td>\n", | |
| " <td>2926.000000</td>\n", | |
| " <td>141.000000</td>\n", | |
| " <td>3.580000</td>\n", | |
| " <td>3.410000</td>\n", | |
| " <td>9.400000</td>\n", | |
| " <td>116.000000</td>\n", | |
| " <td>5500.000000</td>\n", | |
| " <td>30.000000</td>\n", | |
| " <td>34.000000</td>\n", | |
| " <td>16500.000000</td>\n", | |
| " <td>12.368421</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>max</th>\n", | |
| " <td>3.000000</td>\n", | |
| " <td>256.00000</td>\n", | |
| " <td>120.900000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>59.800000</td>\n", | |
| " <td>4066.000000</td>\n", | |
| " <td>326.000000</td>\n", | |
| " <td>3.940000</td>\n", | |
| " <td>4.170000</td>\n", | |
| " <td>23.000000</td>\n", | |
| " <td>262.000000</td>\n", | |
| " <td>6600.000000</td>\n", | |
| " <td>49.000000</td>\n", | |
| " <td>54.000000</td>\n", | |
| " <td>45400.000000</td>\n", | |
| " <td>18.076923</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " symboling normalized-losses wheel-base length width \\\n", | |
| "count 201.000000 201.00000 201.000000 201.000000 201.000000 \n", | |
| "mean 0.840796 122.00000 98.797015 0.837102 0.915126 \n", | |
| "std 1.254802 31.99625 6.066366 0.059213 0.029187 \n", | |
| "min -2.000000 65.00000 86.600000 0.678039 0.837500 \n", | |
| "25% 0.000000 101.00000 94.500000 0.801538 0.890278 \n", | |
| "50% 1.000000 122.00000 97.000000 0.832292 0.909722 \n", | |
| "75% 2.000000 137.00000 102.400000 0.881788 0.925000 \n", | |
| "max 3.000000 256.00000 120.900000 1.000000 1.000000 \n", | |
| "\n", | |
| " height curb-weight engine-size bore stroke \\\n", | |
| "count 201.000000 201.000000 201.000000 201.000000 197.000000 \n", | |
| "mean 53.766667 2555.666667 126.875622 3.330692 3.256904 \n", | |
| "std 2.447822 517.296727 41.546834 0.268072 0.319256 \n", | |
| "min 47.800000 1488.000000 61.000000 2.540000 2.070000 \n", | |
| "25% 52.000000 2169.000000 98.000000 3.150000 3.110000 \n", | |
| "50% 54.100000 2414.000000 120.000000 3.310000 3.290000 \n", | |
| "75% 55.500000 2926.000000 141.000000 3.580000 3.410000 \n", | |
| "max 59.800000 4066.000000 326.000000 3.940000 4.170000 \n", | |
| "\n", | |
| " compression-ratio horsepower peak-rpm city-mpg highway-mpg \\\n", | |
| "count 201.000000 201.000000 201.000000 201.000000 201.000000 \n", | |
| "mean 10.164279 103.405534 5117.665368 25.179104 30.686567 \n", | |
| "std 4.004965 37.365700 478.113805 6.423220 6.815150 \n", | |
| "min 7.000000 48.000000 4150.000000 13.000000 16.000000 \n", | |
| "25% 8.600000 70.000000 4800.000000 19.000000 25.000000 \n", | |
| "50% 9.000000 95.000000 5125.369458 24.000000 30.000000 \n", | |
| "75% 9.400000 116.000000 5500.000000 30.000000 34.000000 \n", | |
| "max 23.000000 262.000000 6600.000000 49.000000 54.000000 \n", | |
| "\n", | |
| " price city-L/100km diesel gas \n", | |
| "count 201.000000 201.000000 201.000000 201.000000 \n", | |
| "mean 13207.129353 9.944145 0.099502 0.900498 \n", | |
| "std 7947.066342 2.534599 0.300083 0.300083 \n", | |
| "min 5118.000000 4.795918 0.000000 0.000000 \n", | |
| "25% 7775.000000 7.833333 0.000000 1.000000 \n", | |
| "50% 10295.000000 9.791667 0.000000 1.000000 \n", | |
| "75% 16500.000000 12.368421 0.000000 1.000000 \n", | |
| "max 45400.000000 18.076923 1.000000 1.000000 " | |
| ] | |
| }, | |
| "execution_count": 21, | |
| "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": 22, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>make</th>\n", | |
| " <th>aspiration</th>\n", | |
| " <th>num-of-doors</th>\n", | |
| " <th>body-style</th>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th>engine-location</th>\n", | |
| " <th>engine-type</th>\n", | |
| " <th>num-of-cylinders</th>\n", | |
| " <th>fuel-system</th>\n", | |
| " <th>horsepower-binned</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>count</th>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>201</td>\n", | |
| " <td>200</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>unique</th>\n", | |
| " <td>22</td>\n", | |
| " <td>2</td>\n", | |
| " <td>2</td>\n", | |
| " <td>5</td>\n", | |
| " <td>3</td>\n", | |
| " <td>2</td>\n", | |
| " <td>6</td>\n", | |
| " <td>7</td>\n", | |
| " <td>8</td>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>top</th>\n", | |
| " <td>toyota</td>\n", | |
| " <td>std</td>\n", | |
| " <td>four</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>fwd</td>\n", | |
| " <td>front</td>\n", | |
| " <td>ohc</td>\n", | |
| " <td>four</td>\n", | |
| " <td>mpfi</td>\n", | |
| " <td>Low</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>freq</th>\n", | |
| " <td>32</td>\n", | |
| " <td>165</td>\n", | |
| " <td>115</td>\n", | |
| " <td>94</td>\n", | |
| " <td>118</td>\n", | |
| " <td>198</td>\n", | |
| " <td>145</td>\n", | |
| " <td>157</td>\n", | |
| " <td>92</td>\n", | |
| " <td>115</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " make aspiration num-of-doors body-style drive-wheels \\\n", | |
| "count 201 201 201 201 201 \n", | |
| "unique 22 2 2 5 3 \n", | |
| "top toyota std four sedan fwd \n", | |
| "freq 32 165 115 94 118 \n", | |
| "\n", | |
| " engine-location engine-type num-of-cylinders fuel-system \\\n", | |
| "count 201 201 201 201 \n", | |
| "unique 2 6 7 8 \n", | |
| "top front ohc four mpfi \n", | |
| "freq 198 145 157 92 \n", | |
| "\n", | |
| " horsepower-binned \n", | |
| "count 200 \n", | |
| "unique 3 \n", | |
| "top Low \n", | |
| "freq 115 " | |
| ] | |
| }, | |
| "execution_count": 22, | |
| "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": 23, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "fwd 118\n", | |
| "rwd 75\n", | |
| "4wd 8\n", | |
| "Name: drive-wheels, dtype: int64" | |
| ] | |
| }, | |
| "execution_count": 23, | |
| "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": 24, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>drive-wheels</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>fwd</th>\n", | |
| " <td>118</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>rwd</th>\n", | |
| " <td>75</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4wd</th>\n", | |
| " <td>8</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " drive-wheels\n", | |
| "fwd 118\n", | |
| "rwd 75\n", | |
| "4wd 8" | |
| ] | |
| }, | |
| "execution_count": 24, | |
| "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": 25, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>value_counts</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>fwd</th>\n", | |
| " <td>118</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>rwd</th>\n", | |
| " <td>75</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4wd</th>\n", | |
| " <td>8</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " value_counts\n", | |
| "fwd 118\n", | |
| "rwd 75\n", | |
| "4wd 8" | |
| ] | |
| }, | |
| "execution_count": 25, | |
| "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": 26, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>value_counts</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>fwd</th>\n", | |
| " <td>118</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>rwd</th>\n", | |
| " <td>75</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4wd</th>\n", | |
| " <td>8</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " value_counts\n", | |
| "drive-wheels \n", | |
| "fwd 118\n", | |
| "rwd 75\n", | |
| "4wd 8" | |
| ] | |
| }, | |
| "execution_count": 26, | |
| "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": 27, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>value_counts</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>engine-location</th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>front</th>\n", | |
| " <td>198</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>rear</th>\n", | |
| " <td>3</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " value_counts\n", | |
| "engine-location \n", | |
| "front 198\n", | |
| "rear 3" | |
| ] | |
| }, | |
| "execution_count": 27, | |
| "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": 28, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array(['rwd', 'fwd', '4wd'], dtype=object)" | |
| ] | |
| }, | |
| "execution_count": 28, | |
| "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": 29, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "df_group_one = df[['drive-wheels','body-style','price']]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "We can then calculate the average price for each of the different categories of data." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 30, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>4wd</td>\n", | |
| " <td>10241.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>9244.779661</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>19757.613333</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " drive-wheels price\n", | |
| "0 4wd 10241.000000\n", | |
| "1 fwd 9244.779661\n", | |
| "2 rwd 19757.613333" | |
| ] | |
| }, | |
| "execution_count": 30, | |
| "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": 31, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th>body-style</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>4wd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>7603.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>4wd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>12647.333333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>4wd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>9095.750000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>11595.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hardtop</td>\n", | |
| " <td>8249.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>8396.387755</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>9811.800000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>9997.333333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>23949.600000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hardtop</td>\n", | |
| " <td>24202.714286</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>14337.777778</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>21711.833333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>16994.222222</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " drive-wheels body-style price\n", | |
| "0 4wd hatchback 7603.000000\n", | |
| "1 4wd sedan 12647.333333\n", | |
| "2 4wd wagon 9095.750000\n", | |
| "3 fwd convertible 11595.000000\n", | |
| "4 fwd hardtop 8249.000000\n", | |
| "5 fwd hatchback 8396.387755\n", | |
| "6 fwd sedan 9811.800000\n", | |
| "7 fwd wagon 9997.333333\n", | |
| "8 rwd convertible 23949.600000\n", | |
| "9 rwd hardtop 24202.714286\n", | |
| "10 rwd hatchback 14337.777778\n", | |
| "11 rwd sedan 21711.833333\n", | |
| "12 rwd wagon 16994.222222" | |
| ] | |
| }, | |
| "execution_count": 31, | |
| "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": 32, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead tr th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead tr:last-of-type th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <th></th>\n", | |
| " <th colspan=\"5\" halign=\"left\">price</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>body-style</th>\n", | |
| " <th>convertible</th>\n", | |
| " <th>hardtop</th>\n", | |
| " <th>hatchback</th>\n", | |
| " <th>sedan</th>\n", | |
| " <th>wagon</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>4wd</th>\n", | |
| " <td>NaN</td>\n", | |
| " <td>NaN</td>\n", | |
| " <td>7603.000000</td>\n", | |
| " <td>12647.333333</td>\n", | |
| " <td>9095.750000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>fwd</th>\n", | |
| " <td>11595.0</td>\n", | |
| " <td>8249.000000</td>\n", | |
| " <td>8396.387755</td>\n", | |
| " <td>9811.800000</td>\n", | |
| " <td>9997.333333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>rwd</th>\n", | |
| " <td>23949.6</td>\n", | |
| " <td>24202.714286</td>\n", | |
| " <td>14337.777778</td>\n", | |
| " <td>21711.833333</td>\n", | |
| " <td>16994.222222</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " price \\\n", | |
| "body-style convertible hardtop hatchback sedan \n", | |
| "drive-wheels \n", | |
| "4wd NaN NaN 7603.000000 12647.333333 \n", | |
| "fwd 11595.0 8249.000000 8396.387755 9811.800000 \n", | |
| "rwd 23949.6 24202.714286 14337.777778 21711.833333 \n", | |
| "\n", | |
| " \n", | |
| "body-style wagon \n", | |
| "drive-wheels \n", | |
| "4wd 9095.750000 \n", | |
| "fwd 9997.333333 \n", | |
| "rwd 16994.222222 " | |
| ] | |
| }, | |
| "execution_count": 32, | |
| "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": 38, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead tr th {\n", | |
| " text-align: left;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead tr:last-of-type th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr>\n", | |
| " <th></th>\n", | |
| " <th colspan=\"5\" halign=\"left\">price</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>body-style</th>\n", | |
| " <th>convertible</th>\n", | |
| " <th>hardtop</th>\n", | |
| " <th>hatchback</th>\n", | |
| " <th>sedan</th>\n", | |
| " <th>wagon</th>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " <th></th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>4wd</th>\n", | |
| " <td>0.0</td>\n", | |
| " <td>0.000000</td>\n", | |
| " <td>7603.000000</td>\n", | |
| " <td>12647.333333</td>\n", | |
| " <td>9095.750000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>fwd</th>\n", | |
| " <td>11595.0</td>\n", | |
| " <td>8249.000000</td>\n", | |
| " <td>8396.387755</td>\n", | |
| " <td>9811.800000</td>\n", | |
| " <td>9997.333333</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>rwd</th>\n", | |
| " <td>23949.6</td>\n", | |
| " <td>24202.714286</td>\n", | |
| " <td>14337.777778</td>\n", | |
| " <td>21711.833333</td>\n", | |
| " <td>16994.222222</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " price \\\n", | |
| "body-style convertible hardtop hatchback sedan \n", | |
| "drive-wheels \n", | |
| "4wd 0.0 0.000000 7603.000000 12647.333333 \n", | |
| "fwd 11595.0 8249.000000 8396.387755 9811.800000 \n", | |
| "rwd 23949.6 24202.714286 14337.777778 21711.833333 \n", | |
| "\n", | |
| " \n", | |
| "body-style wagon \n", | |
| "drive-wheels \n", | |
| "4wd 9095.750000 \n", | |
| "fwd 9997.333333 \n", | |
| "rwd 16994.222222 " | |
| ] | |
| }, | |
| "execution_count": 38, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "grouped_pivot = grouped_pivot.fillna(0) #fill missing values with 0\n", | |
| "grouped_pivot" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n", | |
| "<h1>Question 4:</h1>\n", | |
| "\n", | |
| "<p>Use the \"groupby\" function to find the average \"price\" of each car based on \"body-style\" ? </p>\n", | |
| "</div>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 34, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>body-style</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>convertible</td>\n", | |
| " <td>21890.500000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>hardtop</td>\n", | |
| " <td>22208.500000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>9957.441176</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>sedan</td>\n", | |
| " <td>14459.755319</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>wagon</td>\n", | |
| " <td>12371.960000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " body-style price\n", | |
| "0 convertible 21890.500000\n", | |
| "1 hardtop 22208.500000\n", | |
| "2 hatchback 9957.441176\n", | |
| "3 sedan 14459.755319\n", | |
| "4 wagon 12371.960000" | |
| ] | |
| }, | |
| "execution_count": 34, | |
| "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": 35, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import matplotlib.pyplot as plt\n", | |
| "%matplotlib inline " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h4>Variables: Drive Wheels and Body Style vs Price</h4>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Let's use a heat map to visualize the relationship between Body Style vs Price." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 36, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 2 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "#use the grouped results\n", | |
| "plt.pcolor(grouped_pivot, cmap='RdBu')\n", | |
| "plt.colorbar()\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p>The heatmap plots the target variable (price) proportional to colour with respect to the variables 'drive-wheel' and 'body-style' in the vertical and horizontal axis respectively. This allows us to visualize how the price is related to 'drive-wheel' and 'body-style'.</p>\n", | |
| "\n", | |
| "<p>The default labels convey no useful information to us. Let's change that:</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 37, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 2 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| }, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "fig, ax = plt.subplots()\n", | |
| "im = ax.pcolor(grouped_pivot, cmap='RdBu')\n", | |
| "\n", | |
| "#label names\n", | |
| "row_labels = grouped_pivot.columns.levels[1]\n", | |
| "col_labels = grouped_pivot.index\n", | |
| "\n", | |
| "#move ticks and labels to the center\n", | |
| "ax.set_xticks(np.arange(grouped_pivot.shape[1]) + 0.5, minor=False)\n", | |
| "ax.set_yticks(np.arange(grouped_pivot.shape[0]) + 0.5, minor=False)\n", | |
| "\n", | |
| "#insert labels\n", | |
| "ax.set_xticklabels(row_labels, minor=False)\n", | |
| "ax.set_yticklabels(col_labels, minor=False)\n", | |
| "\n", | |
| "#rotate label if too long\n", | |
| "plt.xticks(rotation=90)\n", | |
| "\n", | |
| "fig.colorbar(im)\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p>Visualization is very important in data science, and Python visualization packages provide great freedom. We will go more in-depth in a separate Python Visualizations course.</p>\n", | |
| "\n", | |
| "<p>The main question we want to answer in this module, is \"What are the main characteristics which have the most impact on the car price?\".</p>\n", | |
| "\n", | |
| "<p>To get a better measure of the important characteristics, we look at the correlation of these variables with the car price, in other words: how is the car price dependent on this variable?</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h2 id=\"correlation_causation\">5. Correlation and Causation</h2>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p><b>Correlation</b>: a measure of the extent of interdependence between variables.</p>\n", | |
| "\n", | |
| "<p><b>Causation</b>: the relationship between cause and effect between two variables.</p>\n", | |
| "\n", | |
| "<p>It is important to know the difference between these two and that correlation does not imply causation. Determining correlation is much simpler the determining causation as causation may require independent experimentation.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p3>Pearson Correlation</p>\n", | |
| "<p>The Pearson Correlation measures the linear dependence between two variables X and Y.</p>\n", | |
| "<p>The resulting coefficient is a value between -1 and 1 inclusive, where:</p>\n", | |
| "<ul>\n", | |
| " <li><b>1</b>: Total positive linear correlation.</li>\n", | |
| " <li><b>0</b>: No linear correlation, the two variables most likely do not affect each other.</li>\n", | |
| " <li><b>-1</b>: Total negative linear correlation.</li>\n", | |
| "</ul>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p>Pearson Correlation is the default method of the function \"corr\". Like before we can calculate the Pearson Correlation of the of the 'int64' or 'float64' variables.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 38, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>symboling</th>\n", | |
| " <th>normalized-losses</th>\n", | |
| " <th>wheel-base</th>\n", | |
| " <th>length</th>\n", | |
| " <th>width</th>\n", | |
| " <th>height</th>\n", | |
| " <th>curb-weight</th>\n", | |
| " <th>engine-size</th>\n", | |
| " <th>bore</th>\n", | |
| " <th>stroke</th>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <th>horsepower</th>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <th>city-mpg</th>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <th>price</th>\n", | |
| " <th>city-L/100km</th>\n", | |
| " <th>diesel</th>\n", | |
| " <th>gas</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>symboling</th>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.466264</td>\n", | |
| " <td>-0.535987</td>\n", | |
| " <td>-0.365404</td>\n", | |
| " <td>-0.242423</td>\n", | |
| " <td>-0.550160</td>\n", | |
| " <td>-0.233118</td>\n", | |
| " <td>-0.110581</td>\n", | |
| " <td>-0.140019</td>\n", | |
| " <td>-0.008245</td>\n", | |
| " <td>-0.182196</td>\n", | |
| " <td>0.075819</td>\n", | |
| " <td>0.279740</td>\n", | |
| " <td>-0.035527</td>\n", | |
| " <td>0.036233</td>\n", | |
| " <td>-0.082391</td>\n", | |
| " <td>0.066171</td>\n", | |
| " <td>-0.196735</td>\n", | |
| " <td>0.196735</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>normalized-losses</th>\n", | |
| " <td>0.466264</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.056661</td>\n", | |
| " <td>0.019424</td>\n", | |
| " <td>0.086802</td>\n", | |
| " <td>-0.373737</td>\n", | |
| " <td>0.099404</td>\n", | |
| " <td>0.112360</td>\n", | |
| " <td>-0.029862</td>\n", | |
| " <td>0.055563</td>\n", | |
| " <td>-0.114713</td>\n", | |
| " <td>0.217299</td>\n", | |
| " <td>0.239543</td>\n", | |
| " <td>-0.225016</td>\n", | |
| " <td>-0.181877</td>\n", | |
| " <td>0.133999</td>\n", | |
| " <td>0.238567</td>\n", | |
| " <td>-0.101546</td>\n", | |
| " <td>0.101546</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>wheel-base</th>\n", | |
| " <td>-0.535987</td>\n", | |
| " <td>-0.056661</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.876024</td>\n", | |
| " <td>0.814507</td>\n", | |
| " <td>0.590742</td>\n", | |
| " <td>0.782097</td>\n", | |
| " <td>0.572027</td>\n", | |
| " <td>0.493244</td>\n", | |
| " <td>0.158502</td>\n", | |
| " <td>0.250313</td>\n", | |
| " <td>0.371147</td>\n", | |
| " <td>-0.360305</td>\n", | |
| " <td>-0.470606</td>\n", | |
| " <td>-0.543304</td>\n", | |
| " <td>0.584642</td>\n", | |
| " <td>0.476153</td>\n", | |
| " <td>0.307237</td>\n", | |
| " <td>-0.307237</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>length</th>\n", | |
| " <td>-0.365404</td>\n", | |
| " <td>0.019424</td>\n", | |
| " <td>0.876024</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.857170</td>\n", | |
| " <td>0.492063</td>\n", | |
| " <td>0.880665</td>\n", | |
| " <td>0.685025</td>\n", | |
| " <td>0.608971</td>\n", | |
| " <td>0.124139</td>\n", | |
| " <td>0.159733</td>\n", | |
| " <td>0.579821</td>\n", | |
| " <td>-0.285970</td>\n", | |
| " <td>-0.665192</td>\n", | |
| " <td>-0.698142</td>\n", | |
| " <td>0.690628</td>\n", | |
| " <td>0.657373</td>\n", | |
| " <td>0.211187</td>\n", | |
| " <td>-0.211187</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>width</th>\n", | |
| " <td>-0.242423</td>\n", | |
| " <td>0.086802</td>\n", | |
| " <td>0.814507</td>\n", | |
| " <td>0.857170</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.306002</td>\n", | |
| " <td>0.866201</td>\n", | |
| " <td>0.729436</td>\n", | |
| " <td>0.544885</td>\n", | |
| " <td>0.188829</td>\n", | |
| " <td>0.189867</td>\n", | |
| " <td>0.615077</td>\n", | |
| " <td>-0.245800</td>\n", | |
| " <td>-0.633531</td>\n", | |
| " <td>-0.680635</td>\n", | |
| " <td>0.751265</td>\n", | |
| " <td>0.673363</td>\n", | |
| " <td>0.244356</td>\n", | |
| " <td>-0.244356</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>height</th>\n", | |
| " <td>-0.550160</td>\n", | |
| " <td>-0.373737</td>\n", | |
| " <td>0.590742</td>\n", | |
| " <td>0.492063</td>\n", | |
| " <td>0.306002</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.307581</td>\n", | |
| " <td>0.074694</td>\n", | |
| " <td>0.180449</td>\n", | |
| " <td>-0.062704</td>\n", | |
| " <td>0.259737</td>\n", | |
| " <td>-0.087027</td>\n", | |
| " <td>-0.309974</td>\n", | |
| " <td>-0.049800</td>\n", | |
| " <td>-0.104812</td>\n", | |
| " <td>0.135486</td>\n", | |
| " <td>0.003811</td>\n", | |
| " <td>0.281578</td>\n", | |
| " <td>-0.281578</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>curb-weight</th>\n", | |
| " <td>-0.233118</td>\n", | |
| " <td>0.099404</td>\n", | |
| " <td>0.782097</td>\n", | |
| " <td>0.880665</td>\n", | |
| " <td>0.866201</td>\n", | |
| " <td>0.307581</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.849072</td>\n", | |
| " <td>0.644060</td>\n", | |
| " <td>0.167562</td>\n", | |
| " <td>0.156433</td>\n", | |
| " <td>0.757976</td>\n", | |
| " <td>-0.279361</td>\n", | |
| " <td>-0.749543</td>\n", | |
| " <td>-0.794889</td>\n", | |
| " <td>0.834415</td>\n", | |
| " <td>0.785353</td>\n", | |
| " <td>0.221046</td>\n", | |
| " <td>-0.221046</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>engine-size</th>\n", | |
| " <td>-0.110581</td>\n", | |
| " <td>0.112360</td>\n", | |
| " <td>0.572027</td>\n", | |
| " <td>0.685025</td>\n", | |
| " <td>0.729436</td>\n", | |
| " <td>0.074694</td>\n", | |
| " <td>0.849072</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.572609</td>\n", | |
| " <td>0.209523</td>\n", | |
| " <td>0.028889</td>\n", | |
| " <td>0.822676</td>\n", | |
| " <td>-0.256733</td>\n", | |
| " <td>-0.650546</td>\n", | |
| " <td>-0.679571</td>\n", | |
| " <td>0.872335</td>\n", | |
| " <td>0.745059</td>\n", | |
| " <td>0.070779</td>\n", | |
| " <td>-0.070779</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>bore</th>\n", | |
| " <td>-0.140019</td>\n", | |
| " <td>-0.029862</td>\n", | |
| " <td>0.493244</td>\n", | |
| " <td>0.608971</td>\n", | |
| " <td>0.544885</td>\n", | |
| " <td>0.180449</td>\n", | |
| " <td>0.644060</td>\n", | |
| " <td>0.572609</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.055390</td>\n", | |
| " <td>0.001263</td>\n", | |
| " <td>0.566936</td>\n", | |
| " <td>-0.267392</td>\n", | |
| " <td>-0.582027</td>\n", | |
| " <td>-0.591309</td>\n", | |
| " <td>0.543155</td>\n", | |
| " <td>0.554610</td>\n", | |
| " <td>0.054458</td>\n", | |
| " <td>-0.054458</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>stroke</th>\n", | |
| " <td>-0.008245</td>\n", | |
| " <td>0.055563</td>\n", | |
| " <td>0.158502</td>\n", | |
| " <td>0.124139</td>\n", | |
| " <td>0.188829</td>\n", | |
| " <td>-0.062704</td>\n", | |
| " <td>0.167562</td>\n", | |
| " <td>0.209523</td>\n", | |
| " <td>-0.055390</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.187923</td>\n", | |
| " <td>0.098462</td>\n", | |
| " <td>-0.065713</td>\n", | |
| " <td>-0.034696</td>\n", | |
| " <td>-0.035201</td>\n", | |
| " <td>0.082310</td>\n", | |
| " <td>0.037300</td>\n", | |
| " <td>0.241303</td>\n", | |
| " <td>-0.241303</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>compression-ratio</th>\n", | |
| " <td>-0.182196</td>\n", | |
| " <td>-0.114713</td>\n", | |
| " <td>0.250313</td>\n", | |
| " <td>0.159733</td>\n", | |
| " <td>0.189867</td>\n", | |
| " <td>0.259737</td>\n", | |
| " <td>0.156433</td>\n", | |
| " <td>0.028889</td>\n", | |
| " <td>0.001263</td>\n", | |
| " <td>0.187923</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.214514</td>\n", | |
| " <td>-0.435780</td>\n", | |
| " <td>0.331425</td>\n", | |
| " <td>0.268465</td>\n", | |
| " <td>0.071107</td>\n", | |
| " <td>-0.299372</td>\n", | |
| " <td>0.985231</td>\n", | |
| " <td>-0.985231</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>horsepower</th>\n", | |
| " <td>0.075819</td>\n", | |
| " <td>0.217299</td>\n", | |
| " <td>0.371147</td>\n", | |
| " <td>0.579821</td>\n", | |
| " <td>0.615077</td>\n", | |
| " <td>-0.087027</td>\n", | |
| " <td>0.757976</td>\n", | |
| " <td>0.822676</td>\n", | |
| " <td>0.566936</td>\n", | |
| " <td>0.098462</td>\n", | |
| " <td>-0.214514</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.107885</td>\n", | |
| " <td>-0.822214</td>\n", | |
| " <td>-0.804575</td>\n", | |
| " <td>0.809575</td>\n", | |
| " <td>0.889488</td>\n", | |
| " <td>-0.169053</td>\n", | |
| " <td>0.169053</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>peak-rpm</th>\n", | |
| " <td>0.279740</td>\n", | |
| " <td>0.239543</td>\n", | |
| " <td>-0.360305</td>\n", | |
| " <td>-0.285970</td>\n", | |
| " <td>-0.245800</td>\n", | |
| " <td>-0.309974</td>\n", | |
| " <td>-0.279361</td>\n", | |
| " <td>-0.256733</td>\n", | |
| " <td>-0.267392</td>\n", | |
| " <td>-0.065713</td>\n", | |
| " <td>-0.435780</td>\n", | |
| " <td>0.107885</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.115413</td>\n", | |
| " <td>-0.058598</td>\n", | |
| " <td>-0.101616</td>\n", | |
| " <td>0.115830</td>\n", | |
| " <td>-0.475812</td>\n", | |
| " <td>0.475812</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>city-mpg</th>\n", | |
| " <td>-0.035527</td>\n", | |
| " <td>-0.225016</td>\n", | |
| " <td>-0.470606</td>\n", | |
| " <td>-0.665192</td>\n", | |
| " <td>-0.633531</td>\n", | |
| " <td>-0.049800</td>\n", | |
| " <td>-0.749543</td>\n", | |
| " <td>-0.650546</td>\n", | |
| " <td>-0.582027</td>\n", | |
| " <td>-0.034696</td>\n", | |
| " <td>0.331425</td>\n", | |
| " <td>-0.822214</td>\n", | |
| " <td>-0.115413</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.972044</td>\n", | |
| " <td>-0.686571</td>\n", | |
| " <td>-0.949713</td>\n", | |
| " <td>0.265676</td>\n", | |
| " <td>-0.265676</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>highway-mpg</th>\n", | |
| " <td>0.036233</td>\n", | |
| " <td>-0.181877</td>\n", | |
| " <td>-0.543304</td>\n", | |
| " <td>-0.698142</td>\n", | |
| " <td>-0.680635</td>\n", | |
| " <td>-0.104812</td>\n", | |
| " <td>-0.794889</td>\n", | |
| " <td>-0.679571</td>\n", | |
| " <td>-0.591309</td>\n", | |
| " <td>-0.035201</td>\n", | |
| " <td>0.268465</td>\n", | |
| " <td>-0.804575</td>\n", | |
| " <td>-0.058598</td>\n", | |
| " <td>0.972044</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.704692</td>\n", | |
| " <td>-0.930028</td>\n", | |
| " <td>0.198690</td>\n", | |
| " <td>-0.198690</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>price</th>\n", | |
| " <td>-0.082391</td>\n", | |
| " <td>0.133999</td>\n", | |
| " <td>0.584642</td>\n", | |
| " <td>0.690628</td>\n", | |
| " <td>0.751265</td>\n", | |
| " <td>0.135486</td>\n", | |
| " <td>0.834415</td>\n", | |
| " <td>0.872335</td>\n", | |
| " <td>0.543155</td>\n", | |
| " <td>0.082310</td>\n", | |
| " <td>0.071107</td>\n", | |
| " <td>0.809575</td>\n", | |
| " <td>-0.101616</td>\n", | |
| " <td>-0.686571</td>\n", | |
| " <td>-0.704692</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>0.789898</td>\n", | |
| " <td>0.110326</td>\n", | |
| " <td>-0.110326</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>city-L/100km</th>\n", | |
| " <td>0.066171</td>\n", | |
| " <td>0.238567</td>\n", | |
| " <td>0.476153</td>\n", | |
| " <td>0.657373</td>\n", | |
| " <td>0.673363</td>\n", | |
| " <td>0.003811</td>\n", | |
| " <td>0.785353</td>\n", | |
| " <td>0.745059</td>\n", | |
| " <td>0.554610</td>\n", | |
| " <td>0.037300</td>\n", | |
| " <td>-0.299372</td>\n", | |
| " <td>0.889488</td>\n", | |
| " <td>0.115830</td>\n", | |
| " <td>-0.949713</td>\n", | |
| " <td>-0.930028</td>\n", | |
| " <td>0.789898</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-0.241282</td>\n", | |
| " <td>0.241282</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>diesel</th>\n", | |
| " <td>-0.196735</td>\n", | |
| " <td>-0.101546</td>\n", | |
| " <td>0.307237</td>\n", | |
| " <td>0.211187</td>\n", | |
| " <td>0.244356</td>\n", | |
| " <td>0.281578</td>\n", | |
| " <td>0.221046</td>\n", | |
| " <td>0.070779</td>\n", | |
| " <td>0.054458</td>\n", | |
| " <td>0.241303</td>\n", | |
| " <td>0.985231</td>\n", | |
| " <td>-0.169053</td>\n", | |
| " <td>-0.475812</td>\n", | |
| " <td>0.265676</td>\n", | |
| " <td>0.198690</td>\n", | |
| " <td>0.110326</td>\n", | |
| " <td>-0.241282</td>\n", | |
| " <td>1.000000</td>\n", | |
| " <td>-1.000000</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>gas</th>\n", | |
| " <td>0.196735</td>\n", | |
| " <td>0.101546</td>\n", | |
| " <td>-0.307237</td>\n", | |
| " <td>-0.211187</td>\n", | |
| " <td>-0.244356</td>\n", | |
| " <td>-0.281578</td>\n", | |
| " <td>-0.221046</td>\n", | |
| " <td>-0.070779</td>\n", | |
| " <td>-0.054458</td>\n", | |
| " <td>-0.241303</td>\n", | |
| " <td>-0.985231</td>\n", | |
| " <td>0.169053</td>\n", | |
| " <td>0.475812</td>\n", | |
| " <td>-0.265676</td>\n", | |
| " <td>-0.198690</td>\n", | |
| " <td>-0.110326</td>\n", | |
| " <td>0.241282</td>\n", | |
| " <td>-1.000000</td>\n", | |
| " <td>1.000000</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " symboling normalized-losses wheel-base length \\\n", | |
| "symboling 1.000000 0.466264 -0.535987 -0.365404 \n", | |
| "normalized-losses 0.466264 1.000000 -0.056661 0.019424 \n", | |
| "wheel-base -0.535987 -0.056661 1.000000 0.876024 \n", | |
| "length -0.365404 0.019424 0.876024 1.000000 \n", | |
| "width -0.242423 0.086802 0.814507 0.857170 \n", | |
| "height -0.550160 -0.373737 0.590742 0.492063 \n", | |
| "curb-weight -0.233118 0.099404 0.782097 0.880665 \n", | |
| "engine-size -0.110581 0.112360 0.572027 0.685025 \n", | |
| "bore -0.140019 -0.029862 0.493244 0.608971 \n", | |
| "stroke -0.008245 0.055563 0.158502 0.124139 \n", | |
| "compression-ratio -0.182196 -0.114713 0.250313 0.159733 \n", | |
| "horsepower 0.075819 0.217299 0.371147 0.579821 \n", | |
| "peak-rpm 0.279740 0.239543 -0.360305 -0.285970 \n", | |
| "city-mpg -0.035527 -0.225016 -0.470606 -0.665192 \n", | |
| "highway-mpg 0.036233 -0.181877 -0.543304 -0.698142 \n", | |
| "price -0.082391 0.133999 0.584642 0.690628 \n", | |
| "city-L/100km 0.066171 0.238567 0.476153 0.657373 \n", | |
| "diesel -0.196735 -0.101546 0.307237 0.211187 \n", | |
| "gas 0.196735 0.101546 -0.307237 -0.211187 \n", | |
| "\n", | |
| " width height curb-weight engine-size bore \\\n", | |
| "symboling -0.242423 -0.550160 -0.233118 -0.110581 -0.140019 \n", | |
| "normalized-losses 0.086802 -0.373737 0.099404 0.112360 -0.029862 \n", | |
| "wheel-base 0.814507 0.590742 0.782097 0.572027 0.493244 \n", | |
| "length 0.857170 0.492063 0.880665 0.685025 0.608971 \n", | |
| "width 1.000000 0.306002 0.866201 0.729436 0.544885 \n", | |
| "height 0.306002 1.000000 0.307581 0.074694 0.180449 \n", | |
| "curb-weight 0.866201 0.307581 1.000000 0.849072 0.644060 \n", | |
| "engine-size 0.729436 0.074694 0.849072 1.000000 0.572609 \n", | |
| "bore 0.544885 0.180449 0.644060 0.572609 1.000000 \n", | |
| "stroke 0.188829 -0.062704 0.167562 0.209523 -0.055390 \n", | |
| "compression-ratio 0.189867 0.259737 0.156433 0.028889 0.001263 \n", | |
| "horsepower 0.615077 -0.087027 0.757976 0.822676 0.566936 \n", | |
| "peak-rpm -0.245800 -0.309974 -0.279361 -0.256733 -0.267392 \n", | |
| "city-mpg -0.633531 -0.049800 -0.749543 -0.650546 -0.582027 \n", | |
| "highway-mpg -0.680635 -0.104812 -0.794889 -0.679571 -0.591309 \n", | |
| "price 0.751265 0.135486 0.834415 0.872335 0.543155 \n", | |
| "city-L/100km 0.673363 0.003811 0.785353 0.745059 0.554610 \n", | |
| "diesel 0.244356 0.281578 0.221046 0.070779 0.054458 \n", | |
| "gas -0.244356 -0.281578 -0.221046 -0.070779 -0.054458 \n", | |
| "\n", | |
| " stroke compression-ratio horsepower peak-rpm \\\n", | |
| "symboling -0.008245 -0.182196 0.075819 0.279740 \n", | |
| "normalized-losses 0.055563 -0.114713 0.217299 0.239543 \n", | |
| "wheel-base 0.158502 0.250313 0.371147 -0.360305 \n", | |
| "length 0.124139 0.159733 0.579821 -0.285970 \n", | |
| "width 0.188829 0.189867 0.615077 -0.245800 \n", | |
| "height -0.062704 0.259737 -0.087027 -0.309974 \n", | |
| "curb-weight 0.167562 0.156433 0.757976 -0.279361 \n", | |
| "engine-size 0.209523 0.028889 0.822676 -0.256733 \n", | |
| "bore -0.055390 0.001263 0.566936 -0.267392 \n", | |
| "stroke 1.000000 0.187923 0.098462 -0.065713 \n", | |
| "compression-ratio 0.187923 1.000000 -0.214514 -0.435780 \n", | |
| "horsepower 0.098462 -0.214514 1.000000 0.107885 \n", | |
| "peak-rpm -0.065713 -0.435780 0.107885 1.000000 \n", | |
| "city-mpg -0.034696 0.331425 -0.822214 -0.115413 \n", | |
| "highway-mpg -0.035201 0.268465 -0.804575 -0.058598 \n", | |
| "price 0.082310 0.071107 0.809575 -0.101616 \n", | |
| "city-L/100km 0.037300 -0.299372 0.889488 0.115830 \n", | |
| "diesel 0.241303 0.985231 -0.169053 -0.475812 \n", | |
| "gas -0.241303 -0.985231 0.169053 0.475812 \n", | |
| "\n", | |
| " city-mpg highway-mpg price city-L/100km diesel \\\n", | |
| "symboling -0.035527 0.036233 -0.082391 0.066171 -0.196735 \n", | |
| "normalized-losses -0.225016 -0.181877 0.133999 0.238567 -0.101546 \n", | |
| "wheel-base -0.470606 -0.543304 0.584642 0.476153 0.307237 \n", | |
| "length -0.665192 -0.698142 0.690628 0.657373 0.211187 \n", | |
| "width -0.633531 -0.680635 0.751265 0.673363 0.244356 \n", | |
| "height -0.049800 -0.104812 0.135486 0.003811 0.281578 \n", | |
| "curb-weight -0.749543 -0.794889 0.834415 0.785353 0.221046 \n", | |
| "engine-size -0.650546 -0.679571 0.872335 0.745059 0.070779 \n", | |
| "bore -0.582027 -0.591309 0.543155 0.554610 0.054458 \n", | |
| "stroke -0.034696 -0.035201 0.082310 0.037300 0.241303 \n", | |
| "compression-ratio 0.331425 0.268465 0.071107 -0.299372 0.985231 \n", | |
| "horsepower -0.822214 -0.804575 0.809575 0.889488 -0.169053 \n", | |
| "peak-rpm -0.115413 -0.058598 -0.101616 0.115830 -0.475812 \n", | |
| "city-mpg 1.000000 0.972044 -0.686571 -0.949713 0.265676 \n", | |
| "highway-mpg 0.972044 1.000000 -0.704692 -0.930028 0.198690 \n", | |
| "price -0.686571 -0.704692 1.000000 0.789898 0.110326 \n", | |
| "city-L/100km -0.949713 -0.930028 0.789898 1.000000 -0.241282 \n", | |
| "diesel 0.265676 0.198690 0.110326 -0.241282 1.000000 \n", | |
| "gas -0.265676 -0.198690 -0.110326 0.241282 -1.000000 \n", | |
| "\n", | |
| " gas \n", | |
| "symboling 0.196735 \n", | |
| "normalized-losses 0.101546 \n", | |
| "wheel-base -0.307237 \n", | |
| "length -0.211187 \n", | |
| "width -0.244356 \n", | |
| "height -0.281578 \n", | |
| "curb-weight -0.221046 \n", | |
| "engine-size -0.070779 \n", | |
| "bore -0.054458 \n", | |
| "stroke -0.241303 \n", | |
| "compression-ratio -0.985231 \n", | |
| "horsepower 0.169053 \n", | |
| "peak-rpm 0.475812 \n", | |
| "city-mpg -0.265676 \n", | |
| "highway-mpg -0.198690 \n", | |
| "price -0.110326 \n", | |
| "city-L/100km 0.241282 \n", | |
| "diesel -1.000000 \n", | |
| "gas 1.000000 " | |
| ] | |
| }, | |
| "execution_count": 38, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "df.corr()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " sometimes we would like to know the significant of the correlation estimate. " | |
| ] | |
| }, | |
| { | |
| "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": 39, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "from scipy import stats" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Wheel-base vs Price</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Let's calculate the Pearson Correlation Coefficient and P-value of 'wheel-base' and 'price'. " | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 41, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is 0.5846418222655081 with a P-value of P = 8.076488270732955e-20\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['wheel-base'], df['price'])\n", | |
| "print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h5>Conclusion:</h5>\n", | |
| "<p>Since the p-value is $<$ 0.001, the correlation between wheel-base and price is statistically significant, although the linear relationship isn't extremely strong (~0.585)</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Horsepower vs Price</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's calculate the Pearson Correlation Coefficient and P-value of 'horsepower' and 'price'." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 42, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is 0.8095745670036559 with a P-value of P = 6.36905742825998e-48\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['horsepower'], df['price'])\n", | |
| "print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h5>Conclusion:</h5>\n", | |
| "\n", | |
| "<p>Since the p-value is $<$ 0.001, the correlation between horsepower and price is statistically significant, and the linear relationship is quite strong (~0.809, close to 1)</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Length vs Price</h3>\n", | |
| "\n", | |
| "Let's calculate the Pearson Correlation Coefficient and P-value of 'length' and 'price'." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 43, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is 0.690628380448364 with a P-value of P = 8.016477466159053e-30\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['length'], df['price'])\n", | |
| "print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h5>Conclusion:</h5>\n", | |
| "<p>Since the p-value is $<$ 0.001, the correlation between length and price is statistically significant, and the linear relationship is moderately strong (~0.691).</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Width vs Price</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's calculate the Pearson Correlation Coefficient and P-value of 'width' and 'price':" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 44, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is 0.7512653440522674 with a P-value of P = 9.200335510481426e-38\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['width'], df['price'])\n", | |
| "print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value ) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "##### Conclusion:\n", | |
| "\n", | |
| "Since the p-value is < 0.001, the correlation between width and price is statistically significant, and the linear relationship is quite strong (~0.751)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "### Curb-weight vs Price" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's calculate the Pearson Correlation Coefficient and P-value of 'curb-weight' and 'price':" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 45, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is 0.8344145257702846 with a P-value of P = 2.1895772388936997e-53\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['curb-weight'], df['price'])\n", | |
| "print( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h5>Conclusion:</h5>\n", | |
| "<p>Since the p-value is $<$ 0.001, the correlation between curb-weight and price is statistically significant, and the linear relationship is quite strong (~0.834).</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Engine-size vs Price</h3>\n", | |
| "\n", | |
| "Let's calculate the Pearson Correlation Coefficient and P-value of 'engine-size' and 'price':" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 46, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is 0.8723351674455185 with a P-value of P = 9.265491622197996e-64\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['engine-size'], df['price'])\n", | |
| "print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h5>Conclusion:</h5>\n", | |
| "\n", | |
| "<p>Since the p-value is $<$ 0.001, the correlation between engine-size and price is statistically significant, and the linear relationship is very strong (~0.872).</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Bore vs Price</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's calculate the Pearson Correlation Coefficient and P-value of 'bore' and 'price':" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 47, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is 0.5431553832626602 with a P-value of P = 8.049189483935364e-17\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['bore'], df['price'])\n", | |
| "print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h5>Conclusion:</h5>\n", | |
| "<p>Since the p-value is $<$ 0.001, the correlation between bore and price is statistically significant, but the linear relationship is only moderate (~0.521).</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " We can relate the process for each 'City-mpg' and 'Highway-mpg':" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>City-mpg vs Price</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 48, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is -0.6865710067844677 with a P-value of P = 2.3211320655676368e-29\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['city-mpg'], df['price'])\n", | |
| "print(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h5>Conclusion:</h5>\n", | |
| "<p>Since the p-value is $<$ 0.001, the correlation between city-mpg and price is statistically significant, and the coefficient of ~ -0.687 shows that the relationship is negative and moderately strong.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Highway-mpg vs Price</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 49, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "The Pearson Correlation Coefficient is -0.7046922650589529 with a P-value of P = 1.7495471144476807e-31\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "pearson_coef, p_value = stats.pearsonr(df['highway-mpg'], df['price'])\n", | |
| "print( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "##### Conclusion:\n", | |
| "Since the p-value is < 0.001, the correlation between highway-mpg and price is statistically significant, and the coefficient of ~ -0.705 shows that the relationship is negative and moderately strong." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h2 id=\"anova\">6. ANOVA</h2>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>ANOVA: Analysis of Variance</h3>\n", | |
| "<p>The Analysis of Variance (ANOVA) is a statistical method used to test whether there are significant differences between the means of two or more groups. ANOVA returns two parameters:</p>\n", | |
| "\n", | |
| "<p><b>F-test score</b>: ANOVA assumes the means of all groups are the same, calculates how much the actual means deviate from the assumption, and reports it as the F-test score. A larger score means there is a larger difference between the means.</p>\n", | |
| "\n", | |
| "<p><b>P-value</b>: P-value tells how statistically significant is our calculated score value.</p>\n", | |
| "\n", | |
| "<p>If our price variable is strongly correlated with the variable we are analyzing, expect ANOVA to return a sizeable F-test score and a small p-value.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Drive Wheels</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p>Since ANOVA analyzes the difference between different groups of the same variable, the groupby function will come in handy. Because the ANOVA algorithm averages the data automatically, we do not need to take the average before hand.</p>\n", | |
| "\n", | |
| "<p>Let's see if different types 'drive-wheels' impact 'price', we group the data.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's see if different types 'drive-wheels' impact 'price', we group the data." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 50, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>13495.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>16500.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>13950.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>4wd</td>\n", | |
| " <td>17450.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>15250.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>136</th>\n", | |
| " <td>4wd</td>\n", | |
| " <td>7603.0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " drive-wheels price\n", | |
| "0 rwd 13495.0\n", | |
| "1 rwd 16500.0\n", | |
| "3 fwd 13950.0\n", | |
| "4 4wd 17450.0\n", | |
| "5 fwd 15250.0\n", | |
| "136 4wd 7603.0" | |
| ] | |
| }, | |
| "execution_count": 50, | |
| "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": 51, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/html": [ | |
| "<div>\n", | |
| "<style scoped>\n", | |
| " .dataframe tbody tr th:only-of-type {\n", | |
| " vertical-align: middle;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe tbody tr th {\n", | |
| " vertical-align: top;\n", | |
| " }\n", | |
| "\n", | |
| " .dataframe thead th {\n", | |
| " text-align: right;\n", | |
| " }\n", | |
| "</style>\n", | |
| "<table border=\"1\" class=\"dataframe\">\n", | |
| " <thead>\n", | |
| " <tr style=\"text-align: right;\">\n", | |
| " <th></th>\n", | |
| " <th>drive-wheels</th>\n", | |
| " <th>body-style</th>\n", | |
| " <th>price</th>\n", | |
| " </tr>\n", | |
| " </thead>\n", | |
| " <tbody>\n", | |
| " <tr>\n", | |
| " <th>0</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>13495.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>1</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>16500.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>2</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>16500.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>3</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>13950.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>4</th>\n", | |
| " <td>4wd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>17450.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>5</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>15250.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>6</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>17710.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>7</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>18920.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>8</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>23875.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>9</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>16430.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>10</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>16925.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>11</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>20970.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>12</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>21105.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>13</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>24565.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>14</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>30760.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>15</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>41315.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>16</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>36880.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>17</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>5151.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>18</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>6295.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>19</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>6575.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>20</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>5572.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>21</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>6377.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>22</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>7957.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>23</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>6229.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>24</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>6692.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>25</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>7609.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>26</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>8558.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>27</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>8921.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>28</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>12964.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>29</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>6479.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>...</th>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " <td>...</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>171</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>9988.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>172</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>10898.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>173</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>11248.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>174</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>16558.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>175</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>15998.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>176</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>15690.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>177</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>15750.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>178</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>7775.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>179</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>7975.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>180</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>7995.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>181</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>8195.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>182</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>8495.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>183</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>9495.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>184</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>9995.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>185</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>convertible</td>\n", | |
| " <td>11595.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>186</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>hatchback</td>\n", | |
| " <td>9980.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>187</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>13295.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>188</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>13845.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>189</th>\n", | |
| " <td>fwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>12290.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>190</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>12940.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>191</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>13415.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>192</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>15985.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>193</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>16515.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>194</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>18420.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>195</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>wagon</td>\n", | |
| " <td>18950.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>196</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>16845.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>197</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>19045.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>198</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>21485.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>199</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>22470.0</td>\n", | |
| " </tr>\n", | |
| " <tr>\n", | |
| " <th>200</th>\n", | |
| " <td>rwd</td>\n", | |
| " <td>sedan</td>\n", | |
| " <td>22625.0</td>\n", | |
| " </tr>\n", | |
| " </tbody>\n", | |
| "</table>\n", | |
| "<p>201 rows × 3 columns</p>\n", | |
| "</div>" | |
| ], | |
| "text/plain": [ | |
| " drive-wheels body-style price\n", | |
| "0 rwd convertible 13495.0\n", | |
| "1 rwd convertible 16500.0\n", | |
| "2 rwd hatchback 16500.0\n", | |
| "3 fwd sedan 13950.0\n", | |
| "4 4wd sedan 17450.0\n", | |
| "5 fwd sedan 15250.0\n", | |
| "6 fwd sedan 17710.0\n", | |
| "7 fwd wagon 18920.0\n", | |
| "8 fwd sedan 23875.0\n", | |
| "9 rwd sedan 16430.0\n", | |
| "10 rwd sedan 16925.0\n", | |
| "11 rwd sedan 20970.0\n", | |
| "12 rwd sedan 21105.0\n", | |
| "13 rwd sedan 24565.0\n", | |
| "14 rwd sedan 30760.0\n", | |
| "15 rwd sedan 41315.0\n", | |
| "16 rwd sedan 36880.0\n", | |
| "17 fwd hatchback 5151.0\n", | |
| "18 fwd hatchback 6295.0\n", | |
| "19 fwd sedan 6575.0\n", | |
| "20 fwd hatchback 5572.0\n", | |
| "21 fwd hatchback 6377.0\n", | |
| "22 fwd hatchback 7957.0\n", | |
| "23 fwd hatchback 6229.0\n", | |
| "24 fwd sedan 6692.0\n", | |
| "25 fwd sedan 7609.0\n", | |
| "26 fwd sedan 8558.0\n", | |
| "27 fwd wagon 8921.0\n", | |
| "28 fwd hatchback 12964.0\n", | |
| "29 fwd hatchback 6479.0\n", | |
| ".. ... ... ...\n", | |
| "171 fwd hatchback 9988.0\n", | |
| "172 fwd sedan 10898.0\n", | |
| "173 fwd hatchback 11248.0\n", | |
| "174 rwd hatchback 16558.0\n", | |
| "175 rwd hatchback 15998.0\n", | |
| "176 rwd sedan 15690.0\n", | |
| "177 rwd wagon 15750.0\n", | |
| "178 fwd sedan 7775.0\n", | |
| "179 fwd sedan 7975.0\n", | |
| "180 fwd sedan 7995.0\n", | |
| "181 fwd sedan 8195.0\n", | |
| "182 fwd sedan 8495.0\n", | |
| "183 fwd sedan 9495.0\n", | |
| "184 fwd sedan 9995.0\n", | |
| "185 fwd convertible 11595.0\n", | |
| "186 fwd hatchback 9980.0\n", | |
| "187 fwd sedan 13295.0\n", | |
| "188 fwd sedan 13845.0\n", | |
| "189 fwd wagon 12290.0\n", | |
| "190 rwd sedan 12940.0\n", | |
| "191 rwd wagon 13415.0\n", | |
| "192 rwd sedan 15985.0\n", | |
| "193 rwd wagon 16515.0\n", | |
| "194 rwd sedan 18420.0\n", | |
| "195 rwd wagon 18950.0\n", | |
| "196 rwd sedan 16845.0\n", | |
| "197 rwd sedan 19045.0\n", | |
| "198 rwd sedan 21485.0\n", | |
| "199 rwd sedan 22470.0\n", | |
| "200 rwd sedan 22625.0\n", | |
| "\n", | |
| "[201 rows x 3 columns]" | |
| ] | |
| }, | |
| "execution_count": 51, | |
| "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": 52, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "4 17450.0\n", | |
| "136 7603.0\n", | |
| "140 9233.0\n", | |
| "141 11259.0\n", | |
| "144 8013.0\n", | |
| "145 11694.0\n", | |
| "150 7898.0\n", | |
| "151 8778.0\n", | |
| "Name: price, dtype: float64" | |
| ] | |
| }, | |
| "execution_count": 52, | |
| "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": 53, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "ANOVA results: F= 67.95406500780399 , P = 3.3945443577151245e-23\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# ANOVA\n", | |
| "f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price'], grouped_test2.get_group('4wd')['price']) \n", | |
| " \n", | |
| "print( \"ANOVA results: F=\", f_val, \", P =\", p_val) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "This is a great result, with a large F test score showing a strong correlation and a P value of almost 0 implying almost certain statistical significance. But does this mean all three tested groups are all this highly correlated? " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "#### Separately: fwd and rwd" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 54, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "ANOVA results: F= 130.5533160959111 , P = 2.2355306355677845e-23\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price']) \n", | |
| " \n", | |
| "print( \"ANOVA results: F=\", f_val, \", P =\", p_val )" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| " Let's examine the other groups " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "#### 4wd and rwd" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 55, | |
| "metadata": { | |
| "collapsed": false, | |
| "scrolled": true | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "ANOVA results: F= 8.580681368924756 , P = 0.004411492211225333\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('rwd')['price']) \n", | |
| " \n", | |
| "print( \"ANOVA results: F=\", f_val, \", P =\", p_val) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h4>4wd and fwd</h4>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 56, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "ANOVA results: F= 0.665465750252303 , P = 0.41620116697845666\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('fwd')['price']) \n", | |
| " \n", | |
| "print(\"ANOVA results: F=\", f_val, \", P =\", p_val) " | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h3>Conclusion: Important Variables</h3>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<p>We now have a better idea of what our data looks like and which variables are important to take into account when predicting the car price. We have narrowed it down to the following variables:</p>\n", | |
| "\n", | |
| "Continuous numerical variables:\n", | |
| "<ul>\n", | |
| " <li>Length</li>\n", | |
| " <li>Width</li>\n", | |
| " <li>Curb-weight</li>\n", | |
| " <li>Engine-size</li>\n", | |
| " <li>Horsepower</li>\n", | |
| " <li>City-mpg</li>\n", | |
| " <li>Highway-mpg</li>\n", | |
| " <li>Wheel-base</li>\n", | |
| " <li>Bore</li>\n", | |
| "</ul>\n", | |
| " \n", | |
| "Categorical variables:\n", | |
| "<ul>\n", | |
| " <li>Drive-wheels</li>\n", | |
| "</ul>\n", | |
| "\n", | |
| "<p>As we now move into building machine learning models to automate our analysis, feeding the model with variables that meaningfully affect our target variable will improve our model's prediction performance.</p>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<h1>Thank you for completing this notebook</h1>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n", | |
| "\n", | |
| " <p><a href=\"https://cocl.us/DA0101EN_edx_link_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 3", | |
| "language": "python", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 3 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython3", | |
| "version": "3.6.8" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment