{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pair-wise Correlations\n",
"\n",
"The purpose is to identify predictor variables strongly correlated with the sales price and with each other to get an idea of what variables could be good predictors and potential issues with collinearity.\n",
"\n",
"Furthermore, Box-Cox transformations and linear combinations of variables are added where applicable or useful."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## \"Housekeeping\""
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2018-09-03 15:55:55 CEST\n",
"\n",
"CPython 3.6.5\n",
"IPython 6.5.0\n",
"\n",
"matplotlib 3.0.0rc2\n",
"numpy 1.15.1\n",
"pandas 0.23.4\n",
"seaborn 0.9.0\n",
"sklearn 0.20rc1\n"
]
}
],
"source": [
"% load_ext watermark\n",
"% watermark -d -t -v -z -p matplotlib,numpy,pandas,seaborn,sklearn"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"import json\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"\n",
"from sklearn.preprocessing import PowerTransformer\n",
"\n",
"from utils import (\n",
" ALL_VARIABLES,\n",
" CONTINUOUS_VARIABLES,\n",
" DISCRETE_VARIABLES,\n",
" NUMERIC_VARIABLES,\n",
" ORDINAL_VARIABLES,\n",
" TARGET_VARIABLES,\n",
" load_clean_data,\n",
" print_column_list,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"% load_ext blackcellmagic"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"% matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"pd.set_option(\"display.max_columns\", 100)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"sns.set_style(\"white\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load the Data\n",
"\n",
"A subset of the previously cleaned data is used in this analysis. It does not make sense to calculate correlations involving nominal variables."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"df = load_clean_data(ordinal_encoded=True)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" 1st Flr SF | \n",
" 2nd Flr SF | \n",
" 3Ssn Porch | \n",
" Bedroom AbvGr | \n",
" Bsmt Full Bath | \n",
" Bsmt Half Bath | \n",
" Bsmt Unf SF | \n",
" BsmtFin SF 1 | \n",
" BsmtFin SF 2 | \n",
" Enclosed Porch | \n",
" Fireplaces | \n",
" Full Bath | \n",
" Garage Area | \n",
" Garage Cars | \n",
" Gr Liv Area | \n",
" Half Bath | \n",
" Kitchen AbvGr | \n",
" Lot Area | \n",
" Low Qual Fin SF | \n",
" Mas Vnr Area | \n",
" Misc Val | \n",
" Mo Sold | \n",
" Open Porch SF | \n",
" Pool Area | \n",
" Screen Porch | \n",
" TotRms AbvGrd | \n",
" Total Bsmt SF | \n",
" Wood Deck SF | \n",
" Year Built | \n",
" Year Remod/Add | \n",
" Yr Sold | \n",
"
\n",
" \n",
" Order | \n",
" PID | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 526301100 | \n",
" 1656.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 441.0 | \n",
" 639.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 2 | \n",
" 1 | \n",
" 528.0 | \n",
" 2 | \n",
" 1656.0 | \n",
" 0 | \n",
" 1 | \n",
" 31770.0 | \n",
" 0.0 | \n",
" 112.0 | \n",
" 0.0 | \n",
" 5 | \n",
" 62.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 7 | \n",
" 1080.0 | \n",
" 210.0 | \n",
" 1960 | \n",
" 1960 | \n",
" 2010 | \n",
"
\n",
" \n",
" 2 | \n",
" 526350040 | \n",
" 896.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 2 | \n",
" 0 | \n",
" 0 | \n",
" 270.0 | \n",
" 468.0 | \n",
" 144.0 | \n",
" 0.0 | \n",
" 0 | \n",
" 1 | \n",
" 730.0 | \n",
" 1 | \n",
" 896.0 | \n",
" 0 | \n",
" 1 | \n",
" 11622.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 6 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 120.0 | \n",
" 5 | \n",
" 882.0 | \n",
" 140.0 | \n",
" 1961 | \n",
" 1961 | \n",
" 2010 | \n",
"
\n",
" \n",
" 3 | \n",
" 526351010 | \n",
" 1329.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 3 | \n",
" 0 | \n",
" 0 | \n",
" 406.0 | \n",
" 923.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0 | \n",
" 1 | \n",
" 312.0 | \n",
" 1 | \n",
" 1329.0 | \n",
" 1 | \n",
" 1 | \n",
" 14267.0 | \n",
" 0.0 | \n",
" 108.0 | \n",
" 12500.0 | \n",
" 6 | \n",
" 36.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 6 | \n",
" 1329.0 | \n",
" 393.0 | \n",
" 1958 | \n",
" 1958 | \n",
" 2010 | \n",
"
\n",
" \n",
" 4 | \n",
" 526353030 | \n",
" 2110.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 1045.0 | \n",
" 1065.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" 522.0 | \n",
" 2 | \n",
" 2110.0 | \n",
" 1 | \n",
" 1 | \n",
" 11160.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 4 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 8 | \n",
" 2110.0 | \n",
" 0.0 | \n",
" 1968 | \n",
" 1968 | \n",
" 2010 | \n",
"
\n",
" \n",
" 5 | \n",
" 527105010 | \n",
" 928.0 | \n",
" 701.0 | \n",
" 0.0 | \n",
" 3 | \n",
" 0 | \n",
" 0 | \n",
" 137.0 | \n",
" 791.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1 | \n",
" 2 | \n",
" 482.0 | \n",
" 2 | \n",
" 1629.0 | \n",
" 1 | \n",
" 1 | \n",
" 13830.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 3 | \n",
" 34.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 6 | \n",
" 928.0 | \n",
" 212.0 | \n",
" 1997 | \n",
" 1998 | \n",
" 2010 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 1st Flr SF 2nd Flr SF 3Ssn Porch Bedroom AbvGr \\\n",
"Order PID \n",
"1 526301100 1656.0 0.0 0.0 3 \n",
"2 526350040 896.0 0.0 0.0 2 \n",
"3 526351010 1329.0 0.0 0.0 3 \n",
"4 526353030 2110.0 0.0 0.0 3 \n",
"5 527105010 928.0 701.0 0.0 3 \n",
"\n",
" Bsmt Full Bath Bsmt Half Bath Bsmt Unf SF BsmtFin SF 1 \\\n",
"Order PID \n",
"1 526301100 1 0 441.0 639.0 \n",
"2 526350040 0 0 270.0 468.0 \n",
"3 526351010 0 0 406.0 923.0 \n",
"4 526353030 1 0 1045.0 1065.0 \n",
"5 527105010 0 0 137.0 791.0 \n",
"\n",
" BsmtFin SF 2 Enclosed Porch Fireplaces Full Bath \\\n",
"Order PID \n",
"1 526301100 0.0 0.0 2 1 \n",
"2 526350040 144.0 0.0 0 1 \n",
"3 526351010 0.0 0.0 0 1 \n",
"4 526353030 0.0 0.0 2 2 \n",
"5 527105010 0.0 0.0 1 2 \n",
"\n",
" Garage Area Garage Cars Gr Liv Area Half Bath \\\n",
"Order PID \n",
"1 526301100 528.0 2 1656.0 0 \n",
"2 526350040 730.0 1 896.0 0 \n",
"3 526351010 312.0 1 1329.0 1 \n",
"4 526353030 522.0 2 2110.0 1 \n",
"5 527105010 482.0 2 1629.0 1 \n",
"\n",
" Kitchen AbvGr Lot Area Low Qual Fin SF Mas Vnr Area \\\n",
"Order PID \n",
"1 526301100 1 31770.0 0.0 112.0 \n",
"2 526350040 1 11622.0 0.0 0.0 \n",
"3 526351010 1 14267.0 0.0 108.0 \n",
"4 526353030 1 11160.0 0.0 0.0 \n",
"5 527105010 1 13830.0 0.0 0.0 \n",
"\n",
" Misc Val Mo Sold Open Porch SF Pool Area Screen Porch \\\n",
"Order PID \n",
"1 526301100 0.0 5 62.0 0.0 0.0 \n",
"2 526350040 0.0 6 0.0 0.0 120.0 \n",
"3 526351010 12500.0 6 36.0 0.0 0.0 \n",
"4 526353030 0.0 4 0.0 0.0 0.0 \n",
"5 527105010 0.0 3 34.0 0.0 0.0 \n",
"\n",
" TotRms AbvGrd Total Bsmt SF Wood Deck SF Year Built \\\n",
"Order PID \n",
"1 526301100 7 1080.0 210.0 1960 \n",
"2 526350040 5 882.0 140.0 1961 \n",
"3 526351010 6 1329.0 393.0 1958 \n",
"4 526353030 8 2110.0 0.0 1968 \n",
"5 527105010 6 928.0 212.0 1997 \n",
"\n",
" Year Remod/Add Yr Sold \n",
"Order PID \n",
"1 526301100 1960 2010 \n",
"2 526350040 1961 2010 \n",
"3 526351010 1958 2010 \n",
"4 526353030 1968 2010 \n",
"5 527105010 1998 2010 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[NUMERIC_VARIABLES].head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ordinal variables are encoded as integers (with greater values indicating a higher sales price by \"guts feeling\"; refer to the [data documentation](https://www.amstat.org/publications/jse/v19n3/decock/DataDocumentation.txt) to see the un-encoded values) and take part in the analysis."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" Bsmt Cond | \n",
" Bsmt Exposure | \n",
" Bsmt Qual | \n",
" BsmtFin Type 1 | \n",
" BsmtFin Type 2 | \n",
" Electrical | \n",
" Exter Cond | \n",
" Exter Qual | \n",
" Fence | \n",
" Fireplace Qu | \n",
" Functional | \n",
" Garage Cond | \n",
" Garage Finish | \n",
" Garage Qual | \n",
" Heating QC | \n",
" Kitchen Qual | \n",
" Land Slope | \n",
" Lot Shape | \n",
" Overall Cond | \n",
" Overall Qual | \n",
" Paved Drive | \n",
" Pool QC | \n",
" Utilities | \n",
"
\n",
" \n",
" Order | \n",
" PID | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 526301100 | \n",
" 4 | \n",
" 4 | \n",
" 3 | \n",
" 4 | \n",
" 1 | \n",
" 4 | \n",
" 2 | \n",
" 2 | \n",
" 0 | \n",
" 4 | \n",
" 7 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 1 | \n",
" 2 | \n",
" 2 | \n",
" 2 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 526350040 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" 3 | \n",
" 2 | \n",
" 4 | \n",
" 2 | \n",
" 2 | \n",
" 3 | \n",
" 0 | \n",
" 7 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" 2 | \n",
" 2 | \n",
" 2 | \n",
" 3 | \n",
" 5 | \n",
" 4 | \n",
" 2 | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" 526351010 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" 5 | \n",
" 1 | \n",
" 4 | \n",
" 2 | \n",
" 2 | \n",
" 0 | \n",
" 0 | \n",
" 7 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" 2 | \n",
" 3 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 5 | \n",
" 2 | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 526353030 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" 5 | \n",
" 1 | \n",
" 4 | \n",
" 2 | \n",
" 3 | \n",
" 0 | \n",
" 3 | \n",
" 7 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 4 | \n",
" 4 | \n",
" 2 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
" 5 | \n",
" 527105010 | \n",
" 3 | \n",
" 1 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 4 | \n",
" 2 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" 2 | \n",
" 2 | \n",
" 2 | \n",
" 4 | \n",
" 4 | \n",
" 2 | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Bsmt Cond Bsmt Exposure Bsmt Qual BsmtFin Type 1 \\\n",
"Order PID \n",
"1 526301100 4 4 3 4 \n",
"2 526350040 3 1 3 3 \n",
"3 526351010 3 1 3 5 \n",
"4 526353030 3 1 3 5 \n",
"5 527105010 3 1 4 6 \n",
"\n",
" BsmtFin Type 2 Electrical Exter Cond Exter Qual Fence \\\n",
"Order PID \n",
"1 526301100 1 4 2 2 0 \n",
"2 526350040 2 4 2 2 3 \n",
"3 526351010 1 4 2 2 0 \n",
"4 526353030 1 4 2 3 0 \n",
"5 527105010 1 4 2 2 3 \n",
"\n",
" Fireplace Qu Functional Garage Cond Garage Finish \\\n",
"Order PID \n",
"1 526301100 4 7 3 3 \n",
"2 526350040 0 7 3 1 \n",
"3 526351010 0 7 3 1 \n",
"4 526353030 3 7 3 3 \n",
"5 527105010 3 7 3 3 \n",
"\n",
" Garage Qual Heating QC Kitchen Qual Land Slope Lot Shape \\\n",
"Order PID \n",
"1 526301100 3 1 2 2 2 \n",
"2 526350040 3 2 2 2 3 \n",
"3 526351010 3 2 3 2 2 \n",
"4 526353030 3 4 4 2 3 \n",
"5 527105010 3 3 2 2 2 \n",
"\n",
" Overall Cond Overall Qual Paved Drive Pool QC Utilities \n",
"Order PID \n",
"1 526301100 4 5 1 0 3 \n",
"2 526350040 5 4 2 0 3 \n",
"3 526351010 5 5 2 0 3 \n",
"4 526353030 4 6 2 0 3 \n",
"5 527105010 4 4 2 0 3 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[ORDINAL_VARIABLES].head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Linearly \"dependent\" Features"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The \"above grade (ground) living area\" (= *Gr Liv Area*) can be split into 1st and 2nd floor living area plus some undefined rest."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"assert not (\n",
" df[\"Gr Liv Area\"]\n",
" != (df[\"1st Flr SF\"] + df[\"2nd Flr SF\"] + df[\"Low Qual Fin SF\"])\n",
").any()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The various basement areas also add up."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"assert not (\n",
" df[\"Total Bsmt SF\"]\n",
" != (df[\"BsmtFin SF 1\"] + df[\"BsmtFin SF 2\"] + df[\"Bsmt Unf SF\"])\n",
").any()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The different porch areas are unified into a new variable *Total Porch SF*. This potentially helps making the presence of a porch in general relevant in the prediction."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"df[\"Total Porch SF\"] = (\n",
" df[\"3Ssn Porch\"] + df[\"Enclosed Porch\"] + df[\"Open Porch SF\"]\n",
" + df[\"Screen Porch\"] + df[\"Wood Deck SF\"]\n",
")\n",
"\n",
"new_variables = [\"Total Porch SF\"]\n",
"CONTINUOUS_VARIABLES.append(\"Total Porch SF\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The various types of rooms \"above grade\" (i.e., *TotRms AbvGrd*, *Bedroom AbvGr*, *Kitchen AbvGr*, and *Full Bath*) do not add up (only in 29% of the cases they do). Therefore, no single unified variable could be used as a predictor."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"29.0"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"round(\n",
" 100\n",
" * (\n",
" df[\"TotRms AbvGrd\"]\n",
" == (df[\"Bedroom AbvGr\"] + df[\"Kitchen AbvGr\"] + df[\"Full Bath\"])\n",
" ).sum()\n",
" / df.shape[0]\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Unify the number of various types of bathrooms into a single variable. Note that \"half\" bathrooms are counted as such."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"df[\"Total Bath\"] = (\n",
" df[\"Full Bath\"] + 0.5 * df[\"Half Bath\"]\n",
" + df[\"Bsmt Full Bath\"] + 0.5 * df[\"Bsmt Half Bath\"]\n",
")\n",
"\n",
"new_variables.append(\"Total Bath\")\n",
"DISCRETE_VARIABLES.append(\"Total Bath\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Box-Cox Transformations\n",
"\n",
"Only columns with non-negative values are eligable for a Box-Cox transformation."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1st Flr SF First Floor square feet\n",
"Gr Liv Area Above grade (ground) living area square feet\n",
"Lot Area Lot size in square feet\n",
"Mo Sold Month Sold (MM)\n",
"SalePrice\n",
"TotRms AbvGrd Total rooms above grade (does not include bathrooms)\n",
"Total Bath\n",
"Year Built Original construction date\n",
"Year Remod/Add Remodel date (same as construction date if no remodeling or additions)\n",
"Yr Sold Year Sold (YYYY)\n"
]
}
],
"source": [
"columns = CONTINUOUS_VARIABLES + DISCRETE_VARIABLES + TARGET_VARIABLES\n",
"transforms = df[columns].describe().T\n",
"transforms = list(transforms[transforms['min'] > 0].index)\n",
"print_column_list(transforms)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A common convention is to use Box-Cox transformations only if the found lambda value (estimated with Maximum Likelyhood Estimation) is in the range from -3 to +3. Also, use a lambda rounded to the next \"half\" integer."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Exact lambda of -8.398 for 1st Flr SF not in realistic range\n",
"Exact lambda of -8.398 for Gr Liv Area not in realistic range\n",
"Exact lambda of -8.398 for Lot Area not in realistic range\n",
"Rounded lambda of 1.0 (exact is 0.775) used to transform Mo Sold\n",
"Rounded lambda of 0.0 (exact is 0.107) used to transform TotRms AbvGrd\n",
"Exact lambda of 21.823 for Year Built not in realistic range\n",
"Exact lambda of 35.529 for Year Remod/Add not in realistic range\n",
"Exact lambda of -8.398 for Yr Sold not in realistic range\n",
"Rounded lambda of 0.5 (exact is 0.511) used to transform Total Bath\n",
"Rounded lambda of 0.0 (exact is 0.004) used to transform SalePrice\n"
]
}
],
"source": [
"# Check the Box-Cox tranformations for each column seperately\n",
"# to decide if the optimal lambda value is in an acceptable range.\n",
"for column in transforms:\n",
" X = df[[column]] # 2D array needed!\n",
" pt = PowerTransformer(method=\"box-cox\", standardize=False)\n",
" # Suppress a weird but harmless warning from scipy\n",
" with warnings.catch_warnings():\n",
" warnings.simplefilter(\"ignore\")\n",
" pt.fit(X)\n",
" # Check if the optimal lambda is ok.\n",
" exact_lambda = pt.lambdas_[0]\n",
" used_lambda = 0.5 * np.round(2.0 * exact_lambda)\n",
" if -3 <= exact_lambda <= 3:\n",
" print(\n",
" f\"Rounded lambda of {used_lambda} (exact is {exact_lambda:.3f}) \"\n",
" f\"used to transform {column}\"\n",
" )\n",
" new_column = f\"{column} (box-cox-{used_lambda})\"\n",
" df[new_column] = (\n",
" np.log(X) if used_lambda == 0 else (((X ** used_lambda) - 1) / used_lambda)\n",
" )\n",
" # Track the new column in the appropiate list.\n",
" if column in CONTINUOUS_VARIABLES:\n",
" new_variables.append(new_column)\n",
" CONTINUOUS_VARIABLES.append(new_column)\n",
" elif column in DISCRETE_VARIABLES:\n",
" new_variables.append(new_column)\n",
" DISCRETE_VARIABLES.append(new_column)\n",
" else:\n",
" TARGET_VARIABLES.append(new_column)\n",
" else:\n",
" print(f\"Exact lambda of {exact_lambda:.3f} for {column} not in realistic range\")"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" 1st Flr SF | \n",
" 2nd Flr SF | \n",
" 3Ssn Porch | \n",
" Alley | \n",
" Bedroom AbvGr | \n",
" Bldg Type | \n",
" Bsmt Cond | \n",
" Bsmt Exposure | \n",
" Bsmt Full Bath | \n",
" Bsmt Half Bath | \n",
" Bsmt Qual | \n",
" Bsmt Unf SF | \n",
" BsmtFin SF 1 | \n",
" BsmtFin SF 2 | \n",
" BsmtFin Type 1 | \n",
" BsmtFin Type 2 | \n",
" Central Air | \n",
" Condition 1 | \n",
" Condition 2 | \n",
" Electrical | \n",
" Enclosed Porch | \n",
" Exter Cond | \n",
" Exter Qual | \n",
" Exterior 1st | \n",
" Exterior 2nd | \n",
" Fence | \n",
" Fireplace Qu | \n",
" Fireplaces | \n",
" Foundation | \n",
" Full Bath | \n",
" Functional | \n",
" Garage Area | \n",
" Garage Cars | \n",
" Garage Cond | \n",
" Garage Finish | \n",
" Garage Qual | \n",
" Garage Type | \n",
" Gr Liv Area | \n",
" Half Bath | \n",
" Heating | \n",
" Heating QC | \n",
" House Style | \n",
" Kitchen AbvGr | \n",
" Kitchen Qual | \n",
" Land Contour | \n",
" Land Slope | \n",
" Lot Area | \n",
" Lot Config | \n",
" Lot Shape | \n",
" Low Qual Fin SF | \n",
" MS SubClass | \n",
" MS Zoning | \n",
" Mas Vnr Area | \n",
" Mas Vnr Type | \n",
" Misc Feature | \n",
" Misc Val | \n",
" Mo Sold | \n",
" Neighborhood | \n",
" Open Porch SF | \n",
" Overall Cond | \n",
" Overall Qual | \n",
" Paved Drive | \n",
" Pool Area | \n",
" Pool QC | \n",
" Roof Matl | \n",
" Roof Style | \n",
" Sale Condition | \n",
" Sale Type | \n",
" Screen Porch | \n",
" Street | \n",
" TotRms AbvGrd | \n",
" Total Bsmt SF | \n",
" Utilities | \n",
" Wood Deck SF | \n",
" Year Built | \n",
" Year Remod/Add | \n",
" Yr Sold | \n",
" SalePrice | \n",
" Total Porch SF | \n",
" Total Bath | \n",
" Mo Sold (box-cox-1.0) | \n",
" TotRms AbvGrd (box-cox-0.0) | \n",
" Total Bath (box-cox-0.5) | \n",
" SalePrice (box-cox-0.0) | \n",
"
\n",
" \n",
" Order | \n",
" PID | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 526301100 | \n",
" 1656.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 4 | \n",
" 4 | \n",
" 1 | \n",
" 0 | \n",
" 3 | \n",
" 441.0 | \n",
" 639.0 | \n",
" 0.0 | \n",
" 4 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" BrkFace | \n",
" Plywood | \n",
" 0 | \n",
" 4 | \n",
" 2 | \n",
" CBlock | \n",
" 1 | \n",
" 7 | \n",
" 528.0 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" Attchd | \n",
" 1656.0 | \n",
" 0 | \n",
" GasA | \n",
" 1 | \n",
" 1Story | \n",
" 1 | \n",
" 2 | \n",
" Lvl | \n",
" 2 | \n",
" 31770.0 | \n",
" Corner | \n",
" 2 | \n",
" 0.0 | \n",
" 020 | \n",
" RL | \n",
" 112.0 | \n",
" Stone | \n",
" NA | \n",
" 0.0 | \n",
" 5 | \n",
" Names | \n",
" 62.0 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Hip | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 7 | \n",
" 1080.0 | \n",
" 3 | \n",
" 210.0 | \n",
" 1960 | \n",
" 1960 | \n",
" 2010 | \n",
" 215000.0 | \n",
" 272.0 | \n",
" 2.0 | \n",
" 4.0 | \n",
" 1.945910 | \n",
" 0.828427 | \n",
" 12.278393 | \n",
"
\n",
" \n",
" 2 | \n",
" 526350040 | \n",
" 896.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 2 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 270.0 | \n",
" 468.0 | \n",
" 144.0 | \n",
" 3 | \n",
" 2 | \n",
" Y | \n",
" Feedr | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" VinylSd | \n",
" VinylSd | \n",
" 3 | \n",
" 0 | \n",
" 0 | \n",
" CBlock | \n",
" 1 | \n",
" 7 | \n",
" 730.0 | \n",
" 1 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" Attchd | \n",
" 896.0 | \n",
" 0 | \n",
" GasA | \n",
" 2 | \n",
" 1Story | \n",
" 1 | \n",
" 2 | \n",
" Lvl | \n",
" 2 | \n",
" 11622.0 | \n",
" Inside | \n",
" 3 | \n",
" 0.0 | \n",
" 020 | \n",
" RH | \n",
" 0.0 | \n",
" None | \n",
" NA | \n",
" 0.0 | \n",
" 6 | \n",
" Names | \n",
" 0.0 | \n",
" 5 | \n",
" 4 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Gable | \n",
" Normal | \n",
" WD | \n",
" 120.0 | \n",
" Pave | \n",
" 5 | \n",
" 882.0 | \n",
" 3 | \n",
" 140.0 | \n",
" 1961 | \n",
" 1961 | \n",
" 2010 | \n",
" 105000.0 | \n",
" 260.0 | \n",
" 1.0 | \n",
" 5.0 | \n",
" 1.609438 | \n",
" 0.000000 | \n",
" 11.561716 | \n",
"
\n",
" \n",
" 3 | \n",
" 526351010 | \n",
" 1329.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 406.0 | \n",
" 923.0 | \n",
" 0.0 | \n",
" 5 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" Wd Sdng | \n",
" Wd Sdng | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" CBlock | \n",
" 1 | \n",
" 7 | \n",
" 312.0 | \n",
" 1 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" Attchd | \n",
" 1329.0 | \n",
" 1 | \n",
" GasA | \n",
" 2 | \n",
" 1Story | \n",
" 1 | \n",
" 3 | \n",
" Lvl | \n",
" 2 | \n",
" 14267.0 | \n",
" Corner | \n",
" 2 | \n",
" 0.0 | \n",
" 020 | \n",
" RL | \n",
" 108.0 | \n",
" BrkFace | \n",
" Gar2 | \n",
" 12500.0 | \n",
" 6 | \n",
" Names | \n",
" 36.0 | \n",
" 5 | \n",
" 5 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Hip | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 6 | \n",
" 1329.0 | \n",
" 3 | \n",
" 393.0 | \n",
" 1958 | \n",
" 1958 | \n",
" 2010 | \n",
" 172000.0 | \n",
" 429.0 | \n",
" 1.5 | \n",
" 5.0 | \n",
" 1.791759 | \n",
" 0.449490 | \n",
" 12.055250 | \n",
"
\n",
" \n",
" 4 | \n",
" 526353030 | \n",
" 2110.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 3 | \n",
" 1045.0 | \n",
" 1065.0 | \n",
" 0.0 | \n",
" 5 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 3 | \n",
" BrkFace | \n",
" BrkFace | \n",
" 0 | \n",
" 3 | \n",
" 2 | \n",
" CBlock | \n",
" 2 | \n",
" 7 | \n",
" 522.0 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" Attchd | \n",
" 2110.0 | \n",
" 1 | \n",
" GasA | \n",
" 4 | \n",
" 1Story | \n",
" 1 | \n",
" 4 | \n",
" Lvl | \n",
" 2 | \n",
" 11160.0 | \n",
" Corner | \n",
" 3 | \n",
" 0.0 | \n",
" 020 | \n",
" RL | \n",
" 0.0 | \n",
" None | \n",
" NA | \n",
" 0.0 | \n",
" 4 | \n",
" Names | \n",
" 0.0 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Hip | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 8 | \n",
" 2110.0 | \n",
" 3 | \n",
" 0.0 | \n",
" 1968 | \n",
" 1968 | \n",
" 2010 | \n",
" 244000.0 | \n",
" 0.0 | \n",
" 3.5 | \n",
" 3.0 | \n",
" 2.079442 | \n",
" 1.741657 | \n",
" 12.404924 | \n",
"
\n",
" \n",
" 5 | \n",
" 527105010 | \n",
" 928.0 | \n",
" 701.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 4 | \n",
" 137.0 | \n",
" 791.0 | \n",
" 0.0 | \n",
" 6 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" VinylSd | \n",
" VinylSd | \n",
" 3 | \n",
" 3 | \n",
" 1 | \n",
" PConc | \n",
" 2 | \n",
" 7 | \n",
" 482.0 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" Attchd | \n",
" 1629.0 | \n",
" 1 | \n",
" GasA | \n",
" 3 | \n",
" 2Story | \n",
" 1 | \n",
" 2 | \n",
" Lvl | \n",
" 2 | \n",
" 13830.0 | \n",
" Inside | \n",
" 2 | \n",
" 0.0 | \n",
" 060 | \n",
" RL | \n",
" 0.0 | \n",
" None | \n",
" NA | \n",
" 0.0 | \n",
" 3 | \n",
" Gilbert | \n",
" 34.0 | \n",
" 4 | \n",
" 4 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Gable | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 6 | \n",
" 928.0 | \n",
" 3 | \n",
" 212.0 | \n",
" 1997 | \n",
" 1998 | \n",
" 2010 | \n",
" 189900.0 | \n",
" 246.0 | \n",
" 2.5 | \n",
" 2.0 | \n",
" 1.791759 | \n",
" 1.162278 | \n",
" 12.154253 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 1st Flr SF 2nd Flr SF 3Ssn Porch Alley Bedroom AbvGr \\\n",
"Order PID \n",
"1 526301100 1656.0 0.0 0.0 NA 3 \n",
"2 526350040 896.0 0.0 0.0 NA 2 \n",
"3 526351010 1329.0 0.0 0.0 NA 3 \n",
"4 526353030 2110.0 0.0 0.0 NA 3 \n",
"5 527105010 928.0 701.0 0.0 NA 3 \n",
"\n",
" Bldg Type Bsmt Cond Bsmt Exposure Bsmt Full Bath \\\n",
"Order PID \n",
"1 526301100 1Fam 4 4 1 \n",
"2 526350040 1Fam 3 1 0 \n",
"3 526351010 1Fam 3 1 0 \n",
"4 526353030 1Fam 3 1 1 \n",
"5 527105010 1Fam 3 1 0 \n",
"\n",
" Bsmt Half Bath Bsmt Qual Bsmt Unf SF BsmtFin SF 1 \\\n",
"Order PID \n",
"1 526301100 0 3 441.0 639.0 \n",
"2 526350040 0 3 270.0 468.0 \n",
"3 526351010 0 3 406.0 923.0 \n",
"4 526353030 0 3 1045.0 1065.0 \n",
"5 527105010 0 4 137.0 791.0 \n",
"\n",
" BsmtFin SF 2 BsmtFin Type 1 BsmtFin Type 2 Central Air \\\n",
"Order PID \n",
"1 526301100 0.0 4 1 Y \n",
"2 526350040 144.0 3 2 Y \n",
"3 526351010 0.0 5 1 Y \n",
"4 526353030 0.0 5 1 Y \n",
"5 527105010 0.0 6 1 Y \n",
"\n",
" Condition 1 Condition 2 Electrical Enclosed Porch \\\n",
"Order PID \n",
"1 526301100 Norm Norm 4 0.0 \n",
"2 526350040 Feedr Norm 4 0.0 \n",
"3 526351010 Norm Norm 4 0.0 \n",
"4 526353030 Norm Norm 4 0.0 \n",
"5 527105010 Norm Norm 4 0.0 \n",
"\n",
" Exter Cond Exter Qual Exterior 1st Exterior 2nd Fence \\\n",
"Order PID \n",
"1 526301100 2 2 BrkFace Plywood 0 \n",
"2 526350040 2 2 VinylSd VinylSd 3 \n",
"3 526351010 2 2 Wd Sdng Wd Sdng 0 \n",
"4 526353030 2 3 BrkFace BrkFace 0 \n",
"5 527105010 2 2 VinylSd VinylSd 3 \n",
"\n",
" Fireplace Qu Fireplaces Foundation Full Bath Functional \\\n",
"Order PID \n",
"1 526301100 4 2 CBlock 1 7 \n",
"2 526350040 0 0 CBlock 1 7 \n",
"3 526351010 0 0 CBlock 1 7 \n",
"4 526353030 3 2 CBlock 2 7 \n",
"5 527105010 3 1 PConc 2 7 \n",
"\n",
" Garage Area Garage Cars Garage Cond Garage Finish \\\n",
"Order PID \n",
"1 526301100 528.0 2 3 3 \n",
"2 526350040 730.0 1 3 1 \n",
"3 526351010 312.0 1 3 1 \n",
"4 526353030 522.0 2 3 3 \n",
"5 527105010 482.0 2 3 3 \n",
"\n",
" Garage Qual Garage Type Gr Liv Area Half Bath Heating \\\n",
"Order PID \n",
"1 526301100 3 Attchd 1656.0 0 GasA \n",
"2 526350040 3 Attchd 896.0 0 GasA \n",
"3 526351010 3 Attchd 1329.0 1 GasA \n",
"4 526353030 3 Attchd 2110.0 1 GasA \n",
"5 527105010 3 Attchd 1629.0 1 GasA \n",
"\n",
" Heating QC House Style Kitchen AbvGr Kitchen Qual \\\n",
"Order PID \n",
"1 526301100 1 1Story 1 2 \n",
"2 526350040 2 1Story 1 2 \n",
"3 526351010 2 1Story 1 3 \n",
"4 526353030 4 1Story 1 4 \n",
"5 527105010 3 2Story 1 2 \n",
"\n",
" Land Contour Land Slope Lot Area Lot Config Lot Shape \\\n",
"Order PID \n",
"1 526301100 Lvl 2 31770.0 Corner 2 \n",
"2 526350040 Lvl 2 11622.0 Inside 3 \n",
"3 526351010 Lvl 2 14267.0 Corner 2 \n",
"4 526353030 Lvl 2 11160.0 Corner 3 \n",
"5 527105010 Lvl 2 13830.0 Inside 2 \n",
"\n",
" Low Qual Fin SF MS SubClass MS Zoning Mas Vnr Area \\\n",
"Order PID \n",
"1 526301100 0.0 020 RL 112.0 \n",
"2 526350040 0.0 020 RH 0.0 \n",
"3 526351010 0.0 020 RL 108.0 \n",
"4 526353030 0.0 020 RL 0.0 \n",
"5 527105010 0.0 060 RL 0.0 \n",
"\n",
" Mas Vnr Type Misc Feature Misc Val Mo Sold Neighborhood \\\n",
"Order PID \n",
"1 526301100 Stone NA 0.0 5 Names \n",
"2 526350040 None NA 0.0 6 Names \n",
"3 526351010 BrkFace Gar2 12500.0 6 Names \n",
"4 526353030 None NA 0.0 4 Names \n",
"5 527105010 None NA 0.0 3 Gilbert \n",
"\n",
" Open Porch SF Overall Cond Overall Qual Paved Drive \\\n",
"Order PID \n",
"1 526301100 62.0 4 5 1 \n",
"2 526350040 0.0 5 4 2 \n",
"3 526351010 36.0 5 5 2 \n",
"4 526353030 0.0 4 6 2 \n",
"5 527105010 34.0 4 4 2 \n",
"\n",
" Pool Area Pool QC Roof Matl Roof Style Sale Condition \\\n",
"Order PID \n",
"1 526301100 0.0 0 CompShg Hip Normal \n",
"2 526350040 0.0 0 CompShg Gable Normal \n",
"3 526351010 0.0 0 CompShg Hip Normal \n",
"4 526353030 0.0 0 CompShg Hip Normal \n",
"5 527105010 0.0 0 CompShg Gable Normal \n",
"\n",
" Sale Type Screen Porch Street TotRms AbvGrd Total Bsmt SF \\\n",
"Order PID \n",
"1 526301100 WD 0.0 Pave 7 1080.0 \n",
"2 526350040 WD 120.0 Pave 5 882.0 \n",
"3 526351010 WD 0.0 Pave 6 1329.0 \n",
"4 526353030 WD 0.0 Pave 8 2110.0 \n",
"5 527105010 WD 0.0 Pave 6 928.0 \n",
"\n",
" Utilities Wood Deck SF Year Built Year Remod/Add Yr Sold \\\n",
"Order PID \n",
"1 526301100 3 210.0 1960 1960 2010 \n",
"2 526350040 3 140.0 1961 1961 2010 \n",
"3 526351010 3 393.0 1958 1958 2010 \n",
"4 526353030 3 0.0 1968 1968 2010 \n",
"5 527105010 3 212.0 1997 1998 2010 \n",
"\n",
" SalePrice Total Porch SF Total Bath Mo Sold (box-cox-1.0) \\\n",
"Order PID \n",
"1 526301100 215000.0 272.0 2.0 4.0 \n",
"2 526350040 105000.0 260.0 1.0 5.0 \n",
"3 526351010 172000.0 429.0 1.5 5.0 \n",
"4 526353030 244000.0 0.0 3.5 3.0 \n",
"5 527105010 189900.0 246.0 2.5 2.0 \n",
"\n",
" TotRms AbvGrd (box-cox-0.0) Total Bath (box-cox-0.5) \\\n",
"Order PID \n",
"1 526301100 1.945910 0.828427 \n",
"2 526350040 1.609438 0.000000 \n",
"3 526351010 1.791759 0.449490 \n",
"4 526353030 2.079442 1.741657 \n",
"5 527105010 1.791759 1.162278 \n",
"\n",
" SalePrice (box-cox-0.0) \n",
"Order PID \n",
"1 526301100 12.278393 \n",
"2 526350040 11.561716 \n",
"3 526351010 12.055250 \n",
"4 526353030 12.404924 \n",
"5 527105010 12.154253 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Correlations\n",
"\n",
"The pair-wise correlations are calculated based on the type of the variables:\n",
"- **continuous** variables are assumed to be linearly related with the target and each other or not: use **Pearson's correlation coefficient**\n",
"- **discrete** (because of the low number of distinct realizations as seen in the data cleaning notebook) and **ordinal** (low number of distinct realizations as well) variables are assumed to be related in a monotonic way with the target and each other or not: use **Spearman's rank correlation coefficient**\n",
"\n",
"Furthermore, for a **naive feature selection** a \"rule of thumb\" classification in *weak* and *strong* correlation is applied to the predictor variables. The identified variables will be used in the prediction modelling part to speed up the feature selection. A correlation between 0.33 and 0.66 is considered *weak* while a correlation above 0.66 is considered *strong*. Correlations are calculated for **each** target variable (i.e., raw \"SalePrice\" and Box-Cox transformation thereof)."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"strong = 0.66\n",
"weak = 0.33"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Two heatmaps below (implemented in the reusable `plot_correlation` function) help visualize the correlations.\n",
"\n",
"Obviously, many variables are pair-wise correlated. This could yield regression coefficients *inprecise* and not usable / interpretable. At the same time, this does not lower the predictive power of a model as a whole. In contrast to the pair-wise correlations, *multi-collinearity* is not checked here."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"def plot_correlation(data, title):\n",
" \"\"\"Visualize a correlation matrix in a nice heatmap.\"\"\"\n",
" fig, ax = plt.subplots(figsize=(12, 12))\n",
" ax.set_title(title, fontsize=24)\n",
" # Blank out the upper triangular part of the matrix.\n",
" mask = np.zeros_like(data, dtype=np.bool)\n",
" mask[np.triu_indices_from(mask)] = True\n",
" # Use a diverging color map.\n",
" cmap = sns.diverging_palette(240, 0, as_cmap=True)\n",
" # Adjust the labels' font size.\n",
" labels = data.columns\n",
" ax.set_xticklabels(labels, fontsize=10)\n",
" ax.set_yticklabels(labels, fontsize=10)\n",
" # Plot it.\n",
" sns.heatmap(\n",
" data, vmin=-1, vmax=1, cmap=cmap, center=0, linewidths=.5,\n",
" cbar_kws={\"shrink\": .5}, square=True, mask=mask, ax=ax\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Pearson\n",
"\n",
"Pearson's correlation coefficient shows a linear relationship between two variables."
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"columns = CONTINUOUS_VARIABLES + TARGET_VARIABLES\n",
"pearson = df[columns].corr(method=\"pearson\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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zs6UK1eOpk2b8tZbb91xdY7s1K5dm3/9618sW7aM9evXc+TIEdvfolKlSjRo0IBOnTpRtmzZbM8fMGAAzzzzDHPnzmX37t0cPHiQEiVK8NxzzxESEsITTzxxP956FnXq1GH16tXMnDmTjRs32h6EY7FYeOmll+jSpUuObpT9+OOPeeKJJ5g/fz4nTpzg0KFDlChRglatWtG1a1fc3d1p3rw5O3bsIDEx0XZtw8LCuHbtGlu3biUmJibL0pnZqV27NqtXr2bGjBn83//9H0eOHKFgwYLUqVOH119/nddff/2+ljGJyMPNZGi9IxERERGRB05fu0VEREREHEBBXERERETEARTERUREREQcQEFcRERERMQBFMRFRERERBxAQVxERERExAEUxEVEREREHEBBXERERETEARTERUREREQcQEFcRERERMQBFMRFRERERBxAQVxERERExAEUxEVEREREHEBBXERERETEAQo4egAPq99//53x48cTERFx22NOnTrFwYMHef7557NsDwkJITk5GXd3d9u2mTNn8tJLL/HDDz/g6uqabXsZGRmMHTuWw4cPY7VacXd3Z+jQoZQtW5awsDD279+Pl5eX7fixY8fy2GOP5fKdioiIiIgjKIhnY/r06axatSpLkM7O1q1bOXbs2C1BHG6EZH9//7/V76ZNm4iPj+e7774DYO3atYwaNYrw8HAA+vfvT8OGDf9WmyIiIiLycFIQz4afnx+TJ09mwIABtm3z589n5cqVmM1mqlevzqBBg5g2bRrXr1+nVq1aNGnSJMfth4WFcfnyZS5fvszUqVMpUqQIAN7e3uzbt481a9ZQr149mjRpouAtIiIikk8piGfjxRdfJC4uLsu2yMhIhg4dSmBgIAsWLMAwDHr06MGxY8eyDeEDBw60zai/8sortGnTJsv+evXq0aVLlyzbAgMDGTFiBEuWLOHzzz/H19eXsLAwnnrqKQC++OILpk+fDsDTTz9Nz54979dbFhEREZEHTEE8h0aPHs2sWbMYN24cNWvWxDCMOx5/t9KU8uXL37Lt4MGDlC9fngkTJmAYBlu2bKF3795s2bIFUGmKiIiISH6iVVNyaMmSJQwfPpx58+Zx4MABdu3ahdlsJiMj457aM5lMt2z79ddfmTRpEhkZGZhMJipVqoS7u3u2x4qIiIhI3qYZ8RwKCAigY8eOeHh4ULJkSWrUqIGnpyfh4eFUq1aNli1b5rqPkJAQxo4dy6uvvoqnpydms5lx48bdh9GLiIiIyMPGZNytxkJERERERO47laaIiIiIiDiAgriIiIiIiAMoiIuIiIiIOICCuIiIiIiIAyiIi4iIiIg4gIK4iIiIiIgDKIiLiIiIiDiAgriIiIiIiAMoiIuIiIiIOIAecZ+PbTtyxq7t163ka9f2RURERPIzzYiLiIiIiDiAgriIiIiIiAMoiIuIiIiIOICCuIiIiIiIAyiIi4iIiIg4gIK4iIiIiIgDKIiLiIiIiDiAgriIiIiIiAPogT5AamoqgwcP5uTJk1itVnr27EmTJk1ydG7btm2ZMGECZcqUsW2bPHkyUVFRlChRwratf//+LFiwgBYtWtCwYcPbtrdixQpWrFiBYRikpqbSq1cvnnnmGSIjI5k0aRJly5a1HdulS5ccj1NEREREHi4K4sCqVavw8vLiiy++4PLly7z22mu5DrhdunShQ4cOWbYtWLDgjuckJCQwZcoUoqOjcXFx4ezZs7Rp04aff/4ZgJdffpl+/frlalwiIiIi8nBQEAdeeuklXnzxRQAMw8DJyQmAkJAQKleuzJEjR0hMTOTrr7+mdOnSTJw4kU2bNuHr68ulS5f+dn+RkZEsX76cjIwMQkNDqV+/PgAuLi6kpqaycOFCGjdujJ+fH2vXrsVsVgWRiIiISH6jIA54eHgAkJiYSGhoKL1797btCwwM5OOPP2bixIlER0dTv359duzYwbJly7h27RrNmjXLts3Zs2ezZs0aACwWC5988kmW/YULFyY8PDzLNldXV+bMmcOcOXPo1q0bqampdO/enY4dOwIQFRXF77//DoC3tzeTJk26PxdARERERB44BfH/7/Tp07z//vt07NiRVq1a2bZXrVoVAF9fX86fP8/x48d54oknMJvNeHp6YrFYsm0vu9KUm5UvX/6WbWfPnuX69et8+umnAMTExNCtWzdq164NqDRFREREJD9RzQNw/vx53nrrLfr378+bb755x2MrVqzInj17yMjI4Nq1axw9evSe+syu3OT8+fP079+fxMREAEqXLo23tzfOzs731IeIiIiIPLw0Iw7885//5OrVq0yZMoUpU6YAMH369GyPrVKlCg0bNuTNN9+kRIkSFC1a9L6No1q1aoSEhBAcHIybmxvp6em0adOGChUqsHv37vvWj4iIiIg4nskwDMPRgxD72HbkjF3br1vJ167ti4iIiORnKk0REREREXEABXEREREREQdQEBcRERERcQAFcRERERERB1AQFxERERFxAAVxEREREREHUBAXEREREXEArSMuIiIiIuIAerJmPpZ67rJd23cu7gVAQkKCXfspVKiQXdsXERERcQSVpoiIiIiIOICCuIiIiIiIAyiIi4iIiIg4gIK4iIiIiIgDKIiLiIiIiDiAgriIiIiIiAMoiIuIiIiIOICCuIiIiIiIAzxyD/RJT09nyJAhxMTEYDKZGD58OBaLhYsXLzJ06FCSkpK4du0a/v7+fPLJJ7i5ud1TP5MnTyYqKooSJUoAkJqaSp8+fahbt+49j71BgwZs2bLlns8XERERkYfHIzcjvmHDBgAWLVpE7969mThxIgAzZszg6aefZtasWSxatIiCBQuyaNGiXPXVpUsXIiIiiIiIYOTIkYwZMybX4xcRERGR/OGRmxFv2rQpzz33HACnTp2icOHCABQrVox//etfPP744wQFBTFw4EBMJhMpKSl8+OGHJCYmkpycTJ8+fXjmmWdo1qwZQUFBxMTEULRoUSZPnoyTk9Nt+718+TIFCxYEYNWqVcyZMwcXFxfKlSvHZ599xurVq1m+fDkZGRmEhoYSFxfHwoULycjI4Pnnnyc0NBSr1cpHH33EqVOn8PLyYtKkSTg7O9v9momIiIjI/ffIBXGAAgUKMHDgQH766ScmTZoE3Ji9Lly4MDNnzuTDDz+kdu3aDB06lMTERC5fvsyMGTO4cOECx48fByA2NpY5c+ZQqlQp2rdvz969e6lZs2aWfmbPns2aNWswm80ULlyYESNGcOnSJSZPnsyKFSvw9PRk1KhRLF68mIIFC1K4cGHCw8O5cOECQ4cOZdWqVbi6uvLll1/aSmb69OlDmTJlCAkJ4cCBAwQGBj7oyyciIiIi98EjGcQBxo4dS79+/Wjbti3R0dHs3r2b1157jTfffBOr1cr06dMZNWoUkydPpl27dvTt25e0tDRCQkIA8Pb2plSpUgCUKlWKlJSUW/ro0qULHTp0yLJtz549VKxYEU9PTwDq1KnD5s2bqVGjBuXLlwduhPxKlSrZ6tP79esHQJEiRShTpgxwYwY/OTnZDldGRERERB6ER65GfOXKlUydOhUAd3d3TCYTZrOZuXPnEhUVBYCLiwuVKlXCxcWFQ4cOkZSUxLRp0xgzZgwjRowAwGQy3VP/ZcqU4c8//+TatWsAbN++3RbAzeYbfw4/Pz+OHTuG1WoFIDQ0lLNnz95znyIiIiLy8HnkZsSbNWvGoEGD6NSpE2lpaQwePBg3NzeGDx/O8OHDmT17Nm5ubnh7ezNs2DC8vLz49ttv+eGHH2z127nh4+PDBx98QOfOnTGbzfj5+dGvXz+io6OzHNO9e3eCg4MxmUw0btyYkiVL5vati4iIiMhDxGQYhuHoQYh9pJ67bNf2nYt7AZCQkGDXfgoVKmTX9kVEREQc4ZErTRERERG9MmrIAAAgAElEQVQReRgoiIuIiIiIOICCuIiIiIiIAyiIi4iIiIg4gIK4iIiIiIgDKIiLiIiIiDiAgriIiIiIiANoHXEREREREQfQjLiIiIiIiAM8co+4f5RcWbvTru0Xafok8GCerKmnd4qIiEh+oxlxEREREREHUBAXEREREXEABXEREREREQdQEBcRERERcQAFcRERERERB1AQFxERERFxAAVxEREREREHUBAXEREREXGAfB3Et23bRv369QkJCSE4OJi2bdvyxx9/5KrNefPm3bJt8uTJLFy4MMu2tm3bEhcXd9t2fvrpJ5o1a8bcuXOzbF+xYgWdO3cmJCSE9u3bs3nzZgAiIyN57rnnCAkJsf2sW7cuV+9FRERERBwn3z9Zs169ekycOBGAzZs38/XXXzN16tR7bi88PJzg4OBcj2v9+vWEhYXx/PPP27YlJCQwZcoUoqOjcXFx4ezZs7Rp04aff/4ZgJdffpl+/frlum8RERERcbx8H8RvdvXqVXx8fACYP38+K1euxGw2U716dYYMGUJYWBgFChTg1KlTWK1WWrRowYYNGzh9+rQtIF+5coVhw4YxbNiwHPU5efJk4uLiuHDhAqdOnWLQoEFYrVY2btzIvn378Pb2platWgC4uLiQmprKwoULady4MX5+fqxduxazOV//x4WIiIjIIynfJ7ytW7cSEhJCu3btGDRoEC1btgRulHp88sknLF68mAoVKpCWlgZA6dKlmTVrFhUqVCAuLo7p06fTrFkz1q9fT8+ePSlSpEiOQ7jJZAJuBOwZM2bw8ccfM3v2bJo0acKzzz5L//79bSEcwNXVlTlz5nDixAm6detG48aNWbZsmW1/VFSUrSwlNDT0Pl0hEREREXGEfD8jfnNpyrFjx2jfvj0bN25k9OjRzJo1i3HjxlGzZk0MwwCgatWqABQuXJgKFSrYfrdarbftw9XV9Zb9165dw83NDYAqVaoA4Ovre8d2zp49y/Xr1/n0008BiImJoVu3btSuXRtQaYqIiIhIfpLvZ8RvVqxYMdvvS5YsYfjw4cybN48DBw6wa9cu4L+z2LeTGdhvVq1aNdavX2+bVf/rr7+wWq0ULVo0R21mOn/+PP379ycxMRG4MTvv7e2Ns7Nzjs4XERERkbwj38+IZ5ammM1mkpKSCAsLw83NjYCAADp27IiHhwclS5akRo0aREZG3rU9f39/+vXrx/jx423bGjRowG+//Ubr1q3x9PTEMAzGjh37t8darVo12wovbm5upKen06ZNGypUqMDu3bv/dnsiIiIi8vAyGdlN8Uq+cGXtTru2X6Tpk8CN1V7sqVChQg+kDxEREZEH6ZEqTREREREReVgoiIuIiIiIOICCuIiIiIiIAyiIi4iIiIg4gIK4iIiIiIgDKIiLiIiIiDiAgriIiIiIiANoHXEREREREQfI90/WfJSdmxVt1/aLv9USgEOnLtm1n4DHvEmNt28fziW8Afhu/T679tP1+Sfs2r6IiIjkHSpNERERERFxAM2Ii4iIiEie8kfD93J1ftWNU+7TSHJHM+IiIiIiIg6gGXERERERyVtMJkeP4L5QEBcRERGRvMWUP4o68se7EBERERHJYzQjLiIiIiJ5isms0hQRERERkQdPNeIPn23bttG7d28qVqyIYRhYrVaGDRtG1apV77nNefPmERwcTFxcHK+88grVqlWz7atbty5NmjRh3bp19OrV665tXb9+nWHDhhEfH09ycjLFixdn+PDheHt7ExISQnJyMu7u7rbjZ86ciYuLS5Y2Ll68SIcOHVi1ahWurq73/L5ERERE8iwF8YdTvXr1mDhxIgCbN2/m66+/ZurUqffcXnh4OMHBwQBUrFiRiIiIW46pUqVKjtpavnw5xYoVY8yYMQDMnj2bb7/9liFDhgAwduxY/P39b3v+pk2b+PLLLzl37tzffRsiIiIi8pDJd0H8ZlevXsXHxweA+fPns3LlSsxmM9WrV2fIkCGEhYVRoEABTp06hdVqpUWLFmzYsIHTp08zZcoUoqOjuXLlCsOGDaNbt27Z9rFt2zYWLVrExIkTadasGUFBQcTExFC0aFEmT56Mk5OT7dhixYqxbNkygoKCeOqppwgJCcEwjBy/H7PZzHfffccbb7yRuwsjIiIikpepRvzhtHXrVkJCQrBarRw8eJBvv/0WgMjISIYOHUpgYCALFiwgLS0NgNKlS/P555/z6aefEhcXx/Tp05k0aRLr16+nZ8+ezJs3j2HDhhEXF8fRo0cJCQmx9TV+/PgsfcfGxjJnzhxKlSpF+/bt2bt3LzVr1rTtf/HFFzGZTCxbtoxBgwZhsVgYMmQIAQEBAAwcONBWmvLKK6/Qpk2bLO03aNDg/l8wERERkTzGpNKUh9PNpSnHjh2jffv2bNy4kdGjRzNr1izGjRtHzZo1bTPRmfXjhQsXpkKFCrbfrVbrLW1nV5py/Phx2+/e3t6UKlUKgFKlSpGSkpLl2F27dlG/fn2aNWtGeno633//PYMGDSIyMhK4e2mKiIiIiKAa8bygWLFitt+XLFnC8OHDcXV15e2332bXrl3A3b9R/Z3Skbu1FR0djZeXF7169cLJyYmAgIBbbsYUERERkbtQacrDKbM0xWw2k5SURFhYGG5ubgQEBNCxY0c8PDwoWbIkNWrUsM1E34m/vz/9+vWjd+/euR5b7969GTFiBK+++iru7u4ULFiQkSNH5rpdEREREcl7TMbfmfKVPOXcrGi7tl/8rZYAHDp1ya79BDzmTWq8fftwLuENwHfr99m1n67PP2HX9kVERB4Fh1r2z9X5AdFf3KeR5E6+mxEXERERkXxOpSkiIiIiIg6gIC4iIiIi8uCZTGZHD+G+yB/vQkREREQkj9GMuIiIiIjkLVpHXERERETEAVQjLiIiIiLy4OWXR9xrHXERERERyVOOvDkkV+dXWvb5fRpJ7mhGXERERETylnwyI64gno9ZY+Pt2r5L2RIAxF1MtGs/ZXw8SUhIsGsfhQoVAmDH0TN27adORV/OXb1u1z6KF3aza/siIiIOpxpxEREREREH0Iy4iIiIiMiDl19u1tQDfUREREREHEAz4iIiIiKStzjljxlxBXERERERyVvySWmKgriIiIiI5Ckmk32rqzMyMhg2bBiHDh3CxcWFzz//nMcff9y2f9asWURFRWEymXj33Xd54YUX7qkfBXERERERyVvsvHzh2rVrsVqtLF68mN27dzNmzBjCw8MBuHr1KnPnzuXf//43ycnJvPbaa/ccxHWzpoiIiIjITX777TeeffZZAGrWrMm+ffts+9zd3XnsscdITk4mOTk5Vyu45KsZ8W3bttG7d28qVqyIYRhYrVaGDRtG1apV77nNefPmERwcTFxcHK+88grVqlWz7atbty5NmjRh3bp19OrV665tXb9+nWHDhhEfH09ycjLFixdn+PDheHt7ExISQnJyMu7u7rbjZ86ciYuLi+317NmziY6OBqBRo0Y56lNEREQk38lljfjixYtZvHix7XW7du1o166d7XViYiKenp62105OTqSlpVGgwI3oXKpUKVq2bEl6ejrvvPPOPY8jXwVxgHr16jFx4kQANm/ezNdff83UqVPvub3w8HCCg4MBqFixIhEREbccU6VKlRy1tXz5cooVK8aYMWOAG8H622+/ZciQIQCMHTsWf3//bM+NjY1l1apVLF26FLPZTIcOHWjatCmVK1e+l7clIiIikmfldh3x/w3e/8vT05OkpCTb64yMDFsI37hxI/Hx8axbtw6At99+m6CgIAIDA//2OPJdEL/Z1atX8fHxAWD+/PmsXLkSs9lM9erVGTJkCGFhYRQoUIBTp05htVpp0aIFGzZs4PTp00yZMoXo6GiuXLnCsGHD6NatW7Z9bNu2jUWLFjFx4kSaNWtGUFAQMTExFC1alMmTJ+Pk5GQ7tlixYixbtoygoCCeeuopQkJCMAwjR+/F19eXGTNm2NpLS0vD1dU1l1dIREREJA+yc414UFAQGzZsoEWLFuzevRuLxWLbV6RIEdzc3HBxccFkMlGoUCGuXr16T/3kuyC+detWQkJCsFqtHDx4kG+//RaAyMhIhg4dSmBgIAsWLCAtLQ2A0qVL8/nnn/Ppp58SFxfH9OnTmTRpEuvXr6dnz57MmzePYcOGERcXx9GjRwkJCbH1NX78+Cx9x8bGMmfOHEqVKkX79u3Zu3cvNWvWtO1/8cUXMZlMLFu2jEGDBmGxWBgyZAgBAQEADBw40Faa8sorr9CmTRvbuc7Ozvj4+GAYBuPGjaNq1aqUL1/ePhdRRERE5BH2wgsvsGXLFtq3b49hGIwaNYrvvvsOPz8/mjRpwi+//ELbtm0xm80EBQXRoEGDe+on3wXxm0tTjh07Rvv27dm4cSOjR49m1qxZjBs3jpo1a9pmojPrxwsXLkyFChVsv1ut1lvazq405fjx47bfvb29KVWqFHCjdiglJSXLsbt27aJ+/fo0a9aM9PR0vv/+ewYNGkRkZCRw59IUgJSUFAYPHoyHhwdDhw79O5dFREREJP+w8zriZrOZzz77LMu2mzNaaGgooaGhue4n3wXxmxUrVsz2+5IlSxg+fDiurq68/fbb7Nq1C7h7jVFOS0dy0lZ0dDReXl706tULJycnAgICstyMebdxvPfee9StW5cePXrkeEwiIiIi+U1ua8QfFvkuiGeWppjNZpKSkggLC8PNzY2AgAA6duyIh4cHJUuWpEaNGraZ6Dvx9/enX79+9O7dO9dj6927NyNGjODVV1/F3d2dggULMnLkyBydu3btWrZv347VamXTpk0A9O3bl1q1auV6XCIiIiJ5ip1rxB8Uk/F3pnwlT7HGxtu1fZeyJQCIu5ho137K+HiSkJBg1z4KFSoEwI6jZ+zaT52Kvpy7et2ufRQv7GbX9kVERBwt5r3xdz/oDspP6XefRpI7eqCPiIiIiIgD5LvSFBERERHJ31QjLiIiIiLiCOb8UdShIC4iIiIieYtmxEVEREREHCCfBPH8Ma8vIiIiIpLHaEZcRERERPIUUz5ZR1xBPB/LXOfb3sr4eNq9j8x1vu2tTkVfu/ehdb5FRERyKZ+UpiiI52NnLl+za/u+XgUBSD1z0a79OPv6PLAH+jyIfmIv2PcBSGWL3vhi9KCumYiIyAOXT4K4asRFRERERBxAM+IiIiIikqeoRlxERERExBHySWmKgriIiIiI5C2aERcRERERefBM+WRGXDdrioiIiIg4gGbERURERCRvMeePuWQFcRERERHJW/JJaYqCuIiIiIjkKVq+8AHatm0bvXv3pmLFirZt3t7eTJo0KcdtxMXF0bdvX5YsWXJfx7Zx40bWrFnDmDFjsvT1yiuvUK1aNQCsVit169alb9++99xPWFgYLVq0oGHDhrkes4iIiEiephnxB6tevXpMnDjR0cPIsYoVKxIREQFARkYGHTp04ODBg1SuXNnBIxMRERGRh0GeCeK3ExISQuXKlTly5AiJiYl8/fXXlC5dmilTprB27VrS09Pp0KEDzzzzjO2cLVu28NVXX+Hq6oqXlxejRo0iLS2N3r17YxgGKSkpDB8+nCpVqhAREUFUVBQmk4kWLVrQuXNn/vzzTwYPHoy7uzvu7u4UKVLkjmNMSUnBarXi7u5OXFwcgwcPJj09HZPJxJAhQ6hcuTKNGzemQoUK+Pv707FjR4YMGUJqaipubm62LyCLFy9mxowZJCYmMmzYMAIDA+16bUVEREQeSpoRf7C2bt1KSEiI7XWjRo3o1q0bAIGBgXz88cdMnDiR6OhonnnmGTZu3MjSpUtJT09nwoQJNGjQAADDMPjkk09YuHAhJUuWZM6cOYSHh1O3bl28vLwYN24cR48e5dq1axw9epQ1a9awYMECALp27cozzzzDuHHjCA0NpUGDBkybNo1jx47dMt6jR4/axuvk5ETnzp15/PHHCQ0NpXPnzjRt2pQDBw4wePBgIiMjOX36NJGRkXh7e9OzZ0969OhBw4YNWbduHX/88QcA1apV47333iMyMpLIyEgFcREREXk0qUb8wbpTaUrVqlUB8PX15fz588TExBAYGIiTkxNOTk6EhYURFxcHwKVLl/D09KRkyZIA1KlThwkTJtC/f3+OHz/Oe++9R4ECBejZsyeHDx/m1KlTdOnSBYArV65w4sQJjh8/bgvBQUFB2Qbxm0tTbvbnn39Sp04dAKpUqcKZM2eAGzXv3t7eAMTExFCrVi0AmjRpAkBUVJSt5rxYsWJcv379b15BERERkfxBD/R5iFWoUIE//viDjIwMUlNT6dq1K1arFbgReBMTE4mPjwdg+/btlCtXjm3btlGiRAlmzZpFz549mTBhAhUqVKBixYrMnTuXiIgIWrduTUBAAP7+/uzatQuAffv2/a2x+fv7s3PnTgAOHDhAsWLFADDftB6mv78/e/fuBWDVqlW2QJ9fPnQiIiIikodmxP+3NAVg+vTp2R5bpUoVnn32WTp06GC7UdLFxQW4EWY///xzPvjgA0wmE0WKFGH06NGYTCb69u3LwoULSUtL4/3336dy5crUr1+fDh06YLVaCQwMpGTJkoSFhTFw4EBmzpyJj48Prq6uOX4fAwYM4JNPPmHWrFmkpaUxcuTIbI/59NNPCQ8Px83NjS+++IL9+/f/jaslIiIiko/lk8lJk2EYhqMHIfZx5vI1u7bv61UQgNQzF+3aj7OvDwkJCXbto1ChQgAPpJ/YC4l27aNsUU/gwbwXERERRzg1am6uzn9scOf7NJLcyTMz4iIiIiIigG7WFBERERFxCFP+uM0xf7wLEREREZE8RjPiIiIiIpK35JObNRXERURERCRPMalGXERERETEATQjLg+7zOUF7c3Z18fufTyopfIeRD+Zywvam5YXFBGRfCufzIjrZk0REREREQfQjHg+Fj/1e7u2X+KdVwG4fiTOrv24VSrzwB5Ok/zHcbv24161HFd+2mHXPoq8UAfIHw8nggf3PwgiIpJ3mFSaIiIiIiLiAAriIiIiIiIOoBpxERERERG5V5oRFxEREZG8RaUpIiIiIiIPnh7oIyIiIiLiCKb8UV2tIC4iIiIieUp+mRHPH18nRERERETymHwdxGNjYwkNDaVt27Z07tyZHj16cOTIEYeOac+ePTzxxBPs2bPHoeMQERERybNMptz9PCTybWlKcnIyPXv2ZMSIEdSqVQu4EYI/++wzIiIiHDauJUuW0LVrVxYsWEBgYKDDxiEiIiKSZz1EYTo38m0Q37BhA/Xq1bOFcIDAwEDmzp0LwOHDhxkzZgzp6elcunSJYcOGERQUROPGjalQoQL+/v68+eab2R6zdOlS5s+fT5EiRXB2dqZFixa0atWKoUOHcuLECTIyMujduzd169bNMqakpCS2bt1KdHQ0rVq14uLFi/j4+DB58mR27drFtWvXGDlyJL/88gtRUVGYTCZatGhB586dbzteERERkUdOPqkRz7dBPC4uDj8/P9vrnj17kpiYSHx8PHPmzOHo0aMMHDiQgIAAVq9eTWRkJEFBQZw+fZrIyEi8vb1Zs2bNLceUK1eOGTNmsHLlSlxcXOjcuTMAS5cuxdvbm1GjRnHp0iWCg4OJjo7OMqY1a9bwwgsv4OrqSvPmzVm2bBk9evQAoEKFCgwZMoSjR4+yZs0aFixYAEDXrl155plnbjteEREREcmb8m0Q9/X1Zd++fbbX4eHhALRt25a0tDRKlCjBlClTcHNzIykpCU9PTwC8vb3x9vYGyPaYv/76C39/f9zd3QFsM+6HDx/mt99+s9V+p6Wl2Wa8My1duhQnJyfefvttrl+/zpkzZ+jWrRsA5cuXt7Vz6tQpunTpAsCVK1c4ceLEbccrIiIi8qgxqTTl4dakSROmT5/O7t27qVmzJgAnTpzgzJkzmEwmRo4cyfjx4/H392fSpEmcPHkSALP5v/evZneMn58fx44d4/r167i4uLBnzx4qVKhAhQoV8PX15d133+X69euEh4fj5eVla+vQoUOkp6ezZMkS27auXbuyYcOGLP1WqFCBihUrMmPGDEwmE7NnzyYgIID3338/2/GKiIiIPHJUmvJw8/DwIDw8nC+//JLx48eTlpaGk5MTgwYNonTp0rzyyit8+OGHFC5cGF9fXy5dunRLG9kd4+PjQ/fu3enYsSNeXl6kpKRQoEAB2rdvz5AhQwgODiYxMZGOHTtmCfVLly7l1VdfzdJ+mzZtmD9/fpY69sqVK1O/fn06dOiA1WolMDCQkiVL5mi8IiIiIo+EfDIjbjIMw3D0IPKStLQ0pk+fTs+ePTEMg06dOtGnTx/q1Knj6KHdIn7q93Ztv8Q7N75YXD8SZ9d+3CqVISEhwa59FCpUCIDkP47btR/3quW48tMOu/ZR5IUbn8UHcc1iLyTatQ+AskVVhiUiIlmdn/tjrs4v1vml+zSS3Mm3M+L2UqBAAZKTk3n99ddxdnYmMDCQJ5980tHDEhEREZE8RkH8HvTt25e+ffs6ehgiIiIijybViIuIiIiIOEA+CeL5+hH3IiIiIpL/mEzmXP3cTUZGBp9++int2rUjJCSEEydOZHtMt27dWLhw4T2/DwVxEREREclbTKbc/dzF2rVrsVqtLF68mI8++ogxY8bccsxXX33F1atXc/U2FMRFRERERG7y22+/8eyzzwJQs2bNLA+JBPjxxx8xmUy2Y+6VgriIiIiI5C1mU65+Fi9eTOvWrW0/ixcvztJ8YmJilqeYOzk5kZaWBtx4CnpUVBQffvhhrt+GbtbMxzLX+bY3t0pl7N5H5jrf9uZetZzd+8hc59veHsQ10xrfIiLiCLl9xH27tu1o167dbfd7enqSlJRke52RkUGBAjdi88qVKzl79iz/+Mc/OHnyJM7OzpQuXZqGDRv+7XEoiOdjp79cZNf2S33UHoDYj6fZtZ+yI3s8sAf6JG7db9d+POtVI2nnQbv24fFkZeDBPNDH3n1k9hM/bZVd+yjR4xW7ti8iIveZnZ+sGRQUxIYNG2jRogW7d+/GYrHY9g0YMMD2++TJkylWrNg9hXBQEBcRERERyeKFF15gy5YttG/fHsMwGDVqFN999x1+fn40adLkvvWjIC4iIiIieYud1xE3m8189tlnWbb5+/vfctwHH3yQq34UxEVEREQkb7FzacqDoiAuIiIiInmKKZ88WVNBXERERETylnwSxLWOuIiIiIiIA2hGXERERETyFtWIi4iIiIg8eCZT/ijqUBAXERERkbxFNeJ5W2xsLKGhobRt25bOnTvTo0cPjhw5csdzIiMjGT9+/C3be/XqleN+z549S40aNfjhhx/+9phFREREhBulKbn5eUg8kkE8OTmZnj170rVrV5YsWcLcuXPp1avXLQu359Q333yT42MjIyMJCQlhwYIF99SXiIiIiOQPj2QQ37BhA/Xq1aNWrVq2bYGBgcydOxeAsLAw3n33Xdq3b8+VK1fu2l6DBg24ePEizZs3xzAMAD777DN++umnLMcZhsH333/PW2+9RWpqKocPHwZuhPNOnTrRoUMHfv31V3744QfatWtHhw4dbDPwZ86c4d1336Vr1668/PLLrF279r5cCxEREZG8xmQy5ernYfFIBvG4uDj8/Pxsr3v27ElISAgvvfQSZ86cAaBevXosWrSIIkWK5KhNHx8fAgIC2LlzJ1arlW3bttG4ceMsx/z6669YLBZ8fHx44403mD9/vm1f4cKFWbhwIVWqVGHy5MnMnj2bhQsXcvbsWbZs2cKxY8fo2rUr3333HZ999lmWc0VEREQeKWZT7n4eEo/kzZq+vr7s27fP9jo8PByAtm3bkpaWBkD58uX/drtt27ZlxYoVnDt3jueff54CBbJe3iVLlhAXF8fbb79Namoqhw4dol+/fln6++uvv7h48SI9evQAICkpib/++osnn3yS8PBwli1bhslkso1TRERE5JHzEM1q58YjGcSbNGnC9OnT2b17NzVr1gTgxIkTnDlzxvbfFffy3xb169fniy++4OzZswwdOjTLvosXL/L777+zdu1anJycABgyZAgrVqzA09MTs/nGf06UKVOGUqVKMWvWLJydnYmMjKRKlSp8/fXXtGnThkaNGrF8+XJWrFiRm0sgIiIiIg72SAZxDw8PwsPD+fLLLxk/fjxpaWk4OTkxaNAgSpcufcdzV65cyS+//GJ7HRERYfvdZDLx4osv8ssvv2QpfQH4/vvvadasmS2Ew40Z9AEDBtC9e3fbNh8fH7p06UJISAjp6emULl2a5s2b89JLLzFu3DimTZuGr68vly5dyu1lEBEREcmTHqY679wwGZl3F0q+c/rLRXZtv9RH7QGI/XiaXfspO7IHCQkJdu2jUKFCACRu3W/XfjzrVSNp50G79uHxZGWAB3LN7N1HZj/x01bZtY8SPV6xa/siInJ/Xd3wn1ydX7hx0H0aSe48kjPiIiIiIpKHPUQ3XOaGgriIiIiI5Cn5pTTlkVy+UERERETE0TQjLiIiIiJ5izl/zCUriP8/9u48vKZ7/fv4eycyD0QmVJBECXXMilZ10KrStD3aSKKitKoTPahKDOlPjSlFnw7SQVsEQZwoRYdDh5zHWErlVE0xRhBzE5mz9/OHq/s5+aEtsfa2dz+vXrkuWXut7/1dayd679u91ldEREREHIuTtKYoERcRERERx+IkibgeXygiIiIiDqW6jxv27XTbDZpJ9ThHg42IiIiIiINRa4oTO//lZkPHr9WjI+AcC8f8tqCPLeIU/bTP0BjerW4FoCz3lKFx3OsH22xBH1stgvTr99sNjeN/dxtDxxcR+ctwktYUJeIiIiIi4liUiIuIiIiI2J7JSVbWVI+4iIiIiIgdqCIuIiIiIo5FrSkiIiIiInbgJK0pSsRFRERExKE4S4+4EnERERERcSwm57jN0TnOQkRERETEwSgR/5M2b97M8L7fxFEAACAASURBVOHD//T+CxYsuOprzz//PM8999yNmJaIiIjIX4/JVL2vm4QScYOkpqZecXteXh5FRUUUFBRw9OhRG89KRERExPGZXEzV+rpZqEe8mtavX89bb72Fh4cHtWrVYsqUKSxcuJALFy4wfvx4xo8fX2X/f/7zn3Tr1g1PT08WLVpEYmIiAPfeey8RERFERkYycOBAkpOTKS0txcPDg4kTJ1K3bl1mzJjBf/7zH86fP09UVBRTp061wxmLiIiI2NlNVNWuDiXi1WCxWEhOTiY9PZ3Q0FDmzZtHamoqiYmJLFiw4LIk3Gw2s2rVKpYsWUKNGjXo1asX//jHP/D09OT48eNkZmYSEBDAsGHDSEhI4O6772bjxo28+eabvP766/j7+/Ppp59iNpvp1asXJ0+eJDQ01D4nLyIiImIvSsTl3Llz+Pr6WpPhDh06MHPmzKvu/+9//5uLFy/yyiuvAJcS888//5yYmBgCAgIICAgAYO/evXzwwQfMmTMHi8VCjRo18PDw4OzZs4wYMQJvb2+KioooLy83/iRFRERExBBKxKshICCAwsJC8vPzCQkJYcuWLTRq1Ai4VC3/35YtW8akSZO45557ANi2bRuTJk0iJiYGF5f/364fERHB008/Tdu2bcnJyeGHH34gKyuL48eP89Zbb3H27Fn+9a9/XTGGiIiIiNO7ifq8q0OJ+DVYv349vXv3tn4/Y8YMJk2axNChQzGZTNSsWdPatx0ZGcnIkSN58803ATh9+jQ//fQTs2bNsh7frl07SktL+fHHH6vESUxMZPz48ZSWllJSUsLYsWOpX78+s2fP5sknn8RkMhEWFkZ+fj5hYWE2OHMRERGRm4fJSVpTTBaVVZ3W+S83Gzp+rR4dASgoKDA0jp+fn01igG3OpeinfYbG8G51KwBluacMjeNeP9jw6wWXrtnFrbsNjeHTPgqAX7/fbmgc/7vbGDq+iMhfRcm+3God73lr/Rs0k+rR4wtFREREROxArSkiIiIi4ljUIy4iIiIiYns306I81aFEXEREREQci8k5uquViIuIiIiIY3GSirhzfJwQEREREXEwqoiLiIiIiEPRc8RFREREROygumtluNcPvkEzqR5VxJ2YMy2CY6tzKc8/Z2gct5AA8i8UGxojpKYXYJv3pexovqExANzDQjhdUGJojCA/TwBKj5w0NI5Hg1Cb/SyLiDg1J+kRVyIuIiIiIg7FWVpTdLOmiIiIiIgdqCIuIiIiIo7FSSriSsRFRERExLGoR1xERERExA6cpCKuHnERERERETtQRVxEREREHEqJp2u1jne7QfOoLlXERURERETsQIm4iIiIiIgd3JStKZs3b2bx4sXMmjXrho575MgRUlJSOHv2LABRUVGMHDkSX1/faxonMzOTAwcOMHLkSOu23NxcHnnkEW677Tbrto4dO9KtWzfWrVvHkCFD/nDckpISxo8fT35+PsXFxQQHB/P6668TEBBAQkICxcXFeHl5Wff/+OOPcXd3v6a5i4iIiMjvM5vNjB8/nj179uDu7s6kSZNo2LCh9fWlS5eyePFiatSowQsvvMC99957XXFuykTcCEVFRTz//PNMnTqVVq1aAbB8+XJeeeUVPvjggxsSo3HjxqSlpV22vVmzZn/q+H/+858EBQWRkpICwNy5c3nvvfcYN24cAG+88QaRkZE3ZK4iIiIicmVr166lrKyMJUuWsGPHDlJSUkhNTQXg1KlTpKWl8c9//pPS0lL69u3LnXfeeV3FUYdqTVm/fj0xMTH069ePIUOG8Ouvv/LSSy+RnZ0NQI8ePfj6668BePrppzl58qT12HXr1tG5c2drEg7w97//nXPnznH06FGSkpLIysoCICsri6SkJAAWLFhA//79iYmJYfDgwZSVlV3TnDdv3szw4cMB6N69O0lJScTGxvLi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rBkAJpOJSZMmMXToUEwmEzVr1mTq1KnUrl2bLVu2EBsbS3l5OT169OC2224jKSmJxMREPv74Y2rXro2Hh8dlMffv309CQgImk4mKigqio6O54447AOjcuTPx8fGUlZXRsmVLQkNDGTVqFK+99hqpqal4enoyffp0fv75ZwBiYmL48ssv+fzzz4mOjrbGeOutt5g0aRIpKSm4u7tTv359PR1FRERExEmZLBaLxd6TEGMUbt5l6Pi+HZsDUHY039A47mEhFBQUGBrDz88PwCZxCrdc/+M1/wzf2y99IC09ctLQOB4NQjl0ytjrBdAo2I/CTT8bGsO3020AFKzPNjSO351/o3jXIUNjeDVvBNjmZ7n454OGxvC6LRyA8hNn/2DP6nGrU5vyU+eNjRFcC7DN7+XpghJDYwT5eQLY7PdSxJk5ZGuKiIiIiIijUyIuIiIiImIHSsRFREREROxAibiIiIiIiB0oERcRERERsQMl4iIiIiIidqBEXERERETEDvQccRERERERO1BFXERERETEDhxyiXv5c35dt83Q8f27tQOwyep6JftyDY3heWt9wEYra9poxdPSQycMjePRqI7hK1HCpdUoC7J2GBuja2sAzi7PMjRO7b935eL2vYbG8GnTBLDNz3JR9gFDY3j/LQKAstxThsZxrx/M6flfGhojqH8PAIr3HDE0jlfTBlxYu9XQGDXvbw/Ar9/+aGgc/3vbcmjoLENjNHpnuKHji/wRVcRFREREROxAibiIiIiIiB0oERcRERERsQMl4iIiIiIidqBEXERERETEDpSIi4iIiIjYgRJxERERERE7UCIuIiIiImIHDrmgT0pKCj///DOnTp2ipKSEsLAwAgICePvtt6+4f25uLvv27ePee++94uuHDx8mKSmJ9PR067aKigpat25NmzZtACgvL6dJkya89tpr1KhxfZdt1qxZ1K9fn5iYmKvus2zZMj7//HPMZjMVFRW8/PLLdO7cmYyMDGbPnk39+vWt+z7zzDPcc8891zUXEREREbEvh0zEk5KSAMjMzOTAgQOMHDnyd/ffuHEjubm5V03Er6Z27dqkpaVZvx86dCjr16/n7rvvvvZJ/wnnz5/no48+4vPPP8fd3Z0TJ04QGxvLd999B8AjjzzC8OFaBUxERETEGThkIv57Jk+ezI4dl5bDfvTRR+nTpw9z5syhrKyM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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_correlation(pearson, \"Pearson's Correlation\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Predictors weakly or strongly correlated with a target variable are collected."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"pearson_weakly_correlated = set()\n",
"pearson_strongly_correlated = set()\n",
"# Iterate over the raw and transformed target.\n",
"for target in TARGET_VARIABLES:\n",
" corrs = pearson.loc[target].drop(TARGET_VARIABLES)\n",
" pearson_weakly_correlated |= set(corrs[(weak < corrs) & (corrs <= strong)].index)\n",
" pearson_strongly_correlated |= set(corrs[(strong < corrs)].index)\n",
"# Show that no contradiction exists between weak and strong classification.\n",
"assert pearson_weakly_correlated & pearson_strongly_correlated == set()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Show the continuous variables that are weakly and strongly correlated with the sales price."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1st Flr SF First Floor square feet\n",
"BsmtFin SF 1 Type 1 finished square feet\n",
"Garage Area Size of garage in square feet\n",
"Mas Vnr Area Masonry veneer area in square feet\n",
"Total Bsmt SF Total square feet of basement area\n",
"Total Porch SF\n",
"Wood Deck SF Wood deck area in square feet\n"
]
}
],
"source": [
"print_column_list(pearson_weakly_correlated)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Gr Liv Area Above grade (ground) living area square feet\n"
]
}
],
"source": [
"print_column_list(pearson_strongly_correlated)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Spearman\n",
"\n",
"Spearman's correlation coefficient shows an ordinal rank relationship between two variables."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"columns = sorted(DISCRETE_VARIABLES + ORDINAL_VARIABLES) + TARGET_VARIABLES\n",
"spearman = df[columns].corr(method=\"spearman\")"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_correlation(spearman, \"Spearman's Rank Correlation\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Predictors weakly or strongly correlated with a target variable are collected."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'SalePrice'"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"TARGET_VARIABLES[0]"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"spearman_weakly_correlated = set()\n",
"spearman_strongly_correlated = set()\n",
"# Iterate over the raw and transformed target.\n",
"for target in TARGET_VARIABLES:\n",
" corrs = spearman.loc[target].drop(TARGET_VARIABLES)\n",
" spearman_weakly_correlated |= set(corrs[(weak < corrs) & (corrs <= strong)].index)\n",
" spearman_strongly_correlated |= set(corrs[(strong < corrs)].index)\n",
"# Show that no contradiction exists between weak and strong classification.\n",
"assert spearman_weakly_correlated & spearman_strongly_correlated == set()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Show the discrete and ordinal variables that are weakly and strongly correlated with the sales price."
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bsmt Exposure Refers to walkout or garden level walls\n",
"BsmtFin Type 1 Rating of basement finished area\n",
"Fireplace Qu Fireplace quality\n",
"Fireplaces Number of fireplaces\n",
"Full Bath Full bathrooms above grade\n",
"Garage Cond Garage condition\n",
"Garage Finish Interior finish of the garage\n",
"Garage Qual Garage quality\n",
"Half Bath Half baths above grade\n",
"Heating QC Heating quality and condition\n",
"Paved Drive Paved driveway\n",
"TotRms AbvGrd Total rooms above grade (does not include bathrooms)\n",
"TotRms AbvGrd (box-cox-0.0)\n",
"Year Remod/Add Remodel date (same as construction date if no remodeling or additions)\n"
]
}
],
"source": [
"print_column_list(spearman_weakly_correlated)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Bsmt Qual Evaluates the height of the basement\n",
"Exter Qual Evaluates the quality of the material on the exterior\n",
"Garage Cars Size of garage in car capacity\n",
"Kitchen Qual Kitchen quality\n",
"Overall Qual Rates the overall material and finish of the house\n",
"Total Bath\n",
"Total Bath (box-cox-0.5)\n",
"Year Built Original construction date\n"
]
}
],
"source": [
"print_column_list(spearman_strongly_correlated)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Save the Results"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Save the weakly and strongly correlated Variables\n",
"\n",
"The subset of variables that have a correlation with the house price are saved in a simple JSON file for easy re-use."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [],
"source": [
"with open(\"weakly_and_strongly_correlated_variables.json\", \"w\") as file:\n",
" file.write(json.dumps({\n",
" \"weakly_correlated\": sorted(\n",
" list(pearson_weakly_correlated) + list(spearman_weakly_correlated)\n",
" ),\n",
" \"strongly_correlated\": sorted(\n",
" list(pearson_strongly_correlated) + list(spearman_strongly_correlated)\n",
" ),\n",
" }))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Save the Data\n",
"\n",
"For conveniene, sort the columns alphabetically with the targets at the end."
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"df = df[sorted(ALL_VARIABLES + new_variables) + TARGET_VARIABLES]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Added 2 new linear combinations and 4 Box-Cox transformations to the previously 78 columns."
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(2898, 84)"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.shape"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" | \n",
" 1st Flr SF | \n",
" 2nd Flr SF | \n",
" 3Ssn Porch | \n",
" Alley | \n",
" Bedroom AbvGr | \n",
" Bldg Type | \n",
" Bsmt Cond | \n",
" Bsmt Exposure | \n",
" Bsmt Full Bath | \n",
" Bsmt Half Bath | \n",
" Bsmt Qual | \n",
" Bsmt Unf SF | \n",
" BsmtFin SF 1 | \n",
" BsmtFin SF 2 | \n",
" BsmtFin Type 1 | \n",
" BsmtFin Type 2 | \n",
" Central Air | \n",
" Condition 1 | \n",
" Condition 2 | \n",
" Electrical | \n",
" Enclosed Porch | \n",
" Exter Cond | \n",
" Exter Qual | \n",
" Exterior 1st | \n",
" Exterior 2nd | \n",
" Fence | \n",
" Fireplace Qu | \n",
" Fireplaces | \n",
" Foundation | \n",
" Full Bath | \n",
" Functional | \n",
" Garage Area | \n",
" Garage Cars | \n",
" Garage Cond | \n",
" Garage Finish | \n",
" Garage Qual | \n",
" Garage Type | \n",
" Gr Liv Area | \n",
" Half Bath | \n",
" Heating | \n",
" Heating QC | \n",
" House Style | \n",
" Kitchen AbvGr | \n",
" Kitchen Qual | \n",
" Land Contour | \n",
" Land Slope | \n",
" Lot Area | \n",
" Lot Config | \n",
" Lot Shape | \n",
" Low Qual Fin SF | \n",
" MS SubClass | \n",
" MS Zoning | \n",
" Mas Vnr Area | \n",
" Mas Vnr Type | \n",
" Misc Feature | \n",
" Misc Val | \n",
" Mo Sold | \n",
" Mo Sold (box-cox-1.0) | \n",
" Neighborhood | \n",
" Open Porch SF | \n",
" Overall Cond | \n",
" Overall Qual | \n",
" Paved Drive | \n",
" Pool Area | \n",
" Pool QC | \n",
" Roof Matl | \n",
" Roof Style | \n",
" Sale Condition | \n",
" Sale Type | \n",
" Screen Porch | \n",
" Street | \n",
" TotRms AbvGrd | \n",
" TotRms AbvGrd (box-cox-0.0) | \n",
" Total Bath | \n",
" Total Bath (box-cox-0.5) | \n",
" Total Bsmt SF | \n",
" Total Porch SF | \n",
" Utilities | \n",
" Wood Deck SF | \n",
" Year Built | \n",
" Year Remod/Add | \n",
" Yr Sold | \n",
" SalePrice | \n",
" SalePrice (box-cox-0.0) | \n",
"
\n",
" \n",
" Order | \n",
" PID | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
" | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 526301100 | \n",
" 1656.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 4 | \n",
" 4 | \n",
" 1 | \n",
" 0 | \n",
" 3 | \n",
" 441.0 | \n",
" 639.0 | \n",
" 0.0 | \n",
" 4 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" BrkFace | \n",
" Plywood | \n",
" 0 | \n",
" 4 | \n",
" 2 | \n",
" CBlock | \n",
" 1 | \n",
" 7 | \n",
" 528.0 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" Attchd | \n",
" 1656.0 | \n",
" 0 | \n",
" GasA | \n",
" 1 | \n",
" 1Story | \n",
" 1 | \n",
" 2 | \n",
" Lvl | \n",
" 2 | \n",
" 31770.0 | \n",
" Corner | \n",
" 2 | \n",
" 0.0 | \n",
" 020 | \n",
" RL | \n",
" 112.0 | \n",
" Stone | \n",
" NA | \n",
" 0.0 | \n",
" 5 | \n",
" 4.0 | \n",
" Names | \n",
" 62.0 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Hip | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 7 | \n",
" 1.945910 | \n",
" 2.0 | \n",
" 0.828427 | \n",
" 1080.0 | \n",
" 272.0 | \n",
" 3 | \n",
" 210.0 | \n",
" 1960 | \n",
" 1960 | \n",
" 2010 | \n",
" 215000.0 | \n",
" 12.278393 | \n",
"
\n",
" \n",
" 2 | \n",
" 526350040 | \n",
" 896.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 2 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 270.0 | \n",
" 468.0 | \n",
" 144.0 | \n",
" 3 | \n",
" 2 | \n",
" Y | \n",
" Feedr | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" VinylSd | \n",
" VinylSd | \n",
" 3 | \n",
" 0 | \n",
" 0 | \n",
" CBlock | \n",
" 1 | \n",
" 7 | \n",
" 730.0 | \n",
" 1 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" Attchd | \n",
" 896.0 | \n",
" 0 | \n",
" GasA | \n",
" 2 | \n",
" 1Story | \n",
" 1 | \n",
" 2 | \n",
" Lvl | \n",
" 2 | \n",
" 11622.0 | \n",
" Inside | \n",
" 3 | \n",
" 0.0 | \n",
" 020 | \n",
" RH | \n",
" 0.0 | \n",
" None | \n",
" NA | \n",
" 0.0 | \n",
" 6 | \n",
" 5.0 | \n",
" Names | \n",
" 0.0 | \n",
" 5 | \n",
" 4 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Gable | \n",
" Normal | \n",
" WD | \n",
" 120.0 | \n",
" Pave | \n",
" 5 | \n",
" 1.609438 | \n",
" 1.0 | \n",
" 0.000000 | \n",
" 882.0 | \n",
" 260.0 | \n",
" 3 | \n",
" 140.0 | \n",
" 1961 | \n",
" 1961 | \n",
" 2010 | \n",
" 105000.0 | \n",
" 11.561716 | \n",
"
\n",
" \n",
" 3 | \n",
" 526351010 | \n",
" 1329.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 3 | \n",
" 406.0 | \n",
" 923.0 | \n",
" 0.0 | \n",
" 5 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" Wd Sdng | \n",
" Wd Sdng | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" CBlock | \n",
" 1 | \n",
" 7 | \n",
" 312.0 | \n",
" 1 | \n",
" 3 | \n",
" 1 | \n",
" 3 | \n",
" Attchd | \n",
" 1329.0 | \n",
" 1 | \n",
" GasA | \n",
" 2 | \n",
" 1Story | \n",
" 1 | \n",
" 3 | \n",
" Lvl | \n",
" 2 | \n",
" 14267.0 | \n",
" Corner | \n",
" 2 | \n",
" 0.0 | \n",
" 020 | \n",
" RL | \n",
" 108.0 | \n",
" BrkFace | \n",
" Gar2 | \n",
" 12500.0 | \n",
" 6 | \n",
" 5.0 | \n",
" Names | \n",
" 36.0 | \n",
" 5 | \n",
" 5 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Hip | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 6 | \n",
" 1.791759 | \n",
" 1.5 | \n",
" 0.449490 | \n",
" 1329.0 | \n",
" 429.0 | \n",
" 3 | \n",
" 393.0 | \n",
" 1958 | \n",
" 1958 | \n",
" 2010 | \n",
" 172000.0 | \n",
" 12.055250 | \n",
"
\n",
" \n",
" 4 | \n",
" 526353030 | \n",
" 2110.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 1 | \n",
" 0 | \n",
" 3 | \n",
" 1045.0 | \n",
" 1065.0 | \n",
" 0.0 | \n",
" 5 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 3 | \n",
" BrkFace | \n",
" BrkFace | \n",
" 0 | \n",
" 3 | \n",
" 2 | \n",
" CBlock | \n",
" 2 | \n",
" 7 | \n",
" 522.0 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" Attchd | \n",
" 2110.0 | \n",
" 1 | \n",
" GasA | \n",
" 4 | \n",
" 1Story | \n",
" 1 | \n",
" 4 | \n",
" Lvl | \n",
" 2 | \n",
" 11160.0 | \n",
" Corner | \n",
" 3 | \n",
" 0.0 | \n",
" 020 | \n",
" RL | \n",
" 0.0 | \n",
" None | \n",
" NA | \n",
" 0.0 | \n",
" 4 | \n",
" 3.0 | \n",
" Names | \n",
" 0.0 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Hip | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 8 | \n",
" 2.079442 | \n",
" 3.5 | \n",
" 1.741657 | \n",
" 2110.0 | \n",
" 0.0 | \n",
" 3 | \n",
" 0.0 | \n",
" 1968 | \n",
" 1968 | \n",
" 2010 | \n",
" 244000.0 | \n",
" 12.404924 | \n",
"
\n",
" \n",
" 5 | \n",
" 527105010 | \n",
" 928.0 | \n",
" 701.0 | \n",
" 0.0 | \n",
" NA | \n",
" 3 | \n",
" 1Fam | \n",
" 3 | \n",
" 1 | \n",
" 0 | \n",
" 0 | \n",
" 4 | \n",
" 137.0 | \n",
" 791.0 | \n",
" 0.0 | \n",
" 6 | \n",
" 1 | \n",
" Y | \n",
" Norm | \n",
" Norm | \n",
" 4 | \n",
" 0.0 | \n",
" 2 | \n",
" 2 | \n",
" VinylSd | \n",
" VinylSd | \n",
" 3 | \n",
" 3 | \n",
" 1 | \n",
" PConc | \n",
" 2 | \n",
" 7 | \n",
" 482.0 | \n",
" 2 | \n",
" 3 | \n",
" 3 | \n",
" 3 | \n",
" Attchd | \n",
" 1629.0 | \n",
" 1 | \n",
" GasA | \n",
" 3 | \n",
" 2Story | \n",
" 1 | \n",
" 2 | \n",
" Lvl | \n",
" 2 | \n",
" 13830.0 | \n",
" Inside | \n",
" 2 | \n",
" 0.0 | \n",
" 060 | \n",
" RL | \n",
" 0.0 | \n",
" None | \n",
" NA | \n",
" 0.0 | \n",
" 3 | \n",
" 2.0 | \n",
" Gilbert | \n",
" 34.0 | \n",
" 4 | \n",
" 4 | \n",
" 2 | \n",
" 0.0 | \n",
" 0 | \n",
" CompShg | \n",
" Gable | \n",
" Normal | \n",
" WD | \n",
" 0.0 | \n",
" Pave | \n",
" 6 | \n",
" 1.791759 | \n",
" 2.5 | \n",
" 1.162278 | \n",
" 928.0 | \n",
" 246.0 | \n",
" 3 | \n",
" 212.0 | \n",
" 1997 | \n",
" 1998 | \n",
" 2010 | \n",
" 189900.0 | \n",
" 12.154253 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" 1st Flr SF 2nd Flr SF 3Ssn Porch Alley Bedroom AbvGr \\\n",
"Order PID \n",
"1 526301100 1656.0 0.0 0.0 NA 3 \n",
"2 526350040 896.0 0.0 0.0 NA 2 \n",
"3 526351010 1329.0 0.0 0.0 NA 3 \n",
"4 526353030 2110.0 0.0 0.0 NA 3 \n",
"5 527105010 928.0 701.0 0.0 NA 3 \n",
"\n",
" Bldg Type Bsmt Cond Bsmt Exposure Bsmt Full Bath \\\n",
"Order PID \n",
"1 526301100 1Fam 4 4 1 \n",
"2 526350040 1Fam 3 1 0 \n",
"3 526351010 1Fam 3 1 0 \n",
"4 526353030 1Fam 3 1 1 \n",
"5 527105010 1Fam 3 1 0 \n",
"\n",
" Bsmt Half Bath Bsmt Qual Bsmt Unf SF BsmtFin SF 1 \\\n",
"Order PID \n",
"1 526301100 0 3 441.0 639.0 \n",
"2 526350040 0 3 270.0 468.0 \n",
"3 526351010 0 3 406.0 923.0 \n",
"4 526353030 0 3 1045.0 1065.0 \n",
"5 527105010 0 4 137.0 791.0 \n",
"\n",
" BsmtFin SF 2 BsmtFin Type 1 BsmtFin Type 2 Central Air \\\n",
"Order PID \n",
"1 526301100 0.0 4 1 Y \n",
"2 526350040 144.0 3 2 Y \n",
"3 526351010 0.0 5 1 Y \n",
"4 526353030 0.0 5 1 Y \n",
"5 527105010 0.0 6 1 Y \n",
"\n",
" Condition 1 Condition 2 Electrical Enclosed Porch \\\n",
"Order PID \n",
"1 526301100 Norm Norm 4 0.0 \n",
"2 526350040 Feedr Norm 4 0.0 \n",
"3 526351010 Norm Norm 4 0.0 \n",
"4 526353030 Norm Norm 4 0.0 \n",
"5 527105010 Norm Norm 4 0.0 \n",
"\n",
" Exter Cond Exter Qual Exterior 1st Exterior 2nd Fence \\\n",
"Order PID \n",
"1 526301100 2 2 BrkFace Plywood 0 \n",
"2 526350040 2 2 VinylSd VinylSd 3 \n",
"3 526351010 2 2 Wd Sdng Wd Sdng 0 \n",
"4 526353030 2 3 BrkFace BrkFace 0 \n",
"5 527105010 2 2 VinylSd VinylSd 3 \n",
"\n",
" Fireplace Qu Fireplaces Foundation Full Bath Functional \\\n",
"Order PID \n",
"1 526301100 4 2 CBlock 1 7 \n",
"2 526350040 0 0 CBlock 1 7 \n",
"3 526351010 0 0 CBlock 1 7 \n",
"4 526353030 3 2 CBlock 2 7 \n",
"5 527105010 3 1 PConc 2 7 \n",
"\n",
" Garage Area Garage Cars Garage Cond Garage Finish \\\n",
"Order PID \n",
"1 526301100 528.0 2 3 3 \n",
"2 526350040 730.0 1 3 1 \n",
"3 526351010 312.0 1 3 1 \n",
"4 526353030 522.0 2 3 3 \n",
"5 527105010 482.0 2 3 3 \n",
"\n",
" Garage Qual Garage Type Gr Liv Area Half Bath Heating \\\n",
"Order PID \n",
"1 526301100 3 Attchd 1656.0 0 GasA \n",
"2 526350040 3 Attchd 896.0 0 GasA \n",
"3 526351010 3 Attchd 1329.0 1 GasA \n",
"4 526353030 3 Attchd 2110.0 1 GasA \n",
"5 527105010 3 Attchd 1629.0 1 GasA \n",
"\n",
" Heating QC House Style Kitchen AbvGr Kitchen Qual \\\n",
"Order PID \n",
"1 526301100 1 1Story 1 2 \n",
"2 526350040 2 1Story 1 2 \n",
"3 526351010 2 1Story 1 3 \n",
"4 526353030 4 1Story 1 4 \n",
"5 527105010 3 2Story 1 2 \n",
"\n",
" Land Contour Land Slope Lot Area Lot Config Lot Shape \\\n",
"Order PID \n",
"1 526301100 Lvl 2 31770.0 Corner 2 \n",
"2 526350040 Lvl 2 11622.0 Inside 3 \n",
"3 526351010 Lvl 2 14267.0 Corner 2 \n",
"4 526353030 Lvl 2 11160.0 Corner 3 \n",
"5 527105010 Lvl 2 13830.0 Inside 2 \n",
"\n",
" Low Qual Fin SF MS SubClass MS Zoning Mas Vnr Area \\\n",
"Order PID \n",
"1 526301100 0.0 020 RL 112.0 \n",
"2 526350040 0.0 020 RH 0.0 \n",
"3 526351010 0.0 020 RL 108.0 \n",
"4 526353030 0.0 020 RL 0.0 \n",
"5 527105010 0.0 060 RL 0.0 \n",
"\n",
" Mas Vnr Type Misc Feature Misc Val Mo Sold \\\n",
"Order PID \n",
"1 526301100 Stone NA 0.0 5 \n",
"2 526350040 None NA 0.0 6 \n",
"3 526351010 BrkFace Gar2 12500.0 6 \n",
"4 526353030 None NA 0.0 4 \n",
"5 527105010 None NA 0.0 3 \n",
"\n",
" Mo Sold (box-cox-1.0) Neighborhood Open Porch SF \\\n",
"Order PID \n",
"1 526301100 4.0 Names 62.0 \n",
"2 526350040 5.0 Names 0.0 \n",
"3 526351010 5.0 Names 36.0 \n",
"4 526353030 3.0 Names 0.0 \n",
"5 527105010 2.0 Gilbert 34.0 \n",
"\n",
" Overall Cond Overall Qual Paved Drive Pool Area Pool QC \\\n",
"Order PID \n",
"1 526301100 4 5 1 0.0 0 \n",
"2 526350040 5 4 2 0.0 0 \n",
"3 526351010 5 5 2 0.0 0 \n",
"4 526353030 4 6 2 0.0 0 \n",
"5 527105010 4 4 2 0.0 0 \n",
"\n",
" Roof Matl Roof Style Sale Condition Sale Type Screen Porch \\\n",
"Order PID \n",
"1 526301100 CompShg Hip Normal WD 0.0 \n",
"2 526350040 CompShg Gable Normal WD 120.0 \n",
"3 526351010 CompShg Hip Normal WD 0.0 \n",
"4 526353030 CompShg Hip Normal WD 0.0 \n",
"5 527105010 CompShg Gable Normal WD 0.0 \n",
"\n",
" Street TotRms AbvGrd TotRms AbvGrd (box-cox-0.0) \\\n",
"Order PID \n",
"1 526301100 Pave 7 1.945910 \n",
"2 526350040 Pave 5 1.609438 \n",
"3 526351010 Pave 6 1.791759 \n",
"4 526353030 Pave 8 2.079442 \n",
"5 527105010 Pave 6 1.791759 \n",
"\n",
" Total Bath Total Bath (box-cox-0.5) Total Bsmt SF \\\n",
"Order PID \n",
"1 526301100 2.0 0.828427 1080.0 \n",
"2 526350040 1.0 0.000000 882.0 \n",
"3 526351010 1.5 0.449490 1329.0 \n",
"4 526353030 3.5 1.741657 2110.0 \n",
"5 527105010 2.5 1.162278 928.0 \n",
"\n",
" Total Porch SF Utilities Wood Deck SF Year Built \\\n",
"Order PID \n",
"1 526301100 272.0 3 210.0 1960 \n",
"2 526350040 260.0 3 140.0 1961 \n",
"3 526351010 429.0 3 393.0 1958 \n",
"4 526353030 0.0 3 0.0 1968 \n",
"5 527105010 246.0 3 212.0 1997 \n",
"\n",
" Year Remod/Add Yr Sold SalePrice SalePrice (box-cox-0.0) \n",
"Order PID \n",
"1 526301100 1960 2010 215000.0 12.278393 \n",
"2 526350040 1961 2010 105000.0 11.561716 \n",
"3 526351010 1958 2010 172000.0 12.055250 \n",
"4 526353030 1968 2010 244000.0 12.404924 \n",
"5 527105010 1998 2010 189900.0 12.154253 "
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"df.to_csv(\"data_clean_with_transformations.csv\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}