CoolFace
Apppublic

ChintaSuhas/Real-Estate-Validation-System

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
project.ipynb3817 linesDownload Raw Back to root
1{2 "cells": [3  {4   "cell_type": "markdown",5   "id": "18dfec7f",6   "metadata": {},7   "source": [8    "# AI-Based Real Estate Valuation System\n",9    "## Milestone 1: Data Collection, Preprocessing, and Data Transformation\n",10    "\n",11    "**Project Objective:** Build a machine learning model to predict house prices based on various property attributes.\n",12    "\n",13    "**Dataset:** India Housing Prices Dataset\n",14    "\n",15    "**Author:** Suhas  \n",16    "**Date:** October 22, 2025"17   ]18  },19  {20   "cell_type": "markdown",21   "id": "105cfe77",22   "metadata": {},23   "source": [24    "## 1. Import Required Libraries"25   ]26  },27  {28   "cell_type": "code",29   "execution_count": 2,30   "id": "33ef9601",31   "metadata": {},32   "outputs": [33    {34     "name": "stdout",35     "output_type": "stream",36     "text": [37      "✓ Libraries imported successfully!\n"38     ]39    }40   ],41   "source": [42    "# Import necessary libraries for data analysis and visualization\n",43    "import pandas as pd\n",44    "import numpy as np\n",45    "import matplotlib.pyplot as plt\n",46    "import seaborn as sns\n",47    "import warnings\n",48    "\n",49    "# Configure settings\n",50    "warnings.filterwarnings('ignore')\n",51    "plt.style.use('seaborn-v0_8-darkgrid')\n",52    "sns.set_palette(\"husl\")\n",53    "\n",54    "# Display settings\n",55    "pd.set_option('display.max_columns', None)\n",56    "pd.set_option('display.max_rows', 100)\n",57    "pd.set_option('display.float_format', lambda x: '%.2f' % x)\n",58    "\n",59    "print(\"✓ Libraries imported successfully!\")"60   ]61  },62  {63   "cell_type": "markdown",64   "id": "a99dc0fe",65   "metadata": {},66   "source": [67    "## 2. Data Collection - Load the Dataset"68   ]69  },70  {71   "cell_type": "code",72   "execution_count": 3,73   "id": "4952b2df",74   "metadata": {},75   "outputs": [76    {77     "name": "stdout",78     "output_type": "stream",79     "text": [80      "✓ Dataset loaded successfully!\n",81      "\n",82      "Dataset Shape: 250000 rows × 23 columns\n",83      "\n",84      "================================================================================\n",85      "First 5 rows of the dataset:\n",86      "================================================================================\n"87     ]88    },89    {90     "data": {91      "text/html": [92       "<div>\n",93       "<style scoped>\n",94       "    .dataframe tbody tr th:only-of-type {\n",95       "        vertical-align: middle;\n",96       "    }\n",97       "\n",98       "    .dataframe tbody tr th {\n",99       "        vertical-align: top;\n",100       "    }\n",101       "\n",102       "    .dataframe thead th {\n",103       "        text-align: right;\n",104       "    }\n",105       "</style>\n",106       "<table border=\"1\" class=\"dataframe\">\n",107       "  <thead>\n",108       "    <tr style=\"text-align: right;\">\n",109       "      <th></th>\n",110       "      <th>ID</th>\n",111       "      <th>State</th>\n",112       "      <th>City</th>\n",113       "      <th>Locality</th>\n",114       "      <th>Property_Type</th>\n",115       "      <th>BHK</th>\n",116       "      <th>Size_in_SqFt</th>\n",117       "      <th>Price_in_Lakhs</th>\n",118       "      <th>Price_per_SqFt</th>\n",119       "      <th>Year_Built</th>\n",120       "      <th>Furnished_Status</th>\n",121       "      <th>Floor_No</th>\n",122       "      <th>Total_Floors</th>\n",123       "      <th>Age_of_Property</th>\n",124       "      <th>Nearby_Schools</th>\n",125       "      <th>Nearby_Hospitals</th>\n",126       "      <th>Public_Transport_Accessibility</th>\n",127       "      <th>Parking_Space</th>\n",128       "      <th>Security</th>\n",129       "      <th>Amenities</th>\n",130       "      <th>Facing</th>\n",131       "      <th>Owner_Type</th>\n",132       "      <th>Availability_Status</th>\n",133       "    </tr>\n",134       "  </thead>\n",135       "  <tbody>\n",136       "    <tr>\n",137       "      <th>0</th>\n",138       "      <td>1</td>\n",139       "      <td>Tamil Nadu</td>\n",140       "      <td>Chennai</td>\n",141       "      <td>Locality_84</td>\n",142       "      <td>Apartment</td>\n",143       "      <td>1</td>\n",144       "      <td>4740</td>\n",145       "      <td>489.76</td>\n",146       "      <td>0.10</td>\n",147       "      <td>1990</td>\n",148       "      <td>Furnished</td>\n",149       "      <td>22</td>\n",150       "      <td>1</td>\n",151       "      <td>35</td>\n",152       "      <td>10</td>\n",153       "      <td>3</td>\n",154       "      <td>High</td>\n",155       "      <td>No</td>\n",156       "      <td>No</td>\n",157       "      <td>Playground, Gym, Garden, Pool, Clubhouse</td>\n",158       "      <td>West</td>\n",159       "      <td>Owner</td>\n",160       "      <td>Ready_to_Move</td>\n",161       "    </tr>\n",162       "    <tr>\n",163       "      <th>1</th>\n",164       "      <td>2</td>\n",165       "      <td>Maharashtra</td>\n",166       "      <td>Pune</td>\n",167       "      <td>Locality_490</td>\n",168       "      <td>Independent House</td>\n",169       "      <td>3</td>\n",170       "      <td>2364</td>\n",171       "      <td>195.52</td>\n",172       "      <td>0.08</td>\n",173       "      <td>2008</td>\n",174       "      <td>Unfurnished</td>\n",175       "      <td>21</td>\n",176       "      <td>20</td>\n",177       "      <td>17</td>\n",178       "      <td>8</td>\n",179       "      <td>1</td>\n",180       "      <td>Low</td>\n",181       "      <td>No</td>\n",182       "      <td>Yes</td>\n",183       "      <td>Playground, Clubhouse, Pool, Gym, Garden</td>\n",184       "      <td>North</td>\n",185       "      <td>Builder</td>\n",186       "      <td>Under_Construction</td>\n",187       "    </tr>\n",188       "    <tr>\n",189       "      <th>2</th>\n",190       "      <td>3</td>\n",191       "      <td>Punjab</td>\n",192       "      <td>Ludhiana</td>\n",193       "      <td>Locality_167</td>\n",194       "      <td>Apartment</td>\n",195       "      <td>2</td>\n",196       "      <td>3642</td>\n",197       "      <td>183.79</td>\n",198       "      <td>0.05</td>\n",199       "      <td>1997</td>\n",200       "      <td>Semi-furnished</td>\n",201       "      <td>19</td>\n",202       "      <td>27</td>\n",203       "      <td>28</td>\n",204       "      <td>9</td>\n",205       "      <td>8</td>\n",206       "      <td>Low</td>\n",207       "      <td>Yes</td>\n",208       "      <td>No</td>\n",209       "      <td>Clubhouse, Pool, Playground, Gym</td>\n",210       "      <td>South</td>\n",211       "      <td>Broker</td>\n",212       "      <td>Ready_to_Move</td>\n",213       "    </tr>\n",214       "    <tr>\n",215       "      <th>3</th>\n",216       "      <td>4</td>\n",217       "      <td>Rajasthan</td>\n",218       "      <td>Jodhpur</td>\n",219       "      <td>Locality_393</td>\n",220       "      <td>Independent House</td>\n",221       "      <td>2</td>\n",222       "      <td>2741</td>\n",223       "      <td>300.29</td>\n",224       "      <td>0.11</td>\n",225       "      <td>1991</td>\n",226       "      <td>Furnished</td>\n",227       "      <td>21</td>\n",228       "      <td>26</td>\n",229       "      <td>34</td>\n",230       "      <td>5</td>\n",231       "      <td>7</td>\n",232       "      <td>High</td>\n",233       "      <td>Yes</td>\n",234       "      <td>Yes</td>\n",235       "      <td>Playground, Clubhouse, Gym, Pool, Garden</td>\n",236       "      <td>North</td>\n",237       "      <td>Builder</td>\n",238       "      <td>Ready_to_Move</td>\n",239       "    </tr>\n",240       "    <tr>\n",241       "      <th>4</th>\n",242       "      <td>5</td>\n",243       "      <td>Rajasthan</td>\n",244       "      <td>Jaipur</td>\n",245       "      <td>Locality_466</td>\n",246       "      <td>Villa</td>\n",247       "      <td>4</td>\n",248       "      <td>4823</td>\n",249       "      <td>182.90</td>\n",250       "      <td>0.04</td>\n",251       "      <td>2002</td>\n",252       "      <td>Semi-furnished</td>\n",253       "      <td>3</td>\n",254       "      <td>2</td>\n",255       "      <td>23</td>\n",256       "      <td>4</td>\n",257       "      <td>9</td>\n",258       "      <td>Low</td>\n",259       "      <td>No</td>\n",260       "      <td>Yes</td>\n",261       "      <td>Playground, Garden, Gym, Pool, Clubhouse</td>\n",262       "      <td>East</td>\n",263       "      <td>Builder</td>\n",264       "      <td>Ready_to_Move</td>\n",265       "    </tr>\n",266       "  </tbody>\n",267       "</table>\n",268       "</div>"269      ],270      "text/plain": [271       "   ID        State      City      Locality      Property_Type  BHK  \\\n",272       "0   1   Tamil Nadu   Chennai   Locality_84          Apartment    1   \n",273       "1   2  Maharashtra      Pune  Locality_490  Independent House    3   \n",274       "2   3       Punjab  Ludhiana  Locality_167          Apartment    2   \n",275       "3   4    Rajasthan   Jodhpur  Locality_393  Independent House    2   \n",276       "4   5    Rajasthan    Jaipur  Locality_466              Villa    4   \n",277       "\n",278       "   Size_in_SqFt  Price_in_Lakhs  Price_per_SqFt  Year_Built Furnished_Status  \\\n",279       "0          4740          489.76            0.10        1990        Furnished   \n",280       "1          2364          195.52            0.08        2008      Unfurnished   \n",281       "2          3642          183.79            0.05        1997   Semi-furnished   \n",282       "3          2741          300.29            0.11        1991        Furnished   \n",283       "4          4823          182.90            0.04        2002   Semi-furnished   \n",284       "\n",285       "   Floor_No  Total_Floors  Age_of_Property  Nearby_Schools  Nearby_Hospitals  \\\n",286       "0        22             1               35              10                 3   \n",287       "1        21            20               17               8                 1   \n",288       "2        19            27               28               9                 8   \n",289       "3        21            26               34               5                 7   \n",290       "4         3             2               23               4                 9   \n",291       "\n",292       "  Public_Transport_Accessibility Parking_Space Security  \\\n",293       "0                           High            No       No   \n",294       "1                            Low            No      Yes   \n",295       "2                            Low           Yes       No   \n",296       "3                           High           Yes      Yes   \n",297       "4                            Low            No      Yes   \n",298       "\n",299       "                                  Amenities Facing Owner_Type  \\\n",300       "0  Playground, Gym, Garden, Pool, Clubhouse   West      Owner   \n",301       "1  Playground, Clubhouse, Pool, Gym, Garden  North    Builder   \n",302       "2          Clubhouse, Pool, Playground, Gym  South     Broker   \n",303       "3  Playground, Clubhouse, Gym, Pool, Garden  North    Builder   \n",304       "4  Playground, Garden, Gym, Pool, Clubhouse   East    Builder   \n",305       "\n",306       "  Availability_Status  \n",307       "0       Ready_to_Move  \n",308       "1  Under_Construction  \n",309       "2       Ready_to_Move  \n",310       "3       Ready_to_Move  \n",311       "4       Ready_to_Move  "312      ]313     },314     "execution_count": 3,315     "metadata": {},316     "output_type": "execute_result"317    }318   ],319   "source": [320    "# Load the India housing prices dataset\n",321    "df = pd.read_csv('india_housing_prices.csv')\n",322    "\n",323    "print(\"✓ Dataset loaded successfully!\")\n",324    "print(f\"\\nDataset Shape: {df.shape[0]} rows × {df.shape[1]} columns\")\n",325    "print(\"\\n\" + \"=\"*80)\n",326    "print(\"First 5 rows of the dataset:\")\n",327    "print(\"=\"*80)\n",328    "df.head()"329   ]330  },331  {332   "cell_type": "markdown",333   "id": "16808b10",334   "metadata": {},335   "source": [336    "### 2.1 Initial Data Exploration"337   ]338  },339  {340   "cell_type": "code",341   "execution_count": 4,342   "id": "9f12668c",343   "metadata": {},344   "outputs": [345    {346     "name": "stdout",347     "output_type": "stream",348     "text": [349      "================================================================================\n",350      "DATASET INFORMATION\n",351      "================================================================================\n",352      "\n",353      "Total Records: 250,000\n",354      "Total Features: 23\n",355      "\n",356      "Memory Usage: 187.03 MB\n",357      "\n",358      "================================================================================\n",359      "COLUMN INFORMATION\n",360      "================================================================================\n",361      "<class 'pandas.core.frame.DataFrame'>\n",362      "RangeIndex: 250000 entries, 0 to 249999\n",363      "Data columns (total 23 columns):\n",364      " #   Column                          Non-Null Count   Dtype  \n",365      "---  ------                          --------------   -----  \n",366      " 0   ID                              250000 non-null  int64  \n",367      " 1   State                           250000 non-null  object \n",368      " 2   City                            250000 non-null  object \n",369      " 3   Locality                        250000 non-null  object \n",370      " 4   Property_Type                   250000 non-null  object \n",371      " 5   BHK                             250000 non-null  int64  \n",372      " 6   Size_in_SqFt                    250000 non-null  int64  \n",373      " 7   Price_in_Lakhs                  250000 non-null  float64\n",374      " 8   Price_per_SqFt                  250000 non-null  float64\n",375      " 9   Year_Built                      250000 non-null  int64  \n",376      " 10  Furnished_Status                250000 non-null  object \n",377      " 11  Floor_No                        250000 non-null  int64  \n",378      " 12  Total_Floors                    250000 non-null  int64  \n",379      " 13  Age_of_Property                 250000 non-null  int64  \n",380      " 14  Nearby_Schools                  250000 non-null  int64  \n",381      " 15  Nearby_Hospitals                250000 non-null  int64  \n",382      " 16  Public_Transport_Accessibility  250000 non-null  object \n",383      " 17  Parking_Space                   250000 non-null  object \n",384      " 18  Security                        250000 non-null  object \n",385      " 19  Amenities                       250000 non-null  object \n",386      " 20  Facing                          250000 non-null  object \n",387      " 21  Owner_Type                      250000 non-null  object \n",388      " 22  Availability_Status             250000 non-null  object \n",389      "dtypes: float64(2), int64(9), object(12)\n",390      "memory usage: 43.9+ MB\n"391     ]392    }393   ],394   "source": [395    "# Basic information about the dataset\n",396    "print(\"=\"*80)\n",397    "print(\"DATASET INFORMATION\")\n",398    "print(\"=\"*80)\n",399    "print(f\"\\nTotal Records: {df.shape[0]:,}\")\n",400    "print(f\"Total Features: {df.shape[1]}\")\n",401    "print(f\"\\nMemory Usage: {df.memory_usage(deep=True).sum() / 1024**2:.2f} MB\")\n",402    "\n",403    "print(\"\\n\" + \"=\"*80)\n",404    "print(\"COLUMN INFORMATION\")\n",405    "print(\"=\"*80)\n",406    "df.info()"407   ]408  },409  {410   "cell_type": "code",411   "execution_count": 5,412   "id": "e5fdf987",413   "metadata": {},414   "outputs": [415    {416     "name": "stdout",417     "output_type": "stream",418     "text": [419      "================================================================================\n",420      "STATISTICAL SUMMARY - NUMERICAL FEATURES\n",421      "================================================================================\n"422     ]423    },424    {425     "data": {426      "text/html": [427       "<div>\n",428       "<style scoped>\n",429       "    .dataframe tbody tr th:only-of-type {\n",430       "        vertical-align: middle;\n",431       "    }\n",432       "\n",433       "    .dataframe tbody tr th {\n",434       "        vertical-align: top;\n",435       "    }\n",436       "\n",437       "    .dataframe thead th {\n",438       "        text-align: right;\n",439       "    }\n",440       "</style>\n",441       "<table border=\"1\" class=\"dataframe\">\n",442       "  <thead>\n",443       "    <tr style=\"text-align: right;\">\n",444       "      <th></th>\n",445       "      <th>count</th>\n",446       "      <th>mean</th>\n",447       "      <th>std</th>\n",448       "      <th>min</th>\n",449       "      <th>25%</th>\n",450       "      <th>50%</th>\n",451       "      <th>75%</th>\n",452       "      <th>max</th>\n",453       "    </tr>\n",454       "  </thead>\n",455       "  <tbody>\n",456       "    <tr>\n",457       "      <th>ID</th>\n",458       "      <td>250000.00</td>\n",459       "      <td>125000.50</td>\n",460       "      <td>72168.93</td>\n",461       "      <td>1.00</td>\n",462       "      <td>62500.75</td>\n",463       "      <td>125000.50</td>\n",464       "      <td>187500.25</td>\n",465       "      <td>250000.00</td>\n",466       "    </tr>\n",467       "    <tr>\n",468       "      <th>BHK</th>\n",469       "      <td>250000.00</td>\n",470       "      <td>3.00</td>\n",471       "      <td>1.42</td>\n",472       "      <td>1.00</td>\n",473       "      <td>2.00</td>\n",474       "      <td>3.00</td>\n",475       "      <td>4.00</td>\n",476       "      <td>5.00</td>\n",477       "    </tr>\n",478       "    <tr>\n",479       "      <th>Size_in_SqFt</th>\n",480       "      <td>250000.00</td>\n",481       "      <td>2749.81</td>\n",482       "      <td>1300.61</td>\n",483       "      <td>500.00</td>\n",484       "      <td>1623.00</td>\n",485       "      <td>2747.00</td>\n",486       "      <td>3874.00</td>\n",487       "      <td>5000.00</td>\n",488       "    </tr>\n",489       "    <tr>\n",490       "      <th>Price_in_Lakhs</th>\n",491       "      <td>250000.00</td>\n",492       "      <td>254.59</td>\n",493       "      <td>141.35</td>\n",494       "      <td>10.00</td>\n",495       "      <td>132.55</td>\n",496       "      <td>253.87</td>\n",497       "      <td>376.88</td>\n",498       "      <td>500.00</td>\n",499       "    </tr>\n",500       "    <tr>\n",501       "      <th>Price_per_SqFt</th>\n",502       "      <td>250000.00</td>\n",503       "      <td>0.13</td>\n",504       "      <td>0.13</td>\n",505       "      <td>0.00</td>\n",506       "      <td>0.05</td>\n",507       "      <td>0.09</td>\n",508       "      <td>0.16</td>\n",509       "      <td>0.99</td>\n",510       "    </tr>\n",511       "    <tr>\n",512       "      <th>Year_Built</th>\n",513       "      <td>250000.00</td>\n",514       "      <td>2006.52</td>\n",515       "      <td>9.81</td>\n",516       "      <td>1990.00</td>\n",517       "      <td>1998.00</td>\n",518       "      <td>2007.00</td>\n",519       "      <td>2015.00</td>\n",520       "      <td>2023.00</td>\n",521       "    </tr>\n",522       "    <tr>\n",523       "      <th>Floor_No</th>\n",524       "      <td>250000.00</td>\n",525       "      <td>14.97</td>\n",526       "      <td>8.95</td>\n",527       "      <td>0.00</td>\n",528       "      <td>7.00</td>\n",529       "      <td>15.00</td>\n",530       "      <td>23.00</td>\n",531       "      <td>30.00</td>\n",532       "    </tr>\n",533       "    <tr>\n",534       "      <th>Total_Floors</th>\n",535       "      <td>250000.00</td>\n",536       "      <td>15.50</td>\n",537       "      <td>8.67</td>\n",538       "      <td>1.00</td>\n",539       "      <td>8.00</td>\n",540       "      <td>15.00</td>\n",541       "      <td>23.00</td>\n",542       "      <td>30.00</td>\n",543       "    </tr>\n",544       "    <tr>\n",545       "      <th>Age_of_Property</th>\n",546       "      <td>250000.00</td>\n",547       "      <td>18.48</td>\n",548       "      <td>9.81</td>\n",549       "      <td>2.00</td>\n",550       "      <td>10.00</td>\n",551       "      <td>18.00</td>\n",552       "      <td>27.00</td>\n",553       "      <td>35.00</td>\n",554       "    </tr>\n",555       "    <tr>\n",556       "      <th>Nearby_Schools</th>\n",557       "      <td>250000.00</td>\n",558       "      <td>5.50</td>\n",559       "      <td>2.88</td>\n",560       "      <td>1.00</td>\n",561       "      <td>3.00</td>\n",562       "      <td>5.00</td>\n",563       "      <td>8.00</td>\n",564       "      <td>10.00</td>\n",565       "    </tr>\n",566       "    <tr>\n",567       "      <th>Nearby_Hospitals</th>\n",568       "      <td>250000.00</td>\n",569       "      <td>5.50</td>\n",570       "      <td>2.87</td>\n",571       "      <td>1.00</td>\n",572       "      <td>3.00</td>\n",573       "      <td>5.00</td>\n",574       "      <td>8.00</td>\n",575       "      <td>10.00</td>\n",576       "    </tr>\n",577       "  </tbody>\n",578       "</table>\n",579       "</div>"580      ],581      "text/plain": [582       "                     count      mean      std     min      25%       50%  \\\n",583       "ID               250000.00 125000.50 72168.93    1.00 62500.75 125000.50   \n",584       "BHK              250000.00      3.00     1.42    1.00     2.00      3.00   \n",585       "Size_in_SqFt     250000.00   2749.81  1300.61  500.00  1623.00   2747.00   \n",586       "Price_in_Lakhs   250000.00    254.59   141.35   10.00   132.55    253.87   \n",587       "Price_per_SqFt   250000.00      0.13     0.13    0.00     0.05      0.09   \n",588       "Year_Built       250000.00   2006.52     9.81 1990.00  1998.00   2007.00   \n",589       "Floor_No         250000.00     14.97     8.95    0.00     7.00     15.00   \n",590       "Total_Floors     250000.00     15.50     8.67    1.00     8.00     15.00   \n",591       "Age_of_Property  250000.00     18.48     9.81    2.00    10.00     18.00   \n",592       "Nearby_Schools   250000.00      5.50     2.88    1.00     3.00      5.00   \n",593       "Nearby_Hospitals 250000.00      5.50     2.87    1.00     3.00      5.00   \n",594       "\n",595       "                       75%       max  \n",596       "ID               187500.25 250000.00  \n",597       "BHK                   4.00      5.00  \n",598       "Size_in_SqFt       3874.00   5000.00  \n",599       "Price_in_Lakhs      376.88    500.00  \n",600       "Price_per_SqFt        0.16      0.99  \n",601       "Year_Built         2015.00   2023.00  \n",602       "Floor_No             23.00     30.00  \n",603       "Total_Floors         23.00     30.00  \n",604       "Age_of_Property      27.00     35.00  \n",605       "Nearby_Schools        8.00     10.00  \n",606       "Nearby_Hospitals      8.00     10.00  "607      ]608     },609     "execution_count": 5,610     "metadata": {},611     "output_type": "execute_result"612    }613   ],614   "source": [615    "# Statistical summary of numerical features\n",616    "print(\"=\"*80)\n",617    "print(\"STATISTICAL SUMMARY - NUMERICAL FEATURES\")\n",618    "print(\"=\"*80)\n",619    "df.describe().T"620   ]621  },622  {623   "cell_type": "code",624   "execution_count": 6,625   "id": "cdc3514f",626   "metadata": {},627   "outputs": [628    {629     "name": "stdout",630     "output_type": "stream",631     "text": [632      "================================================================================\n",633      "STATISTICAL SUMMARY - CATEGORICAL FEATURES\n",634      "================================================================================\n",635      "\n",636      "State:\n"637     ]638    },639    {640     "name": "stdout",641     "output_type": "stream",642     "text": [643      "  Unique values: 20\n",644      "  Top 5 values:\n",645      "State\n",646      "Odisha         12681\n",647      "Tamil Nadu     12629\n",648      "West Bengal    12622\n",649      "Gujarat        12578\n",650      "Delhi          12552\n",651      "Name: count, dtype: int64\n",652      "\n",653      "City:\n",654      "  Unique values: 42\n",655      "  Top 5 values:\n",656      "City\n",657      "Coimbatore    6461\n",658      "Ahmedabad     6411\n",659      "Silchar       6404\n",660      "Durgapur      6387\n",661      "Cuttack       6358\n",662      "Name: count, dtype: int64\n",663      "\n",664      "Locality:\n",665      "  Unique values: 500\n",666      "  Top 5 values:\n",667      "Locality\n",668      "Locality_296    567\n",669      "Locality_316    562\n",670      "Locality_297    561\n",671      "Locality_313    560\n",672      "Locality_321    558\n",673      "Name: count, dtype: int64\n",674      "\n",675      "Property_Type:\n",676      "  Unique values: 3\n",677      "  Top 5 values:\n",678      "Property_Type\n",679      "Villa                83744\n",680      "Independent House    83300\n",681      "Apartment            82956\n",682      "Name: count, dtype: int64\n",683      "\n",684      "Furnished_Status:\n",685      "  Unique values: 3\n",686      "  Top 5 values:\n",687      "Furnished_Status\n",688      "Unfurnished       83408\n",689      "Semi-furnished    83374\n",690      "Furnished         83218\n",691      "Name: count, dtype: int64\n",692      "\n",693      "Public_Transport_Accessibility:\n",694      "  Unique values: 3\n",695      "  Top 5 values:\n",696      "Public_Transport_Accessibility\n",697      "High      83705\n",698      "Low       83287\n",699      "Medium    83008\n",700      "Name: count, dtype: int64\n",701      "\n",702      "Parking_Space:\n",703      "  Unique values: 2\n",704      "  Top 5 values:\n",705      "Parking_Space\n",706      "No     125456\n",707      "Yes    124544\n",708      "Name: count, dtype: int64\n",709      "\n",710      "Security:\n",711      "  Unique values: 2\n",712      "  Top 5 values:\n",713      "Security\n",714      "Yes    125233\n",715      "No     124767\n",716      "Name: count, dtype: int64\n",717      "\n",718      "Amenities:\n",719      "  Unique values: 325\n",720      "  Top 5 values:\n",721      "Amenities\n",722      "Pool          10218\n",723      "Clubhouse     10010\n",724      "Garden        10006\n",725      "Gym            9938\n",726      "Playground     9934\n",727      "Name: count, dtype: int64\n",728      "\n",729      "Facing:\n",730      "  Unique values: 4\n",731      "  Top 5 values:\n",732      "Facing\n",733      "West     62757\n",734      "North    62637\n",735      "South    62337\n",736      "East     62269\n",737      "Name: count, dtype: int64\n",738      "\n",739      "Owner_Type:\n",740      "  Unique values: 3\n",741      "  Top 5 values:\n",742      "Owner_Type\n",743      "Broker     83479\n",744      "Owner      83268\n",745      "Builder    83253\n",746      "Name: count, dtype: int64\n",747      "\n",748      "Availability_Status:\n",749      "  Unique values: 2\n",750      "  Top 5 values:\n",751      "Availability_Status\n",752      "Under_Construction    125035\n",753      "Ready_to_Move         124965\n",754      "Name: count, dtype: int64\n"755     ]756    }757   ],758   "source": [759    "# Statistical summary of categorical features\n",760    "print(\"=\"*80)\n",761    "print(\"STATISTICAL SUMMARY - CATEGORICAL FEATURES\")\n",762    "print(\"=\"*80)\n",763    "categorical_cols = df.select_dtypes(include=['object']).columns\n",764    "for col in categorical_cols:\n",765    "    print(f\"\\n{col}:\")\n",766    "    print(f\"  Unique values: {df[col].nunique()}\")\n",767    "    print(f\"  Top 5 values:\\n{df[col].value_counts().head()}\")"768   ]769  },770  {771   "cell_type": "markdown",772   "id": "72e1b509",773   "metadata": {},774   "source": [775    "## 3. Data Cleaning"776   ]777  },778  {779   "cell_type": "markdown",780   "id": "9367224a",781   "metadata": {},782   "source": [783    "### 3.1 Check for Missing Values"784   ]785  },786  {787   "cell_type": "code",788   "execution_count": 7,789   "id": "e5dcab52",790   "metadata": {},791   "outputs": [792    {793     "name": "stdout",794     "output_type": "stream",795     "text": [796      "================================================================================\n",797      "MISSING VALUES ANALYSIS\n",798      "================================================================================\n",799      "\n",800      "✓ No missing values found in the dataset!\n"801     ]802    }803   ],804   "source": [805    "# Check for missing values\n",806    "print(\"=\"*80)\n",807    "print(\"MISSING VALUES ANALYSIS\")\n",808    "print(\"=\"*80)\n",809    "\n",810    "missing_values = df.isnull().sum()\n",811    "missing_percentage = (missing_values / len(df)) * 100\n",812    "\n",813    "missing_df = pd.DataFrame({\n",814    "    'Column': missing_values.index,\n",815    "    'Missing_Count': missing_values.values,\n",816    "    'Missing_Percentage': missing_percentage.values\n",817    "})\n",818    "\n",819    "missing_df = missing_df[missing_df['Missing_Count'] > 0].sort_values('Missing_Count', ascending=False)\n",820    "\n",821    "if len(missing_df) > 0:\n",822    "    print(f\"\\n⚠ Found missing values in {len(missing_df)} columns:\\n\")\n",823    "    print(missing_df.to_string(index=False))\n",824    "else:\n",825    "    print(\"\\n✓ No missing values found in the dataset!\")\n",826    "\n",827    "# Visualize missing values if any\n",828    "if len(missing_df) > 0:\n",829    "    plt.figure(figsize=(12, 6))\n",830    "    plt.subplot(1, 2, 1)\n",831    "    missing_df.plot(x='Column', y='Missing_Count', kind='barh', ax=plt.gca(), color='coral', legend=False)\n",832    "    plt.xlabel('Missing Count')\n",833    "    plt.title('Missing Values Count by Column')\n",834    "    plt.tight_layout()\n",835    "    plt.show()"836   ]837  },838  {839   "cell_type": "markdown",840   "id": "de903caf",841   "metadata": {},842   "source": [843    "### 3.2 Check for Duplicate Records"844   ]845  },846  {847   "cell_type": "code",848   "execution_count": 8,849   "id": "10f962be",850   "metadata": {},851   "outputs": [852    {853     "name": "stdout",854     "output_type": "stream",855     "text": [856      "================================================================================\n",857      "DUPLICATE RECORDS CHECK\n",858      "================================================================================\n",859      "\n",860      "Total duplicate records: 0\n",861      "✓ No duplicate records found!\n",862      "\n",863      "Final dataset shape: (250000, 23)\n"864     ]865    }866   ],867   "source": [868    "# Check for duplicate records\n",869    "print(\"=\"*80)\n",870    "print(\"DUPLICATE RECORDS CHECK\")\n",871    "print(\"=\"*80)\n",872    "\n",873    "duplicates = df.duplicated().sum()\n",874    "print(f\"\\nTotal duplicate records: {duplicates}\")\n",875    "\n",876    "if duplicates > 0:\n",877    "    print(f\"⚠ Found {duplicates} duplicate records. Removing them...\")\n",878    "    df_clean = df.drop_duplicates()\n",879    "    print(f\"✓ Removed {duplicates} duplicates. New shape: {df_clean.shape}\")\n",880    "else:\n",881    "    print(\"✓ No duplicate records found!\")\n",882    "    df_clean = df.copy()\n",883    "\n",884    "print(f\"\\nFinal dataset shape: {df_clean.shape}\")"885   ]886  },887  {888   "cell_type": "markdown",889   "id": "13b8ee90",890   "metadata": {},891   "source": [892    "### 3.3 Identify and Handle Outliers"893   ]894  },895  {896   "cell_type": "code",897   "execution_count": 9,898   "id": "03f61f20",899   "metadata": {},900   "outputs": [901    {902     "name": "stdout",903     "output_type": "stream",904     "text": [905      "================================================================================\n",906      "OUTLIER DETECTION - IQR METHOD\n",907      "================================================================================\n",908      "\n",909      "          Column  Outliers_Count Outliers_Percentage Lower_Bound Upper_Bound\n",910      "   Size_in_SqFt               0               0.00%    -1753.50     7250.50\n",911      " Price_in_Lakhs               0               0.00%     -233.94      743.38\n",912      " Price_per_SqFt           20020               8.01%       -0.12        0.33\n",913      "            BHK               0               0.00%       -1.00        7.00\n",914      "       Floor_No               0               0.00%      -17.00       47.00\n",915      "   Total_Floors               0               0.00%      -14.50       45.50\n",916      "Age_of_Property               0               0.00%      -15.50       52.50\n"917     ]918    },919    {920     "data": {921      "image/png": "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fl6l/P8CQDkphzjX2kSFdsyzjM8wPsv//M//zJ9zY22il8ddd921zP29/fbbr97vI/axo3oVgLYdk+MS3S6i08XXvva1ev+2L2sfL7pgxLK6HTeaWj9mFkdXj8JrxRxoqGRafcIKitZPP/jBD2pb/UQ7p+nTp+ednz/84Q/ptttuSwMGDMjthfr165d69OhR9G2MFjzx2iFaHbWEaAsUybcQM1Pi8sYbb+T3/8c//jF/TivTDizE47p27brU/R07dszXMXsnZh5F4hWAFRMt3KL1W5xBHwdBo41h/Hsebdx+9atfLTUjrpix5ZNETI1t0FoOgHKMc60t6RetbGO2ZXxm0Qp31qxZtTMx44SVOHi7sgqfdV2Fts/REjnmTM6fP3+VXgOA1hGT4wT+iMvRWj2SftFWPVqlR4vx5hAjCY455pgc66NK/LzzzmuWkzmhLZP4gxV05ZVX5uuodIvkV8ytiYRXzM14++2389koUTEQc15KJWb+RPKtpbzzzjt51lAYM2ZM+spXvpJ3Bv/nf/4nB9r4PGImTZzhszKOPvroPL+mKR9//PFKbztApYuzIKM6O8TcsDiZ4uabb04vvPBCev7559M222xTktiyPEaNGpUvAFCOca41idmskfSLysnrrrsuzxmN/bCoAHz88cfzPu9Xv/rVlWrDGYnVZX3WMQc2kn4AlE9MDm+99VY+nhoneEQVeHN08lq8eHH67ne/WztvOY5T7r///qv8vNDWafUJKyiG2heq0iLpF9Zbb730X//1X/mMlcKOZMPWXYVS9MYusdNUMH78+Hx2Y7RS+dznPpfOOeecFU50NdamptC+LNqlRGVitFGJysQIwrHjtiLef//9fLZO4azMwlmzO+64YzrllFPy57DWWmvVrh87beeee27afvvtc1vQ+CyiQrJhuf7yiMf+8pe/zD/HmabxHM8888wKPQcA///A25e//OV6J3YU4lecwBI/b7311unkk09usgVaPCaWb7fddmngwIFp7733Trfccku914l1vve97+XWLrFOnDDyxBNPrPD2NtbWpbBNzz33XI7F0YZs8ODBOUE4Z86c1FIeeOCBvNMacT/e05577pmr0Zfl4osvztsaMf6pp55aanm00N5ll13SVlttld9jnEhTEP8XuOCCC3Jb7Vj+2c9+Np9s8/LLL7fI+wMoB20tzhW2LeLJ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JM5RicQ5KpE4B5VDnKPSVGqMC+IclUico9L0aeY4p+IPKlBVVUrV1e3yNQCUG3EOgHImzgFQzsQ5WHUSfwAAAAAAAFAGJP4AAAAAAACgDEj8AQAAAAAAQBmQ+AMAAAAAAIAyIPEHAAAAAAAAZUDiDwAAAAAAAMqAxB8AAAAAAACUAYk/AAAAAAAAKAMSfwAAAAAAAFAGJP4AAAAAAACgDEj8AQAAUDQLFixI++yzT3rmmWeaXGfy5Mnp4IMPTgMHDkwHHnhgevHFF4u6jQAAAG2VxB8AAABFMX/+/HTSSSelKVOmNLnOnDlz0ogRI9KQIUPSXXfdlQYNGpSOPvrofD8AAADLJvEHAABAi5s6dWo65JBD0r/+9a9lrvfggw+mjh07plNPPTVttNFG6fTTT09du3ZNDz30UNG2FQAAoK1qX+oNAAAAoPw9++yzaejQoel73/te2nrrrZtcb9KkSWnw4MGpqqoq347rbbbZJk2cODENHz680cf836pQ9ubOnZvGjPlRevPN19O6666fxow5J3Xu3LnUmwUAQCtS0sTfI488kkaOHFnvvt133z1dfvnleabD6NGj09///ve08cYbpzPPPDNtueWWtevdf//96bLLLkvTpk1Lw4YNS2effXbq2bNnXlZTU5MuueSSdMcdd6QlS5akgw46KJ188smpXTsFjgC0Hi0VBwGgNTr00EOXa72IbRH76urVq1eT7UF79uyaqqvt61H+9t9///TrX/+63n033HBd2m+//dI999xTsu0CPnn/rqEnn3wynXfeeemNN97I82zPPffctN566xVxawEoZ+1L3epll112yQcrC6KlS2Gmw7777psuuOCC9Itf/CLPdIgA2qVLl/TCCy/kdi9xEHSzzTbLwXHUqFHpmmuuyc/x85//PB8QHTduXFq0aFE65ZRT8o7it771rRK+WwAoThwEgLZe0dShQ4d698XtBQsWNLr+jBmzVfxR9g477KvpoYceyH8Lxx57fDrhhOPTFVdcma6++sqcDNxzz33SLbf8otSbCS2md+/VU1vdv2vo7bffTscfH3/HJ6Qdd9wxXXnllem4445L9957b221OwC02cTfq6++mjbddNPUp0+fevdHpV5hpkMEvDi4+cc//jHPdIjWLrfeemvac88989luYezYsTmwxlkycXbMzTffnE488cQ8DD5Etd9P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+AMAAAAAWAUXXnhh2m+//dL777/f5DpTp05Na6211gon/aqqmmEDoY0ofN/j2ncfVo7EHwAAAADASnrqqafSX/7ylzyrb8yYMU2u9+qrr6bVVlstHX300enFF19Mn/70p9Opp56aKwCb0rNn11RdbVoTlWPJkiVpwYIFqUePrqldO999WBkSfwAAAACt1E477Zoef/x3+ecjjvhWuvjiS1Pv3qun6dNnpZNP/l666aaf1a4HFN/8+fPT6NGj0xlnnJE6deq0zHX/8Y9/pA8//DAdfPDB6cQTT0y/+tWv0hFHHJEefPDBXAnYmBkzZqt6oqJUV6fUufNq6cMPZ6fFi0u9NVAc8X+75lRVExOhK9y0abNKvQlQ9ADapctqac6chQIoFaVPn+YNom2FOEelEeeoVOIclKe+fbsv97rvv/9Ri24LlEprjnGXXHJJeuutt9KPf/zjfPuHP/xhvr7ggguWWnfRokVp3rx5qVu3bvl2HJb90pe+lPbee+90zDHHNPr84hyVxv4clahPM8c5FX8AAAAAACvhgQceSNOnT0+DBg3Kt6NFYXj44YfT888/X2/d9u3b1yb9QlVVVdpwww3Te++9V+StBqCcSfwBAAAAAKyEW265JVfyFVx88cX5+uSTT15q3cMOOywNHTo0jRw5snaW2SuvvJK+9rWvFXGLASh3pmMCAAAAtFJbbDGg9ue99vpSmjbto9weMK7jdmPrAcWzzjrrpPXXX7/20rVr13yJnxcvXpymTZtWWwW46667phtvvDE99thj6bXXXktnnXVWmjVrVjrggANK/TYAKCMq/gAAAABaqcmT/1r784MP3pv69On+iesBrcM777yTPv/5z6ebb745V/p94xvfSPPnz0/nnHNObg86cODA9POf/7xe+08AWFVVNXGaWIUzJJdKY0gulao1D4RvSeIclUaco1KJc1Ce+vZtPNHXmPff/6hFtwVKpVJjXBDnqDT256hEfZo5zmn1CQAAAAAAAGVA4g8AAACgldpgg41qf9555y/Um/EXtxtbDwCAymXGHwAAAEAr9c9/vlr78x/+8GiTM/7qrgcAQOVS8QcAAAAAAABlQOIPAAAAAAAAyoDEHwAAAEArtdZa69b+vP32O9ab8Re3G1sPAIDKZcYfAAAAQCv1zjtv1v781FP/0+SMv7rrAQBQuVT8AQAAAAAAQBmQ+AMAAAAAAIAyIPEHAAAA0Er17t2v9uchQ7arN+Mvbje2HgAAlcuMPwAAAIBWavr092p//stfnm5yxl/d9QAAqFwq/gAAAAAAAKAMSPwBAAAAAABAGZD4AwAAAGilOnfuVvvz5psPqDfjL243th4AAJVL4g8AAIAWN3/+/HTaaaelIUOGpGHDhqUbbrihyXUfeeSRtOeee6ZBgwalr371q+mll14q6rZCazJ37se1P//tb3/NM/6qqqryddxubD0AACqXxB8AAAAtbuzYsenFF19MN910Uxo9enQaN25ceuihh5Zab8qUKen73/9+Ovroo9Ovf/3rtPnmm+ef586dW5LtBgAAaEsk/gAAAGhRc+bMSePHj0+nn3566t+/f/riF7+YjjrqqHTbbbctte6f/vSntPHGG6f9998//cd//Ec66aST0rRp09LUqVNLsu0AAABticQfAAAALerll19OixYtyq07CwYPHpwmTZqUlixZUm/dNdZYIyf5JkyYkJfdddddqVu3bjkJCJVuvfU+XW/GX9wGAIC62te7BQAAAM0sKvbWXHPN1KFDh9r7evfunef+zZw5M/Xs2bP2/r322iv97ne/S4ceemiqrq5O7dq1S9dcc03q0aNHk89fVdXibwFahTfe+Eee7dcUfwsAAEj8AUCJjRgxIh/wvOCCC/LtyZMn59lHf//733OrszPPPDNtueWWtevff//96bLLLssHUYcNG5bOPvvsegdMAaC1ifl8dZN+oXB7wYIF9e7/97//nWPcGWeckQYOHJh+8YtfpFGjRqW777479erVa6nn7tmza6qu1swGQu/eq5d6EwAAKDGJPwAooQceeCA9/vjj6YADDqidgRSJwH333TcnAuNg59FHH50eeeSR1KVLl/TCCy/k+UiRDNxss83Sueeemw+GRiUEALRWHTt2XCrBV7jdqVOnevdffPHFadNNN01f+9rX8u04wWXPPfdMd955Z46RDc2YMVuVE/yf6dNnlXoToEVIagPA8pP4A4ASidZmY8eOTQMGDKi978EHH8wHR0899dRUVVWVk3x//OMf00MPPZSGDx+ebr311nzwc//998/rx+N32WWX9MYbb6T11luvhO8GAJrWr1+/XMkXc/7at//f3dCo6oukX/fu9dsWvvTSS+mwww6rvR2tPuNkl7fffrvJ56+pacGNh1akfftO6Z133s9JkEjyrbVW37Ro0bza5f4WAADQDwUASuTCCy9M++23X27nWTBp0qQ0ePDgnPQLcb3NNtukiRMn1i4fMmRI7fprrbVWWnvttfP9ANBabb755jnhV4hnYcKECfnkl0js1dW3b9/06quv1rvvH//4R1p33XWLtr3QWkWSL2b8xf8R47pu0g8AAIKKPwAogaeeeir95S9/Sffdd18aM2ZM7f1R/VA3ERhintGUKVPyz++//34+INpw+bvvvrvM19MCjUpS+L7Hte8+tA6dO3fO1eoR884777wcz2644YZ0/vnn18a/1VdfPVcAHnLIIemHP/xhnm87aNCgNH78+FztV2iLDQAAQNMk/gCgyObPn59Gjx6dzjjjjKXmGs2dOzd16NCh3n1xuzAHad68ectc3piePbum6mpF/lSOJUuW5L+JHj26LlVJBJROzKSNxN8RRxyRunXrlk444YS022675WXDhg3LScBoa73XXnul2bNn5/m1cWJLVAvedNNN+UQXAAAAlk3iDwCKbNy4cbmKYccdd1xqWcz3a5jEi9uFBGFTy6OSoikzZsxW9URFqa6O6qLV0ocfzk6LF5d6a6B4YuZXaxaxKtpcx6WhV155pd7tgw8+OF+AhtqladNm1s7469NnjTjlpdQbBQBAK9JqEn8jRoxIPXv2TBdccEG+PXny5FwN8fe//z23PDvzzDPzQdKC+++/P1122WW5JUycHXr22Wfnx4eampp0ySWXpDvuuCOf8X3QQQelk08+2RnfALQKDzzwQJo+fXpuXxYKibyHH3447bPPPnlZXXG70N6zX79+jS7v06fPMl+zpqaZ3wS0YoXve1z77gNQXpbk2X4AANCUdq3lAOjjjz9ee3vOnDk5EThkyJB011135QOjRx99dL4/vPDCC+n0009PI0eOTL/85S/TRx99lNvGFPz85z/PicGoqLj88svz/KS4DwBag1tuuSXHpnvuuSdfdt1113yJnwcOHJief/75fBJLiOvnnnsu3x/iesKECbXP9c477+RLYTkAAAAAULlKnvibOXNmGjt2bBowYEDtfQ8++GBuZXbqqaemjTbaKCf5unbtmh566KG8/NZbb0177rlnHg6/2Wab5cdH4vCNN97Iy2+++eZ04okn5sThdtttl6v9brvttpK9RwCoa5111knrr79+7SViXFzi5z322COf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tEYdO3ZcKsFXuN2pU6d690eLz8033zzP9ttiiy3SKaeckjbYYIP061//usnnjxDo4lKulxWZ8VfqbXVxaakLALD8VPwBQAlMnz49H9QcM2ZM6tatWz6guf3226cJEybkhF9U8t1+++2pS5cuaaONNkpPPfVUTgKecMIJafz48WnLLbdMRx55ZH6u888/P+2www55JtLQoUNL/dYAoNG5R//+97/znL/27dvXtv+MpF/37vXnlfXp0ydtuOGG9e6LOPnOO+8UdZuhLc74AwAAFX8AUAJ9+/ZNl112WU76xRnbkfD785//nLbddts0adKkXOEQSb+CmGsUbT9DLB8yZEjtss6dO6f+/fvXLgeA1iZOdomEX91YFbFvwIABqV27+rulW2+9dXrllVfq3ffaa6/lWX8AAAAsm4o/ACixXXfdNbfv3GWXXdLuu++eZ/dFYrCuXr16pXfffbe2QmJZyxtj9hGlUvjuxXWxvod1X7PYr+dvDRoXJ6nsv//+udI94tz777+fbrjhhly1Xohtq6++eq4A/MpXvpJuvfXWdMUVV6QvfelL6Z577smV8NH6GgAAgGWT+AOAErv88stz6884GBoHQOfOnZs6dOhQb524XZiF9EnLG+rZs2uqrlbkT+nmWcZ3c401ui5V1dPSevVavezfI7Qlo0aNyrHuiCOOyBXv0b56t912y8uGDRuWY2DMr43Kvuuvvz6de+656dprr80tr+M62oUC/zvjr3fv1dP06bO0/QQAYCkSfwBQYtHmLMyfPz+dfPLJ6cADD8zJvboiqRBVEKFjx45LJfnidsMZSQUzZsxWhUTJRB6sS5fV0syZs9OSJcV5zfi+R9Lvgw9mpZqa8nyP0JhIBLT2qr8LL7wwXxpq2NozWlzfddddRdw6aDsk+wAAWBaJPwAogajwizlHX/jCF2rv23jjjdPChQtTnz598iyjhusX2ntGxUPcbrg85ic1pRjJD1jWdy+ui/09LNZrlvI9AgAAANSlFxEAlMCbb76ZRo4cmd57773a+1588cXUs2fPXOXw0ksvpXnz5tUumzBhQho4cGD+Oa7jdkFUB06ePLl2OQAAAABQmST+AKBE7T379++fTjvttDR16tT0+OOPp4suuigdc8wxadttt01rrbVWnoU0ZcqUPNfohRdeSAcddFB+bLQCfe655/L9sTzWW3fdddPQoUNL/bYAACjCjL+ampp8DQAADUn8AUAJVFdXp6uuuirPO/ryl7+cTj/99HTYYYelww8/vHbZtGnT0vDhw9O9996brrzyyrT22mvnx0aS74orrkh33nlnTgbOnDkzL68yyA8AoCJm/MX/+8z6AwCgMWb8AUCJxKy+cePGNbps/fXXT7feemuTj91pp53yBQAAAACgQMUfAAAAAAAAlAGJPwAAAIA2wow/AACWRatPAAAAgDbCbD8AAFptxd/rr7+evvWtb6VBgwalnXfeOV1//fW1y9544430jW98I2299dZpr732Sk888US9xz755JNpn332SQMHDkyHH354Xr+uG2+8Me244475uU877bQ0d+7cor0vAAAAAAAAqJjE35IlS9KIESPSmmuume6+++505plnpquvvjrdd999uWXF8ccfn3r37p3uvPPOtN9++6WRI0emt99+Oz82rmP58OHD0x133JF69uyZjjvuuPy48PDDD6dx48als846K910001p0qRJ6aKLLirVWwUAAAAAAIDyTfxNnz49bb755mnMmDFpgw02SDvttFPafvvt04QJE9LTTz+dK/gicbfRRhulo48+Olf+RRIwjB8/Pm255ZbpyCOPTJtsskk6//zz01tvvZWeffbZvPzmm29ORxxxRNpll13SVlttlZOK8VhVfwAAAEBbZsYfAACtcsZf375902WXXZZ/jv+wPvfcc+nPf/5zGj16dK7Q22KLLVKXLl1q1x88eHCaOHFi/jmWDxkypHZZ586dU//+/fPyuP+vf/1rrhAsiKThwoUL08svv5xbfzamqqoF3yx8gsL3L66L8V2s+3rl+P4AAADKlRl/AAC0ysRfXbvuumtu3xkVervvvns677zzcmKwrl69eqV33303/zxt2rQml3/00Udp/vz59Za3b98+rbHGGrWPb6hnz66purqk4w6pcNH6dsGCBWmNNbqmdu2K913s1Wv1sn5/AAAAAABQSVpF4u/yyy/PrT+j7We07YyWnB06dKi3TtyOxEFY1vJ58+bV3m7q8Q3NmDFbFRIlFbmwLl1WSzNnzk5LlrT868X3PZJ+H3wwK/3faMyyen/QlN69i5PsBgAAAACo2MTfgAED8nVU6p188snpwAMPXGoeXyTtOnXqlH/u2LHjUkm8uN29e/e8rHC74fJoCdqUYiQ/4JO+f3FdzO9isV6vVO8PAACg3MRsvzihbfr0Wdp+AgCwlJL13IsKv0cffbTefRtvvHGexdenT5+8vOH6hfad/fr1a3R5PC5aekbyr+7yRYsWpZkzZ+blAAAAAG1VJPuqqqok/QAAaF2JvzfffDONHDkyvffee7X3vfjii6lnz55p8ODB6aWXXqpt2xkmTJiQBg4cmH+O67hdENWBkydPzvfH/LCoIKy7fOLEiXnO32abbVa09wcAAAAAAAAVkfiL5Fz//v3TaaedlqZOnZoef/zxdNFFF6VjjjkmbbvttmmttdZKo0aNSlOmTEnXXntteuGFF9JBBx2UHxutQJ977rl8fyyP9dZdd900dOjQvPzQQw9NP/vZz3JFYTwuZgcecsghy2z1CQAAAAAAAG1ZyRJ/1dXV6aqrrsrJuC9/+cvp9NNPT4cddlg6/PDDa5dNmzYtDR8+PN17773pyiuvTGuvvXZ+bCT5rrjiinTnnXfmZGC08Yzl0eoi7L333unoo49OZ5xxRjryyCPTVlttlU455ZRSvVUAAACAZpvxV1NTk68BAKChqpr432KFmzZtVqk3gQrXrl1KXbuulmbPXpiWLGn514sceWEYfDH+BSj2+4Om9OmzeqpE4hylVIoYIM5RqcQ5KE99+y7/LL/335cMpDxVaowL4hylZH8O2macK1nFHwAAAAAAAFDixF+03owWnEOGDElvvPFGOvfcc/O8PQCoBOIgAJVCzAOgnIlzAJSjFU78/fd//3caO3ZsDooLFy7M92255ZbpZz/7WRo3blxLbCMAtBriIACVQsyD1smMP2ge4hwA5WqFE3+33HJLOuecc9LXv/711C4a4KaU9ttvvxwox48f3xLbCACthjgIQKUQ86B16tOne6qqqsrXwMoT5wAoVyuc+Hv77bfTRhtttNT96623Xpo5c2ZzbRcAtEriIACVQswDoJyJcwCUqxVO/A0cODDdc8899e6LFhM33HBD2mqrrZpz2wCg1REHAagUYh4A5UycA6BcVdVERFsBf//739OIESNSr1690ssvv5y233779M9//jPNmzcvXXfddWnzzTdPbc20abNKvQlUuOgo0bXramn27IVpyZKWf72qqpR69149TZ8+K63YvwBt4/1BU/r0WX2Vn6MtxkFxjlIqRQwQ56hUzRHn2mLME+cod3371m/pGbP9CnGuYbvP998394/y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nS666KJ01llnFXlLofUz4w8AgGVR8QcAAECLmjZtWlpzzTVThw4dau/r3bt3nvs3c+bM1LNnz3rrX3DBBemAAw5Im2yyyXI9f1VVs28ytFrLmu3nbwEAAIk/AAAAWtTcuXPrJf1C4faCBQvq3f/kk0+mCRMmpPvvv3+5nrtnz66pulozGwi9e69e6k0AAKDEJP4AAABoUR07dlwqwVe43alTp9r75s2bl84444w0evToevcvy4wZs1U5wf+ZPn1WqTcBWoSkNgAsP6dFAkCJvPfee+nEE09M2267bdpxxx3T+eefn1uehTfeeCN94xvfSFtvvXXaa6+90hNPPLFUNcQ+++yTBg4cmA4//PC8PgC0Vv369ctz+2LOX932n5Hc6979/7ctfOGFF3JMi/gY8wALMwG//e1v54RgU2pqXFzK97IiM/5Kva0uLi11AQCWn8QfAJRAHKyJg5rR+uy2225Ll156afr973+fLrvssrzs+OOPz7OP7rzzzrTffvulkSNHprfffjs/Nq5j+fDhw9Mdd9yR5yIdd9xx+XEA0BptvvnmqX379mnixIm190U7zwEDBqR27f7/bulWW22Vfvvb36Z77rmn9hLOOeec9J3vfKck2w6tccZfVVXVMmf9AQBQubT6BIASeO211/LBzz/96U85wRciEXjhhRemz33uc7na4fbbb09dunRJG220UXrqqadyEvCEE05I48ePT1tuuWU68sgj8+OiUnCHHXZIzz77bBo6dGiJ3xkALK1z585p//33T2PGjEnnnXdeev/999MNN9yQY1ih+m/11VfPFYDrr79+oxWDvXr1KsGWAwAAtC0SfwBQAn369EnXX399bdKv4OOPP06TJk1KW2yxRU76FQwePLi2SiKWDxkypN7B1P79++flTSX+zD6iVArfvbgu1vew7msW+/X8rUHTRo0alRN/RxxxROrWrVs+mWW33XbLy4YNG5aTgFHNDgAAwMqT+AOAEoh5RjHXr2DJkiXp1ltvTdttt12ueujbt2+99aPK4d13380/f9Lyhnr27Jqqq3X3pjTiu71gwYK0xhpd67XzK4ZevVYv+/cIbUmcqBKV7XFp6JVXXmnycctaBpUoZvv17r16mj59lnafAAAsReIPAFqBiy66KE2ePDnP7LvxxhtThw4d6i2P25FYCDEXcFnLG5oxY7YqJEom8mBduqyWZs6cnZYsKc5rxvc9kn4ffDArFWP0ZSneIzQmEgFA+ZPsg9bnvffeS+eee256+umnU8eOHdNee+2VTjrppPxzQ8cee2z63e9+V+++n/70p2mXXXYp4hYDUM4k/gCgFST9brrppnTppZemTTfdNO8czpw5s946kdSLuUchljdM8sXtqCJsSjGSH7Cs715cF/t7WKzXLOV7BACgtGpqavK89tgfu+2229KHH36YTjvttNwJ4gc/+MFS67/66qt5H3D77bevva9Hjx5F3moAypleRABQQmeffXb6+c9/nnf8dt9993xfv3790vTp0+utF7cL7T2bWh5zAwEAACie1157Lc9bj1m1m2yySZ7HHonA+++/f6l144TNN998Mw0YMCDvvxUuDTu6AMCqUPEHACUybty4dPvtt6cf//jHaY899qi9f+DAgenaa69N8+bNq63ymzBhQho8eHDt8rhdEK0/o03oyJEjS/AuAAAoJjP+oHWJxN3111+fevfuXe/+jz/+uNEkYVVVVVpvvfVW6DWMbqBUCt+9uC7W97Duaxb79fytUS4k/gCgBKK9y1VXXZVGjBiRE3rTpk2rXbbtttumtdZaK40aNSodd9xx6fe//3164YUX8hmk4cADD0w/+9nPcnIw5kBceeWVad11101Dhw4t4TsCAKAYJPugdYkWnzvuuGPt7SVLlqRbb701bbfddo0m/rp165ZOPfXU9Oyzz6ZPfepT6YQTTkg77bRTk8/fs2fXVF2taRulEd/nqFRdY42uuX1tMcXc9nJ/j9BSJP4AoAQee+yxtHjx4nT11VfnS12vvPJKTgqefvrpafjw4Wn99dfPyb211147L48k3xVXXJHOO++8fP+gQYPydZw5CgAAQOnEGIfoyHLHHXc0mviLzi7Dhg3LJ4E+8sgj6dhjj02//OUvc/vPxsyYMVsVEiUTebAuXVZLM2fOTkuWFOc14/seSb8PPphVlBnqpXiP0FB0c2hOVTUxgbbCTZs2q9SbQIWLANO162pp9uyFRQkwEUALrWGKFUCL+f6gKX36FOdssdZGnKOUShEDxDkqlTgH5alv3+Wv8Hv//Y9adFugVNpKjIukX8xwv/TSS2tnuDesLJo1a1bq0aNH7X3HHHNMbhca898bI85RSvbnoG3GObWrAAAAAG1oxl+cwx3XQOsRibtI+kXyr7GkX4g2gnWTfmHDDTdM7733XpG2EoBKoNUnAAAAQBthxh+0PuPGjUu33357+vGPf5z22GOPJtf74Q9/mEc0FOa3h5dffjltuummRdpSACqBij8AAAAAgJXw6quv5hnt3/72t9PgwYPTtGnTai8hrmOuX9h1113Tfffdl+655570+uuv54ThhAkT0te//vUSvwsAyomKPwAAAACAlfDYY4+lxYsXp6uvvjpf6nrllVfSsGHDcoXf8OHD02677ZZGjx6d13v77bfTJptskq6//vq07rrrlmz7ASg/En8AAAAAbUTM9uvde/U0ffosbT+hFRgxYkS+NCWSf3UdfPDB+QIALUXiDwAAAKCNkOwDAGBZzPgDAAAAAACAMiDxBwAAAAAAAGVA4g8AAACgDc34q6mpydcAANCqEn/vvfdeOvHEE9O2226bdtxxx3T++een+fPn52VvvPFG+sY3vpG23nrrtNdee6Unnnii3mOffPLJtM8++6SBAwemww8/PK9f14033pifc9CgQem0005Lc+fOLep7AwAAAGiJGX9VVVVm/QEA0LoSf3F2WiT9IiF32223pUsvvTT9/ve/T5dddlledvzxx6fevXunO++8M+23335p5MiR6e23386PjetYPnz48HTHHXeknj17puOOOy4/Ljz88MNp3Lhx6ayzzko33XRTmjRpUrroootK9VYBAAAAAACgfBN/r732Wpo4cWKu8ttkk03SkCFDciLw/vvvT08//XSu4IvE3UYbbZSOPvroXPkXScAwfvz4tOWWW6YjjzwyPzae46233krPPvtsXn7zzTenI444Iu2yyy5pq622SmeeeWZ+rKo/AAAAAAAAylXJEn99+vRJ119/fa7qq+vjjz/OFXpbbLFF6tKlS+39gwcPzonCEMsjUVjQuXPn1L9//7x88eLF6a9//Wu95ZE0XLhwYXr55ZeL8t4AAAAAWoIZfwAALEv7VCLdu3fPM/gKlixZkm699da03XbbpWnTpqW+ffvWW79Xr17p3XffzT8va/lHH32U5wTWXd6+ffu0xhpr1D6+MVVVzfjmYAUVvn9xXYzvYt3XK8f3BwAAUK7M9gMAoFUm/hqKGXyTJ0/OM/tuvPHG1KFDh3rL4/aCBQvyz9Gys6nl8+bNq73d1OMb6tmza6quLlnxI+TEd3w/11ija2rXrnjfxV69Vi/r9wcAAAAAAJWkfWtJ+t10003p0ksvTZtuumnq2LFjmjlzZr11ImnQqVOn/HMsb5jEi9tRRRjLCrcbLo+WoI2ZMWO2KiRKKnJhXbqslmbOnJ2WLGn514vveyT9PvhgVqqpKb/3B03p3bs4yW4AAAAAgIpM/J199tnpF7/4RU7+7b777vm+fv36palTp9Zbb/r06bXtO2N53G64fPPNN88tPSP5F7c32mijvGzRokU5kRhzBZtSjOQHfNL3L66L+V0s1uuV6v0BAACUm5jtFye0TZ8+S9tPAABaV+Jv3Lhx6fbbb08//vGP0x577FF7/8CBA9O1116b23YWqvwmTJiQBg8eXLs8bhdE689oEzpy5MjcRnDAgAF5+dChQ/PyiRMn5jl/m222WdHfIwAAAEBj/vnPf6SPPvpwmes8+ugf0xe+8Lna200l+2K9F16YuMzn6t69R9pgg0+v5NYCANAWlCzx9+qrr6arrroqjRgxIif0pk2bVrts2223TWuttVYaNWpUOu6449Lvf//79MILL6Tzzz8/Lz/wwAPTz372s5wc3GWXXdKVV16Z1l133dpE36GHHprOOOOM3DY0qgTHjBmTDjnkkCZbfQIAAAAU0wcffJC2225QnoneHOomB5tSXV2dXnxxaurVq1ezvCYAAK1PyRJ/jz32WFq8eHG6+uqr86WuV155JScFTz/99DR8+PC0/vrr5+Te2muvnZdHku+KK65I5513Xr5/0KBB+brq/wb17b333umtt97Kyb+Y7bfbbrulU045pSTvEwAAAKChSL49/fTzn1jx90nJvaj0W15R8SfpBwBQ3qpqakzcmjZtVqk3gQrXrl1KXbuulmbPXpia6WTPZYoceWEmRDH+BSj2+4Om9OmzeqpE4hylVIoYIM5RqcQ5qAzV1Sl16bJamjNnYVq8uNRbA8VRqTEuiHOUkv05aJtxrl2zPhsAAAAAAABQEhJ/AAAAAAAAUAYk/gAAAAAAAKAMSPwBAAAAAABAGZD4AwAAAAAAgDIg8QcAAAAAAABlQOIPAAAAAAAAyoDEHwAAAAAAAJQBiT8AAAAAAAAoAxJ/AAAAAAAAUAYk/gAAAAAAAKAMSPwBAAAAAABAGZD4AwAAAAAAgDIg8QcAAAAAAABlQOIPAAAAAAAAyoDEHwAAAAAAAJQBiT8AAAAAAAAoAxJ/AAAAAAAAUAYk/gAAAAAAAKAMSPwBAAAAAABAGZD4AwAAAAAAgDIg8QcAAAAAAABlQOIPAAAAAGAlvffee+nEE09M2267bdpxxx3T+eefn+bPn9/oupMnT04HH3xwGjhwYDrwwAPTiy++WPTtBaC8SfwBAAAAAKyEmpqanPSbO3duuu2229Kll16afv/736fLLrtsqXXnzJmTRowYkYYMGZLuuuuuNGjQoHT00Ufn+wGguUj8AQAAAACshNdeey1NnDgxV/ltsskmOakXicD7779/qXUffPDB1LFjx3TqqaemjTbaKJ1++umpa9eu6aGHHirJtgNQntqXegOA/6+6uirOFWvx16mqSmnx4sWpXbs4M63FXy61axfvC4BKVqwYF8Q5AACKpU+fPun6669PvXv3rnf/xx9/vNS6kyZNSoMHD05V8R/W/P/WqrTNNtvkxOHw4cObfI3/Wx2KrvDdi/25qqri7s9VVxd3fy5e198a5ULiD1qF/40qnToV709y4cKFqUuX1VIxFSNYA9DaFD/GBXEOAIBi6N69e57rV7BkyZJ06623pu22226pdadNm5Y23njjevf16tUrTZkypcnn79mza6qu1rSN0ojv84IFC0qyP9e5c3H359ZYo2tqF2ePQhmQ+INWYMmSmjR79qKiVUJEDIvgOXfuwrRkSfEOhjogClB5ih3jgjgHAECpXHTRRWny5MnpjjvuWGpZzAHs0KFDvfvidiRWmjJjxmxVSJTU/1bEFXd/rlOn1dK8ecXdn/v444XFeTFoRO/eq6fmJPEHrejAaLEU/sMYQa1YARSAylXMGBfEOQAASpX0u+mmm9Kll16aNt1006WWx3y/hkm+/62m6rTM53WCGaW0eHFpvoCxL7d4cUleGto8iT8AAAAAgFVw9tlnp1/84hc5+bf77rs3uk6/fv3S9OnT690Xt/v27VukrQSgEmhaCwAAAACwksaNG5duv/329OMf/zjtvffeTa43cODA9Pzzz6ea/yvhi+vnnnsu3w8AzUXiDwAAAABgJbz66qvpqquuSt/+9rfT4MGD07Rp02ovIa7nzZuXf95jjz3SRx99lM4999w0derUfB1z//bcc88SvwsAyonEHwAAAADASnjsscfS4sWL09VXX52GDRtW7xLi+sEHH8w/d+vWLV1zzTVpwoQJafjw4WnSpEnp2muvTV26dCnxuwCgnFTVFGrLK9i0abNKvQlQVNXVKXXpslqaM2ehIblUlD59Vk+VSJyj0ohzVCpxDiqDOEclqtQYF8Q5Ko04RyXq08xxTsUfAAAAAAAAlAGJPwAAAAAAACgDEn8AAAAAAABQBiT+AAAAAAAAoAxI/AEAAAAAAEAZkPgDAAAAAACAMiDxBwAAAAAAAGVA4g8AAIAWN3/+/HTaaaelIUOGpGHDhqUbbrihyXX/8Ic/pP322y8NGjQo7bvvvumxxx4r6rYCAAC0VRJ/AAAAtLixY8emF198Md10001p9OjRady4cemhhx5aar2XX345jRw5Mh144IHpnnvuSV/5ylfSd77znXw/AAAAy9b+E5YDAADAKpkzZ04aP358uu6661L//v3zZcqUKem2225Le+yxR71177///rTddtulww8/PN9ef/310+9+97v0m9/8Jm222WYlegcAAABtg8QfAAAALSqq9RYtWpRbdxYMHjw4/fSnP01LlixJ7dr9/2Y0BxxwQFq4cOFSzzFr1qwmn7+qqgU2Glqpwvc9rn33AQBoSOIPAACAFjVt2rS05pprpg4dOtTe17t37zz3b+bMmalnz56192+00Ub1HhuVgU899VRu+dmYnj27pupqUyyoHJEsX7BgQerRo2u9pDkAAASJPwAAAFrU3Llz6yX9QuF2JDCaMmPGjHTCCSekbbbZJn3+859vYp3Zqp6oKNXVKXXuvFr68MPZafHiUm8NFEfv3quXehMAoM2Q+AMAAKBFdezYcakEX+F2p06dGn3M9OnT0ze/+c1UU1OTLr/88mVWNtXUNPMGQytW+L7Hte8+AAAN6QkBACUWBz732Wef9Mwzz9Te98Ybb6RvfOMbaeutt0577bVXeuKJJ+o95sknn8yPGThwYDr88MPz+gDQWvXr1y/9+9//znP+6rb/jKRf9+7dl1r/vffeS1/72tdyjLz55pvrtQIFAACgaRJ/AFBCMdvopJNOyvOLCqKy4fjjj8+zj+6888603377pZEjR6a33347L4/rWD58+PB0xx135IOhxx13XH4cALRGm2++eWrfvn2aOHFi7X0TJkxIAwYMWKqSb86cOemoo47K99966605aQgAAMDykfgDgBKZOnVqOuSQQ9K//vWvevc//fTTuYLvrLPOShtttFE6+uijc+VfJAHD+PHj05ZbbpmOPPLItMkmm6Tzzz8/vfXWW+nZZ58t0TsBgGXr3Llz2n///dOYMWPSCy+8kB599NF0ww035Kr1QvXfvHnz8s/XXHNNjo0XXnhh7bK4zJo1q6TvAQAAoC0w4w8ASiQSdUOHDk3f+973cmKvYNKkSWmLLbZIXbp0qb1v8ODBtVUSsXzIkCH1Dqb2798/L4/na0xVVYu+FWhVCt/3uPbdh9Zj1KhROfF3xBFHpG7duqUTTjgh7bbbbnnZsGHD8oksUc3+8MMP5yTgwQcfXO/xBxxwQLrgggtKtPUAAABtg8QfAJTIoYce2uj9UdXQt2/fevf16tUrvfvuu8u1vKGePbum6mpF/lSOJUuW5LlgPXp0XaqFIFA6caJKVPEVKvnqeuWVV2p/fuihh4q8ZQAAAOVD4g8AWpm5c+emDh061LsvbkciY3mWNzRjxmxVT1SU6upIMKyWPvxwdlq8uNRbA8XTu/fqpd4EAAAASkziDwBamY4dO6aZM2fWuy+Sep06dapd3jDJF7e7d+/e5HPW1LTQxkIrVPi+x7XvPgAAAFBJ9D4CgFamX79+afr06fXui9uF9p5NLe/Tp09RtxMAAAAAaF0k/gCglRk4cGB66aWX0rx582rvmzBhQr6/sDxuF0Trz8mTJ9cuBwAAAAAqk8QfALQy2267bVprrbXSqFGj0pQpU9K1116bXnjhhXTQQQfl5QceeGB67rnn8v2xPNZbd91109ChQ0u96QAAAABACUn8AUArU11dna666qo0bdq0NHz48HTvvfemK6+8Mq299tp5eST5rrjiinTnnXfmZGDMA4zlVVVVpd50AAAAAKCEqmpqampShZs2bVapNwGKqro6pS5dVktz5ixMixeXemugePr0WT1VInGOSiPOUanEOagM4hyVqFJjXBDnqDTiHJWoTzPHufbN+mwAAAAAFSSaLhSz8ULhteK6XZH6OMUp404bBwBoGyT+AAAAAFZCJN+6dVutJK/duXNxX/fjjxdK/gEAtAESfwAAAACrUH03d+6itGRJTdFes0ePLunDD+cUJRHXrl1V6ty5fX5diT8AgNZP4g8AAABgFUTSb8mS4rxWJOCqq6vz6xUnESfbBwDQlhSpGzwAAAAAAADQkiT+AAAAAAAAoAxI/AEAAAAAAEAZkPgDAAAAAACAMiDxBwAAAAAAAGVA4g8AAAAAAADKgMQfAAAAAAAAlAGJPwAAAACAZrBgwYK0zz77pGeeeabJdY499tj0mc98pt7l97//fVG3E4Dy1b7UGwAAAAAA0NbNnz8/ff/7309TpkxZ5nqvvvpquuiii9L2229fe1+PHj2KsIUAVAKJPwAAAACAVTB16tSc9KupqfnEisA333wzDRgwIPXp06do2wdA5dDqEwAAAABgFTz77LNp6NCh6Ze//OUy13vttddSVVVVWm+99Yq2bQBUFhV/AAAAAACr4NBDD12u9SLx161bt3TqqafmZOGnPvWpdMIJJ6SddtqpycdUVTXjhkIrV/i+x7XvPqwciT8AAAAAgCKIxN+8efPSsGHD0ogRI9IjjzySjj322FwpGO0/G+rZs2uqrta0jcqxZMmS3BK3R4+uqV07331os4m/+EMePnx4+q//+q9cEh/eeOONfHvixIlp7bXXTqeddloOiAVPPvlkOu+88/J6AwcOTOeee269Evkbb7wx/exnP0sff/xx2nPPPfNzde7cuSTvDwAAAADguOOOS4cddljq0aNHvr3ZZpull156Kf3qV79qNPE3Y8ZsVU9UlOrqlDp3Xi19+OHstHhxqbcGiqN379Wb9flKnjKfP39+Oumkk9KUKVNq74shuMcff3zq3bt3uvPOO9N+++2XRo4cmd5+++28PK5jeSQL77jjjtSzZ88cNAvDcx9++OE0bty4dNZZZ6WbbropTZo0KV100UUle48AAAAAAFHBVEj6FWy44Ybpvffea/IxccjTxaWSLr73LpV2aW4lTfxNnTo1HXLIIelf//pXvfuffvrpXMkXibuNNtooHX300WnrrbfOScAwfvz4tOWWW6YjjzwybbLJJun8889Pb731Vu6LHW6++eZ0xBFHpF122SVttdVW6cwzz8yPnTt3bkneJwAAAADAD3/4wzRq1Kh697388ss5+QcAbT7xF4m6aO0ZPazrigq9LbbYInXp0qX2vsGDB+e2n4XlQ4YMqV0WLTz79++fly9evDj99a9/rbc8koYLFy7MQbQphWGhLi6VcvG9d6nECwAAABTbtGnT8ly/sOuuu6b77rsv3XPPPen111/PXcsmTJiQvv71r5d6MwEoEyWd8XfooYc2GQz79u1b775evXqld9999xOXf/TRR7l9aN3l7du3T2ussUbt4xsyJJdKY0guAAAAQHEMGzYsdyyLsUW77bZbGj16dLr66qvzOKPoZnb9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yJAhadiwYemGG24o9SYBQJM233zznPCbOHFi7X0TJkxIAwYMSO1iMGcdAwcOTM8//3yq+b+jNnH93HPP5fsBoC0T4wAoBok/AGiDxo4dm1588cV00003pdGjR6dx48alhx56qNSbBQCN6ty5c9p///3TmDFj0gsvvJAeffTRfNLK4YcfXlv9N2/evPzzHnvskT766KN07rnnpqlTp+brmIm05557lvhdAMCKE+MAKDaJPwBoY+bMmZPGjx+fTj/99NS/f//0xS9+MR111FHptttuK/WmAUCTRo0alePWEUcckc4888x0wgknpN122y0vi+r1Bx98MP/crVu3dM011+SKwOHDh6dJkyala6+9NnXp0qXE7wAAVpwYB0CxVdUUassr2LRphn1SWcw+olL16VMeA+GjFczXv/713C6tQ4cO+b5nnnkmffvb3873NWyZJs5RacQ5KlW5xLkVJc5RacQ5KlGlxrggzlFpxDkqUZ9mjnP/O1UdAGhTrWLWXHPN2qRf6N27d577N3PmzNSzZ89G/+MMlaLwffe9BwAAACqNxB8AtDExA6Ju0i8Ubi9YsGCp9Xv27Jqqq3X3pvL06lW5Z4YDAAAAlUniDwDamI4dOy6V4Cvc7tSp01Lrz5gxW+UTFSW+75H0++ADrWGoLNESCQAAgMom8QcAbUy/fv3Sv//977Ro0aLUvn372vafkfTr3r17o4+R/KASxffedx8AAACoJPp+AUAbs/nmm+eE38SJE2vvmzBhQhowYEBq105oBwAAAIBK5eggALQxnTt3Tvvvv38aM2ZMeuGFF9Kjjz6abrjhhnT44YeXetMAAAAAgBLS6hMA2qBRo0blxN8RRxyRunXrlk444YS02267lXqzAAAAAIASkvgDgDZa9XfhhRfmCwAAAABA0OoTAAAAAAAAyoDEHwAAAAAAAJQBiT8AAAAAAAAoAxJ/AAAAAAAAUAaqampqakq9EQAAAAAAAMCqUfEHAAAAAAAAZUDiDwAAAAAAAMqAxB8AAAAAAACUAYk/AAAAAAAAKAMSfwAAAAAAAFAGJP6ghSxcuDBdccUV6fOf/3zacsst084775zOP//89PHHH+flu+66a7rrrrtadBvi+eN1msuf/vSn9JWvfCUNHDgwDR48OB111FHpxRdfXO7Hx+fxmc98ptHL66+/ntf5zW9+kz744INm22YAVk3Ekbr/Xvfv3z/tscce6cYbb2x0/TfffDOvF9ct6Yc//GG+NIdVicnL2o7DDjssxz4AWqfWGuNK4f77708HHHBAGjBgQBo6dGj6zne+U7uPtjwiFja1r7do0aJUU1OTbrvtthZ9DwC0Tg3jwnbbbZd+9KMfpdmzZ3/iflXD2NvYPtbbb7+dPve5z6VvfetbacGCBUV4R9D6tS/1BkC5uvjii9OTTz6ZzjnnnLTeeuulN954I5177rl55+mnP/1puuOOO1KXLl1adBv22muvnHBsDpHgO+6449Kpp56aLrzwwjR//vx06623psMPPzzde++9ad11112u5xk0aFCjB0F79uyZ3nrrrfTd7343PfbYY82yzQA0j9NOOy3HlBAH755++ul0+umnpzXWWCPtv//+9dZda6210hNPPJH/XW9J8foAUI4xrtgeffTRNHr06HTmmWfmkzw/+uijdPXVV6evf/3r+cTMbt26Ldfz7Lnnno3G5/bt26dnn302nXXWWelrX/taC7wDAFq7OBYYxwSXLFmS3nnnnXTGGWeksWPH5tizKv7973/nhN/aa6+dxo0blzp06NBs2wxtmYo/aCF33313Pkty++23z0mxuB4zZkz6/e9/n95///28s9ipU6cW3YZ4/ubaKb3vvvvSDjvskHfU1l9//bTpppvm4NynT5/04IMPLvfzrLbaavkxDS/V1dX5LFAAWp/VV1+99t/rOOgZFQER1377298utW78e174d72ltykuAFBuMa7Y7rnnnjR8+PC0zz775JNWo/Lxkksuyd1qHn/88RXa/2xsXy/Y1wOobD169MgxoV+/fmnrrbdORx99dD65ZFXMmTMnP0/Hjh3Ttddemzp37txs2wttncQftJCqqqp8tmicyVIQZ7Y88MADac0116xtK1YoWW94idL1ECXqUTUY7VbicvLJJ6eZM2eucKvPZ555Jv/83//932nHHXfMQfaUU05Z7hL4du3apVdeeaVeG854jzfccEM65JBDau+7/fbbc5VhtAL98Y9/nN/H8rZPi7aoheuWboMKwKqJs/fjZI74d/7ss8/O/3bHv/8RK+q2Yom4EdXc22yzTT6BJGJD4eBfnOl5zDHH5OqCiFFxhubixYuX6/XrtoKJs0e///3v52qFeJ04YHvdddc123sdP358bv0WrbsjFseJL41t54wZM9Lu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9HPUIv0c1A79HLWmKH3ckiVLUteuXZsci+vLly9f7WPq6+sbMgQBoDUE/qAGxd+LdXWd88/6+kq3BgDWLf0cAEWmn4PqFfv7NQ/yxfXu3buv9jER9Hv55Vf9f2+F+F7s339956uVnK+2cb5az7lau/O1Lgn8AQAAAAC0s0GDBqX58+c3ORbXN9poozU+LibOTZ63nvPVNs5X2zhfredcVU7nCr42AAAAAEBN2GGHHdKf//znXL4zxM8//elP+TgArCsCfwAAAAAA7WDevHlp6dKl+fe99tor/fvf/07nnntumjlzZv4Z+/597GMfq3QzASgQgT8AAAAAgHYwatSodM899+Tfe/funa677ro0ZcqUNHr06PTEE0+k8ePHp549e1a6mQAUiD3+AAAAAADWgenTp6/x+vbbb59+8pOflLlVANQSGX8AAAAAAABQAAJ/AAAAAAAAUAACfwAAAAAAAFAAAn8AAAAAAABQAAJ/AAAAAAAAUAACfwAAAAAAAFAAAn8AAAAAAABQAAJ/AAAAAAAAUABVHfj7+9//no455pg0fPjw9OEPfzjdcMMNDbfNmTMnHXnkkWnHHXdMe++9d5o0aVJF2woAbaWfA6BW+7lzzjknbb311k0ut9xyS0XbCwAAUA26pCq1cuXKdNxxx6Xtttsu/eQnP8mDxpNOOikNGjQo7bPPPun4449PW221VbrzzjvT/fffn8aMGZPuueeeNHjw4Eo3HQDekn4OgFrt5/bdd980a9asdPLJJ6cDDjig4TG9e/euaJsBAACqQdUG/ubPn5+GDh2azjzzzDwA3GyzzdJ73/veNGXKlDRgwICcCXH77bennj17piFDhqRHHnkkT46OHTu20k0HgLeknwOgVvu5UuAvsgEHDhxY6aYCAABUlaot9bnRRhulyy67LA8S6+vr8wDx8ccfTyNHjkxPPPFE2nbbbfNkaMmIESPS1KlTK9pmAGgt/RwAtdrPvfbaa+mll17KwUAAAABqJOOvsY985CNp7ty5adddd0177rlnOu+88/JAsrH+/funF198cbXP0alTGRoK7eC5555NixYtatNj4vPep0/PtGjR66m+vm2v16dPn7TZZv/dtgcBb4t+jlqmn4Pa6+eefPLJ1KlTp3Tttdemhx56KPXt2zcdddRRTcp+Nqefo1rp5wAAWNcKEfi74oorcqmYKBNz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Bw7Mtze/f/PynwDQ0cQillNPPTXttNNOadSoUWnChAmrve99992XPvaxj6Xhw4enQw45JD311FNlbSsAxVa1gb/Zs2fnDd6jHMyWW26ZO9UIBN59990Ngb/YFD4GjqVLjx49Kt1sAGhTZnv0bSNHjkwf+MAHcp8Xg8kQme1bb711k8stt9xS6SYDwFt64YUX0pgxY3I/V/Lkk0+mfv36pREjRuTJz6VLlzbcNmXKlLTDDjtUqLUA0DoXXnhh7s8mTpyYzjjjjHTllVeme++9d5X7zZgxIycrfP7zn08//elP09ChQ/PvzTPeAaDmSn1GIO+GG25IAwYMaHL8tddey5cYRG622Watfj57QlBLSp/3+OmzDx07s32DDTbIme2LFi3Kq0c7d+6cTjnllIbM9gMOOKDhMb17965omwGgteU9hw0blvu1cePGpX/84x/poosuSl/4whfyYpeNN944H//iF7+Yq7pMmzYtL34BgI7q9ddfT3fccUe6/vrrcx8XlwjwxVhur732anLfhx9+OGe677///vl6bFsU95s5c2ZDCWwAqMnAX0yERvZDycqVK3Omwy677JInQzt16pSuvfba9NBDD6W+ffumo446qsnkaGP9+vVKdXVVm/wIbRb/X2KvlD59euUgAtBxM9tjUFha5BKBwAsuuKAh8HfMMcfkhTAAUE3q6urS1Vdfnc4+++z06U9/Oldm+exnP5sOP/zwPI6L20477bQ0evTotOmmm6arrroqDR48uNLNBoDVeuaZZ9Kbb76ZS3eWRBZ7zE3GHEzjuZeYp4wgX2S0x/1//OMf50Wc73rXuyrUegCKpmoDf83FCtGnn346/ehHP8qlYWLAuPnmm6fDDjssPf744+n000/Pnejuu+++ymMXLFgs64maUleXUo8e66VFixanFSsq3RoonwED1k+1mtkOAB3JoEGDcgm0lkSwT/lqAKrJvHnz0oYbbpi6du3acCzGcrFVw8KFC3M565K99947/eY3v0mHHnpoXgwTQcHrrrsu9enTZ7XPb96y7RWueGvOV9s4X63nXLVNe5ynLkUJ+kX97EsvvTRttdVWec+/XXfdNa+gCdtss0167rnn0m233dZi4C/U15e50VBBpc97/PTZh+Jntgd/bFFLlLQGAKCcYn++xkG/ULoeFZcae+WVV3Kg8Jvf/GbewzbmK6PE9U9+8pPUv3//Fp+/f//qWcTaEThfbeN8tY3z1XrOVeVUfeAvysNEBxnBvz333DMfi8nQUtCvJLL/Jk+eXKFWAkDlMtuVtKbWKGkNAEA5devWbZUAX+l69+7dmxz/3//935y48JnPfKZhbvNjH/tYuvPOO9Nxxx3X4vO//PKrFm63Qiz6i0CD89U6zlfbOF+t51yt3flal6o68BelYW6//fZ0ySWXNNko9/LLL09//vOf00033dSk1nZMkAJArWW2K2lNrVHSmlpVTSWtAaBoJawjky/2+evS5T/TrZHVF0G/qObSWCzkjL1tS2KhWozp5s6du9rnV7GpbZyvtnG+2sb5aj3nqnKqNvAXZc5i0/dYCROb5UZnWhKToePHj0833nhjngCdNGlSuuuuu9LNN99c0TYDQKUy2/2hRS1R0hoAgHIaOnRoDvhNnTo17bTTTvnYlClT0nbbbbdKBYqNNtooz2s29uyzz+b7AkBNB/4eeOCBtGLFinTNNdfkS2PTp0/PWX9XXHFF/rnJJpukiy++OA0fPrxi7QWAtpLZDgAA0PH16NEj7b///unMM89M5513XvrXv/6VJkyYkM4///x8eyQsrL/++jkD8FOf+lT6+te/nt797nfnuco77rgjZ/utac92AGiLTvX11kHPm/dqpZsAZS+B1rPneun1199QAo2aMnBg9ZRAixWg++67b85sL+39UPLPf/4zHXLIIemkk05qyGyPAWVktre0yEU/R63Rz1GrqqmfW5f0c9Qa/Ry1qBr6uCVLluTA369//eu8//oxxxyTjjzyyHzb1ltvncdso0ePztcj2BeBwRdffDFnC5522mlp2LBhq33u+fPtk9UascVFlD53vlrH+Wob56v1nKu1O1/rksCfgSI1yECRWlUNg8WSKFkd2eoticz2+++/P2e2x95+kdl+4oknpj322KPF++vnqDX6OWpVNfVz65J+jlqjn6MW1WofV2LyvHUEG9rG+Wob56v1nKvKB/6qttQnABRZZPrFZXV22223fAEAAAAAKGm6uywAAAAAAABQlQT+AAAAAAAAoAAE/gAAAAAAAKAABP4AAAAAAACgAAT+AAAAAAAAoAAE/gAAAAAAAKAABP4AAAAAAACgAAT+AAAAAAAAoAAE/gAAAAAAAKAABP4AAAAAAACgAAT+AAAAAAAAoAAE/gAAAAAAAKAABP4A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",922      "text/plain": [923       "<Figure size 1800x1000 with 8 Axes>"924      ]925     },926     "metadata": {},927     "output_type": "display_data"928    }929   ],930   "source": [931    "# Identify outliers using IQR method for key numerical columns\n",932    "print(\"=\"*80)\n",933    "print(\"OUTLIER DETECTION - IQR METHOD\")\n",934    "print(\"=\"*80)\n",935    "\n",936    "numerical_cols = ['Size_in_SqFt', 'Price_in_Lakhs', 'Price_per_SqFt', 'BHK', \n",937    "                  'Floor_No', 'Total_Floors', 'Age_of_Property']\n",938    "\n",939    "def detect_outliers_iqr(data, column):\n",940    "    Q1 = data[column].quantile(0.25)\n",941    "    Q3 = data[column].quantile(0.75)\n",942    "    IQR = Q3 - Q1\n",943    "    lower_bound = Q1 - 1.5 * IQR\n",944    "    upper_bound = Q3 + 1.5 * IQR\n",945    "    outliers = data[(data[column] < lower_bound) | (data[column] > upper_bound)]\n",946    "    return outliers, lower_bound, upper_bound\n",947    "\n",948    "outlier_summary = []\n",949    "for col in numerical_cols:\n",950    "    outliers, lower, upper = detect_outliers_iqr(df_clean, col)\n",951    "    outlier_summary.append({\n",952    "        'Column': col,\n",953    "        'Outliers_Count': len(outliers),\n",954    "        'Outliers_Percentage': f\"{(len(outliers)/len(df_clean))*100:.2f}%\",\n",955    "        'Lower_Bound': f\"{lower:.2f}\",\n",956    "        'Upper_Bound': f\"{upper:.2f}\"\n",957    "    })\n",958    "\n",959    "outlier_df = pd.DataFrame(outlier_summary)\n",960    "print(\"\\n\", outlier_df.to_string(index=False))\n",961    "\n",962    "# Visualize outliers\n",963    "fig, axes = plt.subplots(2, 4, figsize=(18, 10))\n",964    "axes = axes.ravel()\n",965    "\n",966    "for idx, col in enumerate(numerical_cols):\n",967    "    df_clean.boxplot(column=col, ax=axes[idx])\n",968    "    axes[idx].set_title(f'{col}', fontsize=12, fontweight='bold')\n",969    "    axes[idx].set_ylabel('Value')\n",970    "\n",971    "plt.tight_layout()\n",972    "plt.suptitle('Outlier Detection - Box Plots', fontsize=16, fontweight='bold', y=1.002)\n",973    "plt.show()"974   ]975  },976  {977   "cell_type": "code",978   "execution_count": 10,979   "id": "ec99b69a",980   "metadata": {},981   "outputs": [982    {983     "name": "stdout",984     "output_type": "stream",985     "text": [986      "================================================================================\n",987      "HANDLING OUTLIERS\n",988      "================================================================================\n",989      "\n",990      "✓ Removed 0 extreme outliers (0.00%)\n",991      "✓ Dataset shape after outlier removal: (250000, 23)\n",992      "✓ Price range: ₹10.00 - ₹500.00 Lakhs\n"993     ]994    }995   ],996   "source": [997    "# Handle outliers - Remove extreme outliers for Price_in_Lakhs and Price_per_SqFt\n",998    "print(\"=\"*80)\n",999    "print(\"HANDLING OUTLIERS\")\n",1000    "print(\"=\"*80)\n",1001    "\n",1002    "# Remove extreme outliers using IQR method for target variable\n",1003    "Q1 = df_clean['Price_in_Lakhs'].quantile(0.25)\n",1004    "Q3 = df_clean['Price_in_Lakhs'].quantile(0.75)\n",1005    "IQR = Q3 - Q1\n",1006    "lower_bound = Q1 - 3 * IQR  # Using 3*IQR for extreme outliers\n",1007    "upper_bound = Q3 + 3 * IQR\n",1008    "\n",1009    "before_count = len(df_clean)\n",1010    "df_clean = df_clean[(df_clean['Price_in_Lakhs'] >= lower_bound) & \n",1011    "                    (df_clean['Price_in_Lakhs'] <= upper_bound)]\n",1012    "after_count = len(df_clean)\n",1013    "\n",1014    "removed = before_count - after_count\n",1015    "print(f\"\\n✓ Removed {removed} extreme outliers ({(removed/before_count)*100:.2f}%)\")\n",1016    "print(f\"✓ Dataset shape after outlier removal: {df_clean.shape}\")\n",1017    "print(f\"✓ Price range: ₹{df_clean['Price_in_Lakhs'].min():.2f} - ₹{df_clean['Price_in_Lakhs'].max():.2f} Lakhs\")"1018   ]1019  },1020  {1021   "cell_type": "markdown",1022   "id": "75544995",1023   "metadata": {},1024   "source": [1025    "### 3.4 Data Consistency Check"1026   ]1027  },1028  {1029   "cell_type": "code",1030   "execution_count": 11,1031   "id": "1d7f67e6",1032   "metadata": {},1033   "outputs": [1034    {1035     "name": "stdout",1036     "output_type": "stream",1037     "text": [1038      "================================================================================\n",1039      "DATA CONSISTENCY CHECKS\n",1040      "================================================================================\n",1041      "\n",1042      "1. Records where Floor_No > Total_Floors: 116304\n",1043      "   ⚠ Found 116304 inconsistent records. Fixing...\n",1044      "   ✓ Fixed. New shape: (133696, 23)\n",1045      "\n",1046      "2. Records with inconsistent Price_per_SqFt: 133696\n",1047      "   ⚠ Recalculating Price_per_SqFt for consistency...\n",1048      "   ✓ Price_per_SqFt recalculated for all records\n",1049      "\n",1050      "3. Records with inconsistent Age_of_Property: 0\n",1051      "\n",1052      "✓ All consistency checks completed!\n",1053      "✓ Final clean dataset shape: (133696, 23)\n"1054     ]1055    }1056   ],1057   "source": [1058    "# Check for data consistency issues\n",1059    "print(\"=\"*80)\n",1060    "print(\"DATA CONSISTENCY CHECKS\")\n",1061    "print(\"=\"*80)\n",1062    "\n",1063    "# Check 1: Floor_No should not exceed Total_Floors\n",1064    "inconsistent_floors = df_clean[df_clean['Floor_No'] > df_clean['Total_Floors']]\n",1065    "print(f\"\\n1. Records where Floor_No > Total_Floors: {len(inconsistent_floors)}\")\n",1066    "\n",1067    "if len(inconsistent_floors) > 0:\n",1068    "    print(f\"   ⚠ Found {len(inconsistent_floors)} inconsistent records. Fixing...\")\n",1069    "    df_clean = df_clean[df_clean['Floor_No'] <= df_clean['Total_Floors']]\n",1070    "    print(f\"   ✓ Fixed. New shape: {df_clean.shape}\")\n",1071    "\n",1072    "# Check 2: Price_per_SqFt should be approximately Price_in_Lakhs * 100000 / Size_in_SqFt\n",1073    "df_clean['Calculated_Price_per_SqFt'] = (df_clean['Price_in_Lakhs'] * 100000) / df_clean['Size_in_SqFt']\n",1074    "price_diff = abs(df_clean['Price_per_SqFt'] - df_clean['Calculated_Price_per_SqFt'])\n",1075    "inconsistent_price = df_clean[price_diff > 1]  # Allow 1 rupee difference\n",1076    "print(f\"\\n2. Records with inconsistent Price_per_SqFt: {len(inconsistent_price)}\")\n",1077    "\n",1078    "if len(inconsistent_price) > 0:\n",1079    "    print(f\"   ⚠ Recalculating Price_per_SqFt for consistency...\")\n",1080    "    df_clean['Price_per_SqFt'] = df_clean['Calculated_Price_per_SqFt']\n",1081    "    print(f\"   ✓ Price_per_SqFt recalculated for all records\")\n",1082    "\n",1083    "df_clean = df_clean.drop('Calculated_Price_per_SqFt', axis=1)\n",1084    "\n",1085    "# Check 3: Age_of_Property calculation\n",1086    "current_year = 2025\n",1087    "df_clean['Calculated_Age'] = current_year - df_clean['Year_Built']\n",1088    "age_diff = abs(df_clean['Age_of_Property'] - df_clean['Calculated_Age'])\n",1089    "inconsistent_age = df_clean[age_diff > 1]\n",1090    "print(f\"\\n3. Records with inconsistent Age_of_Property: {len(inconsistent_age)}\")\n",1091    "\n",1092    "if len(inconsistent_age) > 0:\n",1093    "    print(f\"   ⚠ Recalculating Age_of_Property...\")\n",1094    "    df_clean['Age_of_Property'] = df_clean['Calculated_Age']\n",1095    "    print(f\"   ✓ Age_of_Property recalculated\")\n",1096    "\n",1097    "df_clean = df_clean.drop('Calculated_Age', axis=1)\n",1098    "\n",1099    "print(f\"\\n✓ All consistency checks completed!\")\n",1100    "print(f\"✓ Final clean dataset shape: {df_clean.shape}\")"1101   ]1102  },1103  {1104   "cell_type": "markdown",1105   "id": "0b3351b2",1106   "metadata": {},1107   "source": [1108    "## 4. Data Transformation"1109   ]1110  },1111  {1112   "cell_type": "markdown",1113   "id": "e6c2c933",1114   "metadata": {},1115   "source": [1116    "### 4.1 Feature Engineering - Create New Features"1117   ]1118  },1119  {1120   "cell_type": "code",1121   "execution_count": 12,1122   "id": "351d5c2b",1123   "metadata": {},1124   "outputs": [1125    {1126     "name": "stdout",1127     "output_type": "stream",1128     "text": [1129      "================================================================================\n",1130      "FEATURE ENGINEERING\n",1131      "================================================================================\n",1132      "\n",1133      "✓ Created: Price_per_BHK\n",1134      "✓ Created: Area_per_BHK\n",1135      "✓ Created: Floor_Position (Ground, Lower, Middle, Upper, Top)\n",1136      "✓ Created: Age_Category (New, Recent, Moderate, Old)\n",1137      "✓ Created: Amenity_Count\n",1138      "✓ Created: Total_Nearby_Facilities\n",1139      "✓ Created: Has_Premium_Features\n",1140      "\n",1141      "✓ Feature engineering completed!\n",1142      "✓ Total features now: 30\n",1143      "\n",1144      "================================================================================\n",1145      "SAMPLE OF NEW FEATURES\n",1146      "================================================================================\n"1147     ]1148    },1149    {1150     "data": {1151      "text/html": [1152       "<div>\n",1153       "<style scoped>\n",1154       "    .dataframe tbody tr th:only-of-type {\n",1155       "        vertical-align: middle;\n",1156       "    }\n",1157       "\n",1158       "    .dataframe tbody tr th {\n",1159       "        vertical-align: top;\n",1160       "    }\n",1161       "\n",1162       "    .dataframe thead th {\n",1163       "        text-align: right;\n",1164       "    }\n",1165       "</style>\n",1166       "<table border=\"1\" class=\"dataframe\">\n",1167       "  <thead>\n",1168       "    <tr style=\"text-align: right;\">\n",1169       "      <th></th>\n",1170       "      <th>Price_per_BHK</th>\n",1171       "      <th>Area_per_BHK</th>\n",1172       "      <th>Floor_Position</th>\n",1173       "      <th>Age_Category</th>\n",1174       "      <th>Amenity_Count</th>\n",1175       "      <th>Total_Nearby_Facilities</th>\n",1176       "      <th>Has_Premium_Features</th>\n",1177       "    </tr>\n",1178       "  </thead>\n",1179       "  <tbody>\n",1180       "    <tr>\n",1181       "      <th>2</th>\n",1182       "      <td>91.89</td>\n",1183       "      <td>1821.00</td>\n",1184       "      <td>Upper</td>\n",1185       "      <td>Old</td>\n",1186       "      <td>4</td>\n",1187       "      <td>17</td>\n",1188       "      <td>0</td>\n",1189       "    </tr>\n",1190       "    <tr>\n",1191       "      <th>3</th>\n",1192       "      <td>150.15</td>\n",1193       "      <td>1370.50</td>\n",1194       "      <td>Upper</td>\n",1195       "      <td>Old</td>\n",1196       "      <td>5</td>\n",1197       "      <td>12</td>\n",1198       "      <td>1</td>\n",1199       "    </tr>\n",1200       "    <tr>\n",

Showing the first 1,200 of 3817 lines. Download the file for the rest.