{ "metadata": { "anaconda-cloud": {}, "kernelspec": { "name": "python", "display_name": "Pyolite", "language": "python" }, "language_info": { "codemirror_mode": { "name": "python", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8" } }, "nbformat_minor": 4, "nbformat": 4, "cells": [ { "cell_type": "markdown", "source": "
\n \"cognitiveclass.ai\n
\n\n# Data Analysis with Python\n\nEstimated time needed: **30** minutes\n\n## Objectives\n\nAfter completing this lab you will be able to:\n\n* Explore features or charecteristics to predict price of car\n", "metadata": {} }, { "cell_type": "markdown", "source": "

Table of Contents

\n\n
\n
    \n
  1. Import Data from Module
  2. \n
  3. Analyzing Individual Feature Patterns using Visualization
  4. \n
  5. Descriptive Statistical Analysis
  6. \n
  7. Basics of Grouping
  8. \n
  9. Correlation and Causation
  10. \n
  11. ANOVA
  12. \n
\n\n
\n\n
\n", "metadata": {} }, { "cell_type": "markdown", "source": "

What are the main characteristics that have the most impact on the car price?

\n", "metadata": {} }, { "cell_type": "markdown", "source": "

1. Import Data from Module 2

\n", "metadata": {} }, { "cell_type": "markdown", "source": "

Setup

\n", "metadata": {} }, { "cell_type": "markdown", "source": "you are running the lab in your browser, so we will install the libraries using `piplite`\n", "metadata": {} }, { "cell_type": "code", "source": "#you are running the lab in your browser, so we will install the libraries using ``piplite``\nimport piplite\nawait piplite.install(['pandas'])\nawait piplite.install(['matplotlib'])\nawait piplite.install(['scipy'])\nawait piplite.install(['seaborn'])\n", "metadata": { "trusted": true }, "execution_count": 7, "outputs": [] }, { "cell_type": "markdown", "source": "Import libraries:\n", "metadata": {} }, { "cell_type": "markdown", "source": "If you run the lab locally using Anaconda, you can load the correct library and versions by uncommenting the following:\n", "metadata": {} }, { "cell_type": "code", "source": "#If you run the lab locally using Anaconda, you can load the correct library and versions by uncommenting the following:\n#install specific version of libraries used in lab\n#! mamba install pandas==1.3.3\n#! mamba install numpy=1.21.2\n#! mamba install scipy=1.7.1-y\n#! mamba install seaborn=0.9.0-y", "metadata": { "trusted": true }, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": "import pandas as pd\nimport numpy as np", "metadata": { "trusted": true }, "execution_count": 1, "outputs": [ { "name": "stderr", "text": "/lib/python3.9/site-packages/pandas/compat/__init__.py:124: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError.\n warnings.warn(msg)\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "This function will download the dataset into your browser\n", "metadata": {} }, { "cell_type": "code", "source": "#This function will download the dataset into your browser \n\nfrom pyodide.http import pyfetch\n\nasync def download(url, filename):\n response = await pyfetch(url)\n if response.status == 200:\n with open(filename, \"wb\") as f:\n f.write(await response.bytes())\n", "metadata": { "trusted": true }, "execution_count": 2, "outputs": [] }, { "cell_type": "markdown", "source": "Load the data and store it in dataframe `df`:\n", "metadata": {} }, { "cell_type": "markdown", "source": "This dataset was hosted on IBM Cloud object. Click HERE for free storage.\n", "metadata": {} }, { "cell_type": "code", "source": "path='https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DA0101EN-SkillsNetwork/labs/Data%20files/automobileEDA.csv'", "metadata": { "trusted": true }, "execution_count": 3, "outputs": [] }, { "cell_type": "markdown", "source": "you will need to download the dataset; if you are running locally, please comment out the following\n", "metadata": {} }, { "cell_type": "markdown", "source": "\\#you will need to download the dataset; if you are running locally, please comment out the following\nawait download(path, \"auto.csv\")\npath=\"auto.csv\"\n", "metadata": {} }, { "cell_type": "code", "source": "await download(path, \"auto.csv\")\nfilename=\"auto.csv\"", "metadata": { "trusted": true }, "execution_count": 4, "outputs": [] }, { "cell_type": "code", "source": "\ndf = pd.read_csv(filename)\ndf.head()", "metadata": { "trusted": true }, "execution_count": 5, "outputs": [ { "execution_count": 5, "output_type": "execute_result", "data": { "text/plain": " symboling normalized-losses make aspiration num-of-doors \\\n0 3 122 alfa-romero std two \n1 3 122 alfa-romero std two \n2 1 122 alfa-romero std two \n3 2 164 audi std four \n4 2 164 audi std four \n\n body-style drive-wheels engine-location wheel-base length ... \\\n0 convertible rwd front 88.6 0.811148 ... \n1 convertible rwd front 88.6 0.811148 ... \n2 hatchback rwd front 94.5 0.822681 ... \n3 sedan fwd front 99.8 0.848630 ... \n4 sedan 4wd front 99.4 0.848630 ... \n\n compression-ratio horsepower peak-rpm city-mpg highway-mpg price \\\n0 9.0 111.0 5000.0 21 27 13495.0 \n1 9.0 111.0 5000.0 21 27 16500.0 \n2 9.0 154.0 5000.0 19 26 16500.0 \n3 10.0 102.0 5500.0 24 30 13950.0 \n4 8.0 115.0 5500.0 18 22 17450.0 \n\n city-L/100km horsepower-binned diesel gas \n0 11.190476 Medium 0 1 \n1 11.190476 Medium 0 1 \n2 12.368421 Medium 0 1 \n3 9.791667 Medium 0 1 \n4 13.055556 Medium 0 1 \n\n[5 rows x 29 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
symbolingnormalized-lossesmakeaspirationnum-of-doorsbody-styledrive-wheelsengine-locationwheel-baselength...compression-ratiohorsepowerpeak-rpmcity-mpghighway-mpgpricecity-L/100kmhorsepower-binneddieselgas
03122alfa-romerostdtwoconvertiblerwdfront88.60.811148...9.0111.05000.0212713495.011.190476Medium01
13122alfa-romerostdtwoconvertiblerwdfront88.60.811148...9.0111.05000.0212716500.011.190476Medium01
21122alfa-romerostdtwohatchbackrwdfront94.50.822681...9.0154.05000.0192616500.012.368421Medium01
32164audistdfoursedanfwdfront99.80.848630...10.0102.05500.0243013950.09.791667Medium01
42164audistdfoursedan4wdfront99.40.848630...8.0115.05500.0182217450.013.055556Medium01
\n

5 rows × 29 columns

\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

2. Analyzing Individual Feature Patterns Using Visualization

\n", "metadata": {} }, { "cell_type": "markdown", "source": "To install Seaborn we use pip, the Python package manager.\n", "metadata": {} }, { "cell_type": "markdown", "source": "Import visualization packages \"Matplotlib\" and \"Seaborn\". Don't forget about \"%matplotlib inline\" to plot in a Jupyter notebook.\n", "metadata": {} }, { "cell_type": "code", "source": "import matplotlib.pyplot as plt\nimport seaborn as sns\n%matplotlib inline ", "metadata": { "trusted": true }, "execution_count": 8, "outputs": [] }, { "cell_type": "markdown", "source": "

How to choose the right visualization method?

\n

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.

\n", "metadata": {} }, { "cell_type": "code", "source": "# list the data types for each column\nprint(df.dtypes)", "metadata": { "trusted": true }, "execution_count": 9, "outputs": [ { "name": "stdout", "text": "symboling int64\nnormalized-losses int64\nmake object\naspiration object\nnum-of-doors object\nbody-style object\ndrive-wheels object\nengine-location object\nwheel-base float64\nlength float64\nwidth float64\nheight float64\ncurb-weight int64\nengine-type object\nnum-of-cylinders object\nengine-size int64\nfuel-system object\nbore float64\nstroke float64\ncompression-ratio float64\nhorsepower float64\npeak-rpm float64\ncity-mpg int64\nhighway-mpg int64\nprice float64\ncity-L/100km float64\nhorsepower-binned object\ndiesel int64\ngas int64\ndtype: object\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "
\n

Question #1:

\n\nWhat is the data type of the column \"peak-rpm\"? \n\n
\n", "metadata": {} }, { "cell_type": "code", "source": "# Write your code below and press Shift+Enter to execute \nprint(df[\"peak-rpm\"].dtypes)", "metadata": { "trusted": true }, "execution_count": 10, "outputs": [ { "name": "stdout", "text": "float64\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "
Click here for the solution\n\n```python\ndf['peak-rpm'].dtypes\n```\n\n
\n", "metadata": {} }, { "cell_type": "markdown", "source": "For example, we can calculate the correlation between variables of type \"int64\" or \"float64\" using the method \"corr\":\n", "metadata": {} }, { "cell_type": "code", "source": "df.corr()", "metadata": { "trusted": true }, "execution_count": 11, "outputs": [ { "execution_count": 11, "output_type": "execute_result", "data": { "text/plain": " symboling normalized-losses wheel-base length \\\nsymboling 1.000000 0.466264 -0.535987 -0.365404 \nnormalized-losses 0.466264 1.000000 -0.056661 0.019424 \nwheel-base -0.535987 -0.056661 1.000000 0.876024 \nlength -0.365404 0.019424 0.876024 1.000000 \nwidth -0.242423 0.086802 0.814507 0.857170 \nheight -0.550160 -0.373737 0.590742 0.492063 \ncurb-weight -0.233118 0.099404 0.782097 0.880665 \nengine-size -0.110581 0.112360 0.572027 0.685025 \nbore -0.140019 -0.029862 0.493244 0.608971 \nstroke -0.008245 0.055563 0.158502 0.124139 \ncompression-ratio -0.182196 -0.114713 0.250313 0.159733 \nhorsepower 0.075819 0.217299 0.371147 0.579821 \npeak-rpm 0.279740 0.239543 -0.360305 -0.285970 \ncity-mpg -0.035527 -0.225016 -0.470606 -0.665192 \nhighway-mpg 0.036233 -0.181877 -0.543304 -0.698142 \nprice -0.082391 0.133999 0.584642 0.690628 \ncity-L/100km 0.066171 0.238567 0.476153 0.657373 \ndiesel -0.196735 -0.101546 0.307237 0.211187 \ngas 0.196735 0.101546 -0.307237 -0.211187 \n\n width height curb-weight engine-size bore \\\nsymboling -0.242423 -0.550160 -0.233118 -0.110581 -0.140019 \nnormalized-losses 0.086802 -0.373737 0.099404 0.112360 -0.029862 \nwheel-base 0.814507 0.590742 0.782097 0.572027 0.493244 \nlength 0.857170 0.492063 0.880665 0.685025 0.608971 \nwidth 1.000000 0.306002 0.866201 0.729436 0.544885 \nheight 0.306002 1.000000 0.307581 0.074694 0.180449 \ncurb-weight 0.866201 0.307581 1.000000 0.849072 0.644060 \nengine-size 0.729436 0.074694 0.849072 1.000000 0.572609 \nbore 0.544885 0.180449 0.644060 0.572609 1.000000 \nstroke 0.188829 -0.062704 0.167562 0.209523 -0.055390 \ncompression-ratio 0.189867 0.259737 0.156433 0.028889 0.001263 \nhorsepower 0.615077 -0.087027 0.757976 0.822676 0.566936 \npeak-rpm -0.245800 -0.309974 -0.279361 -0.256733 -0.267392 \ncity-mpg -0.633531 -0.049800 -0.749543 -0.650546 -0.582027 \nhighway-mpg -0.680635 -0.104812 -0.794889 -0.679571 -0.591309 \nprice 0.751265 0.135486 0.834415 0.872335 0.543155 \ncity-L/100km 0.673363 0.003811 0.785353 0.745059 0.554610 \ndiesel 0.244356 0.281578 0.221046 0.070779 0.054458 \ngas -0.244356 -0.281578 -0.221046 -0.070779 -0.054458 \n\n stroke compression-ratio horsepower peak-rpm \\\nsymboling -0.008245 -0.182196 0.075819 0.279740 \nnormalized-losses 0.055563 -0.114713 0.217299 0.239543 \nwheel-base 0.158502 0.250313 0.371147 -0.360305 \nlength 0.124139 0.159733 0.579821 -0.285970 \nwidth 0.188829 0.189867 0.615077 -0.245800 \nheight -0.062704 0.259737 -0.087027 -0.309974 \ncurb-weight 0.167562 0.156433 0.757976 -0.279361 \nengine-size 0.209523 0.028889 0.822676 -0.256733 \nbore -0.055390 0.001263 0.566936 -0.267392 \nstroke 1.000000 0.187923 0.098462 -0.065713 \ncompression-ratio 0.187923 1.000000 -0.214514 -0.435780 \nhorsepower 0.098462 -0.214514 1.000000 0.107885 \npeak-rpm -0.065713 -0.435780 0.107885 1.000000 \ncity-mpg -0.034696 0.331425 -0.822214 -0.115413 \nhighway-mpg -0.035201 0.268465 -0.804575 -0.058598 \nprice 0.082310 0.071107 0.809575 -0.101616 \ncity-L/100km 0.037300 -0.299372 0.889488 0.115830 \ndiesel 0.241303 0.985231 -0.169053 -0.475812 \ngas -0.241303 -0.985231 0.169053 0.475812 \n\n city-mpg highway-mpg price city-L/100km diesel \\\nsymboling -0.035527 0.036233 -0.082391 0.066171 -0.196735 \nnormalized-losses -0.225016 -0.181877 0.133999 0.238567 -0.101546 \nwheel-base -0.470606 -0.543304 0.584642 0.476153 0.307237 \nlength -0.665192 -0.698142 0.690628 0.657373 0.211187 \nwidth -0.633531 -0.680635 0.751265 0.673363 0.244356 \nheight -0.049800 -0.104812 0.135486 0.003811 0.281578 \ncurb-weight -0.749543 -0.794889 0.834415 0.785353 0.221046 \nengine-size -0.650546 -0.679571 0.872335 0.745059 0.070779 \nbore -0.582027 -0.591309 0.543155 0.554610 0.054458 \nstroke -0.034696 -0.035201 0.082310 0.037300 0.241303 \ncompression-ratio 0.331425 0.268465 0.071107 -0.299372 0.985231 \nhorsepower -0.822214 -0.804575 0.809575 0.889488 -0.169053 \npeak-rpm -0.115413 -0.058598 -0.101616 0.115830 -0.475812 \ncity-mpg 1.000000 0.972044 -0.686571 -0.949713 0.265676 \nhighway-mpg 0.972044 1.000000 -0.704692 -0.930028 0.198690 \nprice -0.686571 -0.704692 1.000000 0.789898 0.110326 \ncity-L/100km -0.949713 -0.930028 0.789898 1.000000 -0.241282 \ndiesel 0.265676 0.198690 0.110326 -0.241282 1.000000 \ngas -0.265676 -0.198690 -0.110326 0.241282 -1.000000 \n\n gas \nsymboling 0.196735 \nnormalized-losses 0.101546 \nwheel-base -0.307237 \nlength -0.211187 \nwidth -0.244356 \nheight -0.281578 \ncurb-weight -0.221046 \nengine-size -0.070779 \nbore -0.054458 \nstroke -0.241303 \ncompression-ratio -0.985231 \nhorsepower 0.169053 \npeak-rpm 0.475812 \ncity-mpg -0.265676 \nhighway-mpg -0.198690 \nprice -0.110326 \ncity-L/100km 0.241282 \ndiesel -1.000000 \ngas 1.000000 ", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
symbolingnormalized-losseswheel-baselengthwidthheightcurb-weightengine-sizeborestrokecompression-ratiohorsepowerpeak-rpmcity-mpghighway-mpgpricecity-L/100kmdieselgas
symboling1.0000000.466264-0.535987-0.365404-0.242423-0.550160-0.233118-0.110581-0.140019-0.008245-0.1821960.0758190.279740-0.0355270.036233-0.0823910.066171-0.1967350.196735
normalized-losses0.4662641.000000-0.0566610.0194240.086802-0.3737370.0994040.112360-0.0298620.055563-0.1147130.2172990.239543-0.225016-0.1818770.1339990.238567-0.1015460.101546
wheel-base-0.535987-0.0566611.0000000.8760240.8145070.5907420.7820970.5720270.4932440.1585020.2503130.371147-0.360305-0.470606-0.5433040.5846420.4761530.307237-0.307237
length-0.3654040.0194240.8760241.0000000.8571700.4920630.8806650.6850250.6089710.1241390.1597330.579821-0.285970-0.665192-0.6981420.6906280.6573730.211187-0.211187
width-0.2424230.0868020.8145070.8571701.0000000.3060020.8662010.7294360.5448850.1888290.1898670.615077-0.245800-0.633531-0.6806350.7512650.6733630.244356-0.244356
height-0.550160-0.3737370.5907420.4920630.3060021.0000000.3075810.0746940.180449-0.0627040.259737-0.087027-0.309974-0.049800-0.1048120.1354860.0038110.281578-0.281578
curb-weight-0.2331180.0994040.7820970.8806650.8662010.3075811.0000000.8490720.6440600.1675620.1564330.757976-0.279361-0.749543-0.7948890.8344150.7853530.221046-0.221046
engine-size-0.1105810.1123600.5720270.6850250.7294360.0746940.8490721.0000000.5726090.2095230.0288890.822676-0.256733-0.650546-0.6795710.8723350.7450590.070779-0.070779
bore-0.140019-0.0298620.4932440.6089710.5448850.1804490.6440600.5726091.000000-0.0553900.0012630.566936-0.267392-0.582027-0.5913090.5431550.5546100.054458-0.054458
stroke-0.0082450.0555630.1585020.1241390.188829-0.0627040.1675620.209523-0.0553901.0000000.1879230.098462-0.065713-0.034696-0.0352010.0823100.0373000.241303-0.241303
compression-ratio-0.182196-0.1147130.2503130.1597330.1898670.2597370.1564330.0288890.0012630.1879231.000000-0.214514-0.4357800.3314250.2684650.071107-0.2993720.985231-0.985231
horsepower0.0758190.2172990.3711470.5798210.615077-0.0870270.7579760.8226760.5669360.098462-0.2145141.0000000.107885-0.822214-0.8045750.8095750.889488-0.1690530.169053
peak-rpm0.2797400.239543-0.360305-0.285970-0.245800-0.309974-0.279361-0.256733-0.267392-0.065713-0.4357800.1078851.000000-0.115413-0.058598-0.1016160.115830-0.4758120.475812
city-mpg-0.035527-0.225016-0.470606-0.665192-0.633531-0.049800-0.749543-0.650546-0.582027-0.0346960.331425-0.822214-0.1154131.0000000.972044-0.686571-0.9497130.265676-0.265676
highway-mpg0.036233-0.181877-0.543304-0.698142-0.680635-0.104812-0.794889-0.679571-0.591309-0.0352010.268465-0.804575-0.0585980.9720441.000000-0.704692-0.9300280.198690-0.198690
price-0.0823910.1339990.5846420.6906280.7512650.1354860.8344150.8723350.5431550.0823100.0711070.809575-0.101616-0.686571-0.7046921.0000000.7898980.110326-0.110326
city-L/100km0.0661710.2385670.4761530.6573730.6733630.0038110.7853530.7450590.5546100.037300-0.2993720.8894880.115830-0.949713-0.9300280.7898981.000000-0.2412820.241282
diesel-0.196735-0.1015460.3072370.2111870.2443560.2815780.2210460.0707790.0544580.2413030.985231-0.169053-0.4758120.2656760.1986900.110326-0.2412821.000000-1.000000
gas0.1967350.101546-0.307237-0.211187-0.244356-0.281578-0.221046-0.070779-0.054458-0.241303-0.9852310.1690530.475812-0.265676-0.198690-0.1103260.241282-1.0000001.000000
\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "The diagonal elements are always one; we will study correlation more precisely Pearson correlation in-depth at the end of the notebook.\n", "metadata": {} }, { "cell_type": "markdown", "source": "
\n

Question #2:

\n\n

Find the correlation between the following columns: bore, stroke, compression-ratio, and horsepower.

\n

Hint: if you would like to select those columns, use the following syntax: df[['bore','stroke','compression-ratio','horsepower']]

\n
\n", "metadata": {} }, { "cell_type": "code", "source": "# Write your code below and press Shift+Enter to execute \ndf[['bore','stroke','compression-ratio','horsepower']].corr()", "metadata": { "trusted": true }, "execution_count": 12, "outputs": [ { "execution_count": 12, "output_type": "execute_result", "data": { "text/plain": " bore stroke compression-ratio horsepower\nbore 1.000000 -0.055390 0.001263 0.566936\nstroke -0.055390 1.000000 0.187923 0.098462\ncompression-ratio 0.001263 0.187923 1.000000 -0.214514\nhorsepower 0.566936 0.098462 -0.214514 1.000000", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
borestrokecompression-ratiohorsepower
bore1.000000-0.0553900.0012630.566936
stroke-0.0553901.0000000.1879230.098462
compression-ratio0.0012630.1879231.000000-0.214514
horsepower0.5669360.098462-0.2145141.000000
\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "
Click here for the solution\n\n```python\ndf[['bore', 'stroke', 'compression-ratio', 'horsepower']].corr()\n```\n\n
\n", "metadata": {} }, { "cell_type": "markdown", "source": "

Continuous Numerical Variables:

\n\n

Continuous numerical variables are variables that may contain any value within some range. They can be of type \"int64\" or \"float64\". A great way to visualize these variables is by using scatterplots with fitted lines.

\n\n

In order to start understanding the (linear) relationship between an individual variable and the price, we can use \"regplot\" which plots the scatterplot plus the fitted regression line for the data.

\n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's see several examples of different linear relationships:\n", "metadata": {} }, { "cell_type": "markdown", "source": "

Positive Linear Relationship

\n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's find the scatterplot of \"engine-size\" and \"price\".\n", "metadata": {} }, { "cell_type": "code", "source": "# Engine size as potential predictor variable of price\nsns.regplot(x=\"engine-size\", y=\"price\", data=df)\nplt.ylim(0,)", "metadata": { "scrolled": true, "trusted": true }, "execution_count": 13, "outputs": [ { "execution_count": 13, "output_type": "execute_result", "data": { "text/plain": "(0.0, 53380.99820496612)" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": "

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.

\n", "metadata": {} }, { "cell_type": "markdown", "source": "We can examine the correlation between 'engine-size' and 'price' and see that it's approximately 0.87.\n", "metadata": {} }, { "cell_type": "code", "source": "df[[\"engine-size\", \"price\"]].corr()", "metadata": { "trusted": true }, "execution_count": 14, "outputs": [ { "execution_count": 14, "output_type": "execute_result", "data": { "text/plain": " engine-size price\nengine-size 1.000000 0.872335\nprice 0.872335 1.000000", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
engine-sizeprice
engine-size1.0000000.872335
price0.8723351.000000
\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "Highway mpg is a potential predictor variable of price. Let's find the scatterplot of \"highway-mpg\" and \"price\".\n", "metadata": {} }, { "cell_type": "code", "source": "sns.regplot(x=\"highway-mpg\", y=\"price\", data=df)", "metadata": { "trusted": true }, "execution_count": 15, "outputs": [ { "execution_count": 15, "output_type": "execute_result", "data": { "text/plain": "" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": "

As 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.

\n", "metadata": {} }, { "cell_type": "markdown", "source": "We can examine the correlation between 'highway-mpg' and 'price' and see it's approximately -0.704.\n", "metadata": {} }, { "cell_type": "code", "source": "df[['highway-mpg', 'price']].corr()", "metadata": { "trusted": true }, "execution_count": 16, "outputs": [ { "execution_count": 16, "output_type": "execute_result", "data": { "text/plain": " highway-mpg price\nhighway-mpg 1.000000 -0.704692\nprice -0.704692 1.000000", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
highway-mpgprice
highway-mpg1.000000-0.704692
price-0.7046921.000000
\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

Weak Linear Relationship

\n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's see if \"peak-rpm\" is a predictor variable of \"price\".\n", "metadata": {} }, { "cell_type": "code", "source": "sns.regplot(x=\"peak-rpm\", y=\"price\", data=df)", "metadata": { "trusted": true }, "execution_count": 17, "outputs": [ { "execution_count": 17, "output_type": "execute_result", "data": { "text/plain": "" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEGCAYAAABPdROvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAA/AElEQVR4nO29e5wc9XXg+z39mJc0I42kGSH0sCQjLBCJsRkT/FitYidr7HgRzhIb78Zw7xJQLviabOIE2CSEkPW9ECfBxl6zkh/X4DwAK8lay4K9AaIo3iBkyUa2BcKSR8KjsaQZSaN5z/Sjzv2jfj1T09M90z39njnfz6fV1aequuqnmq5T5/E7R1QVwzAMw5groUqfgGEYhlHbmCIxDMMwCsIUiWEYhlEQpkgMwzCMgjBFYhiGYRREpNInUG5WrFih69evr/RpGIZh1BSHDh06p6ptmdYtOEWyfv16Dh48WOnTMAzDqClE5I1s68y1ZRiGYRSEKRLDMAyjIEyRGIZhGAVhisQwDMMoCFMkhmEYRkEsuKythcDeoz3s3NdJV98Ia1ub2LF1I9s2t1f6tAzDmKeYRTLP2Hu0h/v3HKFncIyljVF6Bse4f88R9h7tqfSpGYYxTym5IhGRsIh8X0SecZ8fEJFuEXnFvT4Y2PY+ETkuIq+LyPsD8mtE5Idu3aMiIk5eLyJPOfnLIrK+1OOpdnbu6yQaFprqIoj479GwsHNfZ6VPzTCMeUo5LJK7gdfSZI+o6tXu9SyAiFwJ3AxsAa4HvigiYbf9Y8DtwCb3ut7JbwP6VPUy4BHg4ZKOpAbo6huhMRqeImuMhjnVN1KhMzIMY75TUkUiImuAXwG+nMPm24EnVXVcVU8Ax4FrRWQV0KKq+9XvwvUEcGNgn8fd8m7gfSlrZaGytrWJ0Xhyimw0nmRNa1OFzsgwjPlOqS2SzwK/B3hp8k+IyA9E5Ksi0upkq4GuwDannGy1W06XT9lHVRNAP7A8/SRE5A4ROSgiB3t7ewsbUZWzY+tG4kllJJZA1X+PJ5UdWzdW+tQMw5inlEyRiMiHgB5VPZS26jHgzcDVwGngz0t1DilUdZeqdqhqR1tbxppj84Ztm9t58IYttDc30D8ap725gQdv2GJZW4ZhlIxSpv++G7jBBdMbgBYR+UtV/fXUBiLyJeAZ97EbWBvYf42TdbvldHlwn1MiEgGWAOdLMJaaYtvmdlMchmGUjZJZJKp6n6quUdX1+EH0F1X1113MI8WHgR+55T3AzS4TawN+UP2Aqp4GBkTkOhf/uAX4ZmCfW93yTe4YWqoxGYZhGNOpxITEPxWRqwEFTgI7AFT1iIg8DbwKJIC7VDUVNb4T+BrQCDznXgBfAb4uIseBC/gKyzAMwygjstAe4Ds6OtT6kRiGYeSHiBxS1Y5M62xmu2EYhlEQpkgMwzCMgjBFYhiGYRSEKRLDMAyjIEyRGIZhGAVhisQwDMMoCFMkhmEYRkGYIjEMwzAKwhSJYRiGURDWs90wqoy9R3vYua+Trr4R1rY2sWPrRivCaVQ1ZpEYRhWx92gP9+85Qs/gGEsbo/QMjnH/niPsPdpT6VMzjKyYRTIPsSfa2mXnvk6iYaGpzv9pNtVFGIkl2Lmv066hUbWYRTLPsCfa2qarb4TGaHiKrDEa5lTfSIXOyDBmxxTJPCP4RCviv0fDws59nZU+NSMH1rY2MRpPTpGNxpOsaW2q0BkZxuyYIpln2BNtbbNj60biSWUklkDVf48nlR1bN1b61AwjK6ZI5hn2RFvbbNvczoM3bKG9uYH+0TjtzQ08eMMWi48YVU3Jg+0iEgYOAt2q+iERWQY8BazH75D4EVXtc9veB9wGJIFPquq3nfwaJjskPgvcraoqIvXAE8A1+L3aP6qqJ0s9pmpmx9aN3L/nCCOxBI3RMKPxpD3R1hjbNreb4jBqinJYJHcDrwU+3wu8oKqbgBfcZ0TkSvxWuVuA64EvOiUE8BhwO34f901uPfhKp09VLwMeAR4u7VCqH3uiNQyj3JTUIhGRNcCvAJ8GftuJtwPb3PLjwF7gHid/UlXHgROuD/u1InISaFHV/e47nwBuxO/bvh14wH3XbuALIiK60PoHp2FPtIZhlJNSWySfBX4P8AKylap62i2fAVa65dVAV2C7U0622i2ny6fso6oJoB9Ynn4SInKHiBwUkYO9vb2FjMcwDMNIo2SKREQ+BPSo6qFs2zjLoeTWg6ruUtUOVe1oa2sr9eEMwzAWFKV0bb0buEFEPgg0AC0i8pfAWRFZpaqnRWQVkJop1w2sDey/xsm63XK6PLjPKRGJAEvwg+6GYRhGmSiZRaKq96nqGlVdjx9Ef1FVfx3YA9zqNrsV+KZb3gPcLCL1IrIBP6h+wLnBBkTkOhER4Ja0fVLfdZM7xoKOjxiGYZSbStTaegh4WkRuA94APgKgqkdE5GngVSAB3KWqqQkRdzKZ/vucewF8Bfi6C8xfwFdYhmEYRhmRhfYA39HRoQcPHqz0aRiGYdQUInJIVTsyrbOZ7YZhGEZBmCIxDMMwCsIUiWEYhlEQpkgMwzCMgjBFYhiGYRSEtdo1DKMqsBbRtYspEsOoMhbiDTXVIjoaliktoh+EeT/2+YC5tgyjikjdUHsGx6bcUPce7Zl95xrGWkTXNqZIDKOKWKg3VGsRXduYIjGMKmKh3lCtRXRtY4rEmDfsPdrDx3bt5z0Pv8jHdu2vSXfQQr2h7ti6kXhSGYklUPXfrUV07WCKxJgXzJfYwkK9oVqL6NrGsraMeUEwtgDQVBdhJJZg577OmroZbdvczoP44znVN8KaBZK1BdYiupYxRWIUlUqlrnb1jbC0MTpFVquxBbuhGrWGubaMolFJ99JCjS0YRjVQyp7tDSJyQEQOi8gREfljJ39ARLpF5BX3+mBgn/tE5LiIvC4i7w/IrxGRH7p1j7pOibhuik85+csisr5U4zFmZ+e+TmKJJGf6x3j97CBn+seIJZJlSV1dqLEFw6gGSunaGgfeq6pDIhIFviMiqc6Gj6jqnwU3FpEr8TscbgEuBZ4Xkctdl8THgNuBl4FngevxuyTeBvSp6mUicjPwMPDREo7JmIEfnx1gYCxBCCEsQiKpnB+OkUgOlPzYCzm2YBiVpmSKxPVOH3Ifo+41UzvG7cCTqjoOnHDtc68VkZNAi6ruBxCRJ4Ab8RXJduABt/9u4AsiIta3vTLEk/5/eygkAIiA5ymxZHkuh8UWDKMylDRGIiJhEXkF6AH+QVVfdqs+ISI/EJGvikirk60GugK7n3Ky1W45XT5lH1VNAP3A8gzncYeIHBSRg729vcUZnDGNukgIFDxVFMVTBXVywzDmLSX9hatqUlWvBtbgWxdX4bup3gxcDZwG/ryU5+DOY5eqdqhqR1tbW6kPt2DZ1N5Mc0OEeNJjLO4RT3o0N0TY1N5c6VMzDKOElCX9V1Uvisg/AtcHYyMi8iXgGfexG1gb2G2Nk3W75XR5cJ9TIhIBlgDnSzIIY1beuXEZB05eIBwSogKeQv9YgnduXFbpUzNqgIVY9Xi+UMqsrTYRWeqWG4FfBo6KyKrAZh8GfuSW9wA3u0ysDcAm4ICqngYGROQ6l611C/DNwD63uuWbgBctPlI5Xuq8QNviOurCITyFunCItsV1vNR5odKnZlQ586UywUKllBbJKuBxEQnjK6ynVfUZEfm6iFyNH3g/CewAUNUjIvI08CqQAO5yGVsAdwJfAxrxg+yp7K+vAF93gfkL+FlfRoXo6hthxeJ62pobJmSqWpOTAo3yMl8qEyxUSpm19QPgbRnkH59hn08Dn84gPwhclUE+BvxaYWdqFIu1rU30DI5N3AzAJgUauTGfKhMsRCydxigaNinQmCtWmaC2MUViFA2r4GrMFXsIqW2saKNRVGxSoDEXrDJBbWMWiWEYVYWlXdYepkgMw6g4lv5b25hryygqNqnMmAuW/lvbmEViFA17qjTmSlffCI3R8BSZpf/WDqZIjKIRfKoU8d+jYSlLPxKjtrH039rGFEmVsPdoDx/btZ/3PPwiH9u1vyaf4u2p0pgrlv5b25giqQLmi0vIniqNuWJzkGobC7ZXAfMl0Lhj60bu33OEkViCxmiY0XjSniqNnLE5SLWLWSRVwHxxCdlTpWEsTMwiqQLmU7FDe6osHEuhNmoNs0iqAAs0GinmS7zMWFiYIqkCzCVkpLAUaqMWMddWlWAuIQOsL4dRm5Sy1W6DiBwQkcMickRE/tjJl4nIP4jIMffeGtjnPhE5LiKvi8j7A/JrROSHbt2jruUuri3vU07+soisL9V4DKMcWAq1UYuU0rU1DrxXVd8KXA1cLyLXAfcCL6jqJuAF9xkRuRK/Ve4W4Hrgi65NL8BjwO34fdw3ufUAtwF9qnoZ8AjwcAnHYxglx+JlRi1SMkWiPkPuY9S9FNgOPO7kjwM3uuXtwJOqOq6qJ4DjwLUisgpoUdX9qqrAE2n7pL5rN/C+lLViGLWIxcuMWqSkMRJnURwCLgP+q6q+LCIrVfW02+QMsNItrwb2B3Y/5WRxt5wuT+3TBaCqCRHpB5YD59LO4w7gDoB169YVZ3CGUSIsXmbUGiXN2lLVpKpeDazBty6uSluvlKGPjaruUtUOVe1oa2sr9eEMwzAWFGVJ/1XVi8A/4sc2zjp3Fe49lSDfDawN7LbGybrdcrp8yj4iEgGWAOdLMgjDMAwjI6XM2moTkaVuuRH4ZeAosAe41W12K/BNt7wHuNllYm3AD6ofcG6wARG5zsU/bknbJ/VdNwEvOivHMAzDKBOljJGsAh53cZIQ8LSqPiMiLwFPi8htwBvARwBU9YiIPA28CiSAu1Q1lQd5J/A1oBF4zr0AvgJ8XUSOAxfws74MwzCMMiIL7QG+o6NDDx48WOnTmIbVVzIMo5oRkUOq2pFpnZVIqQL2Hu3hU7sP8/2uPs4OjPH9rj4+tfuw1VcyDKMmMEVSBTz03GtcHImjHoRFUA8ujsR56LnXKn1qhmEYs2K1tqqAE+dHCAmEQv5cShFQTzlx3uorGYZR/ZhFYhiGYRSEKZIqYOOKRXgKniqK4qniqS83DMOodkyRVAH3XL+Z1qYoAiSSHgK0NkW55/rNlT41wzCMWTFFUgVs29zOZ256K29b18qqJY28bV0rn7nprZb+axhGTZBzsF1E3gRsUtXn3Uz1iKoOlu7UFhZWqM8wjFolJ4tERG7HL9O+04nWAP+9ROdkGIZh1BC5urbuAt4NDACo6jHAHp8NwzCMnBXJuKrGUh9cpd2FVVvFMAzDyEiuiuSfROQ/A40i8svAN4D/UbrTMgzDMGqFXBXJvUAv8ENgB/As8AelOinDMAyjdsg1a6sR+KqqfgkmWug2AlbDo0hY9V/DMGqVXC2SF/AVR4pG4Pnin87CZO/RHu7fc4SewTGWNkbpGRzj/j1HrPqvYRg1Qa6KpEFVh1If3HLTTDuIyFoR+UcReVVEjojI3U7+gIh0i8gr7vXBwD73ichxEXldRN4fkF8jIj906x51nRJx3RSfcvKXRWR9HmOvGnbu6yQaFprqIoj479GwsHNfZ6VPzTAMY1ZyVSTDIvL21AcRuQYYnWWfBPA7qnolcB1wl4hc6dY9oqpXu9ez7juvxO9wuAW/t/sXnQsN4DHgdvz2u5vceoDbgD5VvQx4BHg4x/FUFV19IzRGw1NkjdEwp/rMc2gYRvWTa4zkt4BviMjPAAEuAT460w6u1/pptzwoIq8Bq2fYZTvwpKqOAydc+9xrReQk0KKq+wFE5AngRvx2u9uBB9z+u4EviIhUQ9/2fGIea1ub6Bkco6lu8nKMxpOsaZ3R6DMMw6gKcrJIVPW7wGbg/wJ+E7hCVQ/lehDncnob8LITfUJEfiAiXxWRVidbDXQFdjvlZKvdcrp8yj6qmgD6geUZjn+HiBwUkYO9vb25nvacyTfmsWPrRuJJZSSWQNV/jyeVHVs3lvxcDcMwCmVGRSIi73Xvvwr8W+By9/q3TjYrIrIY+Fvgt1R1AN9N9WbganyL5c/nevK5oqq7VLVDVTva2tpKfbi8Yx7bNrfz4A1baG9uoH80TntzAw/esMWytgzDqAlmc239a+BFfCWSjgJ/N9POIhLFVyJ/pap/B6CqZwPrvwQ84z52A2sDu69xsm63nC4P7nPKzbZfApyfZUwlp6tvhKWN0Smy2WIeVrTRMIxaZUZFoqp/JCIh4DlVfTqfL3aZVV8BXlPVvwjIV7n4CcCHgR+55T3AX4vIXwCX4gfVD6hqUkQGROQ6fNfYLcDnA/vcCrwE3AS8WA3xEYt5GOXE5iAZlWbWGImqesDvzeG73w18HHhvWqrvn7pU3h8Avwj8J3ecI8DTwKvAt4C7VDXpvutO4MvAceAn+IF28BXVcheY/238GfgVx2IeRrmwOUhGNSC5PMCLyEPAOeApYDglV9ULpTu10tDR0aEHDx4s+XFST4mn+kZYY0+JRon42K7906zfkViC9uYG/uaO6yp4ZsZ8Q0QOqWpHpnW5pv9+FD8mcmea3B6xs2AxD6MczCUeZxjFJtcJiVcC/xU4DLyCH6PYUqJzMgwjR9a2NjEaT06RWTzOKDe5KpLHgSuAR/GVyJVOZhhGBbF4nFEN5OrausqVOknxjyLyailOyDAWOvlkYW3b3M6DYPE4o6Lkqki+JyLXBcqU/AJQ+oi1MW+wFNXcSGVhRcMyJQvrQZhRmdj/pVFJcnVtXQP8i4icdLWvXgLeEUjjNYysWIpq7lglaKMWydUiuX72TQwjM8GbI0BTXYSRWIKd+zrtSTqNuWRhmbVnVJqcFImqvlHqEzHmL5aimjv5VkWYiyvMMIpNrq4tw5gzlqKaO/lmYZkrzKgGTJEYJcdSVHMn30rQXX0jJJIenb1DHD0zQGfvEImkZ9aeUVZyjZEYeWJ+60ksRTU/8snCWlwX5njvMGERwiIkkkr3xTEua1tU4rM0jElMkZSAvUd7+N3dhxkcS5DwPM4NjvO7uw/zmZveumBvnpaiWhr8Itv4fUvdIhqQG0YZMNdWCXj4W0fpG4mjQCQcQoG+kTgPf+topU/NmGcMjidYvbSBSEhIekokJKxe2sDQeKLSp2YsIMwiKQGd54YJCYTcU6EIqCid54Zn2dMw8iOV5bWxbfGELFX91zDKhVkkhlHDWCKDUQ2YIikBG5Y34Sl4nqKqeJ7iqS83jGKSb5aXYZSCkrm2RGQt8ASwEr+XyS5V/ZyILMNvkLUeOAl8RFX73D73AbcBSeCTqvptJ78G+BrQCDwL3K2qKiL17hjX4Pdq/6iqnizVmHLl3g9cwad2H2ZoPEHSU8IhYWl9lHs/cEWlT82Yh1gig1FpSmmRJIDfcVWDrwPuEpEr8dvhvqCqm4AX3Gfcupvx+5xcD3xRRMLuux4Dbsfv476JyZIttwF9qnoZ8AjwcAnHkzPbNrfzZze9lbetbeWSlgbetraVP1vAGVvzib1He/jYrv285+EX+diu/VYvzDAooUWiqqeB0255UEReA1YD24FtbrPHgb3APU7+pKqOAydcH/ZrXZHIlkDl4SeAG/H7tm8HHnDftRv4goiI5tI/uMTYU+L8w8qRGEZmyhIjEZH1wNuAl4GVTskAnMF3fYGvZLoCu51ystVuOV0+ZR9VTQD9wPIMx79DRA6KyMHe3t5iDMlYgFg5EsPITMkViYgsBv4W+C1VHQiuc5ZDya0HVd2lqh2q2tHW1lbqwxnzlK6+ERqj4SkyKz5pGCWeRyIiUXwl8leq+ndOfFZEVqnqaRFZBaSczN3A2sDua5ys2y2ny4P7nBKRCLAEP+huGLOSbxmbfCvzzuUY5RiHYRSbklkk4tdo+Arwmqr+RWDVHuBWt3wr8M2A/GYRqReRDfhB9QPODTYgIte577wlbZ/Ud90EvFgN8RGj+plLs61852yUo6GXNQ0zqoFSurbeDXwceK+IvOJeHwQeAn5ZRI4Bv+Q+o6pHgKeBV4FvAXepaqr2+J3Al4HjwE/wA+3gK6rlLjD/27gMMMOYjbnEO/Kds1GOmMrOfZ3EEknO9I/x+tlBzvSPEUskLW5jlJVSZm19h8kycum8L8s+nwY+nUF+ELgqg3wM+LUCTrNgzK1QPeRzLbr6RggLdPYOEUt61IVDrFhcl3O8IxeztxwNvX58doCBsQQhJqv/nh+OkUgOzL6zYRQJm9leAOZWqB7yvRbN9RG6L46RcBNGE55ffn1xffZnq3yPUY6GXvGkXzkh7nmMJzzinofnKbFkdlVnc2GMYmOKJAey/fAsHbR6yPdaTITSNPAKyotwjHLVwUoqTAxH/c/ZsIcfoxRY9d9ZmGkSmvUiz51SuwDzvRZDsSSrlzZwbig24dq6ZHE9w7Fkxu3ncoxyNfQKCXg69XM2gsoQoKkuwkgswc59neaSNeaMKZJZmOmHN5d00IVIOWaE53st5lJ+fS7Xu9QVDlR1ihIBX6lks6zs4ccoBebamoWZJqFZCe/cKIcLMN9rMZdrV43XO5sbK5u8HHEbY+FhimQW1rY2cX54nM7eIV473c9PegbpHRpj1ZJG/tXlbVbCOwfKMSM839TcuZRf37a5nZvevprewXFeOzNI7+A4N719dUWvdyyR2RWXTV6NytCofcy1NQvv3LiMl0+cn3AfJDyP0XiMD25p5o3zw2xsW8wjH72aukjIf4VDqKr1zA5QLhdgvm6kfLffe7SH3d/rpq25nnXRMKPxJLu/183Pr1laVGWSTzwpHAqh6vn5Aup34xQnz0S54jaWFr+wMEUyC8/96Ay4H2jQ7fxPx87x8XetJ+F5JGIeI7HJdSJCJCREwkI0HCIaChEJu8+hEKGZoqHzkB1bN3L/niOMxBI0uhtwKZ6CH33+x3z5OycYjiVZVBfmN96zgU/+0uVF+/5yBKrzjSdtWN7E8d5hIiITf6NJ1RmbqJU6bmNVkhcepkhmofPcMJGwuCc/RQHP8+iawS2jqsSTSjwJo0x3MYRDQiQcIuoUS0rh1IXnp5Ipx1Pwo8//mEeePzYxUXBgLMEjzx8DKJoyKXQSYy7s3NdJPJnk/FBi4hgtjZGsyqoam6jlOwaj9jFFUgGSnpL0kozHp6+LhEITbrKoUzDhkP9ey5T6Kfjz/3h82mxzdfJiKZLFdWGO9w4TlslZ5N0Xx7isbVFRvh/gWM8g/SNxQiGZmCh5bjBGPDmYcftUE7VSu6ryId8xGLWPKZJZSLkOxPNnrXnqp1e+qbWxJMfL5CqDSXeZr2BC1E8om9pWMMUiniVNKZt8LkzEvYTJ4j9KUeNhsYQHAiH3nSLgifryLFRbE7W5jMGobUyRzELQdZBIKqGQ0FIX5Y6tby7reUy6y6b+GEMi1Ed9t1gw4G/B/uIzOJ6gtSnC+eE4nvoT/5YvijI0nijaMaJhYTimjMWTKL6+CoWgLlw71zMaFkbj4Hk6JbZYS2Mw8sMUySwEXQcnzw+zsrmBm9+xlms3Lqv0qQHgqTIaS06JxYjIhEJJKZmIi8sYc2dxXZhTfaMTnz2F3qE4m1fWF+0Y7c0N9A3HfQ3iNIl60DbDRMlq4/KVLZw4N8Tg2GSMpLkhyoYVi2ffOQ8sM6x6MEWSAynXwZn+MUZixXv6LBWqyng8yXg8yeDYpDyYTRYJ+QomHPb9/eGQv65Wg/0fvnoVf//K6YzyYtE7OJ5VXqybmqpv9YbTsrBqqc1OKkvvkiWRkmXpWWZYdWGKZAERzCYjQzYZ+MomLEI04lKXU/GYKs8o2371Gr79ag8jgVpZTXVhtl+9Zoa98uPCaIbsCODCSLxoN7W51ACrtifzcmTpWc2w6qJkikREvgp8COhR1auc7AHgdqDXbfafVfVZt+4+4Db8O9wnVfXbTn4N8DWgEXgWuFtVVUTqgSeAa/Db635UVU+WajwLBVUloUoiNj11ORqeDPBHqyxleee+TlYtaZgy6bHYN5aUURAMP6n6HqhipbvmWwOsWp/MS50AYDXDqotSOs2/BlyfQf6Iql7tXiklciVwM7DF7fNFEUnV1HgMX/lscq/Ud94G9KnqZcAjwMOlGojhE096DI8nuDgSo3dwnJ9dHOXk+WHeOD9M98VRegbHuDgSY2g8wXgiiZdeTbCEdPWNkEh6dPYOcfTMAJ29QySSXlFvLE117k8yNazA8M4Nxqb0Njk3GONYT/7prvmWMFmorQysZlh1UTJFoqr7gAs5br4deFJVx1X1BH5L3WtFZBXQoqr7XS/2J4AbA/s87pZ3A+8TS1WqCEnPj8kMjSW4MByjZ2CM7r5JJXOqb4Qz/WOcGxqnfzTOaCxJPOkVVdHMpVFVvvzm1o2EhIlyJIqfuRUNMZHuKoif9irMKd013xpg5ahjVo1YzbDqohIxkk+IyC3AQeB3VLUPWA3sD2xzysnibjldjnvvAlDVhIj0A8uBc+kHFJE7gDsA1q1bN6eT/neP/Qs/6RlicUOE5oYIzfURFjdEWVzvPgdkk8u+vDEaXrDpuP7kSyVG5ptqKgEg5IL94cB7NBxC3A065BICsqEuIB1L6GTarMzcqCpfPvlLl3Pi3BB7fnBmYhb5DT9/CfuOnWNgLFG0dNd83EILtZVBuWqGGblRbkXyGPAn+A9zfwL8OfAfS31QVd0F7ALo6OiY053l/NA4F0fjXMwScJ2JcEimKJYJhZNJFvjc3BClITq/54SkEgBIQuacqElCMlm/LBISopHJOmY9g2MZZ7afG5rtW3Nn79EeDv20n/XLmyaykQ79tJ/25gai4VjJ010zUa46ZtVItU3ErFaCPWtmehgrhLIqElU9m1oWkS8Bz7iP3cDawKZrnKzbLafLg/ucEpEIsAQ/6F4S/p9f/Tl+0jPEuaEYQ+NxBscSDI0lGBxPBJbjDI0lpmXYJD0tixJqaXCyeaqEPGdxZHIZjSeUkEA4MFcm6XmMJTz6R+KEwy71uYD5NNkyhVSVuki4pOmu2bAn88qRukGnrN7gg0z6r27SHar+e2B51uOkHSv9XfF/GxOf3ff7sskDLK6P0N5SmvlIZVUkIrJKVVPJ/h8GfuSW9wB/LSJ/AVyKH1Q/oKpJERkQkeuAl4FbgM8H9rkVeAm4CXhRS5Rsn0qvzHVCYtJThsYnlcvgWGLiNZMSGhxLTElfTX3XXJUQQCQkLG2K0tZcP0UJNTdOVUrNNa6E6iIhxuNJPA24l9TPNDs/PN0qCYd8d1koJM4NJoSEiTkcqTpRIedaC4eEn14YprWpbsr3NEbD9I/G+ZPtV1X8Zl47M02KT9LTiRtn6iYavBuk/pSDstRi+l95UhXPUxKe/55U3z0b/F6vNLeamqWU6b9/A2wDVojIKeCPgG0icjX+NTwJ7ABQ1SMi8jTwKpAA7lLV1B31TibTf59zL4CvAF8XkeP4Qf2bSzGOYHplS0OE88PjfO7FY9zNpqzKJBwSljRGWdIYdaedO0lPJ62b8cSsSmhwzMnGpyshwM8gGopxbiiW4WjZiYSExWlWT3NDNKNlVA1K6E3LFtF9cZihcT+QHw2HWNwYYfXSzAUVk56SRLNNp8lI2+IGzg+PT1gkIjAaS7CypYGfX7uUL/6Ht7t+IH6wfWAsPqGkwiGZWBd8Ep14Z+oNSsRXcKl9Uv+dwSdPgO8cO8enn32NqLNcz/SP8gff/BH3J65k61vapuyTDNwYwZUMS9XDyjDe1JPwxNO0W562nU49/0z32FBAKUvwgDrlbdq+wfJmqe1SSuOl4+f5qwM/5XT/KKtaGquq4sRCQ2ppxmwx6Ojo0IMHD+a8/cd27Z8IZqYyjUbjSZYvqucvPvrWEp5p/iQ95T89+QrnhseJhkMTN43xhEdDJMy/unzFhNKZzRIqhJQ7LhXvyZqUUEQldKDzAg9/+yjDgXLqi+oj3PP+zUW7uRzovMCfPHOEkbg3EdBviob4ww9tKeoN7EDnBZ78bhenB2a/Qf72U4c5Pzw+JXOrWv8+i8mBzgt87sVjREJCQzTEWNwj4Sl3vzf7A95Cp1DXlogcUtWOTOtsZvssBHtQjCeSRMMhWpuinBkYnX3nMhMOCb3D47Q0RJDAM6aiDI4l+M1/nb3QZNASCiqbzJZQPLCuuO64oCXU0jBDUkKaEhpPJP2ndHFPsSUwiF4/MzChRMB/Oh6Je7x+ZqCoyip1g8zFAj49MEpYoKtvfMISq9a/z2Ly5He7iIRkQoGmYlNPfrfLFEkFMEUyC831EY71DBEO9FY4OzDOm5YXrwdFMVnV0jjtCXUs7nFJy8wutnBIWNIUZUlTdMbtMpGuhNIV0BQrKG2b9ElliQJjQilE/TjVw986yta3tM1sCTVGaYjMbgk9fegU4dDUNrZJz+PpQ6f4+LvWF3S+KfK9QS6KhnnjwshEinQi6f4+l83v9N/TA6O0NEy9fTVEQ/NegVYrpkhmQTXdiTuxohKnMys3v2Mtn3vxGKPx5BST/+Z3rJ195zlSDiU0MBZneIqVNLM7TtXvRdI3Guebr/xs1vOIhMRXLvWT7rh0S2gkliQUCsQx3L7FdAvmbWFk6ZFChRMl8nHPzYW5PjAZpcEUySwEi+iNJ1I/7DpG4sW7eRSTazcu42428eR3uzgzMMolVR6ELEQJJZLehKXzG098l0yXJCTwrjevYGg8zkDKPZfFEuobidM3MrMllPTwg/Rp/LvH/mWaEgrGiDLFg5obItSnWUKL6iK8cX7YD07nYAEPxxKsbKmnbyQ+qXgW11W0SnW+7rm5UIkHJiM7pkhmIVhELxhsb19UvB4UxebajcuqVnEUk0g4xNKmOpY21ZHMptcVHty+ZZo4qISGAhlwQ2lWz8BYfCI2dLZ/LGsV3lyUUCaiYXEKyE9ION0/6mdlJXXCwlCF4fE4Pzh1cXLbhggNkdDEk/nawEz2Sv99liN+UWsPTPMdUySzEJw5HAkJo/GkPflUIdmqWmWTB5VQPnz9X07y1MEuRuMeDdEQ73tLO++5vI1XfnqR7xw/R99ojKZohHXLmmioC00ooWyWUDyZ2RLSiX98zg7G+K2nDk/ZJhoW6iNhNynSl4n4c2c2tTfzjUOncraEikm54hcL5YGpFjBFMgvBmcPV2CHRKC8ff9f6aYH1A50X+KdjvURCwqVLGhiLe/ysfzRjKmo2S2jQKZxnDp+ecEt5qiQVkklFmSxzkcLvLTPVhaUK4wmPF1/v4cXXe7KOI90SmnDDZXHPBbebTQlZ/GLhYYokB1I1ffqG/WZDEz+hwGSx1OSu1CQyf7VMpKOmr0+l505smzbxLBg3na2cQqqwYfoEs1TphGx9NIL7Zzr/9DwDYMrs4dQ2qWlqqYq4M5WMCJ5f8P8hSHDaW7AcBKkJbwRKRLhtwwLJDP8/YfGPWcr5Uk9+t4tEMsnFkcBkyPpwRlfObJbQW9qbs86PePubljp32+QcoP+2t5P+0TjhkEzMG4onPUIirFzSkLcllAuzKaE1rY2cOD/MaMyPX8TdrPBffdtqVLVollCpA/pG7pgiyYPWRfm5QaqBcAETKjL93uf6fY8+/2O+/J0TDMeSLKoL8xvv2cAnf+nyOZ9bOpcubaSrb7rr5NKljWxY4QeqJxScTiq59JIaqXIYqZuyp4rnTZbNSM2qDvLGhWEGR+NIIEDeNxwn4Q3nPY7ZfP/pSuizzx+jqS40NdjeFMVT+PItk3PH4kFLKFAXbjDN9TZF7j6Pxac6COeqhO7/H0eyKqHmtCy5yXWZLaFyBPSN3DFFYpScR5//MZ978TghgUjIDwZ/7sXjAEVTJovqwoTFWTBMlpFfVDfpXpmwhgK6cC6KUdWvw5RSKomkBwLhgDmZECWe8OZkDeXj+881yyuVbZheKywXUu64gdmUUCpZYTzB4GhxlZA/hkkldH5onKQq0VBooiaap/DFvT8h7nl5u+OMwjBFUiDV1i+7Gvnyd074T/MBmTh5sRTJUCzJmtbGKb3OVyyum7HX+VwREddq2P9cFwkxlvBQZaJgpIjvmtqwYtFET5akpyQ8L+3z5Puc3G9lmOc018QEmMUSCsaJ5mgJjaWlU1wcjfOH3zwy7TyiYZmwehbVR2hpjEwopWyWUOqzKaHZMUVSANXaL7vaGBxLZOwVMjhWvLkOa1ubOHl+aIoslvRYv7z0PUEuX9nCiXNDWfuRpKoi+ISzfk9K0XgeEwonWIE2kZyucIbjyenzSKponlMhllC6EhoIpGd/4+Ap+kdjxBIenlPgqVhhWISxxHQldGE4xoXh/IqX+mPwLaGWQNHS2ZSQv32E+mj26z2fMEVSADv3dRJPJjk/NHkDaWmMsHNf57xQJMWytrI9Gxcz/P3Ojcs4cPKCqzDrK5GewRgfe0fp/eWpFPFC+5H4Cid145lZ4cSTfhB+XWsTPUPjvGl53UTiw2isuuc55cpMSmhoNM7j+9+YcJf6cS749V9Yx8fftZ540gtYPFPrx02pKTfmu+yGAxl0mZRQIe64zApnZkuoub62lJApkgI41jNI/0h8ondFwlPODcaIJwcrel7FUAC1Zm291HmBtsV1aVZBhJc6L/DJEh+73M2lggrnrl+8jPv3HCGe9JwS82+Cd257MytbGpwVM2ndJJK+dVPrVb+/39XPsqYow7HJTLlFdWG+39XPx/GV0LJFdSybQ4LMhBLKUMQ0aBkF5wilJq4W2xJKVzjTPqeW6yetpZaGKHWRuTVvmyumSAoglvCDrKFAENeTzB38ykWxFEC2boBzsbZSgdBM8mLR1TfCisX1tDVPlslWVU71jRTvIDNQqbav2za3c9Opi9My4v7NVZfMuF/CWTS+cvGIJ3WKpVPtiub0wCiti+pYtmhqletiTHospRKaXlPOJSkUWQnVRUK+kglMSG1tquOq1Uu46xcvy/v7ZsMUSQFEw8JoHDwv0JUPqAtXLjBXLAXQ1TfC0sap9a8ao+E53ZhbGyOcH5keD2ltLN6fX6qUTWrc4GeHrWktbhXcakuu2Hu0h93f66atuZ51zq22+3vd/PyapTOeVyQcIpLFc6KqxJ0lk/CUZFKJe55v3Tj5bCzUoo3lsIRyUUKxhMf5RIzzaUroZ/1jtaVIROSrwIeAHlW9ysmWAU8B6/E7JH5EVfvcuvuA2/B71n1SVb/t5Ncw2SHxWeBuVVURqQeeAK7B79X+UVU9WarxZOLylS0cPdNP/2gCT/0n7CWNETatbCnnaUyhWAqgqDfmLBkvxcyECZaymUucIhcFsfdoD7+7+zCDYwkSnse5wXF+d/dhPnPTWyumTHbu6+Tc4BgjgQynpmiooDidiFAXEerI7B7xPCWW9HzrJaBk4knfhWZFG+dGIUoolvBmbe89FvfYtLI0ySeltEi+BnwB/2af4l7gBVV9SETudZ/vEZEr8VvlbsHv2f68iFzu2u0+BtyO37P9WeB6/Ha7twF9qnqZiNwMPAx8tITjmUYqwBsOCVHnvhkYS/LOCk6IKpYCKPTGHCRbmfVipuYWEqfI1R348LeO0jfizyKPhEOo+sUaH/7W0Yopku/99DzjacbeSNzj+z89X7JjhkJCQyhMQ4ZgcCLpce/f/pD6SIiGaBhVaKwTRmNWtLGU1EVCLIvMrIQK7ZA4EyVTJKq6T0TWp4m34/dxB3gc2Avc4+RPquo4cML1Yb9WRE4CLaq6H0BEngBuxFck24EH3HftBr4gIqJldO5WMsCbjR1bN/Kp3Yfpvjg60XJ2cX2EP/yVK/P6nmIGkBOZAiQzyOfKXOMUuboDO88NA77bJzVnJCQpeWVIVyIpiphZnReRcIif9Y+ytDE6xeKMhoTeoTGWL6qfsGZSFsxcsaKNuXOg8wLfOHSKs4NjJXHJljtGslJVT7vlM8BKt7wa2B/Y7pSTxd1yujy1TxeAqiZEpB9YDpxLP6iI3AHcAbBu3bqiDAQqH+DNhgC4GlVopmpWuVG0AHI58n8LINhOOTiZMf06eqq4/ApwMbGEgkiVDKRKyGQVjyU81i1bNK3vTCrAH3cB/0TSc4qm+gP+tcKBzgs8/O2jjIwnSKqWxCVb3hyxAM5yKMtfiqruUtUOVe1oa2sr2veubW2aVgyvFAHefNi5r5OWxiibVjZzxaolbFrZTEtjlJ37Oit2TtEsqYjZ5OWmuT5C98UxEs6CS3hK98UxFtdPfc6KuDSzyUKaU+WVINuRKzkPe8fWjQyMxjl2dpDXTvdz7OwgA6PxjG7RcEhoiIZpboiybFEd7S0NrGltYsOKRaxb1sSqJY0sX1xPS2OUproI0bDNMs+XXf/cycBoHMW3GJVJl2yxKLdFclZEVqnqaRFZBaTqXHcDwSjZGifrdsvp8uA+p0QkAizBD7qXjR1bN/K7uw/T3TdKwvOIhHzXVr5upGJSzGyrYpHtybLYT5xzLQyZrZ1y+vk11YUZi3vTqhoH63mVm1CWqscV1G2A+y90lZeRuT0xpjLLGjNMzgxaMqlAv1kymenqG3ETdWWiwriKFtUlW+5Hwj3ArW75VuCbAfnNIlIvIhuATcAB5wYbEJHrxH8MuSVtn9R33QS8WM74SIpi/GCKSTVaSbFMd7oZ5HMhVRhyNJ6cUhjy0ed/POu+qXbKkbCQVCUSFlYvbZiWDNDe3DC1TYArvx90bZadbE/nFXxq37mvk0hIJopYhkWIhKSoVnHQkmnNYsmsaK5nSWOURfVmyZSaUqb//g1+YH2FiJwC/gh4CHhaRG4D3gA+AqCqR0TkaeBVIAHc5TK2AO5kMv33OfcC+ArwdReYv4Cf9VVWdu7rZEljlFVLJnPX5zppr1gUM9uqWGQLqBYSaE3ny985Aa4RVEInb/K5FIYMtlNOMRJL0J6mIFTVr2IgMjFvKDVLvFLzSxbVhRl2HRJTCQAilbWSfnx2gIGxBCH8/6tEUjk/HCORHCjL8WeyZCbiMQllPJkklpj/VszapY28cWEE8ZRQoJzMZSuK93BZyqytj2VZ9b4s238a+HQG+UHgqgzyMeDXCjnHQqlGN1K5y3VUC0Pj/lyeiYZg6rfZHcqW1hQgV+WbslyCFYYvWVzPuaHxipWTed/mNv7+ldMTn1ORx/dtLl4sMF/iztIMhQIVHzwtqgU6V6LhENFwCOoAJn+7KQUTS0y6yBIFZpVVC3dsfbMfbI/5wfZwSFhaH+XeD1xRtGPYzPYCKNds6nypVLmOSiLOREj/2efizshV+WarMBxLKtEKFe88MxBjaWOEgbHJSbEtDRHODORfVqNY1EVCjMaSeBqo+KCUvf5TPqQUTHp9yGmxmLTJl7XAtRuXcc/7N/ONQ6foGRwrycOlKZICqEY3ElRfGY9yEA1BMkPljmiO965clO87Ny7j5RPnJ+qGxZNJN7M6TM/A+ERTrUQyyZj7Wyg1XX0jRNNK8kTDUlGreFN7M6+fGeDiaHxCuS1tjLKpvbli5zRXUgUyM02+DM7wn7BkErmVkCk3125cxnuvaK+9CYkLgXK4kfJVCnuP9vCp3YcZGk+Q9JRzQ+N8avdh/qyCZTzKQV0kzHgiMS2jqi5bQak58NyPzkzrF6XqW6Gqk33oUT+TKtuM/qKiSu/QZHlzT6F3KM6apZWLkWSq+NA/lqhoxYdSkG2Gv6pOcY+lluMJb1qb5vmCKZICKaUbaS61nR567jUujsQJuwY/6sHFkTgPPffaPFckISKu3WzKneJ5WlR3yvGeoYwNuibShQPLALFE6RVJ7+B4XvJyUI0VH8qJiFAfCVOf4e6acpXFgmnLidqouDwTpkiqmLnUdjpx3uWMBwKd6iknzld2tn2pKYc7ZaaSLmGZnKiYyhgLh0ofExjP4j7LJi8H5ar4MNd5Q5VkJldZMKMslvRIeNXrKkvHFEkVU421naqVcrhTZro1iwiRtLTgDcsrm3RRKcqRhPLo8z/msy8cm4hXDYwl+OwLxwCqXplkY2pG2SSe5wf5U+6x4HK1uMqqN43CmKjtpMpkbSePGf94Nq5YhKf+NoriqeKpL5/PvNR5geb6MElPGU/4TZqa68O81HmhLMdf2hRFQr4CkZD/uZjplbXEjq0biSeVkVgCVf+92Eko/21f57RmaZ768vlGKOS7yhbXR/zJl80NrF7ayHo3+fLSpZOTLytVRsYskiomEhLfGoEpj8Mz1Xa65/rNk3GVpF+2pbUpyj3Xby75+VaS1CS41M3FL+mf4NjZ8kyC+7Ob3lqRuTtN0TAj8emxmKYK9vsuRxJKtkSGsiQ4VBGpyZeZAv6p5mQpV1l6dl9Rz6Nk32wUTFNdmPGEN1EgMJUVNNOs5W2b2/lMhW5qlWRoPJnxCXVwvDw3lmImXeSTqbduWQNHz053da5bVsGyLSzMuUzVxJTmZPn3ycobUyRVzOUrWzhxbmha9suGFTN3OVuIP+JYInNAMpt8LoTwZ8tnkheLfDP1jvVmDmBnkxtGKbAYSRWzY+tG6iJhLlnSwFtWNnPJkgbqIuGKT3isRsrR8iQaCU0rzy4Utxx+KlMv15Lf5ahjVo00Zplpmk1ulBb7X69itm1u58EbttDe3ED/aJz25gYevGHLgrM2cqEui/83m3wubFjeRDgk1IdDNERC1IdDhENS1OysznPDU0p+h0QsUy8Di+ojhJhaiTnk5Eb5sf/1Kmc+uKncZO+M8mLRvriOU/3TJ+G1Ly6eg/jeD1wxpWpAKYrfGbmxqb2Zk+EhBkan1jdbv3xmt69RGswiMUrO6qWZA7/Z5HMiFKJtcXSioVNIoG1xFCnipMBtm9u55bo3URcO4SnUhUPcct2biqroNyxv8tO33Uxnz/PTtxfqnJRs7Ni6kWh4qts3Gja3b6UwRWKUnP9y48/RlOa7boqG+C83/lzRjrG2tYmWxjq2XLqEn1u9hC2XLqGlsa6ok+D2Hu1h9/e6aWuu54pLmmlrrmf397rZe7Rn9p1z5N4PXJHXnJSGSGa7Lpt8vmBu3+qiIq4tETkJDAJJIKGqHSKyDHgKWA+cBD6iqn1u+/uA29z2n1TVbzv5NUw2vXoWuLsSXRKN2Wmqj+Ax6RJqmsWXnW+xyrm0Pc73GDv3dRINy8SM7aa6SNEbmW3b3J7XnJRsSWlFTFarWuaD23e+UMkYyS+q6rnA53uBF1T1IRG5132+R0SuxO9+uAW4FHheRC53HRQfA24HXsZXJNcz2UHRqBLy7SS592jPnBpF5dP2eC7HKFcjs3xukNnqf81UF8wwik01uba2A4+75ceBGwPyJ1V1XFVPAMeBa0VkFdCiqvudFfJEYB+jiujqG6ExbebtTDfg4JO/iLiyDzP3/E4pq03tzWy+pIVN7c0saYxm3Wcux1jb2sRo2izyamhkZhiVplKKRIH/JSKHROQOJ1upqqmeoWeAlW55NdAV2PeUk612y+nyaYjIHSJyUEQO9vb2FmsMRo7kewPOV/HMZZ+5HKMcNaTypRxpz4YxG5VSJO9R1bcDHwDuEpGtwZXOwiiaba6qu1S1Q1U72toq18t6oZLvDXguT/757jOXY1RjgPcTv3hZXnLDKAUViZGoard77xGRvweuBc6KyCpVPe3cVqlUmG5gbWD3NU7W7ZbT5UaVkW8Rv7m0MM53n7m2Sa62AG+qZHqt9eUw5hdS7iQnEVkEhFR10C3/A/Ag8D7gfCDYvkxVf09EtgB/ja9sLgVeADapalJEDgCfZDLY/nlVfXam43d0dOjBgwdLNj6jOKQyqvIpPJnvPnM5hmEsVETkkKp2ZFxXAUWyEfh79zEC/LWqflpElgNPA+uAN/DTfy+4fX4f+I9AAvgtVX3OyTuYTP99Dvi/Z0v/NUViGIaRP1WlSCqNKRLDMIz8mUmRVFP6r2EYhlGDmCIxDMMwCsIUiWEYhlEQpkgMwzCMglhwwXYR6cXPClsIrADOzbrV/MPGvbCwcZeHN6lqxhndC06RLCRE5GC2LIv5jI17YWHjrjzm2jIMwzAKwhSJYRiGURCmSOY3uyp9AhXCxr2wsHFXGIuRGIZhGAVhFolhGIZREKZIDMMwjIIwRVJjiEhYRL4vIs+4zw+ISLeIvOJeHwxse5+IHBeR10Xk/QH5NSLyQ7fuURGp+nZ6InLSnfMrInLQyZaJyD+IyDH33hrYfl6MPcu45/01F5GlIrJbRI6KyGsi8s4Fcr0zjbv6r7eq2quGXsBv4/dnecZ9fgD4VIbtrgQOA/XABuAnQNitOwBcBwh++f0PVHpcOYz7JLAiTfanwL1u+V7g4fk29izjnvfXHHgc+A23XAcsXSDXO9O4q/56m0VSQ4jIGuBXgC/nsPl24ElVHVfVE8Bx4FrXfbJFVfer/xf3BHBjqc65xGzH/+Hh3m8MyOf72DMxL8YtIkuArcBXAFQ1pqoXmefXe4ZxZ6Nqxm2KpLb4LPB7gJcm/4SI/EBEvhow91cDXYFtTjnZarecLq92FPhfInJIRO5wspWqetotnwFWuuX5NPZM44b5fc03AL3A/+fcuF8Wv5vqfL/e2cYNVX69TZHUCCLyIaBHVQ+lrXoMeDNwNXAa+PMyn1q5eI+qvh34AHCXiGwNrnRPXvMxlz3TuOf7NY8AbwceU9W3AcP4rqwJ5un1zjbuqr/epkhqh3cDN4jISeBJ4L0i8peqelZVk6rqAV/C720P0A2sDey/xsm63XK6vKpR1W733oPfqvla4Kwz43HvPW7zeTP2TONeANf8FHBKVV92n3fj32Dn+/XOOO5auN6mSGoEVb1PVdeo6nrgZuBFVf311A/L8WHgR255D3CziNSLyAZgE3DAuQYGROQ6l8lxC/DN8o0kf0RkkYg0p5aBf4M/zj3ArW6zW5kcx7wYe7Zxz/drrqpngC4ReYsTvQ94lXl+vbONuyaud6WzFOyV/wvYxmTW1teBHwI/cH9YqwLb/T5+JsfrBLI2gA73x/gT4Au4CgfV+gI24menHAaOAL/v5MuBF4BjwPPAsvk09hnGvRCu+dXAQTfG/w60zvfrPcO4q/56W4kUwzAMoyDMtWUYhmEUhCkSwzAMoyBMkRiGYRgFYYrEMAzDKAhTJIZhGEZBmCIxjAogIl8TkZsqfR6GUQxMkRhGDSAikUqfg2FkwxSJYeSBiKx3vSL+yvWL2C0iTa7/wz+54orfDpTyuF1Evisih0Xkb0WkKcN3/omzUMJp8m0i8s8isgd/hnPGY7ttT4rI/+v6VRwUkbe78/iJiPxmWf5zjAWLKRLDyJ+3AF9U1SuAAeAu4PPATap6DfBV4NNu279T1Xeo6luB14Dbgl8kIp8B2oD/U1WTGY71duBuVb08y7HvDGz7U1W9Gvhn4GvATfg9Kf64sOEaxsyYIjGM/OlS1f/tlv8SeD9wFfAPIvIK8AdMFs27ylkVPwT+A7Al8D1/CCxR1d/U7CUmDqjfayLbsd8TWLfHvf8QeFlVB1W1FxgXkaV5j9IwcsT8roaRP+k3/UHgiKq+M8O2XwNuVNXDIvJ/4NdJS/Fd4BoRWaaqF0TkF4Cdbt39+BbH8CzHDn4ed+9eYDn12X7rRskwi8Qw8mediKSUxr8H9gNtKZmIREUkZXk0A6dFJIpvkQT5FvAQ8D9FpFlVX1bVq91rD5lJP/Z3ijUow5grpkgMI39ex28y9Rp+ddbP48cjHhaRw8ArwLvctn8IvAz8b+Bo+hep6jfwe0zsEZHGORz7scKGYhiFY9V/DSMPRGQ9fgn/qxbSsQ1jJswiMQzDMArCLBLDMAyjIMwiMQzDMArCFIlhGIZREKZIDMMwjIIwRWIYhmEUhCkSwzAMoyD+f5uAe88FnJgwAAAAAElFTkSuQmCC\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": "

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 not a reliable variable.

\n", "metadata": {} }, { "cell_type": "markdown", "source": "We can examine the correlation between 'peak-rpm' and 'price' and see it's approximately -0.101616.\n", "metadata": {} }, { "cell_type": "code", "source": "df[['peak-rpm','price']].corr()", "metadata": { "trusted": true }, "execution_count": 18, "outputs": [ { "execution_count": 18, "output_type": "execute_result", "data": { "text/plain": " peak-rpm price\npeak-rpm 1.000000 -0.101616\nprice -0.101616 1.000000", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
peak-rpmprice
peak-rpm1.000000-0.101616
price-0.1016161.000000
\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "
\n

Question 3 a):

\n\n

Find the correlation between x=\"stroke\" and y=\"price\".

\n

Hint: if you would like to select those columns, use the following syntax: df[[\"stroke\",\"price\"]].

\n
\n", "metadata": {} }, { "cell_type": "code", "source": "# Write your code below and press Shift+Enter to execute\ndf[[\"stroke\",\"price\"]].corr()", "metadata": { "trusted": true }, "execution_count": 22, "outputs": [ { "execution_count": 22, "output_type": "execute_result", "data": { "text/plain": " stroke price\nstroke 1.00000 0.08231\nprice 0.08231 1.00000", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
strokeprice
stroke1.000000.08231
price0.082311.00000
\n
" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "
Click here for the solution\n\n```python\n\n#The correlation is 0.0823, the non-diagonal elements of the table.\n\ndf[[\"stroke\",\"price\"]].corr()\n\n```\n\n
\n", "metadata": {} }, { "cell_type": "markdown", "source": "
\n

Question 3 b):

\n\n

Given the correlation results between \"price\" and \"stroke\", do you expect a linear relationship?

\n

Verify your results using the function \"regplot()\".

\n
\n", "metadata": {} }, { "cell_type": "code", "source": "# Write your code below and press Shift+Enter to execute \nsns.regplot(x=\"stroke\", y=\"price\", data=df)", "metadata": { "trusted": true }, "execution_count": 21, "outputs": [ { "execution_count": 21, "output_type": "execute_result", "data": { "text/plain": "" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": "
Click here for the solution\n\n```python\n\n#There is a weak correlation between the variable 'stroke' and 'price.' as such regression will not work well. We can see this using \"regplot\" to demonstrate this.\n\n#Code: \nsns.regplot(x=\"stroke\", y=\"price\", data=df)\n\n```\n\n
\n", "metadata": {} }, { "cell_type": "markdown", "source": "

Categorical Variables

\n\n

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.

\n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's look at the relationship between \"body-style\" and \"price\".\n", "metadata": {} }, { "cell_type": "code", "source": "sns.boxplot(x=\"body-style\", y=\"price\", data=df)", "metadata": { "scrolled": true, "trusted": true }, "execution_count": 23, "outputs": [ { "execution_count": 23, "output_type": "execute_result", "data": { "text/plain": "" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": "

We see that the distributions of price between the different body-style categories have a significant overlap, so body-style would not be a good predictor of price. Let's examine engine \"engine-location\" and \"price\":

\n", "metadata": {} }, { "cell_type": "code", "source": "sns.boxplot(x=\"engine-location\", y=\"price\", data=df)", "metadata": { "scrolled": true, "trusted": true }, "execution_count": 24, "outputs": [ { "execution_count": 24, "output_type": "execute_result", "data": { "text/plain": "" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": "

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.

\n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's examine \"drive-wheels\" and \"price\".\n", "metadata": {} }, { "cell_type": "code", "source": "# drive-wheels\nsns.boxplot(x=\"drive-wheels\", y=\"price\", data=df)", "metadata": { "trusted": true }, "execution_count": 25, "outputs": [ { "execution_count": 25, "output_type": "execute_result", "data": { "text/plain": "" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "markdown", "source": "

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.

\n", "metadata": {} }, { "cell_type": "markdown", "source": "

3. Descriptive Statistical Analysis

\n", "metadata": {} }, { "cell_type": "markdown", "source": "

Let's first take a look at the variables by utilizing a description method.

\n\n

The describe function automatically computes basic statistics for all continuous variables. Any NaN values are automatically skipped in these statistics.

\n\nThis will show:\n\n
    \n
  • the count of that variable
  • \n
  • the mean
  • \n
  • the standard deviation (std)
  • \n
  • the minimum value
  • \n
  • the IQR (Interquartile Range: 25%, 50% and 75%)
  • \n
  • the maximum value
  • \n
      \n", "metadata": {} }, { "cell_type": "markdown", "source": "We can apply the method \"describe\" as follows:\n", "metadata": {} }, { "cell_type": "code", "source": "df.describe()", "metadata": { "trusted": true }, "execution_count": 26, "outputs": [ { "execution_count": 26, "output_type": "execute_result", "data": { "text/plain": " symboling normalized-losses wheel-base length width \\\ncount 201.000000 201.00000 201.000000 201.000000 201.000000 \nmean 0.840796 122.00000 98.797015 0.837102 0.915126 \nstd 1.254802 31.99625 6.066366 0.059213 0.029187 \nmin -2.000000 65.00000 86.600000 0.678039 0.837500 \n25% 0.000000 101.00000 94.500000 0.801538 0.890278 \n50% 1.000000 122.00000 97.000000 0.832292 0.909722 \n75% 2.000000 137.00000 102.400000 0.881788 0.925000 \nmax 3.000000 256.00000 120.900000 1.000000 1.000000 \n\n height curb-weight engine-size bore stroke \\\ncount 201.000000 201.000000 201.000000 201.000000 197.000000 \nmean 53.766667 2555.666667 126.875622 3.330692 3.256904 \nstd 2.447822 517.296727 41.546834 0.268072 0.319256 \nmin 47.800000 1488.000000 61.000000 2.540000 2.070000 \n25% 52.000000 2169.000000 98.000000 3.150000 3.110000 \n50% 54.100000 2414.000000 120.000000 3.310000 3.290000 \n75% 55.500000 2926.000000 141.000000 3.580000 3.410000 \nmax 59.800000 4066.000000 326.000000 3.940000 4.170000 \n\n compression-ratio horsepower peak-rpm city-mpg highway-mpg \\\ncount 201.000000 201.000000 201.000000 201.000000 201.000000 \nmean 10.164279 103.405534 5117.665368 25.179104 30.686567 \nstd 4.004965 37.365700 478.113805 6.423220 6.815150 \nmin 7.000000 48.000000 4150.000000 13.000000 16.000000 \n25% 8.600000 70.000000 4800.000000 19.000000 25.000000 \n50% 9.000000 95.000000 5125.369458 24.000000 30.000000 \n75% 9.400000 116.000000 5500.000000 30.000000 34.000000 \nmax 23.000000 262.000000 6600.000000 49.000000 54.000000 \n\n price city-L/100km diesel gas \ncount 201.000000 201.000000 201.000000 201.000000 \nmean 13207.129353 9.944145 0.099502 0.900498 \nstd 7947.066342 2.534599 0.300083 0.300083 \nmin 5118.000000 4.795918 0.000000 0.000000 \n25% 7775.000000 7.833333 0.000000 1.000000 \n50% 10295.000000 9.791667 0.000000 1.000000 \n75% 16500.000000 12.368421 0.000000 1.000000 \nmax 45400.000000 18.076923 1.000000 1.000000 ", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      symbolingnormalized-losseswheel-baselengthwidthheightcurb-weightengine-sizeborestrokecompression-ratiohorsepowerpeak-rpmcity-mpghighway-mpgpricecity-L/100kmdieselgas
      count201.000000201.00000201.000000201.000000201.000000201.000000201.000000201.000000201.000000197.000000201.000000201.000000201.000000201.000000201.000000201.000000201.000000201.000000201.000000
      mean0.840796122.0000098.7970150.8371020.91512653.7666672555.666667126.8756223.3306923.25690410.164279103.4055345117.66536825.17910430.68656713207.1293539.9441450.0995020.900498
      std1.25480231.996256.0663660.0592130.0291872.447822517.29672741.5468340.2680720.3192564.00496537.365700478.1138056.4232206.8151507947.0663422.5345990.3000830.300083
      min-2.00000065.0000086.6000000.6780390.83750047.8000001488.00000061.0000002.5400002.0700007.00000048.0000004150.00000013.00000016.0000005118.0000004.7959180.0000000.000000
      25%0.000000101.0000094.5000000.8015380.89027852.0000002169.00000098.0000003.1500003.1100008.60000070.0000004800.00000019.00000025.0000007775.0000007.8333330.0000001.000000
      50%1.000000122.0000097.0000000.8322920.90972254.1000002414.000000120.0000003.3100003.2900009.00000095.0000005125.36945824.00000030.00000010295.0000009.7916670.0000001.000000
      75%2.000000137.00000102.4000000.8817880.92500055.5000002926.000000141.0000003.5800003.4100009.400000116.0000005500.00000030.00000034.00000016500.00000012.3684210.0000001.000000
      max3.000000256.00000120.9000001.0000001.00000059.8000004066.000000326.0000003.9400004.17000023.000000262.0000006600.00000049.00000054.00000045400.00000018.0769231.0000001.000000
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "The default setting of \"describe\" skips variables of type object. We can apply the method \"describe\" on the variables of type 'object' as follows:\n", "metadata": {} }, { "cell_type": "code", "source": "df.describe(include=['object'])", "metadata": { "scrolled": true, "trusted": true }, "execution_count": 27, "outputs": [ { "execution_count": 27, "output_type": "execute_result", "data": { "text/plain": " make aspiration num-of-doors body-style drive-wheels \\\ncount 201 201 201 201 201 \nunique 22 2 2 5 3 \ntop toyota std four sedan fwd \nfreq 32 165 115 94 118 \n\n engine-location engine-type num-of-cylinders fuel-system \\\ncount 201 201 201 201 \nunique 2 6 7 8 \ntop front ohc four mpfi \nfreq 198 145 157 92 \n\n horsepower-binned \ncount 200 \nunique 3 \ntop Low \nfreq 115 ", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      makeaspirationnum-of-doorsbody-styledrive-wheelsengine-locationengine-typenum-of-cylindersfuel-systemhorsepower-binned
      count201201201201201201201201201200
      unique22225326783
      toptoyotastdfoursedanfwdfrontohcfourmpfiLow
      freq321651159411819814515792115
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      Value Counts

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      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']].

      \n", "metadata": {} }, { "cell_type": "code", "source": "df['drive-wheels'].value_counts()", "metadata": { "trusted": true }, "execution_count": 28, "outputs": [ { "execution_count": 28, "output_type": "execute_result", "data": { "text/plain": "fwd 118\nrwd 75\n4wd 8\nName: drive-wheels, dtype: int64" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can convert the series to a dataframe as follows:\n", "metadata": {} }, { "cell_type": "code", "source": "df['drive-wheels'].value_counts().to_frame()", "metadata": { "trusted": true }, "execution_count": 29, "outputs": [ { "execution_count": 29, "output_type": "execute_result", "data": { "text/plain": " drive-wheels\nfwd 118\nrwd 75\n4wd 8", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      drive-wheels
      fwd118
      rwd75
      4wd8
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "Let's repeat the above steps but save the results to the dataframe \"drive_wheels_counts\" and rename the column 'drive-wheels' to 'value_counts'.\n", "metadata": {} }, { "cell_type": "code", "source": "drive_wheels_counts = df['drive-wheels'].value_counts().to_frame()\ndrive_wheels_counts.rename(columns={'drive-wheels': 'value_counts'}, inplace=True)\ndrive_wheels_counts", "metadata": { "trusted": true }, "execution_count": 30, "outputs": [ { "execution_count": 30, "output_type": "execute_result", "data": { "text/plain": " value_counts\nfwd 118\nrwd 75\n4wd 8", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      value_counts
      fwd118
      rwd75
      4wd8
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "Now let's rename the index to 'drive-wheels':\n", "metadata": {} }, { "cell_type": "code", "source": "drive_wheels_counts.index.name = 'drive-wheels'\ndrive_wheels_counts", "metadata": { "trusted": true }, "execution_count": 31, "outputs": [ { "execution_count": 31, "output_type": "execute_result", "data": { "text/plain": " value_counts\ndrive-wheels \nfwd 118\nrwd 75\n4wd 8", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      value_counts
      drive-wheels
      fwd118
      rwd75
      4wd8
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can repeat the above process for the variable 'engine-location'.\n", "metadata": {} }, { "cell_type": "code", "source": "# engine-location as variable\nengine_loc_counts = df['engine-location'].value_counts().to_frame()\nengine_loc_counts.rename(columns={'engine-location': 'value_counts'}, inplace=True)\nengine_loc_counts.index.name = 'engine-location'\nengine_loc_counts.head(10)", "metadata": { "trusted": true }, "execution_count": 32, "outputs": [ { "execution_count": 32, "output_type": "execute_result", "data": { "text/plain": " value_counts\nengine-location \nfront 198\nrear 3", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      value_counts
      engine-location
      front198
      rear3
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      After examining the value counts of the engine location, we see that 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, so this result is skewed. Thus, we are not able to draw any conclusions about the engine location.

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      4. Basics of Grouping

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      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.

      \n\n

      For example, let's group by the variable \"drive-wheels\". We see that there are 3 different categories of drive wheels.

      \n", "metadata": {} }, { "cell_type": "code", "source": "df['drive-wheels'].unique()", "metadata": { "trusted": true }, "execution_count": 33, "outputs": [ { "execution_count": 33, "output_type": "execute_result", "data": { "text/plain": "array(['rwd', 'fwd', '4wd'], dtype=object)" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      If we want to know, on average, which type of drive wheel is most valuable, we can group \"drive-wheels\" and then average them.

      \n\n

      We can select the columns 'drive-wheels', 'body-style' and 'price', then assign it to the variable \"df_group_one\".

      \n", "metadata": {} }, { "cell_type": "code", "source": "df_group_one = df[['drive-wheels','body-style','price']]", "metadata": { "trusted": true }, "execution_count": 34, "outputs": [] }, { "cell_type": "markdown", "source": "We can then calculate the average price for each of the different categories of data.\n", "metadata": {} }, { "cell_type": "code", "source": "# grouping results\ndf_group_one = df_group_one.groupby(['drive-wheels'],as_index=False).mean()\ndf_group_one", "metadata": { "trusted": true }, "execution_count": 35, "outputs": [ { "execution_count": 35, "output_type": "execute_result", "data": { "text/plain": " drive-wheels price\n0 4wd 10241.000000\n1 fwd 9244.779661\n2 rwd 19757.613333", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      drive-wheelsprice
      04wd10241.000000
      1fwd9244.779661
      2rwd19757.613333
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      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.

      \n\n

      You can also group by multiple variables. For example, let's group by both 'drive-wheels' and 'body-style'. This groups the dataframe by the unique combination of 'drive-wheels' and 'body-style'. We can store the results in the variable 'grouped_test1'.

      \n", "metadata": {} }, { "cell_type": "code", "source": "# grouping results\ndf_gptest = df[['drive-wheels','body-style','price']]\ngrouped_test1 = df_gptest.groupby(['drive-wheels','body-style'],as_index=False).mean()\ngrouped_test1", "metadata": { "trusted": true }, "execution_count": 36, "outputs": [ { "execution_count": 36, "output_type": "execute_result", "data": { "text/plain": " drive-wheels body-style price\n0 4wd hatchback 7603.000000\n1 4wd sedan 12647.333333\n2 4wd wagon 9095.750000\n3 fwd convertible 11595.000000\n4 fwd hardtop 8249.000000\n5 fwd hatchback 8396.387755\n6 fwd sedan 9811.800000\n7 fwd wagon 9997.333333\n8 rwd convertible 23949.600000\n9 rwd hardtop 24202.714286\n10 rwd hatchback 14337.777778\n11 rwd sedan 21711.833333\n12 rwd wagon 16994.222222", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      drive-wheelsbody-styleprice
      04wdhatchback7603.000000
      14wdsedan12647.333333
      24wdwagon9095.750000
      3fwdconvertible11595.000000
      4fwdhardtop8249.000000
      5fwdhatchback8396.387755
      6fwdsedan9811.800000
      7fwdwagon9997.333333
      8rwdconvertible23949.600000
      9rwdhardtop24202.714286
      10rwdhatchback14337.777778
      11rwdsedan21711.833333
      12rwdwagon16994.222222
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      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.

      \n\n

      In this case, we will leave the drive-wheels variable as the rows of the table, and pivot body-style to become the columns of the table:

      \n", "metadata": {} }, { "cell_type": "code", "source": "grouped_pivot = grouped_test1.pivot(index='drive-wheels',columns='body-style')\ngrouped_pivot", "metadata": { "trusted": true }, "execution_count": 37, "outputs": [ { "execution_count": 37, "output_type": "execute_result", "data": { "text/plain": " price \\\nbody-style convertible hardtop hatchback sedan \ndrive-wheels \n4wd NaN NaN 7603.000000 12647.333333 \nfwd 11595.0 8249.000000 8396.387755 9811.800000 \nrwd 23949.6 24202.714286 14337.777778 21711.833333 \n\n \nbody-style wagon \ndrive-wheels \n4wd 9095.750000 \nfwd 9997.333333 \nrwd 16994.222222 ", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      price
      body-styleconvertiblehardtophatchbacksedanwagon
      drive-wheels
      4wdNaNNaN7603.00000012647.3333339095.750000
      fwd11595.08249.0000008396.3877559811.8000009997.333333
      rwd23949.624202.71428614337.77777821711.83333316994.222222
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      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.

      \n", "metadata": {} }, { "cell_type": "code", "source": "grouped_pivot = grouped_pivot.fillna(0) #fill missing values with 0\ngrouped_pivot", "metadata": { "scrolled": true, "trusted": true }, "execution_count": 38, "outputs": [ { "execution_count": 38, "output_type": "execute_result", "data": { "text/plain": " price \\\nbody-style convertible hardtop hatchback sedan \ndrive-wheels \n4wd 0.0 0.000000 7603.000000 12647.333333 \nfwd 11595.0 8249.000000 8396.387755 9811.800000 \nrwd 23949.6 24202.714286 14337.777778 21711.833333 \n\n \nbody-style wagon \ndrive-wheels \n4wd 9095.750000 \nfwd 9997.333333 \nrwd 16994.222222 ", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      price
      body-styleconvertiblehardtophatchbacksedanwagon
      drive-wheels
      4wd0.00.0000007603.00000012647.3333339095.750000
      fwd11595.08249.0000008396.3877559811.8000009997.333333
      rwd23949.624202.71428614337.77777821711.83333316994.222222
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "
      \n

      Question 4:

      \n\n

      Use the \"groupby\" function to find the average \"price\" of each car based on \"body-style\".

      \n
      \n", "metadata": {} }, { "cell_type": "code", "source": "# Write your code below and press Shift+Enter to execute \n# grouping results\ndf_group_one = df[['body-style','price']]\ndf_group_one = df_group_one.groupby(['body-style'],as_index=False).mean()\ndf_group_one\n", "metadata": { "trusted": true }, "execution_count": 39, "outputs": [ { "execution_count": 39, "output_type": "execute_result", "data": { "text/plain": " body-style price\n0 convertible 21890.500000\n1 hardtop 22208.500000\n2 hatchback 9957.441176\n3 sedan 14459.755319\n4 wagon 12371.960000", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      body-styleprice
      0convertible21890.500000
      1hardtop22208.500000
      2hatchback9957.441176
      3sedan14459.755319
      4wagon12371.960000
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "
      Click here for the solution\n\n```python\n# grouping results\ndf_gptest2 = df[['body-style','price']]\ngrouped_test_bodystyle = df_gptest2.groupby(['body-style'],as_index= False).mean()\ngrouped_test_bodystyle\n\n```\n\n
      \n", "metadata": {} }, { "cell_type": "markdown", "source": "If you did not import \"pyplot\", let's do it again.\n", "metadata": {} }, { "cell_type": "code", "source": "import matplotlib.pyplot as plt\n%matplotlib inline ", "metadata": { "trusted": true }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "source": "

      Variables: Drive Wheels and Body Style vs. Price

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's use a heat map to visualize the relationship between Body Style vs Price.\n", "metadata": {} }, { "cell_type": "code", "source": "#use the grouped results\nplt.pcolor(grouped_pivot, cmap='RdBu')\nplt.colorbar()\nplt.show()", "metadata": { "trusted": true }, "execution_count": 40, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      The heatmap plots the target variable (price) proportional to colour with respect to the variables 'drive-wheel' and 'body-style' on the vertical and horizontal axis, respectively. This allows us to visualize how the price is related to 'drive-wheel' and 'body-style'.

      \n\n

      The default labels convey no useful information to us. Let's change that:

      \n", "metadata": {} }, { "cell_type": "code", "source": "fig, ax = plt.subplots()\nim = ax.pcolor(grouped_pivot, cmap='RdBu')\n\n#label names\nrow_labels = grouped_pivot.columns.levels[1]\ncol_labels = grouped_pivot.index\n\n#move ticks and labels to the center\nax.set_xticks(np.arange(grouped_pivot.shape[1]) + 0.5, minor=False)\nax.set_yticks(np.arange(grouped_pivot.shape[0]) + 0.5, minor=False)\n\n#insert labels\nax.set_xticklabels(row_labels, minor=False)\nax.set_yticklabels(col_labels, minor=False)\n\n#rotate label if too long\nplt.xticks(rotation=90)\n\nfig.colorbar(im)\nplt.show()", "metadata": { "trusted": true }, "execution_count": 41, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "", "image/png": "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" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": "
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "

      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.

      \n\n

      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?\".

      \n\n

      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?

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      5. Correlation and Causation

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Correlation: a measure of the extent of interdependence between variables.

      \n\n

      Causation: the relationship between cause and effect between two variables.

      \n\n

      It is important to know the difference between these two. Correlation does not imply causation. Determining correlation is much simpler the determining causation as causation may require independent experimentation.

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Pearson Correlation

      \n

      The Pearson Correlation measures the linear dependence between two variables X and Y.

      \n

      The resulting coefficient is a value between -1 and 1 inclusive, where:

      \n
        \n
      • 1: Perfect positive linear correlation.
      • \n
      • 0: No linear correlation, the two variables most likely do not affect each other.
      • \n
      • -1: Perfect negative linear correlation.
      • \n
      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      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.

      \n", "metadata": {} }, { "cell_type": "code", "source": "df.corr()", "metadata": { "trusted": true }, "execution_count": 42, "outputs": [ { "execution_count": 42, "output_type": "execute_result", "data": { "text/plain": " symboling normalized-losses wheel-base length \\\nsymboling 1.000000 0.466264 -0.535987 -0.365404 \nnormalized-losses 0.466264 1.000000 -0.056661 0.019424 \nwheel-base -0.535987 -0.056661 1.000000 0.876024 \nlength -0.365404 0.019424 0.876024 1.000000 \nwidth -0.242423 0.086802 0.814507 0.857170 \nheight -0.550160 -0.373737 0.590742 0.492063 \ncurb-weight -0.233118 0.099404 0.782097 0.880665 \nengine-size -0.110581 0.112360 0.572027 0.685025 \nbore -0.140019 -0.029862 0.493244 0.608971 \nstroke -0.008245 0.055563 0.158502 0.124139 \ncompression-ratio -0.182196 -0.114713 0.250313 0.159733 \nhorsepower 0.075819 0.217299 0.371147 0.579821 \npeak-rpm 0.279740 0.239543 -0.360305 -0.285970 \ncity-mpg -0.035527 -0.225016 -0.470606 -0.665192 \nhighway-mpg 0.036233 -0.181877 -0.543304 -0.698142 \nprice -0.082391 0.133999 0.584642 0.690628 \ncity-L/100km 0.066171 0.238567 0.476153 0.657373 \ndiesel -0.196735 -0.101546 0.307237 0.211187 \ngas 0.196735 0.101546 -0.307237 -0.211187 \n\n width height curb-weight engine-size bore \\\nsymboling -0.242423 -0.550160 -0.233118 -0.110581 -0.140019 \nnormalized-losses 0.086802 -0.373737 0.099404 0.112360 -0.029862 \nwheel-base 0.814507 0.590742 0.782097 0.572027 0.493244 \nlength 0.857170 0.492063 0.880665 0.685025 0.608971 \nwidth 1.000000 0.306002 0.866201 0.729436 0.544885 \nheight 0.306002 1.000000 0.307581 0.074694 0.180449 \ncurb-weight 0.866201 0.307581 1.000000 0.849072 0.644060 \nengine-size 0.729436 0.074694 0.849072 1.000000 0.572609 \nbore 0.544885 0.180449 0.644060 0.572609 1.000000 \nstroke 0.188829 -0.062704 0.167562 0.209523 -0.055390 \ncompression-ratio 0.189867 0.259737 0.156433 0.028889 0.001263 \nhorsepower 0.615077 -0.087027 0.757976 0.822676 0.566936 \npeak-rpm -0.245800 -0.309974 -0.279361 -0.256733 -0.267392 \ncity-mpg -0.633531 -0.049800 -0.749543 -0.650546 -0.582027 \nhighway-mpg -0.680635 -0.104812 -0.794889 -0.679571 -0.591309 \nprice 0.751265 0.135486 0.834415 0.872335 0.543155 \ncity-L/100km 0.673363 0.003811 0.785353 0.745059 0.554610 \ndiesel 0.244356 0.281578 0.221046 0.070779 0.054458 \ngas -0.244356 -0.281578 -0.221046 -0.070779 -0.054458 \n\n stroke compression-ratio horsepower peak-rpm \\\nsymboling -0.008245 -0.182196 0.075819 0.279740 \nnormalized-losses 0.055563 -0.114713 0.217299 0.239543 \nwheel-base 0.158502 0.250313 0.371147 -0.360305 \nlength 0.124139 0.159733 0.579821 -0.285970 \nwidth 0.188829 0.189867 0.615077 -0.245800 \nheight -0.062704 0.259737 -0.087027 -0.309974 \ncurb-weight 0.167562 0.156433 0.757976 -0.279361 \nengine-size 0.209523 0.028889 0.822676 -0.256733 \nbore -0.055390 0.001263 0.566936 -0.267392 \nstroke 1.000000 0.187923 0.098462 -0.065713 \ncompression-ratio 0.187923 1.000000 -0.214514 -0.435780 \nhorsepower 0.098462 -0.214514 1.000000 0.107885 \npeak-rpm -0.065713 -0.435780 0.107885 1.000000 \ncity-mpg -0.034696 0.331425 -0.822214 -0.115413 \nhighway-mpg -0.035201 0.268465 -0.804575 -0.058598 \nprice 0.082310 0.071107 0.809575 -0.101616 \ncity-L/100km 0.037300 -0.299372 0.889488 0.115830 \ndiesel 0.241303 0.985231 -0.169053 -0.475812 \ngas -0.241303 -0.985231 0.169053 0.475812 \n\n city-mpg highway-mpg price city-L/100km diesel \\\nsymboling -0.035527 0.036233 -0.082391 0.066171 -0.196735 \nnormalized-losses -0.225016 -0.181877 0.133999 0.238567 -0.101546 \nwheel-base -0.470606 -0.543304 0.584642 0.476153 0.307237 \nlength -0.665192 -0.698142 0.690628 0.657373 0.211187 \nwidth -0.633531 -0.680635 0.751265 0.673363 0.244356 \nheight -0.049800 -0.104812 0.135486 0.003811 0.281578 \ncurb-weight -0.749543 -0.794889 0.834415 0.785353 0.221046 \nengine-size -0.650546 -0.679571 0.872335 0.745059 0.070779 \nbore -0.582027 -0.591309 0.543155 0.554610 0.054458 \nstroke -0.034696 -0.035201 0.082310 0.037300 0.241303 \ncompression-ratio 0.331425 0.268465 0.071107 -0.299372 0.985231 \nhorsepower -0.822214 -0.804575 0.809575 0.889488 -0.169053 \npeak-rpm -0.115413 -0.058598 -0.101616 0.115830 -0.475812 \ncity-mpg 1.000000 0.972044 -0.686571 -0.949713 0.265676 \nhighway-mpg 0.972044 1.000000 -0.704692 -0.930028 0.198690 \nprice -0.686571 -0.704692 1.000000 0.789898 0.110326 \ncity-L/100km -0.949713 -0.930028 0.789898 1.000000 -0.241282 \ndiesel 0.265676 0.198690 0.110326 -0.241282 1.000000 \ngas -0.265676 -0.198690 -0.110326 0.241282 -1.000000 \n\n gas \nsymboling 0.196735 \nnormalized-losses 0.101546 \nwheel-base -0.307237 \nlength -0.211187 \nwidth -0.244356 \nheight -0.281578 \ncurb-weight -0.221046 \nengine-size -0.070779 \nbore -0.054458 \nstroke -0.241303 \ncompression-ratio -0.985231 \nhorsepower 0.169053 \npeak-rpm 0.475812 \ncity-mpg -0.265676 \nhighway-mpg -0.198690 \nprice -0.110326 \ncity-L/100km 0.241282 \ndiesel -1.000000 \ngas 1.000000 ", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      symbolingnormalized-losseswheel-baselengthwidthheightcurb-weightengine-sizeborestrokecompression-ratiohorsepowerpeak-rpmcity-mpghighway-mpgpricecity-L/100kmdieselgas
      symboling1.0000000.466264-0.535987-0.365404-0.242423-0.550160-0.233118-0.110581-0.140019-0.008245-0.1821960.0758190.279740-0.0355270.036233-0.0823910.066171-0.1967350.196735
      normalized-losses0.4662641.000000-0.0566610.0194240.086802-0.3737370.0994040.112360-0.0298620.055563-0.1147130.2172990.239543-0.225016-0.1818770.1339990.238567-0.1015460.101546
      wheel-base-0.535987-0.0566611.0000000.8760240.8145070.5907420.7820970.5720270.4932440.1585020.2503130.371147-0.360305-0.470606-0.5433040.5846420.4761530.307237-0.307237
      length-0.3654040.0194240.8760241.0000000.8571700.4920630.8806650.6850250.6089710.1241390.1597330.579821-0.285970-0.665192-0.6981420.6906280.6573730.211187-0.211187
      width-0.2424230.0868020.8145070.8571701.0000000.3060020.8662010.7294360.5448850.1888290.1898670.615077-0.245800-0.633531-0.6806350.7512650.6733630.244356-0.244356
      height-0.550160-0.3737370.5907420.4920630.3060021.0000000.3075810.0746940.180449-0.0627040.259737-0.087027-0.309974-0.049800-0.1048120.1354860.0038110.281578-0.281578
      curb-weight-0.2331180.0994040.7820970.8806650.8662010.3075811.0000000.8490720.6440600.1675620.1564330.757976-0.279361-0.749543-0.7948890.8344150.7853530.221046-0.221046
      engine-size-0.1105810.1123600.5720270.6850250.7294360.0746940.8490721.0000000.5726090.2095230.0288890.822676-0.256733-0.650546-0.6795710.8723350.7450590.070779-0.070779
      bore-0.140019-0.0298620.4932440.6089710.5448850.1804490.6440600.5726091.000000-0.0553900.0012630.566936-0.267392-0.582027-0.5913090.5431550.5546100.054458-0.054458
      stroke-0.0082450.0555630.1585020.1241390.188829-0.0627040.1675620.209523-0.0553901.0000000.1879230.098462-0.065713-0.034696-0.0352010.0823100.0373000.241303-0.241303
      compression-ratio-0.182196-0.1147130.2503130.1597330.1898670.2597370.1564330.0288890.0012630.1879231.000000-0.214514-0.4357800.3314250.2684650.071107-0.2993720.985231-0.985231
      horsepower0.0758190.2172990.3711470.5798210.615077-0.0870270.7579760.8226760.5669360.098462-0.2145141.0000000.107885-0.822214-0.8045750.8095750.889488-0.1690530.169053
      peak-rpm0.2797400.239543-0.360305-0.285970-0.245800-0.309974-0.279361-0.256733-0.267392-0.065713-0.4357800.1078851.000000-0.115413-0.058598-0.1016160.115830-0.4758120.475812
      city-mpg-0.035527-0.225016-0.470606-0.665192-0.633531-0.049800-0.749543-0.650546-0.582027-0.0346960.331425-0.822214-0.1154131.0000000.972044-0.686571-0.9497130.265676-0.265676
      highway-mpg0.036233-0.181877-0.543304-0.698142-0.680635-0.104812-0.794889-0.679571-0.591309-0.0352010.268465-0.804575-0.0585980.9720441.000000-0.704692-0.9300280.198690-0.198690
      price-0.0823910.1339990.5846420.6906280.7512650.1354860.8344150.8723350.5431550.0823100.0711070.809575-0.101616-0.686571-0.7046921.0000000.7898980.110326-0.110326
      city-L/100km0.0661710.2385670.4761530.6573730.6733630.0038110.7853530.7450590.5546100.037300-0.2993720.8894880.115830-0.949713-0.9300280.7898981.000000-0.2412820.241282
      diesel-0.196735-0.1015460.3072370.2111870.2443560.2815780.2210460.0707790.0544580.2413030.985231-0.169053-0.4758120.2656760.1986900.110326-0.2412821.000000-1.000000
      gas0.1967350.101546-0.307237-0.211187-0.244356-0.281578-0.221046-0.070779-0.054458-0.241303-0.9852310.1690530.475812-0.265676-0.198690-0.1103260.241282-1.0000001.000000
      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "Sometimes we would like to know the significant of the correlation estimate.\n", "metadata": {} }, { "cell_type": "markdown", "source": "P-value\n\n

      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.

      \n\nBy convention, when the\n\n
        \n
      • p-value is $<$ 0.001: we say there is strong evidence that the correlation is significant.
      • \n
      • the p-value is $<$ 0.05: there is moderate evidence that the correlation is significant.
      • \n
      • the p-value is $<$ 0.1: there is weak evidence that the correlation is significant.
      • \n
      • the p-value is $>$ 0.1: there is no evidence that the correlation is significant.
      • \n
      \n", "metadata": {} }, { "cell_type": "markdown", "source": "We can obtain this information using \"stats\" module in the \"scipy\" library.\n", "metadata": {} }, { "cell_type": "code", "source": "from scipy import stats", "metadata": { "trusted": true }, "execution_count": 43, "outputs": [] }, { "cell_type": "markdown", "source": "

      Wheel-Base vs. Price

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's calculate the Pearson Correlation Coefficient and P-value of 'wheel-base' and 'price'.\n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['wheel-base'], df['price'])\nprint(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value) ", "metadata": { "trusted": true }, "execution_count": 44, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is 0.5846418222655085 with a P-value of P = 8.076488270732243e-20\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion:

      \n

      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).

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Horsepower vs. Price

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's calculate the Pearson Correlation Coefficient and P-value of 'horsepower' and 'price'.\n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['horsepower'], df['price'])\nprint(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) ", "metadata": { "trusted": true }, "execution_count": 45, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is 0.8095745670036559 with a P-value of P = 6.369057428260101e-48\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion:

      \n\n

      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).

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Length vs. Price

      \n\nLet's calculate the Pearson Correlation Coefficient and P-value of 'length' and 'price'.\n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['length'], df['price'])\nprint(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) ", "metadata": { "trusted": true }, "execution_count": 46, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is 0.6906283804483643 with a P-value of P = 8.01647746615853e-30\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion:

      \n

      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).

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Width vs. Price

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's calculate the Pearson Correlation Coefficient and P-value of 'width' and 'price':\n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['width'], df['price'])\nprint(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value ) ", "metadata": { "trusted": true }, "execution_count": 47, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is 0.7512653440522666 with a P-value of P = 9.200335510483739e-38\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "#### Conclusion:\n\nSince the p-value is < 0.001, the correlation between width and price is statistically significant, and the linear relationship is quite strong (\\~0.751).\n", "metadata": {} }, { "cell_type": "markdown", "source": "### Curb-Weight vs. Price\n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's calculate the Pearson Correlation Coefficient and P-value of 'curb-weight' and 'price':\n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['curb-weight'], df['price'])\nprint( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) ", "metadata": { "trusted": true }, "execution_count": 48, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is 0.8344145257702845 with a P-value of P = 2.189577238893816e-53\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion:

      \n

      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).

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Engine-Size vs. Price

      \n\nLet's calculate the Pearson Correlation Coefficient and P-value of 'engine-size' and 'price':\n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['engine-size'], df['price'])\nprint(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P =\", p_value) ", "metadata": { "trusted": true }, "execution_count": 49, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is 0.8723351674455188 with a P-value of P = 9.265491622196808e-64\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion:

      \n\n

      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).

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Bore vs. Price

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "Let's calculate the Pearson Correlation Coefficient and P-value of 'bore' and 'price':\n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['bore'], df['price'])\nprint(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) ", "metadata": { "trusted": true }, "execution_count": 50, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is 0.54315538326266 with a P-value of P = 8.049189483935489e-17\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion:

      \n

      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).

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "We can relate the process for each 'city-mpg' and 'highway-mpg':\n", "metadata": {} }, { "cell_type": "markdown", "source": "

      City-mpg vs. Price

      \n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['city-mpg'], df['price'])\nprint(\"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value) ", "metadata": { "trusted": true }, "execution_count": 51, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is -0.6865710067844684 with a P-value of P = 2.3211320655672453e-29\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion:

      \n

      Since the p-value is $<$ 0.001, the correlation between city-mpg and price is statistically significant, and the coefficient of about -0.687 shows that the relationship is negative and moderately strong.

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Highway-mpg vs. Price

      \n", "metadata": {} }, { "cell_type": "code", "source": "pearson_coef, p_value = stats.pearsonr(df['highway-mpg'], df['price'])\nprint( \"The Pearson Correlation Coefficient is\", pearson_coef, \" with a P-value of P = \", p_value ) ", "metadata": { "trusted": true }, "execution_count": 52, "outputs": [ { "name": "stdout", "text": "The Pearson Correlation Coefficient is -0.7046922650589534 with a P-value of P = 1.749547114447437e-31\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "#### Conclusion:\n\nSince the p-value is < 0.001, the correlation between highway-mpg and price is statistically significant, and the coefficient of about -0.705 shows that the relationship is negative and moderately strong.\n", "metadata": {} }, { "cell_type": "markdown", "source": "

      6. ANOVA

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      ANOVA: Analysis of Variance

      \n

      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:

      \n\n

      F-test score: 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.

      \n\n

      P-value: P-value tells how statistically significant our calculated score value is.

      \n\n

      If our price variable is strongly correlated with the variable we are analyzing, we expect ANOVA to return a sizeable F-test score and a small p-value.

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      Drive Wheels

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      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.

      \n\n

      To see if different types of 'drive-wheels' impact 'price', we group the data.

      \n", "metadata": {} }, { "cell_type": "code", "source": "grouped_test2=df_gptest[['drive-wheels', 'price']].groupby(['drive-wheels'])\ngrouped_test2.head(2)", "metadata": { "trusted": true }, "execution_count": 53, "outputs": [ { "execution_count": 53, "output_type": "execute_result", "data": { "text/plain": " drive-wheels price\n0 rwd 13495.0\n1 rwd 16500.0\n3 fwd 13950.0\n4 4wd 17450.0\n5 fwd 15250.0\n136 4wd 7603.0", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      drive-wheelsprice
      0rwd13495.0
      1rwd16500.0
      3fwd13950.0
      44wd17450.0
      5fwd15250.0
      1364wd7603.0
      \n
      " }, "metadata": {} } ] }, { "cell_type": "code", "source": "df_gptest", "metadata": { "trusted": true }, "execution_count": 54, "outputs": [ { "execution_count": 54, "output_type": "execute_result", "data": { "text/plain": " drive-wheels body-style price\n0 rwd convertible 13495.0\n1 rwd convertible 16500.0\n2 rwd hatchback 16500.0\n3 fwd sedan 13950.0\n4 4wd sedan 17450.0\n.. ... ... ...\n196 rwd sedan 16845.0\n197 rwd sedan 19045.0\n198 rwd sedan 21485.0\n199 rwd sedan 22470.0\n200 rwd sedan 22625.0\n\n[201 rows x 3 columns]", "text/html": "
      \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
      drive-wheelsbody-styleprice
      0rwdconvertible13495.0
      1rwdconvertible16500.0
      2rwdhatchback16500.0
      3fwdsedan13950.0
      44wdsedan17450.0
      ............
      196rwdsedan16845.0
      197rwdsedan19045.0
      198rwdsedan21485.0
      199rwdsedan22470.0
      200rwdsedan22625.0
      \n

      201 rows × 3 columns

      \n
      " }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can obtain the values of the method group using the method \"get_group\".\n", "metadata": {} }, { "cell_type": "code", "source": "grouped_test2.get_group('4wd')['price']", "metadata": { "trusted": true }, "execution_count": 55, "outputs": [ { "execution_count": 55, "output_type": "execute_result", "data": { "text/plain": "4 17450.0\n136 7603.0\n140 9233.0\n141 11259.0\n144 8013.0\n145 11694.0\n150 7898.0\n151 8778.0\nName: price, dtype: float64" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": "We can use the function 'f_oneway' in the module 'stats' to obtain the F-test score and P-value.\n", "metadata": {} }, { "cell_type": "code", "source": "# ANOVA\nf_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 \nprint( \"ANOVA results: F=\", f_val, \", P =\", p_val) ", "metadata": { "trusted": true }, "execution_count": 56, "outputs": [ { "name": "stdout", "text": "ANOVA results: F= 67.95406500780399 , P = 3.3945443577151245e-23\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "This is a great result with a large F-test score showing a strong correlation and a P-value of almost 0 implying almost certain statistical significance. But does this mean all three tested groups are all this highly correlated?\n\nLet's examine them separately.\n", "metadata": {} }, { "cell_type": "markdown", "source": "#### fwd and rwd\n", "metadata": {} }, { "cell_type": "code", "source": "f_val, p_val = stats.f_oneway(grouped_test2.get_group('fwd')['price'], grouped_test2.get_group('rwd')['price']) \n \nprint( \"ANOVA results: F=\", f_val, \", P =\", p_val )", "metadata": { "trusted": true }, "execution_count": 57, "outputs": [ { "name": "stdout", "text": "ANOVA results: F= 130.5533160959111 , P = 2.2355306355677845e-23\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "Let's examine the other groups.\n", "metadata": {} }, { "cell_type": "markdown", "source": "#### 4wd and rwd\n", "metadata": {} }, { "cell_type": "code", "source": "f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('rwd')['price']) \n \nprint( \"ANOVA results: F=\", f_val, \", P =\", p_val) ", "metadata": { "scrolled": true, "trusted": true }, "execution_count": 58, "outputs": [ { "name": "stdout", "text": "ANOVA results: F= 8.580681368924756 , P = 0.004411492211225333\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      4wd and fwd

      \n", "metadata": {} }, { "cell_type": "code", "source": "f_val, p_val = stats.f_oneway(grouped_test2.get_group('4wd')['price'], grouped_test2.get_group('fwd')['price']) \n \nprint(\"ANOVA results: F=\", f_val, \", P =\", p_val) ", "metadata": { "trusted": true }, "execution_count": 59, "outputs": [ { "name": "stdout", "text": "ANOVA results: F= 0.665465750252303 , P = 0.41620116697845655\n", "output_type": "stream" } ] }, { "cell_type": "markdown", "source": "

      Conclusion: Important Variables

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "

      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:

      \n\nContinuous numerical variables:\n\n
        \n
      • Length
      • \n
      • Width
      • \n
      • Curb-weight
      • \n
      • Engine-size
      • \n
      • Horsepower
      • \n
      • City-mpg
      • \n
      • Highway-mpg
      • \n
      • Wheel-base
      • \n
      • Bore
      • \n
      \n\nCategorical variables:\n\n
        \n
      • Drive-wheels
      • \n
      \n\n

      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.

      \n", "metadata": {} }, { "cell_type": "markdown", "source": "### Thank you for completing this lab!\n\n## Author\n\nJoseph Santarcangelo\n\n### Other Contributors\n\nMahdi Noorian PhD\n\nBahare Talayian\n\nEric Xiao\n\nSteven Dong\n\nParizad\n\nHima Vasudevan\n\nFiorella Wenver\n\nYi Yao.\n\n## Change Log\n\n| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n| ----------------- | ------- | ---------- | ---------------------------------- |\n| 2020-10-30 | 2.1 | Lakshmi | changed URL of csv |\n| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n\n
      \n\n##

      © IBM Corporation 2020. All rights reserved.

      \n", "metadata": {} }, { "cell_type": "code", "source": "", "metadata": {}, "execution_count": null, "outputs": [] }, { "cell_type": "code", "source": "", "metadata": {}, "execution_count": null, "outputs": [] } ] }