Created
February 24, 2022 09:12
-
-
Save nikisix/1592303bbfebfeddca62b291955a4ad6 to your computer and use it in GitHub Desktop.
material_regression.ipynb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "material_regression.ipynb", | |
"provenance": [], | |
"mount_file_id": "198isESE1yCwpSld2wNE0vDtMLUGpQMUa", | |
"authorship_tag": "ABX9TyPaNumxRDjvYNlmnwFADnZ0", | |
"include_colab_link": true | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/nikisix/1592303bbfebfeddca62b291955a4ad6/material_regression.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"id": "LGJwovWqF0-q" | |
}, | |
"outputs": [], | |
"source": [ | |
"from sklearn import linear_model as lm\n", | |
"from sklearn.model_selection import train_test_split\n", | |
"from sklearn.preprocessing import StandardScaler\n", | |
"import matplotlib.pyplot as plt\n", | |
"import numpy as np\n", | |
"import pandas as pd" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"" | |
], | |
"metadata": { | |
"id": "5hcFr2jhtpm_" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!ls -alh drive/MyDrive/Colab\\ Notebooks/regression_data.csv" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "aEQKJqteGD1V", | |
"outputId": "ec32ea7a-9098-432e-fe41-582f100474e9" | |
}, | |
"execution_count": 2, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-rw------- 1 root root 406K Feb 20 17:00 'drive/MyDrive/Colab Notebooks/regression_data.csv'\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# df = pd.read_csv('drive/MyDrive/Colab Notebooks/regression_data.csv', index_col='ProjectId')\n", | |
"# df = pd.read_csv('/regression_data_22Feb.csv')\n", | |
"df = pd.read_csv('/regression_data_with_nn.csv')\n", | |
"df.shape" | |
], | |
"metadata": { | |
"id": "kFZRH7iaHYGQ", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "92e71e43-78df-4af0-fe4c-727052afadfe" | |
}, | |
"execution_count": 3, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(1834, 71)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 3 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# !wc -l drive/MyDrive/Colab\\ Notebooks/regression_data.csv\n", | |
"!wc -l /regression_data.csv" | |
], | |
"metadata": { | |
"id": "JMT3Dki3HZl6", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "47042176-7cb4-4774-8153-3ca551c12f06" | |
}, | |
"execution_count": 4, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"wc: /regression_data.csv: No such file or directory\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df.isnull().sum().sum()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "vme_d6mHg8xt", | |
"outputId": "626d0b2e-b10a-4a4b-9f5b-4950436059ce" | |
}, | |
"execution_count": 5, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"20956" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 5 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df.head()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 270 | |
}, | |
"id": "ZMeerMOPhDtj", | |
"outputId": "0140c3cd-b174-4bcc-9761-219277470934" | |
}, | |
"execution_count": 6, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"\n", | |
" <div id=\"df-39ef7ac2-0845-4858-bb73-1c2a2cda154d\">\n", | |
" <div class=\"colab-df-container\">\n", | |
" <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>ProjectId</th>\n", | |
" <th>total_area</th>\n", | |
" <th>total_perim</th>\n", | |
" <th>total_interior_len</th>\n", | |
" <th>total_exterior_len</th>\n", | |
" <th>num_rooms</th>\n", | |
" <th>garage_area</th>\n", | |
" <th>garage_perim</th>\n", | |
" <th>garage_rooms</th>\n", | |
" <th>kitchen_area</th>\n", | |
" <th>kitchen_perim</th>\n", | |
" <th>kitchen_rooms</th>\n", | |
" <th>living_room_area</th>\n", | |
" <th>living_room_perim</th>\n", | |
" <th>living_room_rooms</th>\n", | |
" <th>bath_area</th>\n", | |
" <th>bath_perim</th>\n", | |
" <th>bath_rooms</th>\n", | |
" <th>entry_area</th>\n", | |
" <th>entry_perim</th>\n", | |
" <th>entry_rooms</th>\n", | |
" <th>storage_area</th>\n", | |
" <th>storage_perim</th>\n", | |
" <th>storage_rooms</th>\n", | |
" <th>bedroom_area</th>\n", | |
" <th>bedroom_perim</th>\n", | |
" <th>bedroom_rooms</th>\n", | |
" <th>HasGroundFloor</th>\n", | |
" <th>HasFirstFloor</th>\n", | |
" <th>HasSecondFloor</th>\n", | |
" <th>HasThirdFloor</th>\n", | |
" <th>HasFourthFloor</th>\n", | |
" <th>HasUpperFloor</th>\n", | |
" <th>HasLowerFloor</th>\n", | |
" <th>HasBasementFloor</th>\n", | |
" <th>FloorCountEstimate_1</th>\n", | |
" <th>FloorCountEstimate_2</th>\n", | |
" <th>BuilderId</th>\n", | |
" <th>CompanyId</th>\n", | |
" <th>SiteState</th>\n", | |
" <th>ext_frame_len</th>\n", | |
" <th>int_frame_len</th>\n", | |
" <th>distance_from_nearest_project_id</th>\n", | |
" <th>total_area_nn</th>\n", | |
" <th>total_perim_nn</th>\n", | |
" <th>total_interior_len_nn</th>\n", | |
" <th>total_exterior_len_nn</th>\n", | |
" <th>num_rooms_nn</th>\n", | |
" <th>garage_area_nn</th>\n", | |
" <th>garage_perim_nn</th>\n", | |
" <th>garage_rooms_nn</th>\n", | |
" <th>kitchen_area_nn</th>\n", | |
" <th>kitchen_perim_nn</th>\n", | |
" <th>kitchen_rooms_nn</th>\n", | |
" <th>living_room_area_nn</th>\n", | |
" <th>living_room_perim_nn</th>\n", | |
" <th>living_room_rooms_nn</th>\n", | |
" <th>bath_area_nn</th>\n", | |
" <th>bath_perim_nn</th>\n", | |
" <th>bath_rooms_nn</th>\n", | |
" <th>entry_area_nn</th>\n", | |
" <th>entry_perim_nn</th>\n", | |
" <th>entry_rooms_nn</th>\n", | |
" <th>storage_area_nn</th>\n", | |
" <th>storage_perim_nn</th>\n", | |
" <th>storage_rooms_nn</th>\n", | |
" <th>bedroom_area_nn</th>\n", | |
" <th>bedroom_perim_nn</th>\n", | |
" <th>bedroom_rooms_nn</th>\n", | |
" <th>ext_frame_len_nn</th>\n", | |
" <th>int_frame_len_nn</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>3033</td>\n", | |
" <td>1.050784e+08</td>\n", | |
" <td>142150.967742</td>\n", | |
" <td>102817.419355</td>\n", | |
" <td>39333.548387</td>\n", | |
" <td>13</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0</td>\n", | |
" <td>9.970552e+05</td>\n", | |
" <td>4972.903226</td>\n", | |
" <td>1</td>\n", | |
" <td>3.578204e+07</td>\n", | |
" <td>28038.709677</td>\n", | |
" <td>1</td>\n", | |
" <td>1.415119e+07</td>\n", | |
" <td>26874.838710</td>\n", | |
" <td>2</td>\n", | |
" <td>1.128526e+07</td>\n", | |
" <td>26345.806452</td>\n", | |
" <td>3</td>\n", | |
" <td>6.136962e+06</td>\n", | |
" <td>17563.870968</td>\n", | |
" <td>3</td>\n", | |
" <td>3.672591e+07</td>\n", | |
" <td>38354.838710</td>\n", | |
" <td>3</td>\n", | |
" <td>False</td>\n", | |
" <td>True</td>\n", | |
" <td>False</td>\n", | |
" <td>False</td>\n", | |
" <td>False</td>\n", | |
" <td>False</td>\n", | |
" <td>False</td>\n", | |
" <td>False</td>\n", | |
" <td>1.0</td>\n", | |
" <td>0.0</td>\n", | |
" <td>18638.0</td>\n", | |
" <td>124.0</td>\n", | |
" <td>VIC</td>\n", | |
" <td>0.0</td>\n", | |
" <td>51.0</td>\n", | |
" <td>0.750935</td>\n", | |
" <td>1.050784e+08</td>\n", | |
" <td>142150.967742</td>\n", | |
" <td>102817.419355</td>\n", | |
" <td>39333.548387</td>\n", | |
" <td>13</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0</td>\n", | |
" <td>9.970552e+05</td>\n", | |
" <td>4972.903226</td>\n", | |
" <td>1</td>\n", | |
" <td>3.578204e+07</td>\n", | |
" <td>28038.709677</td>\n", | |
" <td>1</td>\n", | |
" <td>1.415119e+07</td>\n", | |
" <td>26874.838710</td>\n", | |
" <td>2</td>\n", | |
" <td>1.128526e+07</td>\n", | |
" <td>26345.806452</td>\n", | |
" <td>3</td>\n", | |
" <td>6.136962e+06</td>\n", | |
" <td>17563.870968</td>\n", | |
" <td>3</td>\n", | |
" <td>3.672591e+07</td>\n", | |
" <td>38354.838710</td>\n", | |
" <td>3</td>\n", | |
" <td>0.0</td>\n", | |
" <td>51.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>8413</td>\n", | |
" <td>3.018125e+08</td>\n", | |
" <td>388171.034483</td>\n", | |
" <td>306708.275862</td>\n", | |
" <td>81462.758621</td>\n", | |
" <td>28</td>\n", | |
" <td>1.793493e+07</td>\n", | |
" <td>27088.275862</td>\n", | |
" <td>3</td>\n", | |
" <td>3.748890e+07</td>\n", | |
" <td>52140.689655</td>\n", | |
" <td>6</td>\n", | |
" <td>1.147405e+08</td>\n", | |
" <td>110728.275862</td>\n", | |
" <td>3</td>\n", | |
" <td>3.174432e+07</td>\n", | |
" <td>34157.241379</td>\n", | |
" <td>3</td>\n", | |
" <td>2.867654e+07</td>\n", | |
" <td>57343.448276</td>\n", | |
" <td>5</td>\n", | |
" <td>2.576068e+06</td>\n", | |
" <td>10179.310345</td>\n", | |
" <td>2</td>\n", | |
" <td>6.865116e+07</td>\n", | |
" <td>96533.793103</td>\n", | |
" <td>6</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>91.0</td>\n", | |
" <td>39.0</td>\n", | |
" <td>1.267461</td>\n", | |
" <td>3.018125e+08</td>\n", | |
" <td>388171.034483</td>\n", | |
" <td>306708.275862</td>\n", | |
" <td>81462.758621</td>\n", | |
" <td>28</td>\n", | |
" <td>1.793493e+07</td>\n", | |
" <td>27088.275862</td>\n", | |
" <td>3</td>\n", | |
" <td>3.748890e+07</td>\n", | |
" <td>52140.689655</td>\n", | |
" <td>6</td>\n", | |
" <td>1.147405e+08</td>\n", | |
" <td>110728.275862</td>\n", | |
" <td>3</td>\n", | |
" <td>3.174432e+07</td>\n", | |
" <td>34157.241379</td>\n", | |
" <td>3</td>\n", | |
" <td>2.867654e+07</td>\n", | |
" <td>57343.448276</td>\n", | |
" <td>5</td>\n", | |
" <td>2.576068e+06</td>\n", | |
" <td>10179.310345</td>\n", | |
" <td>2</td>\n", | |
" <td>6.865116e+07</td>\n", | |
" <td>96533.793103</td>\n", | |
" <td>6</td>\n", | |
" <td>91.0</td>\n", | |
" <td>39.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>8491</td>\n", | |
" <td>4.000085e+08</td>\n", | |
" <td>448323.318081</td>\n", | |
" <td>286633.043656</td>\n", | |
" <td>161690.274425</td>\n", | |
" <td>33</td>\n", | |
" <td>3.404430e+07</td>\n", | |
" <td>45132.589744</td>\n", | |
" <td>4</td>\n", | |
" <td>4.136135e+07</td>\n", | |
" <td>54213.790672</td>\n", | |
" <td>5</td>\n", | |
" <td>1.599522e+08</td>\n", | |
" <td>120435.660256</td>\n", | |
" <td>5</td>\n", | |
" <td>4.514363e+07</td>\n", | |
" <td>77552.841291</td>\n", | |
" <td>8</td>\n", | |
" <td>7.732415e+07</td>\n", | |
" <td>85339.134615</td>\n", | |
" <td>4</td>\n", | |
" <td>9.734323e+06</td>\n", | |
" <td>21013.442529</td>\n", | |
" <td>3</td>\n", | |
" <td>3.244851e+07</td>\n", | |
" <td>44635.858974</td>\n", | |
" <td>4</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>121.0</td>\n", | |
" <td>53.0</td>\n", | |
" <td>1.312566</td>\n", | |
" <td>4.000085e+08</td>\n", | |
" <td>448323.318081</td>\n", | |
" <td>286633.043656</td>\n", | |
" <td>161690.274425</td>\n", | |
" <td>33</td>\n", | |
" <td>3.404430e+07</td>\n", | |
" <td>45132.589744</td>\n", | |
" <td>4</td>\n", | |
" <td>4.136135e+07</td>\n", | |
" <td>54213.790672</td>\n", | |
" <td>5</td>\n", | |
" <td>1.599522e+08</td>\n", | |
" <td>120435.660256</td>\n", | |
" <td>5</td>\n", | |
" <td>4.514363e+07</td>\n", | |
" <td>77552.841291</td>\n", | |
" <td>8</td>\n", | |
" <td>7.732415e+07</td>\n", | |
" <td>85339.134615</td>\n", | |
" <td>4</td>\n", | |
" <td>9.734323e+06</td>\n", | |
" <td>21013.442529</td>\n", | |
" <td>3</td>\n", | |
" <td>3.244851e+07</td>\n", | |
" <td>44635.858974</td>\n", | |
" <td>4</td>\n", | |
" <td>121.0</td>\n", | |
" <td>53.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>5096</td>\n", | |
" <td>2.219221e+08</td>\n", | |
" <td>306098.064516</td>\n", | |
" <td>243301.935484</td>\n", | |
" <td>62796.129032</td>\n", | |
" <td>27</td>\n", | |
" <td>3.428610e+07</td>\n", | |
" <td>51898.064516</td>\n", | |
" <td>5</td>\n", | |
" <td>1.792180e+07</td>\n", | |
" <td>30207.741935</td>\n", | |
" <td>3</td>\n", | |
" <td>9.638480e+07</td>\n", | |
" <td>91205.161290</td>\n", | |
" <td>4</td>\n", | |
" <td>1.163581e+07</td>\n", | |
" <td>20261.935484</td>\n", | |
" <td>3</td>\n", | |
" <td>2.370053e+07</td>\n", | |
" <td>39148.387097</td>\n", | |
" <td>4</td>\n", | |
" <td>2.780140e+07</td>\n", | |
" <td>44597.419355</td>\n", | |
" <td>4</td>\n", | |
" <td>1.019165e+07</td>\n", | |
" <td>28779.354839</td>\n", | |
" <td>4</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>0.0</td>\n", | |
" <td>93.0</td>\n", | |
" <td>0.922744</td>\n", | |
" <td>2.219221e+08</td>\n", | |
" <td>306098.064516</td>\n", | |
" <td>243301.935484</td>\n", | |
" <td>62796.129032</td>\n", | |
" <td>27</td>\n", | |
" <td>3.428610e+07</td>\n", | |
" <td>51898.064516</td>\n", | |
" <td>5</td>\n", | |
" <td>1.792180e+07</td>\n", | |
" <td>30207.741935</td>\n", | |
" <td>3</td>\n", | |
" <td>9.638480e+07</td>\n", | |
" <td>91205.161290</td>\n", | |
" <td>4</td>\n", | |
" <td>1.163581e+07</td>\n", | |
" <td>20261.935484</td>\n", | |
" <td>3</td>\n", | |
" <td>2.370053e+07</td>\n", | |
" <td>39148.387097</td>\n", | |
" <td>4</td>\n", | |
" <td>2.780140e+07</td>\n", | |
" <td>44597.419355</td>\n", | |
" <td>4</td>\n", | |
" <td>1.019165e+07</td>\n", | |
" <td>28779.354839</td>\n", | |
" <td>4</td>\n", | |
" <td>0.0</td>\n", | |
" <td>93.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>7475</td>\n", | |
" <td>4.026416e+08</td>\n", | |
" <td>434928.000000</td>\n", | |
" <td>268900.363636</td>\n", | |
" <td>166027.636364</td>\n", | |
" <td>30</td>\n", | |
" <td>8.713148e+07</td>\n", | |
" <td>88560.000000</td>\n", | |
" <td>6</td>\n", | |
" <td>3.364979e+07</td>\n", | |
" <td>50512.000000</td>\n", | |
" <td>5</td>\n", | |
" <td>1.988206e+08</td>\n", | |
" <td>164000.000000</td>\n", | |
" <td>7</td>\n", | |
" <td>2.335284e+07</td>\n", | |
" <td>39419.636364</td>\n", | |
" <td>4</td>\n", | |
" <td>3.443133e+07</td>\n", | |
" <td>48544.000000</td>\n", | |
" <td>3</td>\n", | |
" <td>2.488747e+07</td>\n", | |
" <td>40612.363636</td>\n", | |
" <td>4</td>\n", | |
" <td>3.680973e+05</td>\n", | |
" <td>3280.000000</td>\n", | |
" <td>1</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>NaN</td>\n", | |
" <td>105.0</td>\n", | |
" <td>97.0</td>\n", | |
" <td>1.043400</td>\n", | |
" <td>4.026416e+08</td>\n", | |
" <td>434928.000000</td>\n", | |
" <td>268900.363636</td>\n", | |
" <td>166027.636364</td>\n", | |
" <td>30</td>\n", | |
" <td>8.713148e+07</td>\n", | |
" <td>88560.000000</td>\n", | |
" <td>6</td>\n", | |
" <td>3.364979e+07</td>\n", | |
" <td>50512.000000</td>\n", | |
" <td>5</td>\n", | |
" <td>1.988206e+08</td>\n", | |
" <td>164000.000000</td>\n", | |
" <td>7</td>\n", | |
" <td>2.335284e+07</td>\n", | |
" <td>39419.636364</td>\n", | |
" <td>4</td>\n", | |
" <td>3.443133e+07</td>\n", | |
" <td>48544.000000</td>\n", | |
" <td>3</td>\n", | |
" <td>2.488747e+07</td>\n", | |
" <td>40612.363636</td>\n", | |
" <td>4</td>\n", | |
" <td>3.680973e+05</td>\n", | |
" <td>3280.000000</td>\n", | |
" <td>1</td>\n", | |
" <td>105.0</td>\n", | |
" <td>97.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-39ef7ac2-0845-4858-bb73-1c2a2cda154d')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
" \n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n", | |
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" \n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" flex-wrap:wrap;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-39ef7ac2-0845-4858-bb73-1c2a2cda154d button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-39ef7ac2-0845-4858-bb73-1c2a2cda154d');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
" </div>\n", | |
" " | |
], | |
"text/plain": [ | |
" ProjectId total_area ... ext_frame_len_nn int_frame_len_nn\n", | |
"0 3033 1.050784e+08 ... 0.0 51.0\n", | |
"1 8413 3.018125e+08 ... 91.0 39.0\n", | |
"2 8491 4.000085e+08 ... 121.0 53.0\n", | |
"3 5096 2.219221e+08 ... 0.0 93.0\n", | |
"4 7475 4.026416e+08 ... 105.0 97.0\n", | |
"\n", | |
"[5 rows x 71 columns]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 6 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df.columns" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "OoPmxXXHpwd0", | |
"outputId": "ac1f3914-ea15-441b-d0d3-d84989374af3" | |
}, | |
"execution_count": 7, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"Index(['ProjectId', 'total_area', 'total_perim', 'total_interior_len',\n", | |
" 'total_exterior_len', 'num_rooms', 'garage_area', 'garage_perim',\n", | |
" 'garage_rooms', 'kitchen_area', 'kitchen_perim', 'kitchen_rooms',\n", | |
" 'living_room_area', 'living_room_perim', 'living_room_rooms',\n", | |
" 'bath_area', 'bath_perim', 'bath_rooms', 'entry_area', 'entry_perim',\n", | |
" 'entry_rooms', 'storage_area', 'storage_perim', 'storage_rooms',\n", | |
" 'bedroom_area', 'bedroom_perim', 'bedroom_rooms', 'HasGroundFloor',\n", | |
" 'HasFirstFloor', 'HasSecondFloor', 'HasThirdFloor', 'HasFourthFloor',\n", | |
" 'HasUpperFloor', 'HasLowerFloor', 'HasBasementFloor',\n", | |
" 'FloorCountEstimate_1', 'FloorCountEstimate_2', 'BuilderId',\n", | |
" 'CompanyId', 'SiteState', 'ext_frame_len', 'int_frame_len',\n", | |
" 'distance_from_nearest_project_id', 'total_area_nn', 'total_perim_nn',\n", | |
" 'total_interior_len_nn', 'total_exterior_len_nn', 'num_rooms_nn',\n", | |
" 'garage_area_nn', 'garage_perim_nn', 'garage_rooms_nn',\n", | |
" 'kitchen_area_nn', 'kitchen_perim_nn', 'kitchen_rooms_nn',\n", | |
" 'living_room_area_nn', 'living_room_perim_nn', 'living_room_rooms_nn',\n", | |
" 'bath_area_nn', 'bath_perim_nn', 'bath_rooms_nn', 'entry_area_nn',\n", | |
" 'entry_perim_nn', 'entry_rooms_nn', 'storage_area_nn',\n", | |
" 'storage_perim_nn', 'storage_rooms_nn', 'bedroom_area_nn',\n", | |
" 'bedroom_perim_nn', 'bedroom_rooms_nn', 'ext_frame_len_nn',\n", | |
" 'int_frame_len_nn'],\n", | |
" dtype='object')" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 7 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df.describe()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 364 | |
}, | |
"id": "j2L8k9e8uQ8C", | |
"outputId": "614ce331-4528-435e-8294-abe2397a6728" | |
}, | |
"execution_count": 8, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"\n", | |
" <div id=\"df-9f6e4d55-71f2-43b3-bec3-d1b652737f9b\">\n", | |
" <div class=\"colab-df-container\">\n", | |
" <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>ProjectId</th>\n", | |
" <th>total_area</th>\n", | |
" <th>total_perim</th>\n", | |
" <th>total_interior_len</th>\n", | |
" <th>total_exterior_len</th>\n", | |
" <th>num_rooms</th>\n", | |
" <th>garage_area</th>\n", | |
" <th>garage_perim</th>\n", | |
" <th>garage_rooms</th>\n", | |
" <th>kitchen_area</th>\n", | |
" <th>kitchen_perim</th>\n", | |
" <th>kitchen_rooms</th>\n", | |
" <th>living_room_area</th>\n", | |
" <th>living_room_perim</th>\n", | |
" <th>living_room_rooms</th>\n", | |
" <th>bath_area</th>\n", | |
" <th>bath_perim</th>\n", | |
" <th>bath_rooms</th>\n", | |
" <th>entry_area</th>\n", | |
" <th>entry_perim</th>\n", | |
" <th>entry_rooms</th>\n", | |
" <th>storage_area</th>\n", | |
" <th>storage_perim</th>\n", | |
" <th>storage_rooms</th>\n", | |
" <th>bedroom_area</th>\n", | |
" <th>bedroom_perim</th>\n", | |
" <th>bedroom_rooms</th>\n", | |
" <th>FloorCountEstimate_1</th>\n", | |
" <th>FloorCountEstimate_2</th>\n", | |
" <th>BuilderId</th>\n", | |
" <th>CompanyId</th>\n", | |
" <th>ext_frame_len</th>\n", | |
" <th>int_frame_len</th>\n", | |
" <th>distance_from_nearest_project_id</th>\n", | |
" <th>total_area_nn</th>\n", | |
" <th>total_perim_nn</th>\n", | |
" <th>total_interior_len_nn</th>\n", | |
" <th>total_exterior_len_nn</th>\n", | |
" <th>num_rooms_nn</th>\n", | |
" <th>garage_area_nn</th>\n", | |
" <th>garage_perim_nn</th>\n", | |
" <th>garage_rooms_nn</th>\n", | |
" <th>kitchen_area_nn</th>\n", | |
" <th>kitchen_perim_nn</th>\n", | |
" <th>kitchen_rooms_nn</th>\n", | |
" <th>living_room_area_nn</th>\n", | |
" <th>living_room_perim_nn</th>\n", | |
" <th>living_room_rooms_nn</th>\n", | |
" <th>bath_area_nn</th>\n", | |
" <th>bath_perim_nn</th>\n", | |
" <th>bath_rooms_nn</th>\n", | |
" <th>entry_area_nn</th>\n", | |
" <th>entry_perim_nn</th>\n", | |
" <th>entry_rooms_nn</th>\n", | |
" <th>storage_area_nn</th>\n", | |
" <th>storage_perim_nn</th>\n", | |
" <th>storage_rooms_nn</th>\n", | |
" <th>bedroom_area_nn</th>\n", | |
" <th>bedroom_perim_nn</th>\n", | |
" <th>bedroom_rooms_nn</th>\n", | |
" <th>ext_frame_len_nn</th>\n", | |
" <th>int_frame_len_nn</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>count</th>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>222.000000</td>\n", | |
" <td>222.000000</td>\n", | |
" <td>222.000000</td>\n", | |
" <td>222.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1.834000e+03</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" <td>1834.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>mean</th>\n", | |
" <td>6617.869138</td>\n", | |
" <td>2.865100e+08</td>\n", | |
" <td>341653.663642</td>\n", | |
" <td>237986.681284</td>\n", | |
" <td>103666.982358</td>\n", | |
" <td>24.611778</td>\n", | |
" <td>5.174598e+07</td>\n", | |
" <td>50139.038317</td>\n", | |
" <td>3.012541</td>\n", | |
" <td>2.275405e+07</td>\n", | |
" <td>28368.069774</td>\n", | |
" <td>2.269357</td>\n", | |
" <td>8.991785e+07</td>\n", | |
" <td>83983.783067</td>\n", | |
" <td>4.581788</td>\n", | |
" <td>2.407845e+07</td>\n", | |
" <td>38325.317445</td>\n", | |
" <td>3.643402</td>\n", | |
" <td>3.633941e+07</td>\n", | |
" <td>56320.122455</td>\n", | |
" <td>3.465104</td>\n", | |
" <td>1.381455e+07</td>\n", | |
" <td>27550.623405</td>\n", | |
" <td>3.474918</td>\n", | |
" <td>4.785966e+07</td>\n", | |
" <td>56966.709179</td>\n", | |
" <td>4.164667</td>\n", | |
" <td>1.067568</td>\n", | |
" <td>0.108108</td>\n", | |
" <td>17949.360360</td>\n", | |
" <td>84.049550</td>\n", | |
" <td>103.839422</td>\n", | |
" <td>50.877590</td>\n", | |
" <td>1.324078</td>\n", | |
" <td>2.865100e+08</td>\n", | |
" <td>341653.663642</td>\n", | |
" <td>237986.681284</td>\n", | |
" <td>103666.982358</td>\n", | |
" <td>24.611778</td>\n", | |
" <td>5.174598e+07</td>\n", | |
" <td>50139.038317</td>\n", | |
" <td>3.012541</td>\n", | |
" <td>2.275405e+07</td>\n", | |
" <td>28368.069774</td>\n", | |
" <td>2.269357</td>\n", | |
" <td>8.991785e+07</td>\n", | |
" <td>83983.783067</td>\n", | |
" <td>4.581788</td>\n", | |
" <td>2.407845e+07</td>\n", | |
" <td>38325.317445</td>\n", | |
" <td>3.643402</td>\n", | |
" <td>3.633941e+07</td>\n", | |
" <td>56320.122455</td>\n", | |
" <td>3.465104</td>\n", | |
" <td>1.381455e+07</td>\n", | |
" <td>27550.623405</td>\n", | |
" <td>3.474918</td>\n", | |
" <td>4.785966e+07</td>\n", | |
" <td>56966.709179</td>\n", | |
" <td>4.164667</td>\n", | |
" <td>103.839422</td>\n", | |
" <td>50.877590</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>std</th>\n", | |
" <td>2223.937498</td>\n", | |
" <td>1.480105e+08</td>\n", | |
" <td>158103.637674</td>\n", | |
" <td>117267.230017</td>\n", | |
" <td>58476.191033</td>\n", | |
" <td>11.365225</td>\n", | |
" <td>5.748803e+07</td>\n", | |
" <td>44578.802830</td>\n", | |
" <td>2.302151</td>\n", | |
" <td>2.115840e+07</td>\n", | |
" <td>21266.434841</td>\n", | |
" <td>1.760781</td>\n", | |
" <td>6.813961e+07</td>\n", | |
" <td>50753.065556</td>\n", | |
" <td>2.718090</td>\n", | |
" <td>1.494343e+07</td>\n", | |
" <td>21228.743423</td>\n", | |
" <td>2.057120</td>\n", | |
" <td>2.244333e+07</td>\n", | |
" <td>30625.664389</td>\n", | |
" <td>2.036260</td>\n", | |
" <td>1.361174e+07</td>\n", | |
" <td>20754.836357</td>\n", | |
" <td>2.414195</td>\n", | |
" <td>3.368523e+07</td>\n", | |
" <td>33367.492833</td>\n", | |
" <td>2.367754</td>\n", | |
" <td>0.795879</td>\n", | |
" <td>0.364769</td>\n", | |
" <td>7734.164004</td>\n", | |
" <td>25.219261</td>\n", | |
" <td>81.579656</td>\n", | |
" <td>54.259355</td>\n", | |
" <td>3.611805</td>\n", | |
" <td>1.480105e+08</td>\n", | |
" <td>158103.637674</td>\n", | |
" <td>117267.230017</td>\n", | |
" <td>58476.191033</td>\n", | |
" <td>11.365225</td>\n", | |
" <td>5.748803e+07</td>\n", | |
" <td>44578.802830</td>\n", | |
" <td>2.302151</td>\n", | |
" <td>2.115840e+07</td>\n", | |
" <td>21266.434841</td>\n", | |
" <td>1.760781</td>\n", | |
" <td>6.813961e+07</td>\n", | |
" <td>50753.065556</td>\n", | |
" <td>2.718090</td>\n", | |
" <td>1.494343e+07</td>\n", | |
" <td>21228.743423</td>\n", | |
" <td>2.057120</td>\n", | |
" <td>2.244333e+07</td>\n", | |
" <td>30625.664389</td>\n", | |
" <td>2.036260</td>\n", | |
" <td>1.361174e+07</td>\n", | |
" <td>20754.836357</td>\n", | |
" <td>2.414195</td>\n", | |
" <td>3.368523e+07</td>\n", | |
" <td>33367.492833</td>\n", | |
" <td>2.367754</td>\n", | |
" <td>81.579656</td>\n", | |
" <td>54.259355</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>min</th>\n", | |
" <td>4.000000</td>\n", | |
" <td>6.122744e+06</td>\n", | |
" <td>17941.040000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>3919.322034</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>3588.000000</td>\n", | |
" <td>68.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>6.122744e+06</td>\n", | |
" <td>17941.040000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>3919.322034</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000e+00</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25%</th>\n", | |
" <td>5704.250000</td>\n", | |
" <td>1.786152e+08</td>\n", | |
" <td>226555.584677</td>\n", | |
" <td>155283.010638</td>\n", | |
" <td>60379.990385</td>\n", | |
" <td>16.000000</td>\n", | |
" <td>1.597804e+07</td>\n", | |
" <td>21809.354839</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>1.034703e+07</td>\n", | |
" <td>14812.104167</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>4.353654e+07</td>\n", | |
" <td>46278.675026</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.393995e+07</td>\n", | |
" <td>23766.984127</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>2.007516e+07</td>\n", | |
" <td>34673.243433</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>5.217113e+06</td>\n", | |
" <td>13014.193548</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>2.370355e+07</td>\n", | |
" <td>34313.846154</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>12053.000000</td>\n", | |
" <td>68.000000</td>\n", | |
" <td>62.000000</td>\n", | |
" <td>13.000000</td>\n", | |
" <td>0.673006</td>\n", | |
" <td>1.786152e+08</td>\n", | |
" <td>226555.584677</td>\n", | |
" <td>155283.010638</td>\n", | |
" <td>60379.990385</td>\n", | |
" <td>16.000000</td>\n", | |
" <td>1.597804e+07</td>\n", | |
" <td>21809.354839</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>1.034703e+07</td>\n", | |
" <td>14812.104167</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>4.353654e+07</td>\n", | |
" <td>46278.675026</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.393995e+07</td>\n", | |
" <td>23766.984127</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>2.007516e+07</td>\n", | |
" <td>34673.243433</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>5.217113e+06</td>\n", | |
" <td>13014.193548</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>2.370355e+07</td>\n", | |
" <td>34313.846154</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>62.000000</td>\n", | |
" <td>13.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50%</th>\n", | |
" <td>7258.500000</td>\n", | |
" <td>2.603634e+08</td>\n", | |
" <td>312414.533343</td>\n", | |
" <td>221316.879971</td>\n", | |
" <td>91505.477273</td>\n", | |
" <td>23.000000</td>\n", | |
" <td>3.630402e+07</td>\n", | |
" <td>40619.600614</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.780067e+07</td>\n", | |
" <td>23861.894129</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>7.740121e+07</td>\n", | |
" <td>75878.799489</td>\n", | |
" <td>4.000000</td>\n", | |
" <td>2.224023e+07</td>\n", | |
" <td>35520.158898</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>3.298855e+07</td>\n", | |
" <td>51968.278053</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.074379e+07</td>\n", | |
" <td>23944.516011</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>4.344763e+07</td>\n", | |
" <td>52918.718331</td>\n", | |
" <td>4.000000</td>\n", | |
" <td>1.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>20710.000000</td>\n", | |
" <td>68.000000</td>\n", | |
" <td>100.000000</td>\n", | |
" <td>44.000000</td>\n", | |
" <td>0.862165</td>\n", | |
" <td>2.603634e+08</td>\n", | |
" <td>312414.533343</td>\n", | |
" <td>221316.879971</td>\n", | |
" <td>91505.477273</td>\n", | |
" <td>23.000000</td>\n", | |
" <td>3.630402e+07</td>\n", | |
" <td>40619.600614</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.780067e+07</td>\n", | |
" <td>23861.894129</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>7.740121e+07</td>\n", | |
" <td>75878.799489</td>\n", | |
" <td>4.000000</td>\n", | |
" <td>2.224023e+07</td>\n", | |
" <td>35520.158898</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>3.298855e+07</td>\n", | |
" <td>51968.278053</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.074379e+07</td>\n", | |
" <td>23944.516011</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>4.344763e+07</td>\n", | |
" <td>52918.718331</td>\n", | |
" <td>4.000000</td>\n", | |
" <td>100.000000</td>\n", | |
" <td>44.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>75%</th>\n", | |
" <td>8281.750000</td>\n", | |
" <td>3.839146e+08</td>\n", | |
" <td>459622.264030</td>\n", | |
" <td>323585.784158</td>\n", | |
" <td>134110.489890</td>\n", | |
" <td>33.000000</td>\n", | |
" <td>6.816733e+07</td>\n", | |
" <td>66506.730769</td>\n", | |
" <td>4.000000</td>\n", | |
" <td>2.983059e+07</td>\n", | |
" <td>37788.603454</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.212886e+08</td>\n", | |
" <td>115491.496244</td>\n", | |
" <td>6.000000</td>\n", | |
" <td>3.198580e+07</td>\n", | |
" <td>50599.952238</td>\n", | |
" <td>5.000000</td>\n", | |
" <td>4.896246e+07</td>\n", | |
" <td>74273.541126</td>\n", | |
" <td>5.000000</td>\n", | |
" <td>1.810964e+07</td>\n", | |
" <td>37563.199405</td>\n", | |
" <td>5.000000</td>\n", | |
" <td>6.610513e+07</td>\n", | |
" <td>78006.635500</td>\n", | |
" <td>6.000000</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>0.000000</td>\n", | |
" <td>24923.250000</td>\n", | |
" <td>124.000000</td>\n", | |
" <td>132.000000</td>\n", | |
" <td>74.000000</td>\n", | |
" <td>1.170010</td>\n", | |
" <td>3.839146e+08</td>\n", | |
" <td>459622.264030</td>\n", | |
" <td>323585.784158</td>\n", | |
" <td>134110.489890</td>\n", | |
" <td>33.000000</td>\n", | |
" <td>6.816733e+07</td>\n", | |
" <td>66506.730769</td>\n", | |
" <td>4.000000</td>\n", | |
" <td>2.983059e+07</td>\n", | |
" <td>37788.603454</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>1.212886e+08</td>\n", | |
" <td>115491.496244</td>\n", | |
" <td>6.000000</td>\n", | |
" <td>3.198580e+07</td>\n", | |
" <td>50599.952238</td>\n", | |
" <td>5.000000</td>\n", | |
" <td>4.896246e+07</td>\n", | |
" <td>74273.541126</td>\n", | |
" <td>5.000000</td>\n", | |
" <td>1.810964e+07</td>\n", | |
" <td>37563.199405</td>\n", | |
" <td>5.000000</td>\n", | |
" <td>6.610513e+07</td>\n", | |
" <td>78006.635500</td>\n", | |
" <td>6.000000</td>\n", | |
" <td>132.000000</td>\n", | |
" <td>74.000000</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>max</th>\n", | |
" <td>9009.000000</td>\n", | |
" <td>9.795907e+08</td>\n", | |
" <td>868497.142857</td>\n", | |
" <td>643580.337942</td>\n", | |
" <td>546724.000000</td>\n", | |
" <td>49.000000</td>\n", | |
" <td>5.729498e+08</td>\n", | |
" <td>461723.076923</td>\n", | |
" <td>24.000000</td>\n", | |
" <td>2.282898e+08</td>\n", | |
" <td>214387.586207</td>\n", | |
" <td>14.000000</td>\n", | |
" <td>7.981213e+08</td>\n", | |
" <td>309223.806154</td>\n", | |
" <td>15.000000</td>\n", | |
" <td>1.482473e+08</td>\n", | |
" <td>130940.522273</td>\n", | |
" <td>12.000000</td>\n", | |
" <td>1.613855e+08</td>\n", | |
" <td>215334.393241</td>\n", | |
" <td>13.000000</td>\n", | |
" <td>1.472144e+08</td>\n", | |
" <td>154476.552089</td>\n", | |
" <td>18.000000</td>\n", | |
" <td>3.334350e+08</td>\n", | |
" <td>200719.777716</td>\n", | |
" <td>12.000000</td>\n", | |
" <td>3.000000</td>\n", | |
" <td>2.000000</td>\n", | |
" <td>26635.000000</td>\n", | |
" <td>124.000000</td>\n", | |
" <td>1661.000000</td>\n", | |
" <td>956.000000</td>\n", | |
" <td>115.520664</td>\n", | |
" <td>9.795907e+08</td>\n", | |
" <td>868497.142857</td>\n", | |
" <td>643580.337942</td>\n", | |
" <td>546724.000000</td>\n", | |
" <td>49.000000</td>\n", | |
" <td>5.729498e+08</td>\n", | |
" <td>461723.076923</td>\n", | |
" <td>24.000000</td>\n", | |
" <td>2.282898e+08</td>\n", | |
" <td>214387.586207</td>\n", | |
" <td>14.000000</td>\n", | |
" <td>7.981213e+08</td>\n", | |
" <td>309223.806154</td>\n", | |
" <td>15.000000</td>\n", | |
" <td>1.482473e+08</td>\n", | |
" <td>130940.522273</td>\n", | |
" <td>12.000000</td>\n", | |
" <td>1.613855e+08</td>\n", | |
" <td>215334.393241</td>\n", | |
" <td>13.000000</td>\n", | |
" <td>1.472144e+08</td>\n", | |
" <td>154476.552089</td>\n", | |
" <td>18.000000</td>\n", | |
" <td>3.334350e+08</td>\n", | |
" <td>200719.777716</td>\n", | |
" <td>12.000000</td>\n", | |
" <td>1661.000000</td>\n", | |
" <td>956.000000</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-9f6e4d55-71f2-43b3-bec3-d1b652737f9b')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
" \n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n", | |
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" \n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" flex-wrap:wrap;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-9f6e4d55-71f2-43b3-bec3-d1b652737f9b button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-9f6e4d55-71f2-43b3-bec3-d1b652737f9b');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
" </div>\n", | |
" " | |
], | |
"text/plain": [ | |
" ProjectId total_area ... ext_frame_len_nn int_frame_len_nn\n", | |
"count 1834.000000 1.834000e+03 ... 1834.000000 1834.000000\n", | |
"mean 6617.869138 2.865100e+08 ... 103.839422 50.877590\n", | |
"std 2223.937498 1.480105e+08 ... 81.579656 54.259355\n", | |
"min 4.000000 6.122744e+06 ... 0.000000 0.000000\n", | |
"25% 5704.250000 1.786152e+08 ... 62.000000 13.000000\n", | |
"50% 7258.500000 2.603634e+08 ... 100.000000 44.000000\n", | |
"75% 8281.750000 3.839146e+08 ... 132.000000 74.000000\n", | |
"max 9009.000000 9.795907e+08 ... 1661.000000 956.000000\n", | |
"\n", | |
"[8 rows x 62 columns]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 8 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"null_cols = list(df.columns[len(df)/2 < df.isnull().sum()])\n", | |
"null_cols" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "dNiTuWYTuW_t", | |
"outputId": "1f8d4c28-de8a-4226-fec7-38f13654c4f5" | |
}, | |
"execution_count": 9, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"['HasGroundFloor',\n", | |
" 'HasFirstFloor',\n", | |
" 'HasSecondFloor',\n", | |
" 'HasThirdFloor',\n", | |
" 'HasFourthFloor',\n", | |
" 'HasUpperFloor',\n", | |
" 'HasLowerFloor',\n", | |
" 'HasBasementFloor',\n", | |
" 'FloorCountEstimate_1',\n", | |
" 'FloorCountEstimate_2',\n", | |
" 'BuilderId',\n", | |
" 'CompanyId',\n", | |
" 'SiteState']" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 9 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df.drop(columns=null_cols, inplace=True)" | |
], | |
"metadata": { | |
"id": "pRMh8ES928TW" | |
}, | |
"execution_count": 10, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"y_cols = ['ext_frame_len', 'int_frame_len']\n", | |
"df_y = df[y_cols]\n", | |
"df.drop(columns=y_cols, inplace=True)" | |
], | |
"metadata": { | |
"id": "AHUIwEJfjSS8" | |
}, | |
"execution_count": 11, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df_y.shape, df.shape" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "LOrHoQeJj3Ds", | |
"outputId": "d26b317b-bf01-4fe4-b231-79bf6523e9d0" | |
}, | |
"execution_count": 12, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"((1834, 2), (1834, 56))" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 12 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df_y.head()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 206 | |
}, | |
"id": "7z0pfs2jj7zl", | |
"outputId": "b6c8110a-3ac9-4f02-fc0d-9741cb9ff7a6" | |
}, | |
"execution_count": 13, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/html": [ | |
"\n", | |
" <div id=\"df-f9c0776d-755b-42b6-b57c-2110bcd2a4a1\">\n", | |
" <div class=\"colab-df-container\">\n", | |
" <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>ext_frame_len</th>\n", | |
" <th>int_frame_len</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.0</td>\n", | |
" <td>51.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>91.0</td>\n", | |
" <td>39.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>121.0</td>\n", | |
" <td>53.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0.0</td>\n", | |
" <td>93.0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>105.0</td>\n", | |
" <td>97.0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>\n", | |
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-f9c0776d-755b-42b6-b57c-2110bcd2a4a1')\"\n", | |
" title=\"Convert this dataframe to an interactive table.\"\n", | |
" style=\"display:none;\">\n", | |
" \n", | |
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n", | |
" width=\"24px\">\n", | |
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n", | |
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n", | |
" </svg>\n", | |
" </button>\n", | |
" \n", | |
" <style>\n", | |
" .colab-df-container {\n", | |
" display:flex;\n", | |
" flex-wrap:wrap;\n", | |
" gap: 12px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert {\n", | |
" background-color: #E8F0FE;\n", | |
" border: none;\n", | |
" border-radius: 50%;\n", | |
" cursor: pointer;\n", | |
" display: none;\n", | |
" fill: #1967D2;\n", | |
" height: 32px;\n", | |
" padding: 0 0 0 0;\n", | |
" width: 32px;\n", | |
" }\n", | |
"\n", | |
" .colab-df-convert:hover {\n", | |
" background-color: #E2EBFA;\n", | |
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n", | |
" fill: #174EA6;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert {\n", | |
" background-color: #3B4455;\n", | |
" fill: #D2E3FC;\n", | |
" }\n", | |
"\n", | |
" [theme=dark] .colab-df-convert:hover {\n", | |
" background-color: #434B5C;\n", | |
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n", | |
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n", | |
" fill: #FFFFFF;\n", | |
" }\n", | |
" </style>\n", | |
"\n", | |
" <script>\n", | |
" const buttonEl =\n", | |
" document.querySelector('#df-f9c0776d-755b-42b6-b57c-2110bcd2a4a1 button.colab-df-convert');\n", | |
" buttonEl.style.display =\n", | |
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n", | |
"\n", | |
" async function convertToInteractive(key) {\n", | |
" const element = document.querySelector('#df-f9c0776d-755b-42b6-b57c-2110bcd2a4a1');\n", | |
" const dataTable =\n", | |
" await google.colab.kernel.invokeFunction('convertToInteractive',\n", | |
" [key], {});\n", | |
" if (!dataTable) return;\n", | |
"\n", | |
" const docLinkHtml = 'Like what you see? Visit the ' +\n", | |
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n", | |
" + ' to learn more about interactive tables.';\n", | |
" element.innerHTML = '';\n", | |
" dataTable['output_type'] = 'display_data';\n", | |
" await google.colab.output.renderOutput(dataTable, element);\n", | |
" const docLink = document.createElement('div');\n", | |
" docLink.innerHTML = docLinkHtml;\n", | |
" element.appendChild(docLink);\n", | |
" }\n", | |
" </script>\n", | |
" </div>\n", | |
" </div>\n", | |
" " | |
], | |
"text/plain": [ | |
" ext_frame_len int_frame_len\n", | |
"0 0.0 51.0\n", | |
"1 91.0 39.0\n", | |
"2 121.0 53.0\n", | |
"3 0.0 93.0\n", | |
"4 105.0 97.0" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 13 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"plt.scatter(df_y.ext_frame_len, df.total_exterior_len, alpha=.2);\n", | |
"plt.xlim(0, 500); plt.ylim(0, 50000);" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 269 | |
}, | |
"id": "IQAvmhYokFYg", | |
"outputId": "31eec77a-6781-4df7-a0f7-086c2454c86f" | |
}, | |
"execution_count": 14, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"plt.scatter(df_y.int_frame_len, df.total_interior_len, alpha=.2);\n", | |
"plt.xlim(0, 300);" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 265 | |
}, | |
"id": "dlZbHcY2kVIj", | |
"outputId": "995198d1-a6f8-4dfe-aac1-5713d497427f" | |
}, | |
"execution_count": 15, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"plt.scatter(df.total_exterior_len, df.total_interior_len, alpha=.2);\n", | |
"# plt.xlim(0, 40000); plt.ylim(0, 60000);" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 265 | |
}, | |
"id": "6SQzPbUGk6zT", | |
"outputId": "97c4fec8-323a-4b31-def8-a4f96d87b9c1" | |
}, | |
"execution_count": 16, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def split_and_scale(df, test_size=.2):\n", | |
" cols = df.columns # can't reuse index b/c subset\n", | |
" df_train, df_test = train_test_split(df, test_size=test_size, shuffle=True)\n", | |
" del df # Free up some memory\n", | |
" df_train = StandardScaler().fit_transform(df_train)\n", | |
" df_test = StandardScaler().fit_transform(df_test)\n", | |
" df_train = pd.DataFrame(df_train, columns=cols)\n", | |
" df_test = pd.DataFrame(df_test, columns=cols)\n", | |
" return df_train, df_test" | |
], | |
"metadata": { | |
"id": "N6A4HSnQoNRS" | |
}, | |
"execution_count": 17, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df_train, df_test = split_and_scale(df)\n", | |
"y_train, y_test = split_and_scale(df_y)\n", | |
"del df, df_y" | |
], | |
"metadata": { | |
"id": "3mAbk8JnmiId" | |
}, | |
"execution_count": 18, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"df_train.shape, y_train.shape, df_test.shape, y_test.shape" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "HaGEDkQcoOC0", | |
"outputId": "0584731c-8e6f-4d3f-969a-94d3748a3fd6" | |
}, | |
"execution_count": 19, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"((1467, 56), (1467, 2), (367, 56), (367, 2))" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 19 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Limit number of features and retrain" | |
], | |
"metadata": { | |
"id": "6idkCHh_56bx" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def calc_feature_importance(regressor, y=0, top=10):\n", | |
" reg = regressor\n", | |
" df_fi = pd.DataFrame(zip(reg.feature_names_in_, reg.coef_[y]), columns=['feature', 'coef']).set_index('feature')\n", | |
" fi = df_fi.sort_values(by='coef', key=np.abs, ascending=False).iloc[:top]\n", | |
" return fi\n", | |
"\n", | |
"def regress(x_train, x_test, y_train, y_test, fi=False):\n", | |
" '''fi - return feature importances'''\n", | |
" rank = np.linalg.matrix_rank(x_train)\n", | |
" if rank < x_train.shape[1]:\n", | |
" print('Warning: Design matrix rank lower than num features.', rank, x_train.shape[1])\n", | |
" reg = lm.Ridge().fit(x_train, y_train)\n", | |
" train_score = round(reg.score(x_train, y_train), 4)\n", | |
" test_score = round(reg.score(x_test, y_test), 4)\n", | |
" \n", | |
" ext_fi = calc_feature_importance(reg, y=0)\n", | |
" int_fi = calc_feature_importance(reg, y=1)\n", | |
"\n", | |
" if fi:\n", | |
" return {'train_score': train_score, 'test_score':test_score, 'ext_frame_FI': ext_fi, 'internal_frame_FI': int_fi}\n", | |
" else:\n", | |
" return {'train_score': train_score, 'test_score':test_score}" | |
], | |
"metadata": { | |
"id": "kVqh7KXM-c-4" | |
}, | |
"execution_count": 33, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"regress(df_train, df_test, y_train, y_test)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "exhDeJ8V__Es", | |
"outputId": "e3255a39-7147-4996-9153-71d32125c01b" | |
}, | |
"execution_count": 34, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Warning: Design matrix rank lower than num features. 26 56\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"{'test_score': -0.0155, 'train_score': 0.0134}" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 34 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"features_min = ['total_area', 'total_perim', 'num_rooms', 'total_exterior_len', 'total_interior_len']\n", | |
"regress(df_train[features_min], df_test[features_min], y_train, y_test)" | |
], | |
"metadata": { | |
"id": "c_6fkUTZAE22", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "e033bf94-084e-4830-aeaa-1b6f72f1e139" | |
}, | |
"execution_count": 37, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Warning: Design matrix rank lower than num features. 4 5\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"{'test_score': -0.0022, 'train_score': 0.0018}" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 37 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"features_nn = ['total_area', 'num_rooms', 'total_exterior_len', 'total_interior_len', 'total_interior_len_nn', 'total_exterior_len_nn']\n", | |
"regress(df_train[features_nn], df_test[features_nn], y_train, y_test)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "eP8SfkRZ7_Pj", | |
"outputId": "cd93b7bc-c176-4d49-9c74-e5bc5061766a" | |
}, | |
"execution_count": 38, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Warning: Design matrix rank lower than num features. 4 6\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"{'test_score': -0.0023, 'train_score': 0.0018}" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 38 | |
} | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment