2372 lines
257 KiB
Text
2372 lines
257 KiB
Text
{
|
|
"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-05 15:36:05 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",
|
|
"from tabulate import tabulate\n",
|
|
"\n",
|
|
"from utils import (\n",
|
|
" ALL_VARIABLES,\n",
|
|
" CONTINUOUS_VARIABLES,\n",
|
|
" DISCRETE_VARIABLES,\n",
|
|
" NUMERIC_VARIABLES,\n",
|
|
" ORDINAL_VARIABLES,\n",
|
|
" TARGET_VARIABLES,\n",
|
|
" encode_ordinals,\n",
|
|
" load_clean_data,\n",
|
|
" print_column_list,\n",
|
|
")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"% matplotlib inline"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"pd.set_option(\"display.max_columns\", 100)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"sns.set_style(\"white\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Load the Data\n",
|
|
"\n",
|
|
"Only a subset of the previously cleaned data is used in this analysis. In particular, it does not make sense to calculate correlations involving nominal variables.\n",
|
|
"\n",
|
|
"Furthermore, 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.\n",
|
|
"\n",
|
|
"A `cleaned_df` DataFrame with the original data from the previous notebook is kept so as to restore the encoded ordinal labels again at the end of this notebook for correct storage."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"cleaned_df = load_clean_data()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df = cleaned_df[NUMERIC_VARIABLES + ORDINAL_VARIABLES + TARGET_VARIABLES]\n",
|
|
"df = encode_ordinals(df)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th>1st Flr SF</th>\n",
|
|
" <th>2nd Flr SF</th>\n",
|
|
" <th>3Ssn Porch</th>\n",
|
|
" <th>Bedroom AbvGr</th>\n",
|
|
" <th>Bsmt Full Bath</th>\n",
|
|
" <th>Bsmt Half Bath</th>\n",
|
|
" <th>Bsmt Unf SF</th>\n",
|
|
" <th>BsmtFin SF 1</th>\n",
|
|
" <th>BsmtFin SF 2</th>\n",
|
|
" <th>Enclosed Porch</th>\n",
|
|
" <th>Fireplaces</th>\n",
|
|
" <th>Full Bath</th>\n",
|
|
" <th>Garage Area</th>\n",
|
|
" <th>Garage Cars</th>\n",
|
|
" <th>Gr Liv Area</th>\n",
|
|
" <th>Half Bath</th>\n",
|
|
" <th>Kitchen AbvGr</th>\n",
|
|
" <th>Lot Area</th>\n",
|
|
" <th>Low Qual Fin SF</th>\n",
|
|
" <th>Mas Vnr Area</th>\n",
|
|
" <th>Misc Val</th>\n",
|
|
" <th>Mo Sold</th>\n",
|
|
" <th>Open Porch SF</th>\n",
|
|
" <th>Pool Area</th>\n",
|
|
" <th>Screen Porch</th>\n",
|
|
" <th>TotRms AbvGrd</th>\n",
|
|
" <th>Total Bsmt SF</th>\n",
|
|
" <th>Wood Deck SF</th>\n",
|
|
" <th>Year Built</th>\n",
|
|
" <th>Year Remod/Add</th>\n",
|
|
" <th>Yr Sold</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>Order</th>\n",
|
|
" <th>PID</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <th>526301100</th>\n",
|
|
" <td>1656.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>441.0</td>\n",
|
|
" <td>639.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>528.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1656.0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>31770.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>112.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>62.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>1080.0</td>\n",
|
|
" <td>210.0</td>\n",
|
|
" <td>1960</td>\n",
|
|
" <td>1960</td>\n",
|
|
" <td>2010</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <th>526350040</th>\n",
|
|
" <td>896.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>270.0</td>\n",
|
|
" <td>468.0</td>\n",
|
|
" <td>144.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>730.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>896.0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>11622.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>120.0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>882.0</td>\n",
|
|
" <td>140.0</td>\n",
|
|
" <td>1961</td>\n",
|
|
" <td>1961</td>\n",
|
|
" <td>2010</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <th>526351010</th>\n",
|
|
" <td>1329.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>406.0</td>\n",
|
|
" <td>923.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>312.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1329.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>14267.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>108.0</td>\n",
|
|
" <td>12500.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>36.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>1329.0</td>\n",
|
|
" <td>393.0</td>\n",
|
|
" <td>1958</td>\n",
|
|
" <td>1958</td>\n",
|
|
" <td>2010</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <th>526353030</th>\n",
|
|
" <td>2110.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>1045.0</td>\n",
|
|
" <td>1065.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>522.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2110.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>11160.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>2110.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>1968</td>\n",
|
|
" <td>1968</td>\n",
|
|
" <td>2010</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <th>527105010</th>\n",
|
|
" <td>928.0</td>\n",
|
|
" <td>701.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>137.0</td>\n",
|
|
" <td>791.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>482.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1629.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>13830.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>34.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>928.0</td>\n",
|
|
" <td>212.0</td>\n",
|
|
" <td>1997</td>\n",
|
|
" <td>1998</td>\n",
|
|
" <td>2010</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"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": "code",
|
|
"execution_count": 9,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th>Bsmt Cond</th>\n",
|
|
" <th>Bsmt Exposure</th>\n",
|
|
" <th>Bsmt Qual</th>\n",
|
|
" <th>BsmtFin Type 1</th>\n",
|
|
" <th>BsmtFin Type 2</th>\n",
|
|
" <th>Electrical</th>\n",
|
|
" <th>Exter Cond</th>\n",
|
|
" <th>Exter Qual</th>\n",
|
|
" <th>Fence</th>\n",
|
|
" <th>Fireplace Qu</th>\n",
|
|
" <th>Functional</th>\n",
|
|
" <th>Garage Cond</th>\n",
|
|
" <th>Garage Finish</th>\n",
|
|
" <th>Garage Qual</th>\n",
|
|
" <th>Heating QC</th>\n",
|
|
" <th>Kitchen Qual</th>\n",
|
|
" <th>Land Slope</th>\n",
|
|
" <th>Lot Shape</th>\n",
|
|
" <th>Overall Cond</th>\n",
|
|
" <th>Overall Qual</th>\n",
|
|
" <th>Paved Drive</th>\n",
|
|
" <th>Pool QC</th>\n",
|
|
" <th>Utilities</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>Order</th>\n",
|
|
" <th>PID</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <th>526301100</th>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <th>526350040</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <th>526351010</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <th>526353030</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <th>527105010</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>3</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"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": [
|
|
"Calculate a variable for the total living area *Total SF* as this is the number communicated most often in housing ads."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"df[\"Total SF\"] = df[\"Gr Liv Area\"] + df[\"Total Bsmt SF\"]\n",
|
|
"new_variables = [\"Total SF\"]\n",
|
|
"CONTINUOUS_VARIABLES.append(\"Total SF\")"
|
|
]
|
|
},
|
|
{
|
|
"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": 13,
|
|
"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",
|
|
"new_variables.append(\"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 can be used as a predictor."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"29.0"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"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": 15,
|
|
"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",
|
|
"new_variables.append(\"Total Bath\")\n",
|
|
"DISCRETE_VARIABLES.append(\"Total Bath\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Box-Cox Transformations\n",
|
|
"\n",
|
|
"Only numeric columns with non-negative values are eligable for a Box-Cox transformation."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"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",
|
|
"SalePrice\n",
|
|
"Total SF\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"columns = CONTINUOUS_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.\n",
|
|
"\n",
|
|
"Consequently, the only applicable transformation are for *SalePrice* and the new variable *Total SF*."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"1st Flr SF: exact lambda of -8.398 not in realistic range\n",
|
|
"Gr Liv Area: exact lambda of -8.398 not in realistic range\n",
|
|
"Lot Area: exact lambda of -8.398 not in realistic range\n",
|
|
"SalePrice: use rounded lambda of 0.0 (exact is 0.004)\n",
|
|
"Total SF: use rounded lambda of 0.0 (exact is 0.242)\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",
|
|
"output = []\n",
|
|
"transformed_columns = []\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",
|
|
" 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",
|
|
" new_variables.append(new_column)\n",
|
|
" if column in TARGET_VARIABLES:\n",
|
|
" TARGET_VARIABLES.append(new_column)\n",
|
|
" else:\n",
|
|
" CONTINUOUS_VARIABLES.append(new_column)\n",
|
|
" # To show only the transformed columns below.\n",
|
|
" transformed_columns.append(column)\n",
|
|
" transformed_columns.append(new_column)\n",
|
|
" output.append((\n",
|
|
" f\"{column}:\",\n",
|
|
" f\"use rounded lambda of {used_lambda} (exact is {exact_lambda:.3f})\",\n",
|
|
" ))\n",
|
|
" else:\n",
|
|
" output.append((\n",
|
|
" f\"{column}:\",\n",
|
|
" f\"exact lambda of {exact_lambda:.3f} not in realistic range\",\n",
|
|
" ))\n",
|
|
"print(tabulate(sorted(output), tablefmt=\"plain\"))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th>Total SF</th>\n",
|
|
" <th>Total SF (box-cox-0.0)</th>\n",
|
|
" <th>SalePrice</th>\n",
|
|
" <th>SalePrice (box-cox-0.0)</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>Order</th>\n",
|
|
" <th>PID</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <th>526301100</th>\n",
|
|
" <td>2736.0</td>\n",
|
|
" <td>7.914252</td>\n",
|
|
" <td>215000.0</td>\n",
|
|
" <td>12.278393</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <th>526350040</th>\n",
|
|
" <td>1778.0</td>\n",
|
|
" <td>7.483244</td>\n",
|
|
" <td>105000.0</td>\n",
|
|
" <td>11.561716</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <th>526351010</th>\n",
|
|
" <td>2658.0</td>\n",
|
|
" <td>7.885329</td>\n",
|
|
" <td>172000.0</td>\n",
|
|
" <td>12.055250</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <th>526353030</th>\n",
|
|
" <td>4220.0</td>\n",
|
|
" <td>8.347590</td>\n",
|
|
" <td>244000.0</td>\n",
|
|
" <td>12.404924</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <th>527105010</th>\n",
|
|
" <td>2557.0</td>\n",
|
|
" <td>7.846590</td>\n",
|
|
" <td>189900.0</td>\n",
|
|
" <td>12.154253</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" Total SF Total SF (box-cox-0.0) SalePrice \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 2736.0 7.914252 215000.0 \n",
|
|
"2 526350040 1778.0 7.483244 105000.0 \n",
|
|
"3 526351010 2658.0 7.885329 172000.0 \n",
|
|
"4 526353030 4220.0 8.347590 244000.0 \n",
|
|
"5 527105010 2557.0 7.846590 189900.0 \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": 18,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df[transformed_columns].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* (these thresholds refer to the absolute value of the correlation). Correlations are calculated for **each** target variable (i.e., raw \"SalePrice\" and Box-Cox transformation thereof). Correlations below 0.1 are considered \"uncorrelated\"."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"strong = 0.66\n",
|
|
"weak = 0.33\n",
|
|
"uncorrelated = 0.1"
|
|
]
|
|
},
|
|
{
|
|
"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": 20,
|
|
"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": 21,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"columns = CONTINUOUS_VARIABLES + TARGET_VARIABLES\n",
|
|
"pearson = df[columns].corr(method=\"pearson\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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S5YsYdasWezcuZP4+HicnZ2pXr06rVu35tVXX73l7hz5adSoEf/6179YtmwZGzZs4NChQ9a/Ra1atWjevDmvvPIKVatWzff6QYMG8cgjjzB37lx2797N/v37qVChAo899hjh4eHcf//9RfHW82jcuDGrV69m1qxZbNq0yfognMDAQJ566im6detWoBtl33vvPe6//37mz5/P8ePHOXDgABUqVODpp5+me/fuuLu707ZtW3bs2EFqaqp1biMjI7ly5Qrbtm0jPj4+z9aZ+WnUqBGrV69m5syZ/Oc//+HQoUOULFmSxo0b8/zzz/P8888XaRmTiNzdTIb2OxIRERER+dvpa7eIiIiIiB0oERcRERERsQMl4iIiIiIidqBEXERERETEDpSIi4iIiIjYgRJxERERERE7UCIuIiIiImIHSsRFREREROxAibiIiIiIiB0oERcRERERsQMl4iIiIiIidqBEXERERETEDpSIi4iIiIjYQQl7D+Bu9csvv/DJJ58QExNz0zYnT55k//79PP7443mOh4eHk56ejru7u/XYrFmzeOqpp/jmm29wdXXNN15OTg7jx4/n4MGDWCwW3N3dGT58OFWrViUyMpK9e/fi5eVlbT9+/Hjuu+++Qr5TEREREbEHJeL5mDFjBqtWrcqTSOdn27ZtHD169IZEHK4lyQEBAX+p382bN5OcnMxXX30FwLp16xgzZgxRUVEADBw4kBYtWvylmCIiIiJyd1Iing8/Pz+mTJnCoEGDrMfmz5/PypUrMZvNPPDAAwwZMoTp06dz9epVGjZsSGhoaIHjR0ZGcvHiRS5evMi0adMoU6YMAN7e3uzZs4e1a9fStGlTQkNDlXiLiIiIOCgl4vl48sknSUxMzHMsNjaW4cOHExwczIIFCzAMg169enH06NF8k/DBgwdbV9SfeeYZXn755TznmzZtSrdu3fIcCw4OZtSoUSxZsoSPPvoIX19fIiMjeeihhwD4+OOPmTFjBgAPP/wwERERRfWWRURERORvpkS8gMaOHUt0dDQTJkygQYMGGIZxy/a3K02pUaPGDcf2799PjRo1mDhxIoZhsHXrVvr27cvWrVsBlaaIiIiIOBLtmlJAS5YsYeTIkcybN499+/axa9cuzGYzOTk5dxTPZDLdcOzHH39k8uTJ5OTkYDKZqFWrFu7u7vm2FREREZHiTSviBRQUFESXLl3w8PCgYsWK1K9fH09PT6KioqhXrx7t27cvdB/h4eGMHz+eZ599Fk9PT8xmMxMmTCiC0YuIiIjI3cZk3K7GQkREREREipxKU0RERERE7ECJuIiIiIiIHSgRFxERERGxAyXiIiIiIiJ2oERcRERERMQOlIiLiIiIiNiBEnERERERETtQIi4iIiIiYgd6sqYD237otE3iNqnla5O4IiIiIvcSrYiLiIiIiNiBEnERERERETtQIi4iIiIiYgdKxEVERERE7ECJuIiIiIiIHSgRFxERERGxAyXiIiIiIiJ2oH3EgczMTIYOHcqJEyewWCxEREQQGhpaoGs7dOjAxIkTqVKlivXYlClTWLNmDRUqVLAeGzhwIAsWLKBdu3a0aNHipvFWrFjBihUrMAyDzMxMevfuzSOPPEJsbCyTJ0+matWq1rbdunUr8DhFRERE5O6iRBxYtWoVXl5efPzxx1y8eJHnnnuu0Alut27d6Ny5c55jCxYsuOU1KSkpTJ06lbi4OFxcXEhKSuLll1/m+++/B+Af//gHAwYMKNS4REREROTuoEQceOqpp3jyyScBMAwDJycnAMLDw6lduzaHDh0iNTWVzz//nMqVKzNp0iQ2b96Mr68vFy5c+Mv9xcbGsnz5cnJycujTpw/NmjUDwMXFhczMTBYuXEirVq3w8/Nj3bp1mM2qIBIRERFxNErEAQ8PDwBSU1Pp06cPffv2tZ4LDg7mvffeY9KkScTFxdGsWTN27NjBsmXLuHLlCm3atMk35uzZs1m7di0AgYGBvP/++3nOly5dmqioqDzHXF1dmTNnDnPmzKFHjx5kZmbSs2dPunTpAsCaNWv45ZdfAPD29mby5MlFMwEiIiIi8rdTIv7/nTp1irfeeosuXbrw9NNPW4/XrVsXAF9fX86ePcuxY8e4//77MZvNeHp6EhgYmG+8/EpTrlejRo0bjiUlJXH16lU++OADAOLj4+nRoweNGjUCVJoiIiIi4khU8wCcPXuWV199lYEDB/LSSy/dsm3NmjX59ddfycnJ4cqVKxw+fPiO+syv3OTs2bMMHDiQ1NRUACpXroy3tzfOzs531IeIiIiI3L20Ig7885//5PLly0ydOpWpU6cCMGPGjHzb1qlThxYtWvDSSy9RoUIFypYtW2TjqFevHuHh4YSFheHm5kZ2djYvv/wy/v7+7N69u8j6ERERERH7MxmGYdh7EGIb2w+dtkncJrV8bRJXRERE5F6i0hQRERERETtQIi4iIiIiYgdKxEVERERE7ECJuIiIiIiIHSgRFxERERGxA+2aIiIiIiJiB1oRFxERERGxAz3Qx4Flnrlok7jO5b0ASElJsUn8UqVK2SSuiIiIyN1EK+IiIiIiInagRFxERERExA6UiIuIiIiI2IEScRERERERO1AiLiIiIiJiB0rERURERETsQIm4iIiIiIgd3HP7iGdnZzNs2DDi4+MxmUyMHDmSwMBAzp8/z/Dhw0lLS+PKlSsEBATw/vvv4+bmdkf9TJkyhTVr1lChQgUAMjMz6devH02aNLnjsTdv3pytW7fe8fUiIiIicve451bEN27cCMCiRYvo27cvkyZNAmDmzJk8/PDDREdHs2jRIkqWLMmiRYsK1Ve3bt2IiYkhJiaG0aNHM27cuEKPX0REREQcwz23It66dWsee+wxAE6ePEnp0qUBKFeuHP/617+oVq0aISEhDB48GJPJREZGBu+88w6pqamkp6fTr18/HnnkEdq0aUNISAjx8fGULVuWKVOm4OTkdNN+L168SMmSJQFYtWoVc+bMwcXFherVq/Phhx+yevVqli9fTk5ODn369CExMZGFCxeSk5PD448/Tp8+fbBYLLz77rucPHkSLy8vJk+ejLOzs83nTERERESK3j2XiAOUKFGCwYMH89133zF58mTg2up16dKlmTVrFu+88w6NGjVi+PDhpKamcvHiRWbOnMm5c+c4duwYAAkJCcyZM4dKlSrRqVMnfvvtNxo0aJCnn9mzZ7N27VrMZjOlS5dm1KhRXLhwgSlTprBixQo8PT0ZM2YMixcvpmTJkpQuXZqoqCjOnTvH8OHDWbVqFa6urnz66afWkpl+/fpRpUoVwsPD2bdvH8HBwX/39ImIiIhIEbgnE3GA8ePHM2DAADp06EBcXBy7d+/mueee46WXXsJisTBjxgzGjBnDlClT6NixI/379ycrK4vw8HAAvL29qVSpEgCVKlUiIyPjhj66detG586d8xz79ddfqVmzJp6engA0btyYLVu2UL9+fWrUqAFcS/Jr1aplrU8fMGAAAGXKlKFKlSrAtRX89PR0G8yMiIiIiPwd7rka8ZUrVzJt2jQA3N3dMZlMmM1m5s6dy5o1awBwcXGhVq1auLi4cODAAdLS0pg+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MmTIENq3v/Y49tjYWN5//30WL16Mv78/WVlZAFSuXJno6Gj8/f1JTExkxowZtGnThg0bNhAREUGZMmUYMWIEAIcPHyY8PNz6k5SUlKfvhIQE3nnnHRYvXsz58+f57bff8px/8skniYiIYNmyZYSGhtKtWzeOHDliPT948GBr7KVLl97w3po3b463t3dRTpeIiIiI2InDrYhfX5py9OhROnXqxKZNmxg7dizR0dFMmDCBBg0aWFeic+vHS5cujb+/v/V3i8VyQ+z8SlOOHTtm/d3b25tKlSoBUKlSJTIyMvK03bVrF82aNaNNmzZkZ2fz9ddfM2TIEGJjY4Hbl6aIiIiICGAy2XsERcLhEvHrlStXzvr7kiVLGDlyJK6urrz22mvs2rULANNt/pB/pXTkdrHi4uLw8vKid+/eODk5ERQUdMPNmCIiIiJyGybHKOpwuEQ8tzTFbDaTlpZGZGQkbm5uBAUF0aVLFzw8PKhYsSL169e3rkTfSkBAAAMGDKBv376FHlvfvn0ZNWoUzz77LO7u7pQsWZLRo0cXOq6IiIiIFD8m468s+UqxciY6ziZxy796re7+wMkLNokfdJ83mcm2ie1cwZuvNuyxSezuj99vk7giIiKS177H+xTq+jobJhfRSArH4VbERURERMTBqUZcRERERMQOHCQRd4xKdxERERGRYkYr4iIiIiJSvJgdY0VcibiIiIiIFCu32zK6uNCuKSIiIiJSrOx/6t1CXV/720+LaCSFoxVxERERESleVJoidztLQrJN4rpUrQBA4vlUm8Sv4uNJSkqKTWKXKlWKHYdP2yR245q+AJy5fLXIY5cv7VbkMUVERMS+lIiLiIiISLHiKDXiSsRFREREpHhRaYqIiIiIiB0oERcRERER+fuZTI7xTErHeBciIiIiIsWMVsRFREREpHjRzZoiIiIiInagGvG7z/bt2+nbty81a9bEMAwsFgsjRoygbt26dxxz3rx5hIWFkZiYyDPPPEO9evWs55o0aUJoaCjr16+nd+/et4119epVRowYQXJyMunp6ZQvX56RI0fi7e1NeHg46enpuLu7W9vPmjULFxcX6+vZs2cTFxcHQMuWLQvUp4iIiIij0faFd6mmTZsyadIkALZs2cLnn3/OtGnT7jheVFQUYWFhANSsWZOYmJgb2tSpU6dAsZYvX065cuUYN24ccC2x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65KSkqhXrx7Dhw/no48+YuHChUyYMMG6/8CBA+zatYvk5GROnDjByJEjSUlJ+dVMzZoiIiIiInbFYind626kp6fzyCOPANChQwe2bdtWYr+/vz/u7u4UFhaSm5tLuXK/3d+tHnERERERsSvmUo6sXr16NatXr7a+Dw8PJzw83Po+OTmZZcuWlTjHx8fH+i+OFSpUuOlfNcuVK4eTkxNPPvkkOTk5TJky5TfboUJcREREROxKaRf0+e/C+7+FhYURFhZWYtuwYcO4evUqAFevXqVixYol9n/wwQf4+vqyZMkSrl69St++fWnatClVq1a97XU0NEVERERE7EpZDE1p3rw5X331FQCpqak3PYhZsWJFypcvj7OzMxUqVMDV1ZVr1679aqZ6xEVEREREfkNkZCTR0dFERkbi4uLC3LlzAZg1axbdunUjNDSU7777joiICK5fv05oaChBQUG/mqlCXERERETsSmnHiN8NDw8P5s+ff9P2MWPGWP978uTJd5SpQlxERERE7IqjLINjd2PEn3/+efbs2QNAYWEhLVq0YPHixdb9UVFR7N9/9/M4p6amEhMTU2JbVlYWzZs3Jyoqin79+tGnTx8SExPvODsmJobU1NTb7j9x4gRDhgxh4MCB9OnTh9mzZ2M2mwFo1KgRUVFR1tekSZPu+PoiIiIijsBstpTqda+wux7xhx56iJ07d9K4cWPS09N5+OGH+eqrrxg0aBAFBQWcOnWKkJAQm1+3bt26JCQkAFBUVMTLL79M9erVeeyxx2x2jfj4ePr160eHDh2wWCwMGzaMLVu20KVLFypVqmS9voiIiIjYP7vrEW/fvj07d+4E4KuvviIsLIycnBxycnLYtWsXrVu3xmQysXXrVsLCwujXrx/Dhg3jp59+AiAuLs46Jc3P80NmZmYSHh7OgAEDSEpK+s02uLi40L9/fz7++GMAEhISCA8PJyIiguXLlwNw/Phx+vXrR3h4OM8//zwXL/5nFbrvv/+esLAwTp8+XSLX19eXdevWkZ6eTnFxMa+//jqPP/546W+aiIiIiAMpi1lTjGB3PeINGzbk6NGjWCwWvv32W0aOHEm7du1IS0vj4MGDPPLII1gsFmJjY0lKSiIgIIBly5axaNEiWrduTVZWFmvWrKG4uJi+ffvStm1b4uPjeeWVV3jooYd45513OHr06G+2w9fXl0uX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Q4YQEREBwIYNG/juuxtLHPv6+jJvnjFLEouIiIiI8RyqEM/MzKRly5aYTCZcXV1p0qQJmZmZJY7x9/dn8uTJlC9fnrNnz9K6devb5v330JSfHT16lGeffRa4UVi7ublx6dIlAOrUqQPAsWPH6Nu3LwAtW7YE4NChQzRq1Ai4UUjn5+eXyP3xxx8pKiriH//4h/U6gwYNsp6voSkiIiIijsOhZk0JDg4mPT0duPFw5e7du6lVqxYmkwmLxQJAbGwscXFxxMXF4ePjY91+J4KCgti5cycAZ86c4dq1a1SsWBG40XP+c1t+7gXftm2bdQjMrw0z+fHHH0sMZ7nvvvuoXLkyLi4ud9xGEREREbm3OVSPeOfOndmxYwcREREUFhby1FNPERISQlFREe+++y4NGjQgNDSUvn374u7ujo+PD9nZ2Xd8nb/+9a+MGzeOjz/+mPz8fKZOnYqzs/Mtj1m3bh0mk4np06eTnJz8q7mNGzcmPDyc5557Dnd3d65fv05kZCS1atVix44dd9xOEREREbl32XUh3rt37xLvTSYT48aNu+m4Bx98kE2bNgHw5JNP3jLrl1MXApQrV47U1NRbHlulShXeeuutm7b/8nhfX1/eeeedEvt/OaykXr16LF269KaMiIgI65jwX/q1KQ9FRERExP441NAUERERERF7oUJcRERERKQMqBAXERERESkDKsRFRERERMqACnERERERkTKgQlxEREREpAyYLHezoo2IiIiIiJSKXc8jLr/u+PB5huTWfuPGfOhX/vWtIfmVurQiJyfHkGwvLy8uJn9hSHaVsE4AXEz5yvbZvR8FoOjcZZtnA7j4VeZiboEh2VU83Tgzd5Uh2dVG3Zhz/0i/1wzJr5v4D3764jtDsit2am7onyfAhaTNNs/2iXwcwNDf0cuffGNIduUn2wJQmHXO5tmuNfwAKDh+1ubZAG61q5L5wnRDsoPfH0dO6m5Dsr06NAVg/+Ov2jy7webXAWP+zoX//L0rYiQNTRERERERKQMqxEVEREREyoAKcRERERGRMqBCXERERESkDKgQFxEREREpAyrERURERETKgApxEREREZEycMfziMfFxbF3717OnTtHfn4+gYGBeHt7M3/+/Fsen5WVxeHDh+nUqdMt9584cYKYmBiSkpJKbP/iiy9YunQpFouF/Px8nn/+eXr06EFaWhqj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\n",
|
|
"text/plain": [
|
|
"<Figure size 864x864 with 2 Axes>"
|
|
]
|
|
},
|
|
"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": 23,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"pearson_weakly_correlated = set()\n",
|
|
"pearson_strongly_correlated = set()\n",
|
|
"pearson_uncorrelated = set()\n",
|
|
"# Iterate over the raw and transformed target.\n",
|
|
"for target in TARGET_VARIABLES:\n",
|
|
" corrs = pearson.loc[target].drop(TARGET_VARIABLES).abs()\n",
|
|
" pearson_weakly_correlated |= set(corrs[(weak < corrs) & (corrs <= strong)].index)\n",
|
|
" pearson_strongly_correlated |= set(corrs[(strong < corrs)].index)\n",
|
|
" pearson_uncorrelated |= set(corrs[(corrs < uncorrelated)].index)\n",
|
|
"# Show that no contradiction exists between the classifications.\n",
|
|
"assert pearson_weakly_correlated & pearson_strongly_correlated == set()\n",
|
|
"assert pearson_weakly_correlated & pearson_uncorrelated == set()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Show the continuous variables that are weakly and strongly correlated with the sales price or uncorrelated."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 24,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"3Ssn Porch Three season porch area in square feet\n",
|
|
"BsmtFin SF 2 Type 2 finished square feet\n",
|
|
"Low Qual Fin SF Low quality finished square feet (all floors)\n",
|
|
"Misc Val $Value of miscellaneous feature\n",
|
|
"Pool Area Pool area in square feet\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print_column_list(pearson_uncorrelated)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 25,
|
|
"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": 26,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Gr Liv Area Above grade (ground) living area square feet\n",
|
|
"Total SF\n",
|
|
"Total SF (box-cox-0.0)\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": 27,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"columns = sorted(DISCRETE_VARIABLES + ORDINAL_VARIABLES) + TARGET_VARIABLES\n",
|
|
"spearman = df[columns].corr(method=\"spearman\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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CfoBcnJyeO+99zh27Bh6eno0adIEIyMjTp8+TVJSEnFxcaxatUonyLx58yYjRozgxIkTVKtWjaZNm2JpacnFixc5duwYx44dY//+/axcubJE+44ePUpkZCSmpqY0b96cixcv4uDgwIkTJ4D7AZO7u7sy20ODBg1IT09n0aJFXLlyBXNzcxYtWkTdunWxtrbmr7/+YufOnRw9epS4uDiddm7evJkpU6Zw79495fhbt26Rnp7O1q1b+emnn/j222/p3LlziXZu2bKFiIgIqlevTvPmzbl69SpJSUnMmDGDc+fOMXXqVOVYPz8//Pz8dMp/8cUXREZGolKpaNasGbVq1VLOu337dhYuXMgrr7xS5nN8FDk5OSQkJACUmFnn5MmTjBo1iuvXr1OzZk0aN24M3A/wtIMdP/30U6VXubi//vqLJUuWcPv2beVaUlNTWblyJb///jtRUVE676nSREdH8+WXX2JgYMDXX39dbhAOcODAAQDq16//UPnudevW5Y033iixPTU1lVGjRpGRkUG1atVo0aIFRUVFJCUlceLECb7//ntWrVpF/fr1S5T97LPPOH78OPb29ly6dIlGjRo91H6NRsPnn39OVFSUcg0tWrTg3LlzhIeHExcXx/Lly2nbtm2517V3714+/PBD8vPzMTY2pmnTphQUFJCWlsYvv/zCzp07mTdvHq+99hpw/9kbGBiQmppKzZo1admyZanXVlxRURETJ07khx9+AO5/4W/SpAnnzp1j06ZNbN26lXnz5tGvX78SZS9fvszQoUO5dOkSVlZWNG/enL/++osNGzbw22+/KR0HQoj/oxFCPJN27NihcXBw0Njb2yt/vXr10kycOFGzadMmTVZWVpllN23apJTp0qWL5uDBg8q+/fv3a1588UWNvb29Zu3atTrl/vOf/2js7e017u7umvPnzyvbMzIyNJ6enhp7e3uNj4+PTpnAwECNvb29ZsCAAZr09HRle2FhoWb16tVKO/78889S2zdu3DiNWq3WaDQazdWrVzUajUZz4MABZX/37t01x48fV8ouWrRIY29vr2nZsqXGwcFB8+2332qKioo0Go1Gc+7cOU2XLl009vb2mjVr1ihlsrOzNY6Ojhp7e3vNqlWrNIWFhcq+CxcuaAYPHqyxt7fXvPvuuzrX5uXlpbTD399fc/PmTeXavvzyS429vb2mVatW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m5tLq1atKh1zdXUFKspdPvnkEzZu3IiTkxNPPfUUn332GQAuLi6sW7eOXbt2sX79enr16kVcXBypqal4eXkxYcKEa/x0REREROone3lZ86ZOxK9UmhIYGEh4eDhpaWn06dOn0rmzZ8+Sm5vLtGnTACguLuaPf/wjrVu3pk2bNlWuFRAQwLZt2yody8/P59tvv6WkpISuXbvi7OwMQI8ePTh06BAAnTp1AsDPz4/S0lLOnj1L06ZNMRorlsXr3r17Le9eRERERG4krZpSjbS0NA4dOkTPnj1Zv349UPEvL7PZjNFoxM/Pj9WrV5OUlMTEiRPp1asXAA4OVR9nt27dyMrKYt++fQBYLBZWrVrFN998Q0hICPv27cNkMmGxWPj666+tyfxv/6XXrFkzLly4wNmzZwHYv3//Nbt/ERERkXrN0VC7n3ripp4R/21pCsDq1auZN28eq1atIiAggGHDhnHbbbfRpUsXli5dSmhoKPPmzWPChAlYLBaaNGnC0qVLOXXqVLV9ODg48Morr7Bw4UKKioq4dOkS3bp1Y9q0abi4uPDAAw8watQozGYzf/jDH7j33nv56aefqlzHycmJBQsWMG7cOJo2bYqT0039qxMREZGbmZ2UphgsFovlRg9Crg3trFmZdtYUERGxD0fGLKpVfGjic1c9bzabiYmJ4eDBg7i4uLBo0SJat25tPb9+/Xo++ugjDAYDEydO5L777qvRODStKiIiIiINyzVevnD79u2UlpaSnJxMWloacXFx1gU5Lly4QGJiItu2baOoqIiHH35YibhUdXnG2VaXZ7ivV381ibs842yryzPc16u/msxUa3ZbRETkxtq7dy933nknUPG+3/fff28916hRIwICAigqKqKoqKhWK7goERcRERGRhqWWNeLJyckkJydbv48YMYIRI0ZYvxcWFuLu7m797ujoiMlksr6j5+/vz8CBAykvL+fPf/5zjcehRNyO1bRG/NJ3h2yKady1HQAXPvu3TXGefcMBKPox06a4Rp1ak3Pukk0xAH5ejTnx3FqbYlotGg/U/N5qUv9euPuATTEA7r0617hGX0REpKGp7Triv028f8vd3Z2LFy9av5vNZmsSvnPnTnJzc9mxYwcA48aNIzw8nLCwMJvHoeULRURERKRhcTDU7ud3hIeHs3PnTqBiWev27dtbzzVt2hQ3NzdcXFxwdXXFw8ODCxcu1Og2NCMuIiIiIvIr9913H7t27WLkyJFYLBZiY2N54403CAoKol+/fvzrX/9i+PDhODg4EB4eTu/evWvUz02fiO/Zs4dp06bRtm1b6zGj0cjKlSurbX/w4EEuXLhAz549be7r+PHjxMXFWTfl6dixIzNnzqxUg/SfSE1N5ejRo8ycOdPmMYiIiIg0eNd4HXEHBwcWLlxY6VhoaKj185QpU5gyZUqt+7npE3G48lb31dm2bRs+Pj42J+KXLl1i4sSJ/Pd//zddu3YF4P333+fpp59mzZo1No9ZRERE5GZV2xrx+kI14ldgMpkYOXIk//znP8nLy2PgwIFkZ2fz/vvv8+abb7Jv3z6++uorRo0aRVRUFHPnzqWsrIzU1FRGjx7NqFGj+PLLL63X27FjB7fffrs1CQcYPHgw+fn5nDhxgjlz5lhrkXbu3MmcOXMAeOuttxgzZgzDhg1jwoQJlJaWXt8HISIiIlLfXOMa8etFM+JU3er+rrvu4oknniA+Pp6JEyfSvHlznnnmGVq2bMngwYPx8fHh1ltvpX///rzzzjs0a9aMl19+mffffx8nJyc8PT2ti75fdvLkSVq1alWl75YtW5KdnV3tuMxmM+fOnePNN9/EwcGBcePGsX///rq9eREREZGGph4l07WhRJwrl6YEBgYSHh5OWloaffr0qXTu7Nmz5ObmMm3aNACKi4v54x//SOvWrWnTpk2VawUEBJCWllbleEZGBr6+vpWOWSwWoKI+ydnZmRkzZtC4cWNycnIwmUw1vk8RERERqT+UiF9FWloahw4domfPnqxfv55x48ZhMBgwm80YjUb8/PxYvXo1Hh4e7Nixg8aNG3Pq1CkcHKpW/Nxzzz2sXr2a7777jltvvZVJkybRqlUrjEYjbdq0wcXFhTNnzgDwww8/APDTTz+xfft2UlJSKCoqYsiQIdYkXURERORmZS814krEqVqaArB69WrmzZvHqlWrCAgIYNiwYdx222106dKFpUuXEhoayrx585gwYQIWi4UmTZqwdOlSTp06VW0fTZo0Yc2aNdZVU0pKSjCbzTRq1Ijs7GyGDRvGs88+y+bNmwkODgagdevWNGrUiJEjRwLQvHlzcnNzr+mzEBEREan3qpn0bIhu+kQ8IiKi0kuVv/bxxx9bP3/44YfWz3fffbf18x133FEpZsiQIVfsKygoiNWrV1c6duLECVxcXLj11lvZvHlzlZjExMSrjl9ERETkpqMZcakL1b3AKSIiIiJXYSeJuMGiomMRERERaUAypr5Sq/jgV6bW0UhqRzPidqygoMDmGA8PD5vjPDw8ADiVf8mmOH9jY8D2cXp4eFCWc9amGABnP2/2HrWtxv4PIS2Amo0RoPhQlk1xbu0Ca/x7Kz1h2725tKq4t93p1b/XcCW92vvb1F5ERKSuGbR8oYiIiIjIDWAnpSlKxEVERESkYbGTRNw+1n4REREREWlgNCN+DWRlZTFo0CA6d+5sPRYREcHkyZNv4KhERERE7INqxOWq2rZtS1JS0o0ehoiIiIj9sZPSFCXi19Hy5cv55ptvMJvNPPbYYzzwwANER0fTsWNHDh06RGFhIa+88gotW7Zk9erVbN++nfLyckaNGsXIkSNJSkrio48+wmAwMGDAAMaMGXOjb0lERETk+tOMuFzN4cOHiY6Otn4fNmwYWVlZvPvuu5SUlDB8+HB69+4NQFhYGPPmzWPFihV8/PHH3HHHHezcuZOUlBTKy8t56aWXOHToEFu2bOGdd94BYOzYsdxxxx2EhITckPsTERERuVEMmhGXq/ltacratWs5cOCANTk3mUxkZ2cDcMsttwDg5+dHXl4ex44dIywsDEdHRxwdHZkzZw5btmzh5MmTPPbYYwCcP3+ezMxMJeIiIiIiDZRWTblOQkJCiIiIICkpiQ0bNvDAAw9ccXv7kJAQfvjhB8xmM2VlZYwdO5aQkBDatm1LYmIiSUlJDBkyhA4dOlznuxARERGpBxwcavdTT2hG/Dq55557+Oqrr4iMjOTSpUvce++9uLu7V9u2U6dO3HnnnYwaNQqz2cyoUaPo2LEjt99+O6NGjaK0tJSwsDB8fX2v812IiIiI1AN2UppisFgslhs9CLk2tMV9ZdrivjJtcS8iIg1V1oJ1tYoPXPhEHY2kdjQjLiIiIiINi2bERURERESuv6znX69VfOAL4+poJLWjGXE7ZmupAlSUK5Rk5NgU4xrsB8DFvQdtimvyh4qXTUuOnbStvzYBNS7fOPfJbptivB7oBUDRweM2xTXqEATUrKTF1nIWqFlJy+XymfyPdtkUZ/xTxbKbOedsK0Xy82psU3sREZErspMZcSXiIiIiItKwaEMfEREREZHrTxv6NABZWVkMGjSIzp07W49FRETQr18/duzYweTJk2t87Tlz5jBgwAD69OlTF0O1+uKLL1izZg3l5eWYzWb+67/+i8cee8xu/uBEREREpIJdJ+JQdYfLyzp16nQDRnN1Bw4cYPny5axZs4YWLVpgMpmIiYnh9ddf54kn6scyOyIiIiI3nJ1MUNp9Il6dPXv2sHHjRlasWEHfvn0JCQkhNDSUsWPHMn/+fEpKSnB1deXFF1+kvLycqVOn0rx5c06fPk2fPn2YPn269VqFhYXMmzePgoICcnNziYyMJDIyku+++47Y2FjMZjO+vr7Ex8eTmZnJokWLAPDy8iI2Ntb6whzAxo0bmThxIi1aVKzv7OTkxJw5cxg8eDBPPPEE99xzD5988gmurq7Ex8cTEhLCkCFDru/DExEREbnBDKoRbxgOHz5MdHS09Xt8fHyl86dOnSI1NRWj0ci0adOIjo7mrrvu4ssvvyQ+Pp7p06eTnZ3N66+/joeHB5GRkRw4cMAan5mZycCBA7n//vs5ffo00dHRREZGsmDBAl566SVCQ0NJSUnhyJEjvPDCC8TGxtK2bVtSUlJYt25dpaT+5MmTVba9d3d3p6ioCLPZfI2ekIiIiEgDo0S8YaiuNCUjI8P62Wg0YjQaAUhPT2fNmjWsW7cOi8WCk1PF4+nYsSNeXl4AhIWFcezYMWu8j48PGzZsYNu2bbi7u2MymQDIy8sjNDQUgGHDhgFYk3GAsrIygoODK40rICCAEydOcMstt1iPFRQUYDAYcHBwqNRWy7+LiIjITcvg8PttGgC7T8R/z68T3JCQEB5//HHCw8M5cuQIX3/9NVCRQBcVFeHi4sK+fft45JFH+OKLLwBYv3493bp1IzIykt27d/P5558D0KJFCzIyMggODua1116jTZs2tGnThiVLlhAQEMDevXs5c+ZMpbGMGDGC+fPn0717dwoLC1m6dCnOzs6MHj0aABcXF3JzcwkMDOSnn36yJvoiIiIi0vDc9In4r82ePZuYmBhKSkooLi5m3rx5ADg7OzN16lTy8vLo378/HTt2tMb07duXRYsWsWXLFjw8PHB0dKS0tJQXXniBZ599FgcHB5o3b85jjz2Gv78/s2fPxmQyYTAYWLx4caX+u3TpwsyZM3n66acxmUwUFRXh5eXFuXPnKCkp4YknnmDChAm0bNkST0/P6/psREREROoNO3lZU1vc/46srCxmzJjBpk2bbtgYvv32W7p27VqlPOX3aGfNyrSzZtW+QDtriohIw3Mq/t1axfvPHFVHI6kdzYg3AN27d7/RQxARERGpPzQjLiIiIiJy/Z1akVyreP/pI+poJLVjH6+cioiIiIg0MCpNsWO21npDRb13jWvEv/nJprgmPSpeei36IcOmuEa3BNe4RvzCZ/+2KcazbzgAl/YdsSmucVjFijalJ/NsinMJ8KE4/YRNMQBu7VvVuEa84It9tsXdEVYRV4P+Dj4026YYgA7/s8TmGBERsW8GOylNUSIuIiIiIg2LEnERERERkRtAO2val6ysLAYNGkTnzp2txyIiIgCYPHlyja87Z84cBgwYQJ8+fWo9RhERERGxH0rEf6Vt27YkJSXd6GGIiIiIyNWoNMX+7dmzh40bN7JixQr69u1LSEgIoaGhjB07lvnz51NSUoKrqysvvvgi5eXlTJ06lebNm3P69Gn69OnD9OnTrdcqLCxk3rx5FBQUkJubS2RkJJGRkXz33XfExsZiNpvx9fUlPj6ezMxMFi1aBICXlxexsbGUlZUxbdo0LBYLJSUlvPDCC3Tq1OlGPRoRERGRG8ag0hT7c/jwYaKjo63fhw0bZv186tQpUlNTMRqNTJs2jejoaO666y6+/PJL4uPjmT59OtnZ2bz++ut4eHgQGRnJgQMHrPGZmZkMHDiQ+++/n9OnTxMdHU1kZCQLFizgpZdeIjQ0lJSUFI4cOcILL7xAbGwsbdu2JSUlhXXr1tG9e3e8vLxYunQphw8f5tIl23Y1FBEREbEbBvtYgVuJ+K/8tjRlz5491s9GoxGj0QhAeno6a9asYd26dVgsFpycKh5jx44d8fLyAiAsLIxjx45Z4318fNiwYQPbtm3D3d0dk8kEQF5eHqGhFUvdXU78LyfjAGVlZQQHB9OnTx8yMjL4y1/+gpOTE5MmTbpWj0FERESkXtOM+E3GweGXf3mFhITw+OOPEx4ezpEjR/j666+BigS6qKgIFxcX9u3bxyOPPMIXX3wBwPr16+nWrRuRkZHs3r2bzz//HIAWLVqQkZFBcHAwr732Gm3atKFNmzYsWbKEgIAA9u7dy5kzZ9izZw8tWrRg/fr1fPvtt7z00kuqZxcRERFpwJSI18Ds2bOJiYmhpKSE4uJi5s2bB4CzszNTp04lLy+P/v3707FjR2tM3759WbRoEVu2bMHDwwNHR0dKS0t54YUXePbZZ3FwcKB58+Y89thj+Pv7M3v2bEwmEwaDgcWLF+Pl5cWMGTN49913MZlMPPnkkzfq9kVERERuLDt5WdNgsVgsN3oQ9iArK4sZM2awadOmGz0UK+2sWZl21qxMO2uKiEhDlbt2c63iW4x/sI5GUjuaERcRERGRhsVOasQ1Iy4iIiIiDUru6x/VKr7FuD/V0UhqRzPiIiIiItKgGOykRlyJuB07/79f2RzT9L9uozTrjE0xLoHNASg5dtKmONc2AUDNao3PFpbYFAPg7e7K6YQPbIrxnfQwAMWHsmyKc2sXCMDJ/Is2xQUYm3Dpu0M2xQA07tquxjXiuWv+x6a4Fn9+CIBvjpy2Ka5HqK/NNfpQUadfsGu/TTEevW+1uR8REWlA7KQ0RYm4iIiIiDQsmhEXEREREbn+VJpyk8jKymLQoEF07tzZeiwiIoLJkydX237OnDkMGDCAvLw8jh49ysyZM63n9uzZw7Rp02jbti0Wi4XS0lJiYmK45ZZbrth/cnIyQ4YM4d///jcbN25kxYoVdXdzIiIiInLDKBH/D7Rt27bOdrHs1auXNZn+4osveOWVV1izZs0V269Zs4aHH364TvoWERERsQt2UiPu8PtNpDp79uxh+vTp1u+9e/e2+RoXLlzA29sbgK+++ooxY8YQHR3NkCFDOHbsGCkpKZw5c8baT2ZmJk888QRDhgzh1VdfrZsbEREREWloHAy1+6knNCP+Hzh8+DDR0dHW7/Hx8TW+1u7du4mOjqa0tJSffvqJv/71rwAcOnSIZcuW4evry9/+9je2bt3KpEmTSEhIYMWKFaSlpVFSUsLq1aspLy/n7rvv5qmnnqr1vYmIiIg0NAbDtZ1LNpvNxMTEcPDgQVxcXFi0aBGtW7eu0mbChAn069ePUaNG1agfJeL/gepKUzIyMip9/0/3Rfp1acrRo0cZOXIkO3fuxNfXl8WLF9O4cWNOnz5NeHh4ldh27drh4uICgJOTfnUiIiJyk7rGL2tu376d0tJSkpOTSUtLIy4ujoSEhEptXn75ZS5cuFCrfpTN1ZCrqytnzlSst52dnc358+dtvoaPj4/18/z58/n0009xd3dn9uzZ1sTeYDBgNputn0VERETk2tq7dy933nknAN26deP777+vdH7r1q0YDAZrm5pSIl5DXbp0wcPDg2HDhhEaGkpgYOB/FHe5NMXBwYGLFy8yZ84c3NzcGDRoEKNHj6ZRo0b4+PiQm5sLQI8ePZgwYQJPPvnktbwdERERkYajlnXeycnJJCcnW7+PGDGCESNGWL8XFhbi7u5u/e7o6IjJZMLJyYn09HQ++ugjVq5caS0xrikl4r8jMDCQTZs2VTnu5ORU5b8oAOLi4q54rYiICL788stqz82dO7fa40uWLLF+7tWrl/Xzrl27rtiPiIiIiD2rbZXAiOGVE+/fcnd35+LFX3bHNpvN1rLgDz74gNOnT/Poo4+SnZ2Ns7MzLVu2pE+fPjaPQ4m4iIiIiDQs17hcNzw8nM8++4wBAwaQlpZG+/btreeeeeYZ6+dXX30VHx+fGiXhAAbLf/qWoYiIiIhIPXD27/+vVvHeQ+++6vnLq6akp6djsViIjY1l586dBAUF0a9fP2u7y4l4TVdNUSJuxwoKCmyO8fDw4NK+IzbFNA4LBaDk+Gmb4lyDfAHbx+nh4VHze9t/1KaYxreGAFB08LhNcY06BAE1u7fSrDM2xQC4BDanLOesTTHOfhVr2Benn7Apzq19KwDOXCi2Ka65p1uNf281eY4AZWfO2RTn3NzLpvYiInJjnE39vFbx3kPuqqOR1I5KU0RERESkYbGTleSUiIuIiIhIg2KoR7tj1oYScRERERFpWOwkEb+2+4M2IFlZWYSHhxMdHW39WbVqVa2v++mnn3L69GnOnDlDTExM7Qf6f3r37l1n1xIRERGR608z4r9S3Vb2tZWYmEhMTAyhoaF1moiLiIiI3LRUI27/9uzZw8aNG1mxYgVQMQu9a9cu5syZg4uLC9nZ2eTm5hIXF0fnzp1JSUnh3XffxWw2c8899xAWFsaPP/7I7NmzWbZsGbNnz2bTpk3s2rWLl19+GVdXV7y8vIiNjeXHH39k7dq1ODs7k5WVxYABA5g0aRLp6enExcVRXl5Ofn4+MTExhIeH3+AnIyIiInLjGAz2UdShRPxXDh8+THR0tPX7sGHDrtg2ICCAhQsXsmnTJpKTk5k6dSpr167lww8/xNXVleXLl9OzZ086depETEwMzs7OAFgsFubPn8+7776Lr68vGzZsICEhgbvvvpuTJ0/y4YcfUlpayp133smkSZM4fPgws2fPpkOHDmzevJnU1FQl4iIiInJzs5MacSXiv/Lb0pQ9e/ZUOv/rJdc7deoEgJ+fH//+9785ceIE7dq1w83NDYCZM2dW20d+fj7u7u74+lasod2zZ09eeukl7r77btq3b4+TkxNOTk7W67Ro0YLVq1fj5ubGxYsXcXd3r7sbFhEREWmI7KQ0xT7m9a8RV1dXzpyp2FwlOzub8+fPW88ZfvMHEBQUxNGjRyktLQVgypQpnD59GoPBUCmBNxqNFBYWkpubC8BXX31FcHBwtdcEWLx4MVOmTGHJkiW0b98e7b8kIiIiYh80I34VXbp0wcPDg2HDhhEaGkpgYOAV23p7ezN+/HiioqIwGAz07dsXX19funfvzjPPPMOLL74IVCTbixYt4qmnnsJgMNC0aVP++7//m0OHDlV73UGDBjF16lQ8PT3x8/MjPz//mtyriIiISENR3eRlQ6Qt7u2YtrivGqct7n+hLe6r0hb3IiINw/lPv65VfNP7etbRSGpHM+IiIiIi0rBoRlxERERE5Po7v/2bWsU3vbdHHY2kdjQjbseKj2TbHOMW2pKiHzNtimnUqTUAFz7/1qY4z7u6A1D0Q4Zt/d0SzNnCEptiALzdXTkV/65NMf4zRwFQsGu/TXEevW+tiKtJ2c2/vrcpBsDjj11sfibe7q4A5LySYlOc39SKZT33H//Zprhbg5pxNvVzm2IAvIfcRf5Hu2yKMf6pYufZnFf/blOc31NDKT2ZZ1MMgEuAj80xIiJSc/ZSI65EXEREREQaFq0jLiIiIiJyAygRr/9OnDjBsmXLyMnJwc3NDTc3N2bNmkW7du1uyHjOnz/PkiVLOH78OCaTCX9/fxYuXGhd4UFEREREfp+9lKbY7YY+RUVFTJo0ibFjx7Jp0yYSExOZPHkyCxcuvGFjmjFjBn379uWtt95i48aNdO3alQULFtyw8YiIiIjIjWO3M+KfffYZvXr1onv37tZjYWFhJCYmApCenk5cXBzl5eXk5+cTExNDeHg4ffv2JSQkhNDQUIYOHVptm5SUFN5++22aNm2Ks7MzAwYM4MEHH+T5558nMzMTs9nMtGnTiIiIsPadnZ1NXl4e9913n/VYdHQ0jzzyCABvvfUW27Zto6ioCKPRyKpVq/joo4947733MJvNTJkyhQ8//JDMzEyKi4sZM2YMDz/88HV6miIiIiL1iIN9zCXbbSKelZVFUFCQ9fukSZOsW8tv2LCBw4cPM3v2bDp06MDmzZtJTU0lPDycU6dOkZqaitFoZMuWLVXaBAcHs27dOj744ANcXFwYM2YMACkpKRiNRmJjY8nPzycqKoqPP/7Y2n9ubm6VnTkdHR3x8PDAbDZz7tw53nzzTRwcHBg3bhz791es0uHp6UlCQgKFhYXMnz+fTZs2AbBrl22rSIiIiIjYDTspTbHbRNzPz4/vv/9lGbiEhAQAhg8fjslkokWLFqxevRo3NzcuXryIu7s7AEajEaPRCFBtm+PHjxMaGkqjRo0ArDPu6enp7N27l3379gFgMpk4e/Ys3t4VuxcGBASQk5NTaYxlZWV88sknDBo0CGdnZ2bMmEHjxo3JycnBZDIB0KZNGwDc3d159tlnmT9/PoWFhQwaNOiaPDcRERGRek+JeP3Wr18/1q5dS1paGt26dQMgMzOTnJwcDAYDixcvJj4+ntDQUFauXEl2dsWa2w6/+q+O6toEBQVx9OhRiouLcXFxYd++fYSEhBASEoKfnx8TJ06kuLiYhIQEvLx+2S7b19cXo9HI9u3buffeewFITExk3759tG/fnu3bt5OSkkJRURFDhgzh8j5Ll8eTm5vLgQMH+Otf/0pJSQl33XUXDz30EE5OKe1rMwAAIABJREFUdvsrFBEREamWQaum1G9NmjQhISGB5cuXEx8fj8lkwtHRkblz59KyZUsGDRrE1KlT8fT0xM/Pj/z8/CrXqK6Nt7c348ePJzIyEi8vL0pKSnBycmLkyJE899xzREVFUVhYSGRkZKWkHmDp0qUsXLiQ9evXU1ZWRlBQEIsWLcLJyYlGjRoxcuRIAJo3b05ubm6l2ObNm3PmzBlGjhyJg4MDjz/+uJJwERERkQbMrjO5wMBAVqxYUe25sWPHMnbs2CrHf117XV0bk8lEbm4uqampWCwWRo8ejb+/Py4uLixduvSq4/H29ubll1+u9tzll0ivxGAw3NAVX0RERETqDZWm3JycnJwoKipi8ODBODs7ExYWRo8ePW70sERERERuHnaSiBssl4uRRUREREQagIvf/FSr+CY9OtbRSGrHPhZhFBERERFpYFSaYscKCgpsjvHw8KDohwybYhrdEgxA6Yncqzf8DZdWLQAoOXbSpjjXNgE1vrfCr360Kcb9tk4AXPrukE1xjbu2A6AkI+d3WlbmGuxnc1+X+6tJXwAX9x60Ka7JHzoAUHbmnE1xzs29uPhtuk0xAE26t7d55uPyTEfxoSyb4tzaBVKadcamGACXwOb8vHGHTTHNRvazuR8REfk/dlKaokRcRERERBoWLV8oIiIiInL9aR3xeurEiRMsW7aMnJwc3NzccHNzY9asWbRr1+6GjOf8+fMsWbKE48ePYzKZ8Pf3Z+HChXh4eNT4mu+++y55eXk89dRTdThSERERkQbCYB+vOdrHXfyfoqIiJk2axNixY9m0aROJiYlMnjz5hq6/PWPGDPr27ctbb73Fxo0b6dq1KwsWLLhh4xERERGR+sGuZsQ/++wzevXqRffu3a3HwsLCrJvlpKenExcXR3l5Ofn5+cTExBAeHk7fvn0JCQkhNDSUoUOHVtsmJSWFt99+m6ZNm+Ls7MyAAQN48MEHef7558nMzMRsNjNt2jQiIiKsfWdnZ5OXl8d9991nPRYdHc0jjzwCwIcffsiGDRtwcXEhODiYhQsXsnnzZj7//HOKi4s5fvw448ePZ8iQIXzzzTfExsbi6emJo6Mj3bp1u05PVURERKSe0cua9U9WVhZBQUHW75MmTaKwsJDc3Fw2bNjA4cOHmT17Nh06dGDz5s2kpqYSHh7OqVOnSE1NxWg0smXLliptgoODWbduHR988AEuLi6MGTMGgJSUFIxGI7GxseTn5xMVFcXHH39s7T83N5fAwMBKY3R0dMTDw4P8/HxeffVV3n//fdzd3YmNjSU5OZnGjRtTWFjI66+/TkZGBhMnTmTIkCG88MILrFy5kjZt2vD8889fnwcqIiIiUg+pRrwe8vPz4/vvv7d+T0hIAGD48OGYTCZatGjB6tWrcXNz4+LFi7i7uwNgNBoxGo0A1bY5fvw4oaGhNGrUCMA6456ens7evXvZt28fACaTibNnz+Lt7Q1AQEAAOTmVl5QrKyvjk08+ITg4mLZt21rH0LNnT7744gu6du1Kx44VS6/5+/tTWloKQF5eHm3atAEgPDyc48eP1/HTExEREWkg7GRG3K5qxPv168eXX35JWlqa9VhmZiY5OTkYDAYWL17MlClTWLJkCe3bt+fypqIODr88huraBAUFcfToUYqLizGbzdbEOyQkhIEDB5KUlMTatWvp378/Xl5e1mv5+vpiNBrZvn279VhiYiI7duwgMDCQI0eOcOnSJQC++uora6JtqOaPy9fXlyNHjgCwf//+unpkIiIiIg2PwVC7n3rCrmbEmzRpQkJCAsuXLyc+Ph6TyYSjoyNz586lZcuWDBo0iKlTp+Lp6Ymfnx/5+flVrlFdG29vb8aPH09kZCReXl6UlJTg5OTEyJEjee6554iKiqKwsJDIyMhKST3A0qVLWbhwIevXr6esrIygoCAWLVqEh4cHTz31FGPGjMHBwYGgoCBmzpxZqbTl1xYuXMgzzzyDu7s7TZo0oWnTptfkGYqIiIjI9WGwXJ4WlisymUysXbuWSZMmYbFYGD16NNOnT6dnz543emhXpZ01K9POmlX7Au2s+WvaWVNEpGEoOli7Et1GHYJ+v9F1YFcz4teKk5MTRUVFDB48GGdnZ8LCwujRo8eNHpaIiIjITam6Mt6GSDPiIiIiItKg2Po/nr/l1i7w9xtdB3b1sqaIiIiISEOh0hQ7VuMa8QPHbIpp1LlitZcLn39rU5znXRXLQNpaN9yke/sa39up5RttivF/eiQA57d/Y1Nc03srSpdsHaeHhwcF//r+9xv+Nu6PXWrUF0DOqvdsivObXLEh1ZGc8zbFhfo15ez7O22KAfAe3If8j3bZFGP8U28Afn53+++0rKzZqHtrNMvi1i6QUyuSbYrxnz4CgLx3ttkU5xN5v03tRUTsktYRFxERERG5/rShj4iIiIjIjWCwj+pqu0nET5w4wbJly8jJycHNzQ03NzdmzZpFu3btbsh47rnnHvz9/a3rijdt2pRVq1YxefJkVq1aVW3MmTNn+Otf/0pMTEy156Ojo4mJiSE0NPRaDVtERESk/tOMeP1RVFTEpEmTePHFF63bz+/bt4+FCxeSlJR0w8a1fv16XF1dKx27UhIO0Lx58ysm4SIiIiJiX+wiEf/ss8/o1auXNQkHCAsLIzExEYD09HTi4uIoLy8nPz+fmJgYwsPD6du3LyEhIYSGhjJ06NBq26SkpPD222/TtGlTnJ2dGTBgAA8++CDPP/88mZmZmM1mpk2bRkRExH801t69e7Nr1y6io6Pp2LEjhw4dorCwkFdeeQWLxcKMGTPYtGkTK1asYM+ePZhMJu6//34mTJgAwF//+lfy8vIoKiripZdeolWrVnX/QEVERETqMXtZR9wuEvGsrCyCgn7ZIWnSpEkUFhaSm5vLhg0bOHz4MLNnz6ZDhw5s3ryZ1NRUwsPDOXXqFKmpqRiNRrZs2VKlTXBwMOvWreODDz7AxcWFMWPGAJCSkoLRaCQ2Npb8/HyioqKq3Zr+8ccft5amjBs3jrvvvrvS+bCwMObNm8eKFSv4+OOPGTBggPXc5s2bSUxMpEWLFqSmplqP33XXXTz00EO8+uqrbN26lfHjx9floxQRERGp/5SI1x9+fn58//0vS74lJCQAMHz4cEwmEy1atGD16tW4ublx8eJF3N3dATAajRiNRoBq2xw/fpzQ0FAaNWoEYJ1xT09PZ+/evezbtw8Ak8nE2bNn8fb2rjSu6kpTfu2WW26xjj8vL6/SuWXLlrF8+XLy8vK48847rce7dOkCgI+PT5UYERERkZuCndSI28Urp/369ePLL78kLS3NeiwzM5OcnBwMBgOLFy9mypQpLFmyhPbt23N5M9HLs9VAtW2CgoI4evQoxcXFmM1ma+IdEhLCwIEDSUpKYu3atfTv3x8vL686u5/S0lK2bt3KSy+9RGJiIu+//z7Z2dl1dn0RERGRhsxgMNTqp76wixnxJk2akJCQwPLly4mPj8dkMuHo6MjcuXNp2bIlgwYNYurUqXh6euLn50d+fn6Va1TXxtvbm/HjxxMZGYmXlxclJSU4OTkxcuRInnvuOaKioigsLCQyMrJSUl9bLi4uNG3alOHDh+Pm5kbv3r0JCAios+uLiIiIyI1nF4k4QGBgICtWrKj23NixYxk7dmyV47t27bpqG5PJRG5uLqmpqVgsFkaPHo2/vz8uLi4sXbr0quP5xz/+Ue3xy33+ejWXUaNGWT9v2rQJgMmTJzN58uRKsVeKEREREbmp1KNZ7dqwm0T8WnBycqKoqIjBgwfj7OxMWFgYPXr0uNHDEhEREbm52UmNuMFyuWBaRERERKQBKDtzrlbxzs3r7t2+2tCMuB0rKCiwOcbDw4OiHzNtimnUqTUAxUdse6HULbRlRVz6Cdvi2req8b0V/Ov732/465g/VqxSU/jVjzbFud/WCYCSYydtinNtE8DFvQdtigFo8ocOlGadsSnGJbA5AIW7D9gU596rM2D735eHhwcXv023KQagSff2NX7+RQeO2RTXqHMbSk/avhqRS4APee9ssynGJ/J+AI5NuHqZ22+1ee0ZgBr3JyIi9YcScRERERFpUIrdHGsV71xH46gtu1i+UERERESkoVEiLiIiIiJyA9h1acqJEydYtmwZOTk5uLm54ebmxqxZs2jXrt0NGc/PP/9MXFwcmZmZODk54e/vz5w5c2jevLlN19mzZw8bN2684nKNIiIiIlJzZrOZmJgYDh48iIuLC4sWLaJ169bW85s2bWLjxo04OTkxadIk+vbtW6N+7DYRLyoqYtKkSbz44ovWren37dvHwoULK63Hfb1YLBYmTpzIxIkT6devHwD/+te/+POf/0xKSgqOjrWrdRIRERGRurF9+3ZKS0tJTk4mLS2NuLg4EhISADhz5gxJSUm89957lJSUEBkZSe/evXFxcbG5H7tNxD/77DN69eplTcIBwsLCSExMBCA9PZ24uDjKy8vJz88nJiaG8PBw+vbtS0hICKGhoQwdOrTaNikpKbz99ts0bdoUZ2dnBgwYwIMPPsjzzz9PZmYmZrOZadOmERERYe3722+/pVmzZtYkHOCPf/wjrVu35uuvv+brr7/Gx8eHUaNGceTIEWJiYkhKSmLr1q28/fbbmEwmDAYDq1atun4PUURERMQOJScnk5ycbP0+YsQIRowYYf2+d+9e7rzzTgC6devG99//suravn376N69Oy4uLri4uBAUFMRPP/1EWFiYzeOw20Q8KyuLoKAg6/dJkyZRWFhIbm4uGzZs4PDhw8yePZsOHTqwefNmUlNTCQ8P59SpU6SmpmI0GtmyZUuVNsHBwaxbt44PPvgAFxcXxowZA0BKSgpGo5HY2Fjy8/OJiori448/tvZ/8uRJAgMDq4yzZcuWZGdfedm/jIwMXnvtNRo1asSCBQv44osv8PX1rcMnJSIiInJz+W3i/VuFhYW4u7tbvzs6OmIymXBycqKwsBAPDw/ruSZNmlBYWFijcdhtIu7n51fpXy+X/zth+PDhmEwmWrRowerVq3Fzc+PixYvWh200GjEajQDVtjl+/DihoaE0atQIwDrjnp6ezt69e9m3bx8AJpOJs2fP4u3tDUBAQAAfffRRlXFmZGTQq1cvTp6sfr3pZs2aMXv2bJo0acLRo0fp1q1bXTweEREREbkCd3d3Ll68aP1uNptxcnKq9tzFixcrJea2sNtVU/r168eXX35JWlqa9VhmZiY5OTkYDAYWL17MlClTWLJkCe3bt+fyBqMODr88kuraBAUFcfToUYqLizGbzdbEOyQkhIEDB5KUlMTatWvp378/Xl6/7NrUvXt38vLy2LFjBwBz5sxhyZIlZGZmEhERgaurK2fOVGzIcuBAxQYrBQUFrFy5khUrVrBo0SJcXV3RRqgiIiIi11Z4eDg7d+4EIC0tjfbt21vPhYWFsXfvXkpKSigoKODIkSOVztvCbmfEmzRpQkJCAsuXLyc+Ph6TyYSjoyNz586lZcuWDBo0iKlTp+Lp6Ymfnx/5+flVrlFdG29vb8aPH09kZCReXl6UlJTg5OTEyJEjee6554iKiqKwsJDIyMhKSb3BYGDNmjXExcXx2muvYTKZ8PLyonnz5hw9epQHHniAadOm8fXXX9O5c8XOhe7u7oSHhzNixAicnJzw9PQkNze32hIXEREREakb9913H7t27WLkyJFYLBZiY2N54403CAoKol+/fkRHRxMZGYnFYmH69Om4urrWqB+7TcQBAgMDr7jE39ixYxk7dmyV47t27bpqG5PJRG5uLqmpqVgsFkaPHo2/vz8uLi4sXXr1raqbNWvGsmXLKh07c+YMRUVFtGrVivfee69KzCuvvFLttX79IqiIiIiI1B0HBwcWLlxY6VhoaKj18/Dhwxk+fHit+7HrRPxacHJyoqioiMGDB+Ps7ExYWBg9evSo8fVsXUNcREREROyDwaKiYxERERFpQM4WltQq3tu9ZqUkdU0z4nbswmf/tjnGs284JcdP2xTjGlSxnGJBQYFNcZffMM4rKLYpzsfDjdzzRTbFALRo2oiCXfttivHofStQ83urSVzJsepX0Lka1zYBNR7jxW9+simuSY+OAOScu2RTnJ9XYy59d8imGIDGXdvVeIxFP2TYFNfolmDKcqu+L/J7nFsYKfjX97/f8Fc8/tgFgOIjV16+tDpuoS0BatRfTf+2RETk2lAiLiIiIiINitlOCjqUiIuIiIhIg2Inebj9riNeW3v27GH69OmVjsXHx5OamnrFmDlz5rBz505MJhPR0dGMHDmS8+fPVzr/4IMPEh0dzYgRI3j66acpKyu74vXOnTvH5s2bK11bRERE5GZnsVhq9VNfKBG/BnJzc7l48SIbN26kadOmlc7NmjWLpKQkkpOTAawb/FTn4MGD/OMf/7imYxURERFpaMwWS61+6gsl4jVQXl7OvHnzGDduHA8++GCVtcqff/55MjIyWLBgwVWvUVhYSLNmzQBYvnw5Y8eOZfDgwcydOxeAv/3tb+zevduatCcnJzNmzBiGDBli3dFTRERERBom1Yhfxe7du4mOjrZ+P3HiBFOmTOHUqVN069aNYcOGUVJSQp8+fSqVsTz//PPMmDGjykLwAMuWLWPt2rXk5ubi6upKx44dKSwsxNPTkzfeeAOz2czAgQM5ffo0EydOZOPGjYwYMYJvv/2Wzp0785e//IXU1FRSU1MJCwu7Ls9BREREpD6pR5PataJE/Cp69epVabY7Pj4eAC8vL/bv38/u3btxd3entLT0P77mrFmz6NOnD1Cxa2ZcXBwxMTGcPXuWGTNm0LhxYy5dulRt7Xjnzp0B8PHxobjYtiX/REREROyFBfvIxJWI10BqaioeHh4sXLiQzMxMNm3aVKPCf39/f7Kzs9m5cyenTp3i5Zdf5uzZs3z66adYLBYcHBwwm83W9gaDoS5vQ0RERKRBqk913rWhRLwGbr/9dp5++mnS0tJwcXGhdevW5Obm/kexl0tTLifZsbGxuLm5sXr1akaPHo3BYKBVq1bk5uYSFBREeno6b7755rW9IRERERG57pSIX0FERAQRERGVjs2cOdP6+cMPP6wSExcXZ/28adOmq57/rffee6/a45988kmVY3369LGWt4iIiIjcbOxkQlyJuIiIiIg0LPVpLfDaMFjs5U5ERERE5KaQcaagVvHBzT3qaCS1oxlxEREREWlQzGb7mEdWIm7HCgps/9eih4cHRQeO2RTTqHMbgBrHlRw/bVOca5AvZy7Yvnxjc083zqz/2LaYxwcCcOm7QzbFNe7aDoCzhSU2xXm7u3Jx70GbYgCa/KEDpSfzbIpxCfAB4NSKZJvi/KePAODH7LM2xXVq6U3hnh9sigFwj7ilxn9b+R/tsinO+KfelGTk2BQD4BrsR/7//NO2vh66E4CiHzNtimvUqTUAZ//+/2yK8x56t819Xe6vpn//IiJydUrERURERKRBsZfKaiXiIiIiItKg2MuGPg43egDX2549eyptRw8VO2ampqbafK3k5GTKysr48ccfWbVqVa3GdfHiRV588UWGDh1KVFQUEydO5NixX/47/tChQ0yYMIHo6GgeeeQRVq5caTf/GhQRERGxhdlSu5/6QjPitbBmzRoefvhhOnXqRKdOnWp1rTlz5hAREcH8+fMB+Omnn3jyySdJTk7GYrEwY8YMXn31VYKDgykvL2fq1Kls3LiRUaNG1cWtiIiIiDQY9jIZqUT8N5YvX84333yD2Wzmscce44EHHuCrr75i1apVWCwWLl68aG1z5swZpk+fzqOPPsrGjRtZsWIF999/P+Hh4Rw7doxmzZrx6quvUlZWxjPPPENubi7+/v58/fXXfPHFF9Y+T58+TUZGBq+++qr1WMeOHbnnnnvYtm0bDg4OREREEBwcDICjoyNLlizB2dn5ej8eEREREakjN2Uivnv3bqKjo63fT5w4wZQpU/j888/Jysri3XffpaSkhOHDh9O7d28OHTrEsmXL8PX15W9/+xtbt25l0qRJJCQksGLFCtLS0ipda8OGDfj7+zNy5Ej279/Pd999R2BgICtXruTIkSP86U9/qjSekydPEhgYWGWcLVu2JDs7G1dXV1q1alXpXJMmTer4qYiIiIg0DGbNiDdcvXr1YsWKFdbv8fHxAKSnp3PgwAFrkm4ymcjOzsbX15fFixfTuHFjTp8+TXh4+BWvbTQa8ff3B8Df35+SkhKOHDli3ZI+NDQUb2/vSjEBAQFkZWVVuVZGRgYhISE0btyYH36ovOzbiRMnyMnJoWfPnjV4AiIiIiINl53k4Tffy5pXExISQkREBElJSWzYsIEHHniAVq1aMX/+fGJjY4mLi6NFixbWuiSDwYDZbK50DYPBUOW67du359tvvwXg+PHj5OfnVzrv6+tL69atefvtt4GKfxgsWbKEHTt20L9/f/r27cs///lPjh8/DkBZWRlxcXGkp6fX+TMQERERqe8sFkutfuqLm3JG/EruuecevvrqKyIjI7l06RL33nsv7u7uDBo0iNGjR9OoUSN8fHzIzc0FoEePHkyYMIEnn3zyqtcdOnQoc+bMYfTo0QQEBODq6lqlzZIlS3jppZcYNmwYDg4OuLm54e/vT3p6Oj179iQuLo7nnnvOWqfet29fIiMjr8lzEBEREZFr76ZLxCMiIoiIiKh0bObMmdbPc+fOrRJT3TGoSJ4v69WrFwC7dv2yk9/l8pd///vfDB06lDvuuIOMjAzr7PivNWnSxLpiymUFBQXk5FTs8telSxcSExOvem8iIiIiN4P6tARhbdx0ifiN0KpVK2bMmMGqVaswmUwsWLDgP4rz8PDAw8PjGo9OREREpGGpT+UltWGw2MudiIiIiMhNIS3jTK3iuwU3r6OR1I5mxEVERESkQbGXeWQl4nbs0r4jNsc0Dgvlx+yzNsV0almxHOPR0xdsigvx9QQgr6DYpjgfDzebYy7HHTjxs00xnVs1A+DgyfzfaVlZhwAjAIdzztkU19bPi+N5BTbFAAT5eHC2sMSmGG/3ipeGa3pvOecu2RTn59XY5ucBFc+kpn9bRQeO2RTXqHMbCgpsf/4eHh42x10uO9t/3La/yVuDKv4ma/K3XNPnX5PfNdT8b0tE5GahRFxEREREGhS9rCkiIiIicgPYS2lKg97QZ8+ePUyfPt36fevWrfzpT3/i5MmTLF68mJMnT3Lu3Dk2b958xWvMmTOHnTt31um4tmzZQrdu3Th9+nSN+rl06RKLFy9m2LBhREdHEx0dzaefflqnYxQRERFpqOxlQ58GnYj/2kcffcRrr73Gm2++SUBAAPPmzSMgIICDBw/yj3/847qOJSUlhejoaDZt2lSj+GeffZZWrVqRkpJCUlISr7zyCqtXr+bcOdvrO0VERETsjdlSu5/6wi4S8Q8++IA333yTN954Ax8fHwCio6M5cuQIf/vb39i9ezfJyclkZGQQFRXFiBEjePTRRzl7tuKlxOTkZMaMGcOQIUPYt28fAElJSYwYMYKRI0daN9KZM2cOCxYsYNy4cTz44IMcOHCgylhOnDjB+fPnGT9+PP/zP/9DWVmZ9dw777zDo48+SlRUFJmZmSQmJrJq1SoASktL6d+/PydPnuTYsWOMGTPGGuft7U1qaipeXl6kpqYyevRoRo0axZdffnltHqiIiIiIXHMNPhH/5ptv2LRpE+fPn6e8vLzK+YkTJ9KrVy9GjBjBkiVLmDBhgjXx/uGHHwDo3LkziYmJREVFkZqayuHDh9myZQvvvPMOb7/9Ntu3b+fo0aMABAQE8PrrrxMdHU1ycnKV/v7+97/zyCOP4OnpSbdu3SqVlISHh7NhwwbGjx/PsmXLeOihh/jkk0+wWCzs2LGDvn37kpubS6tWrawxK1euJDo6moceeoitW7cC4Onpybvvvsvtt99ep89SREREpCFQaUo90bx5c9544w0effRRZs2ahdlsvmLbY8eO0b17dwD69evHHXfcAVQk4gA+Pj4UFxeTnp7OyZMneeyxx3jsscc4d+4cmZmZAHTq1AkAPz8/SktLK12/vLyczZs3s3XrVsaNG0dGRgZvvfWW9XyPHj0A6N69O8eOHaNp06Z06tSJvXv38v777zN06FD8/PzIzs62xkyZMoWkpCT69OnDpUsVS4i1adOmVs9MREREpCGzWGr3U180+ES8devWuLq6EhUVhbOzMwkJCZXOOzg4WJPz0NBQ9u/fD8CHH35IUlISAAaDoVJMSEgIbdu2JTExkaSkJIYMGUKHDh2qbftrn3/+OV26dCEpKYnXX3+dv//97/z888/89NNPANayl2+++YZ27doBMHz4cDZs2EBxcTGhoaH4+fkRGBjI22+/bb1uQUEBP/74o7VvB4cG/2sTERERqTGzxVKrn/rCrjK62NhYkpOT2b17t/VYUFAQ6enpvPnmmzzzzDOsWbOG6OhoNm/ezIMPPljtdTp27Mjtt9/OqFGjGDJkCBkZGfj6+v5u/5s2beKhhx6qdGzo0KHWpPq7775jzJgxbNiwgVmzZgFw2223kZ6ezpAhQ6wxS5YsISsri1GjRhEVFcWjjz5KREQEAwcOtPmZiIiIiEj9ZLDUp0IZqVPaWbNqnHbW/IV21qxKO2tWpZ01RaQ++uLH7N9vdBV3dGpZRyOpHW3oIyIiIiINSn0qL6kNzYiLiIiISIPy+YGsWsXf1TmwjkZSO5oRt2M1/S92W0taGoeFVvS3M822vvp0A+DS/qO29XdrCGcu2F6a0tzTjZNL3v79hr8SMHs0ABd27LUpzrPfHwDbfwceHh4UfvWjTTEA7rd1qnFpRMbUV2yKC35lKv+fvTsPq6rc+z/+3oyiIIMIRqACHoc0TdNw6PGY9nMo0fKEgEllaqVpaeoRU4pUFE2zzEQcSsNUxGg4mtqcJ0tzKs1yDhNJIAUDlEn/Oo4UAAAgAElEQVT4/cHjfiJQW4AC28/ruriuvddenzXtzfbrzb3uG+CnZGNdmG7zdiNzk/Gx713u70LW1/sNZZzubgvA729vMZRzf6QvuUeNf7nX+Yc3qTHvG8p4jnoAgJzdhwzl6nVsCUD6m5sM5Ro+fj/ZO38ylAFwDLitwsd45vUNhnKNxj4EVOyzJSI3F0tpEbeomzVFRERERGoLtYiLiIiISK1iKT2rVYiLiIiISK1iIXW45XZN2blzJ+PHjzc/37JlC/379yclJYWoqChSUlLIzMzkP//5zxW3ER4ezrZt26rsmH799VdGjx5NSEgIISEhREZGkp2dbXg7iYmJzJs3r8qOS0RERKQ20YQ+tcjGjRtZunQpK1euxMvLi6lTp+Ll5cXhw4f5/PPPb8gxXLhwgaeeeoonn3ySdevWsW7dOtq1a8eECRNuyP5FRERELIWmuK8l3n//fVauXMlbb72Fu7s7AGFhYRw/fpwlS5awY8cO4uPjSUpKYujQoQQHB/Poo49y7lzJXfvx8fE88sgjDBo0yDxFfVxcHMHBwYSEhPD2228DJa3nL7zwAsOHDycwMJCDBw+WOo7PPvuMLl260K5dO/OyBx98kIyMDE6dOlWq9X3btm2Eh4cDsHr1ah555BGCgoJ44oknyM/Pv74XTERERERuCIvuI757925SU1M5f/48ly5dKvP6U089xbp16wgODmbUqFE88cQTdO/enc8++4yffioZ5qt169aMHj2axMREEhMTqVu3Lh999BFr1qwBYNiwYdx9990AeHl5MX36dNavX098fDzTp0837yslJQUfH58yx3Drrbdy+nT5s0MVFRWRmZnJypUrsbKyYvjw4Rw4cKDS10VERESkNtPNmrVAw4YNeeutt0hISGDSpEksW7YMK6vy/wjwyy+/0L59ewB69eoFlHRpad26NQDu7u7k5uZy5MgRUlJSeOyxxwA4f/48J0+eBKBVq1YANGrUiL1795bavpeXF99/X3ac7aSkJDw9PUstu/zhsrKywtbWlueee466dety5swZCgsLK3IpRERERCxGTernXRkW3TWlSZMm2NvbM3ToUGxtbYmJiSn1upWVFUVFRQD4+/ubW5s//PBD4uLiADCZTKUyfn5+NGvWjLfffpu4uDgGDRpEixYtyl33z3r27Mk333zDDz/8QFFREU8++SQzZ87E1dUVX19f7OzsSE9PBzC3xh86dIhPP/2UV199lYiICIqKiizmf4AiIiIiFWUpfcQtukX8z2bNmsUDDzzAnXfeaV7WuHFjjhw5wsqVK/n3v//NCy+8QExMDHXq1OHll18u088boGXLlnTp0oXQ0FDy8/Np27ZtmRbt8tSrV4/Y2Fiio6M5d+4ceXl5FBUV4eDgwOnTpwkKCuL555/nP//5D02bNgVK/iPh4OBASEgIUNLCn5aWVjUXRERERESqlcUW4gEBAQQEBJifu7m5mW+G7Ny5s3n55s2bzY9XrVpVahvR0dHmx927d6d79+4AjBgxghEjRvytdf+scePGLF68uNSyU6dOYWdnx+23317uUIqXbwYVERERkRKW0jXFYgvx2qK8GzhFRERE5MospauuqdhSzkREREREbgoffHesUvmBdzWroiOpHLWIW7CC384aztje0oCs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\n",
|
|
"text/plain": [
|
|
"<Figure size 864x864 with 2 Axes>"
|
|
]
|
|
},
|
|
"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": 29,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"spearman_weakly_correlated = set()\n",
|
|
"spearman_strongly_correlated = set()\n",
|
|
"spearman_uncorrelated = set()\n",
|
|
"# Iterate over the raw and transformed target.\n",
|
|
"for target in TARGET_VARIABLES:\n",
|
|
" corrs = spearman.loc[target].drop(TARGET_VARIABLES).abs()\n",
|
|
" spearman_weakly_correlated |= set(corrs[(weak < corrs) & (corrs <= strong)].index)\n",
|
|
" spearman_strongly_correlated |= set(corrs[(strong < corrs)].index)\n",
|
|
" spearman_uncorrelated |= set(corrs[(corrs < uncorrelated)].index)\n",
|
|
"# Show that no contradiction exists between the classifications.\n",
|
|
"assert spearman_weakly_correlated & spearman_strongly_correlated == set()\n",
|
|
"assert spearman_weakly_correlated & spearman_uncorrelated == set()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Show the discrete and ordinal variables that are weakly and strongly correlated with the sales price or uncorrelated."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Bsmt Half Bath Basement half bathrooms\n",
|
|
"BsmtFin Type 2 Rating of basement finished area (if multiple types)\n",
|
|
"Exter Cond Evaluates the present condition of the material on the exterior\n",
|
|
"Land Slope Slope of property\n",
|
|
"Mo Sold Month Sold (MM)\n",
|
|
"Pool QC Pool quality\n",
|
|
"Utilities Type of utilities available\n",
|
|
"Yr Sold Year Sold (YYYY)\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print_column_list(spearman_uncorrelated)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 31,
|
|
"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",
|
|
"Lot Shape General shape of property\n",
|
|
"Paved Drive Paved driveway\n",
|
|
"TotRms AbvGrd Total rooms above grade (does not include bathrooms)\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": 32,
|
|
"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",
|
|
"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": 33,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"with open(\"data/correlated_variables.json\", \"w\") as file:\n",
|
|
" file.write(json.dumps({\n",
|
|
" \"uncorrelated\": sorted(\n",
|
|
" list(pearson_uncorrelated) + list(spearman_uncorrelated)\n",
|
|
" ),\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",
|
|
"Sort the new variables into the unprocessed `cleaned_df` DataFrame with the targets at the end. This \"restores\" the ordinal labels again for storage."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 34,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"for column in new_variables:\n",
|
|
" cleaned_df[column] = df[column]\n",
|
|
"for target in set(TARGET_VARIABLES) & set(new_variables):\n",
|
|
" new_variables.remove(target)\n",
|
|
"cleaned_df = cleaned_df[sorted(ALL_VARIABLES + new_variables) + TARGET_VARIABLES]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In totality, this notebook added two new linear combinations and one Box-Cox transformation to the previous 78 columns."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"(2898, 83)"
|
|
]
|
|
},
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"cleaned_df.shape"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th>1st Flr SF</th>\n",
|
|
" <th>2nd Flr SF</th>\n",
|
|
" <th>3Ssn Porch</th>\n",
|
|
" <th>Alley</th>\n",
|
|
" <th>Bedroom AbvGr</th>\n",
|
|
" <th>Bldg Type</th>\n",
|
|
" <th>Bsmt Cond</th>\n",
|
|
" <th>Bsmt Exposure</th>\n",
|
|
" <th>Bsmt Full Bath</th>\n",
|
|
" <th>Bsmt Half Bath</th>\n",
|
|
" <th>Bsmt Qual</th>\n",
|
|
" <th>Bsmt Unf SF</th>\n",
|
|
" <th>BsmtFin SF 1</th>\n",
|
|
" <th>BsmtFin SF 2</th>\n",
|
|
" <th>BsmtFin Type 1</th>\n",
|
|
" <th>BsmtFin Type 2</th>\n",
|
|
" <th>Central Air</th>\n",
|
|
" <th>Condition 1</th>\n",
|
|
" <th>Condition 2</th>\n",
|
|
" <th>Electrical</th>\n",
|
|
" <th>Enclosed Porch</th>\n",
|
|
" <th>Exter Cond</th>\n",
|
|
" <th>Exter Qual</th>\n",
|
|
" <th>Exterior 1st</th>\n",
|
|
" <th>Exterior 2nd</th>\n",
|
|
" <th>Fence</th>\n",
|
|
" <th>Fireplace Qu</th>\n",
|
|
" <th>Fireplaces</th>\n",
|
|
" <th>Foundation</th>\n",
|
|
" <th>Full Bath</th>\n",
|
|
" <th>Functional</th>\n",
|
|
" <th>Garage Area</th>\n",
|
|
" <th>Garage Cars</th>\n",
|
|
" <th>Garage Cond</th>\n",
|
|
" <th>Garage Finish</th>\n",
|
|
" <th>Garage Qual</th>\n",
|
|
" <th>Garage Type</th>\n",
|
|
" <th>Gr Liv Area</th>\n",
|
|
" <th>Half Bath</th>\n",
|
|
" <th>Heating</th>\n",
|
|
" <th>Heating QC</th>\n",
|
|
" <th>House Style</th>\n",
|
|
" <th>Kitchen AbvGr</th>\n",
|
|
" <th>Kitchen Qual</th>\n",
|
|
" <th>Land Contour</th>\n",
|
|
" <th>Land Slope</th>\n",
|
|
" <th>Lot Area</th>\n",
|
|
" <th>Lot Config</th>\n",
|
|
" <th>Lot Shape</th>\n",
|
|
" <th>Low Qual Fin SF</th>\n",
|
|
" <th>MS SubClass</th>\n",
|
|
" <th>MS Zoning</th>\n",
|
|
" <th>Mas Vnr Area</th>\n",
|
|
" <th>Mas Vnr Type</th>\n",
|
|
" <th>Misc Feature</th>\n",
|
|
" <th>Misc Val</th>\n",
|
|
" <th>Mo Sold</th>\n",
|
|
" <th>Neighborhood</th>\n",
|
|
" <th>Open Porch SF</th>\n",
|
|
" <th>Overall Cond</th>\n",
|
|
" <th>Overall Qual</th>\n",
|
|
" <th>Paved Drive</th>\n",
|
|
" <th>Pool Area</th>\n",
|
|
" <th>Pool QC</th>\n",
|
|
" <th>Roof Matl</th>\n",
|
|
" <th>Roof Style</th>\n",
|
|
" <th>Sale Condition</th>\n",
|
|
" <th>Sale Type</th>\n",
|
|
" <th>Screen Porch</th>\n",
|
|
" <th>Street</th>\n",
|
|
" <th>TotRms AbvGrd</th>\n",
|
|
" <th>Total Bath</th>\n",
|
|
" <th>Total Bsmt SF</th>\n",
|
|
" <th>Total Porch SF</th>\n",
|
|
" <th>Total SF</th>\n",
|
|
" <th>Total SF (box-cox-0.0)</th>\n",
|
|
" <th>Utilities</th>\n",
|
|
" <th>Wood Deck SF</th>\n",
|
|
" <th>Year Built</th>\n",
|
|
" <th>Year Remod/Add</th>\n",
|
|
" <th>Yr Sold</th>\n",
|
|
" <th>SalePrice</th>\n",
|
|
" <th>SalePrice (box-cox-0.0)</th>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>Order</th>\n",
|
|
" <th>PID</th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" <th></th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <th>526301100</th>\n",
|
|
" <td>1656.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1Fam</td>\n",
|
|
" <td>Gd</td>\n",
|
|
" <td>Gd</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>441.0</td>\n",
|
|
" <td>639.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>BLQ</td>\n",
|
|
" <td>Unf</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>SBrkr</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>BrkFace</td>\n",
|
|
" <td>Plywood</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>Gd</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>CBlock</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Typ</td>\n",
|
|
" <td>528.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Fin</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Attchd</td>\n",
|
|
" <td>1656.0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>GasA</td>\n",
|
|
" <td>Fa</td>\n",
|
|
" <td>1Story</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Lvl</td>\n",
|
|
" <td>Gtl</td>\n",
|
|
" <td>31770.0</td>\n",
|
|
" <td>Corner</td>\n",
|
|
" <td>IR1</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>020</td>\n",
|
|
" <td>RL</td>\n",
|
|
" <td>112.0</td>\n",
|
|
" <td>Stone</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>Names</td>\n",
|
|
" <td>62.0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>P</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>CompShg</td>\n",
|
|
" <td>Hip</td>\n",
|
|
" <td>Normal</td>\n",
|
|
" <td>WD</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>Pave</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>2.0</td>\n",
|
|
" <td>1080.0</td>\n",
|
|
" <td>272.0</td>\n",
|
|
" <td>2736.0</td>\n",
|
|
" <td>7.914252</td>\n",
|
|
" <td>AllPub</td>\n",
|
|
" <td>210.0</td>\n",
|
|
" <td>1960</td>\n",
|
|
" <td>1960</td>\n",
|
|
" <td>2010</td>\n",
|
|
" <td>215000.0</td>\n",
|
|
" <td>12.278393</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <th>526350040</th>\n",
|
|
" <td>896.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>1Fam</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>No</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>270.0</td>\n",
|
|
" <td>468.0</td>\n",
|
|
" <td>144.0</td>\n",
|
|
" <td>Rec</td>\n",
|
|
" <td>LwQ</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>Feedr</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>SBrkr</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>VinylSd</td>\n",
|
|
" <td>VinylSd</td>\n",
|
|
" <td>MnPrv</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>CBlock</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Typ</td>\n",
|
|
" <td>730.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Unf</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Attchd</td>\n",
|
|
" <td>896.0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>GasA</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>1Story</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Lvl</td>\n",
|
|
" <td>Gtl</td>\n",
|
|
" <td>11622.0</td>\n",
|
|
" <td>Inside</td>\n",
|
|
" <td>Reg</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>020</td>\n",
|
|
" <td>RH</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>None</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>Names</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>CompShg</td>\n",
|
|
" <td>Gable</td>\n",
|
|
" <td>Normal</td>\n",
|
|
" <td>WD</td>\n",
|
|
" <td>120.0</td>\n",
|
|
" <td>Pave</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>1.0</td>\n",
|
|
" <td>882.0</td>\n",
|
|
" <td>260.0</td>\n",
|
|
" <td>1778.0</td>\n",
|
|
" <td>7.483244</td>\n",
|
|
" <td>AllPub</td>\n",
|
|
" <td>140.0</td>\n",
|
|
" <td>1961</td>\n",
|
|
" <td>1961</td>\n",
|
|
" <td>2010</td>\n",
|
|
" <td>105000.0</td>\n",
|
|
" <td>11.561716</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <th>526351010</th>\n",
|
|
" <td>1329.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1Fam</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>No</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>406.0</td>\n",
|
|
" <td>923.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>ALQ</td>\n",
|
|
" <td>Unf</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>SBrkr</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Wd Sdng</td>\n",
|
|
" <td>Wd Sdng</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>CBlock</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Typ</td>\n",
|
|
" <td>312.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Unf</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Attchd</td>\n",
|
|
" <td>1329.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>GasA</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>1Story</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Gd</td>\n",
|
|
" <td>Lvl</td>\n",
|
|
" <td>Gtl</td>\n",
|
|
" <td>14267.0</td>\n",
|
|
" <td>Corner</td>\n",
|
|
" <td>IR1</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>020</td>\n",
|
|
" <td>RL</td>\n",
|
|
" <td>108.0</td>\n",
|
|
" <td>BrkFace</td>\n",
|
|
" <td>Gar2</td>\n",
|
|
" <td>12500.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>Names</td>\n",
|
|
" <td>36.0</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>CompShg</td>\n",
|
|
" <td>Hip</td>\n",
|
|
" <td>Normal</td>\n",
|
|
" <td>WD</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>Pave</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>1.5</td>\n",
|
|
" <td>1329.0</td>\n",
|
|
" <td>429.0</td>\n",
|
|
" <td>2658.0</td>\n",
|
|
" <td>7.885329</td>\n",
|
|
" <td>AllPub</td>\n",
|
|
" <td>393.0</td>\n",
|
|
" <td>1958</td>\n",
|
|
" <td>1958</td>\n",
|
|
" <td>2010</td>\n",
|
|
" <td>172000.0</td>\n",
|
|
" <td>12.055250</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <th>526353030</th>\n",
|
|
" <td>2110.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1Fam</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>No</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>1045.0</td>\n",
|
|
" <td>1065.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>ALQ</td>\n",
|
|
" <td>Unf</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>SBrkr</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Gd</td>\n",
|
|
" <td>BrkFace</td>\n",
|
|
" <td>BrkFace</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>CBlock</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>Typ</td>\n",
|
|
" <td>522.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Fin</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Attchd</td>\n",
|
|
" <td>2110.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>GasA</td>\n",
|
|
" <td>Ex</td>\n",
|
|
" <td>1Story</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Ex</td>\n",
|
|
" <td>Lvl</td>\n",
|
|
" <td>Gtl</td>\n",
|
|
" <td>11160.0</td>\n",
|
|
" <td>Corner</td>\n",
|
|
" <td>Reg</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>020</td>\n",
|
|
" <td>RL</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>None</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>4</td>\n",
|
|
" <td>Names</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>7</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>CompShg</td>\n",
|
|
" <td>Hip</td>\n",
|
|
" <td>Normal</td>\n",
|
|
" <td>WD</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>Pave</td>\n",
|
|
" <td>8</td>\n",
|
|
" <td>3.5</td>\n",
|
|
" <td>2110.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>4220.0</td>\n",
|
|
" <td>8.347590</td>\n",
|
|
" <td>AllPub</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>1968</td>\n",
|
|
" <td>1968</td>\n",
|
|
" <td>2010</td>\n",
|
|
" <td>244000.0</td>\n",
|
|
" <td>12.404924</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <th>527105010</th>\n",
|
|
" <td>928.0</td>\n",
|
|
" <td>701.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>1Fam</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>No</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>0</td>\n",
|
|
" <td>Gd</td>\n",
|
|
" <td>137.0</td>\n",
|
|
" <td>791.0</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>GLQ</td>\n",
|
|
" <td>Unf</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>Norm</td>\n",
|
|
" <td>SBrkr</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>VinylSd</td>\n",
|
|
" <td>VinylSd</td>\n",
|
|
" <td>MnPrv</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>PConc</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>Typ</td>\n",
|
|
" <td>482.0</td>\n",
|
|
" <td>2</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Fin</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Attchd</td>\n",
|
|
" <td>1629.0</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>GasA</td>\n",
|
|
" <td>Gd</td>\n",
|
|
" <td>2Story</td>\n",
|
|
" <td>1</td>\n",
|
|
" <td>TA</td>\n",
|
|
" <td>Lvl</td>\n",
|
|
" <td>Gtl</td>\n",
|
|
" <td>13830.0</td>\n",
|
|
" <td>Inside</td>\n",
|
|
" <td>IR1</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>060</td>\n",
|
|
" <td>RL</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>None</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>3</td>\n",
|
|
" <td>Gilbert</td>\n",
|
|
" <td>34.0</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>5</td>\n",
|
|
" <td>Y</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>NA</td>\n",
|
|
" <td>CompShg</td>\n",
|
|
" <td>Gable</td>\n",
|
|
" <td>Normal</td>\n",
|
|
" <td>WD</td>\n",
|
|
" <td>0.0</td>\n",
|
|
" <td>Pave</td>\n",
|
|
" <td>6</td>\n",
|
|
" <td>2.5</td>\n",
|
|
" <td>928.0</td>\n",
|
|
" <td>246.0</td>\n",
|
|
" <td>2557.0</td>\n",
|
|
" <td>7.846590</td>\n",
|
|
" <td>AllPub</td>\n",
|
|
" <td>212.0</td>\n",
|
|
" <td>1997</td>\n",
|
|
" <td>1998</td>\n",
|
|
" <td>2010</td>\n",
|
|
" <td>189900.0</td>\n",
|
|
" <td>12.154253</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"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 Gd Gd 1 \n",
|
|
"2 526350040 1Fam TA No 0 \n",
|
|
"3 526351010 1Fam TA No 0 \n",
|
|
"4 526353030 1Fam TA No 1 \n",
|
|
"5 527105010 1Fam TA No 0 \n",
|
|
"\n",
|
|
" Bsmt Half Bath Bsmt Qual Bsmt Unf SF BsmtFin SF 1 \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 0 TA 441.0 639.0 \n",
|
|
"2 526350040 0 TA 270.0 468.0 \n",
|
|
"3 526351010 0 TA 406.0 923.0 \n",
|
|
"4 526353030 0 TA 1045.0 1065.0 \n",
|
|
"5 527105010 0 Gd 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 BLQ Unf Y \n",
|
|
"2 526350040 144.0 Rec LwQ Y \n",
|
|
"3 526351010 0.0 ALQ Unf Y \n",
|
|
"4 526353030 0.0 ALQ Unf Y \n",
|
|
"5 527105010 0.0 GLQ Unf Y \n",
|
|
"\n",
|
|
" Condition 1 Condition 2 Electrical Enclosed Porch Exter Cond \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 Norm Norm SBrkr 0.0 TA \n",
|
|
"2 526350040 Feedr Norm SBrkr 0.0 TA \n",
|
|
"3 526351010 Norm Norm SBrkr 0.0 TA \n",
|
|
"4 526353030 Norm Norm SBrkr 0.0 TA \n",
|
|
"5 527105010 Norm Norm SBrkr 0.0 TA \n",
|
|
"\n",
|
|
" Exter Qual Exterior 1st Exterior 2nd Fence Fireplace Qu \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 TA BrkFace Plywood NA Gd \n",
|
|
"2 526350040 TA VinylSd VinylSd MnPrv NA \n",
|
|
"3 526351010 TA Wd Sdng Wd Sdng NA NA \n",
|
|
"4 526353030 Gd BrkFace BrkFace NA TA \n",
|
|
"5 527105010 TA VinylSd VinylSd MnPrv TA \n",
|
|
"\n",
|
|
" Fireplaces Foundation Full Bath Functional Garage Area \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 2 CBlock 1 Typ 528.0 \n",
|
|
"2 526350040 0 CBlock 1 Typ 730.0 \n",
|
|
"3 526351010 0 CBlock 1 Typ 312.0 \n",
|
|
"4 526353030 2 CBlock 2 Typ 522.0 \n",
|
|
"5 527105010 1 PConc 2 Typ 482.0 \n",
|
|
"\n",
|
|
" Garage Cars Garage Cond Garage Finish Garage Qual \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 2 TA Fin TA \n",
|
|
"2 526350040 1 TA Unf TA \n",
|
|
"3 526351010 1 TA Unf TA \n",
|
|
"4 526353030 2 TA Fin TA \n",
|
|
"5 527105010 2 TA Fin TA \n",
|
|
"\n",
|
|
" Garage Type Gr Liv Area Half Bath Heating Heating QC \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 Attchd 1656.0 0 GasA Fa \n",
|
|
"2 526350040 Attchd 896.0 0 GasA TA \n",
|
|
"3 526351010 Attchd 1329.0 1 GasA TA \n",
|
|
"4 526353030 Attchd 2110.0 1 GasA Ex \n",
|
|
"5 527105010 Attchd 1629.0 1 GasA Gd \n",
|
|
"\n",
|
|
" House Style Kitchen AbvGr Kitchen Qual Land Contour \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 1Story 1 TA Lvl \n",
|
|
"2 526350040 1Story 1 TA Lvl \n",
|
|
"3 526351010 1Story 1 Gd Lvl \n",
|
|
"4 526353030 1Story 1 Ex Lvl \n",
|
|
"5 527105010 2Story 1 TA Lvl \n",
|
|
"\n",
|
|
" Land Slope Lot Area Lot Config Lot Shape Low Qual Fin SF \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 Gtl 31770.0 Corner IR1 0.0 \n",
|
|
"2 526350040 Gtl 11622.0 Inside Reg 0.0 \n",
|
|
"3 526351010 Gtl 14267.0 Corner IR1 0.0 \n",
|
|
"4 526353030 Gtl 11160.0 Corner Reg 0.0 \n",
|
|
"5 527105010 Gtl 13830.0 Inside IR1 0.0 \n",
|
|
"\n",
|
|
" MS SubClass MS Zoning Mas Vnr Area Mas Vnr Type Misc Feature \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 020 RL 112.0 Stone NA \n",
|
|
"2 526350040 020 RH 0.0 None NA \n",
|
|
"3 526351010 020 RL 108.0 BrkFace Gar2 \n",
|
|
"4 526353030 020 RL 0.0 None NA \n",
|
|
"5 527105010 060 RL 0.0 None NA \n",
|
|
"\n",
|
|
" Misc Val Mo Sold Neighborhood Open Porch SF Overall Cond \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 0.0 5 Names 62.0 5 \n",
|
|
"2 526350040 0.0 6 Names 0.0 6 \n",
|
|
"3 526351010 12500.0 6 Names 36.0 6 \n",
|
|
"4 526353030 0.0 4 Names 0.0 5 \n",
|
|
"5 527105010 0.0 3 Gilbert 34.0 5 \n",
|
|
"\n",
|
|
" Overall Qual Paved Drive Pool Area Pool QC Roof Matl \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 6 P 0.0 NA CompShg \n",
|
|
"2 526350040 5 Y 0.0 NA CompShg \n",
|
|
"3 526351010 6 Y 0.0 NA CompShg \n",
|
|
"4 526353030 7 Y 0.0 NA CompShg \n",
|
|
"5 527105010 5 Y 0.0 NA CompShg \n",
|
|
"\n",
|
|
" Roof Style Sale Condition Sale Type Screen Porch Street \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 Hip Normal WD 0.0 Pave \n",
|
|
"2 526350040 Gable Normal WD 120.0 Pave \n",
|
|
"3 526351010 Hip Normal WD 0.0 Pave \n",
|
|
"4 526353030 Hip Normal WD 0.0 Pave \n",
|
|
"5 527105010 Gable Normal WD 0.0 Pave \n",
|
|
"\n",
|
|
" TotRms AbvGrd Total Bath Total Bsmt SF Total Porch SF \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 7 2.0 1080.0 272.0 \n",
|
|
"2 526350040 5 1.0 882.0 260.0 \n",
|
|
"3 526351010 6 1.5 1329.0 429.0 \n",
|
|
"4 526353030 8 3.5 2110.0 0.0 \n",
|
|
"5 527105010 6 2.5 928.0 246.0 \n",
|
|
"\n",
|
|
" Total SF Total SF (box-cox-0.0) Utilities Wood Deck SF \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 2736.0 7.914252 AllPub 210.0 \n",
|
|
"2 526350040 1778.0 7.483244 AllPub 140.0 \n",
|
|
"3 526351010 2658.0 7.885329 AllPub 393.0 \n",
|
|
"4 526353030 4220.0 8.347590 AllPub 0.0 \n",
|
|
"5 527105010 2557.0 7.846590 AllPub 212.0 \n",
|
|
"\n",
|
|
" Year Built Year Remod/Add Yr Sold SalePrice \\\n",
|
|
"Order PID \n",
|
|
"1 526301100 1960 1960 2010 215000.0 \n",
|
|
"2 526350040 1961 1961 2010 105000.0 \n",
|
|
"3 526351010 1958 1958 2010 172000.0 \n",
|
|
"4 526353030 1968 1968 2010 244000.0 \n",
|
|
"5 527105010 1997 1998 2010 189900.0 \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": 36,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"cleaned_df.head()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"cleaned_df.to_csv(\"data/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
|
|
}
|