ChintaSuhas/Real-Estate-Validation-System
0
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/y1NwxLohz8Mnsz0HbjHMrnPgL8+fPT/fee2967bXX0uLFi9OnP/3p9KUvfSl17do1tUUCKKUm8QdtK4i2tTgozlFKdhShbR8UbQsxT5yj0hJ/yyLxR7lqiRgXxDlYNvtz0DbjXPuVeVDHjh3TwQcf3KwbAgBthTgIQKUQ8wAoZ+IcAOVohRN/u+66a6qKtHsTHnvssVXdJgBotcRBACqFmAdAORPnAChXK5z4O+GEE+rdXrRoUXrjjTfSXXfdlb7zne8057YBQKsjDgJQKcQ8aJ2WNeMPKE2ce/3119NZZ52VnnvuudSjR4/09a9/PR111FGNrjt58uQ0evToPGNw4403TmeeeWbacsstV+m9AMAqJf4OOOCARu8fOHBguuGGG5THA1DWxEEAKoWYB62TZB+0rji3ZMmSNGLEiDRgwIB099135yTgSSedlPr165f23XffeuvOmTMnrxv3X3DBBekXv/hFOvroo9MjjzySunTp0izvCwDaNdcTxRkqf/3rX5vr6QCgTREHAagUYh4A5WxF49z06dPT5ptvnsaMGZM22GCDtNNOO6Xtt98+TZgwYal1H3zwwTxX8NRTT00bbbRROv3001PXrl3TQw891MzvAoBKtsIVf3/+85+Xum/27NnplltuSZtssklzbRcAtEriIACVQswDoJw1V5zr27dvuuyyy/LPNTU1ud1nPHe082xo0qRJafDgwbWzBeN6m222SRMnTkzDhw9v8jWWMYoQWlR89+Lv4oMPPkxLlhTvNRctmp0+/HBOqqlp+ddrl0ujeqSqqg7+1qjcxN9hhx221H2rrbZaLmc/55xzmmu7oOJEEJ0+vThBtBBAZ84sbgBNqUPLvxi0MHEQWneMC+IcNA8xD1onM/6g9ca5XXfdNb399ttpl112SbvvvvtSy6dNm5YrCuvq1atXmjJlSpPP2bNn11Rd3WxN22CFRCvbP/5xQnr22WdTOdt2223T5z73udTuf3fuoPISfy+//HLLbAlUuGgjUc5BNALogAGDS70ZsMrEQVhx5R7jgjhHORLzoHWS7IPWG+cuv/zy3Poz2n6ef/756Uc/+lG95XPnzk0dOtQ/WSxuL1iwoMnnnDFjtiokSibyYJEMX3vt/yjqiZw9enQpasVfr1490syZs4v2HqGhOKmr6Im/OFNlea299tqrsj1QsSKIrrVWcYJoBNA11uhS1EqI3r2jEgLaJnEQ2k6MC+IcrDwxD4By1tJxLv7fG+bPn59OPvnkPMuvbqIv5vs1TPLF7U6dOi3zeYvxf1po6rsXcyiju0kx9+ciCdK+/ayi7c917bpamj17ob81ykb75S1TL/Sejl7VDcWyuD+u//a3vzX/VkIFKGYQLWUAhbZIHIRVU0k7itDWiXkAlLOWiHNR4Rcz+r7whS/U3hftPBcuXJg+/vjj1LNnz9r7+/Xrl9dv+PiYEwgARU38PfbYY832ggDQ1oiDAFQKMQ+ActYSce7NN99MI0eOTI8//nhO7IUXX3wxJ/zqJv3CwIED03XXXVebXIzr5557Lh1zzDHNvl0AVK7lSvyts846n7hOlKXHmTDLsy4AtCXiIACVQswDoJy1RJyL9p79+/dPp512Who1alR666230kUXXVSbzJs2bVpaffXVczvPPfbYI11yySXp3HPPTV/5ylfS7bffnuf+7bnnnqv83gBghRJ/dcVZKGeeeWaaOnVqWtKgX1N1dXU+owUAypU4CEClEPMAKGfNFedi3auuuiqdffbZ6ctf/nLq3LlzOuyww9Lhhx+elw8bNiydf/75afjw4albt27pmmuuSaNHj06/+tWv0mc+85l07bXXpi5durTIewSgMrVb0Qecc845+YyXn/70pzmQXXHFFelHP/pRWmONNdLYsWNbZisBoJUQBwGoFGIeAOWsOeNctPgcN25cmjBhQnriiSdytV9hluArr7ySk34FW221Vbr77rvTCy+8kMaPH5+22GKLZn9vAFS2Fa74mzJlSi5X32ijjXIZ+2qrrZa+9rWvpV69euUe1XvttVfLbCkAtALiIACVQswDoJyJcwCUqxWu+IszYKKEPWy44Yb5rJXC2Sr/+Mc/mn8LAaAVEQcBqBRiHrRO06Z9lGpqavI1sPLEOQAqOvG3cOHC2p+32267PIT2vffeS4MGDUoPPvhgmjlzZvrd736Xunfv3pLbCgAlIQ4CUCnEPGj9+vTpnlsIxjWwYsQ5ACrBciX+dthhh3TGGWekZ599Np1++unpww8/TL/97W/T3nvvnYfSRqCMIbXHH398y28xABSZOAhApRDzAChn4hwAlaCqJvpDfIJ77703PfTQQ3k47Zprrpl7XO+77755+Gw8fOrUqflMmBhk2xZNmzar1JtAhWvXLqWuXVdLs2cvTEuWtPzrxXzp3r1XT9Onz0qf/C9A23t/0JQ+fVZfqce19TgozlFKpYgB4hyVamXjXFuPeeIc5a5v3+WvPHr/fe0/KU/NEeOCOAcrxv4ctK04t0KJv4KPP/44PfroozlA/ulPf0rrrbde2meffXKAjJ/bKgGUUpP4g7YRRNtqHBTnKCU7itA2dxbbUswT56i0xF/M9ivEuYbtPiX+KFfNfUBUnIPlY38OKiDx1zBAPvLIIzlAPvXUU+kzn/lMDo6HH354amsEUEpN4g/a5gHRthIHxTlKyY4itN2dxbYS88Q5yp2KP2i5GBfEOWia/TmosMRfXU8//XS68MIL08svv5z+9re/pbZGAKXUJP6gbe8stvY4KM5RSnYUoTwOirbmmCfOUe4k/qA4MS6Ic1Cf/Tlom3Gu/co8KHKFf/7zn/Pw2yiLnzNnTvrCF76QTjnllGbdOABojcRBACqFmAdAORPnAChHy534W7RoUXryySdz6ftjjz2WA+FOO+2UfvSjH6XPfe5zqUOHDi27pQBQQuIgAJVCzIPWbVkz/oBPJs4BUO6WK/EXZ7k8/vjjORBuv/326dRTT01f/OIXU9euXVt+CwGgxMRBACqFmAetn2QfrDxxDoBKsFyJv7fffjt997vfTXvssUfq2bNny28VALQi4iAAlULMA6CciXMAVILlSvzddtttLb8lANBKiYMAVAoxD4ByJs4BUAnalXoDAAAAAFj+GX81NTX5GgAAVqriDwAAAIDSM+MPAIBlUfEHAAAAAAAAZUDiDwAAAAAAAMqAxB8AAABAG2HGHwAAy2LGHwAAAEAbYcYfAADLouIPAAAAAAAAyoDEHwAAAAAAAJQBiT8AAACANsKMPwAAlsWMPwAAAIA2wow/AACWRcUfAAAAAAAAlAGJPwAAAAAAACgDEn8AAAAAbYQZfwAALIvEHwAAAC1u/vz56bTTTktDhgxJw4YNSzfccMMnPubNN99MgwYNSs8880xRthHayoy/qqoqs/4AAGhU+8bvBgAAgOYzduzY9OKLL6abbropvf322+kHP/hBWnvttdMee+zR5GPGjBmT5syZU9TtBAAAaMsk/gAAAGhRkbwbP358uu6661L//v3zZcqUKem2225rMvF37733ptmzZxd9WwEAANoyrT4BAABoUS+//HJatGhRbttZMHjw4DRp0qS0ZMmSpdb/97//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",