YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Melbourne Housing Price Predictor

by Daniel Alon | Intro to Data Science β€” Assignment #2


Unknown

Project Overview

This project predicts property prices in Melbourne, Australia using machine learning.
The dataset contains 18,396 real estate transactions with features like location, size, type...


Dataset

Property Details
Source Kaggle β€” Melbourne City Property Sales
Rows 18,396
Features 22 original
Target (Regression) Price (AUD)
Target (Classification) 0=Affordable, 1=Mid-Range, 2=Premium

Key EDA steps

  • 1 removal of irrelevant columns (such as: Date, Seller...)
  • 2 filling missing values with median to prevent outlairs from affecting the results
  • 3 Fixing impossible outliers, such as houses with a land size of 0, and replacing them with median
  • 4 visually presenting basic statistics and a correlation heatmap

Unknown

  • 5 posing and answering relevant questions

Unknown-2

Unknown-3

Unknown-4

Feature Engineering

feature importance based on first linear model (trained by 80/20 method) Unknown-5

New features created to improve model performance:

Feature Description
bedroom2 removed
property_count removed
Property_Age 2025 - YearBuilt
Area_per_Room BuildingArea / Rooms
Type_h / Type_t / Type_u One-hot encoding of property type
Market_Cluster K-Means cluster (4 clusters)
Dist_to_Centroid Distance to K-Means centroid

K-Means Clustering (Unsupervised Learning)

Unknown-6

Used K-Means with K=4 (selected via Elbow Method) on features: Distance, BuildingArea, Rooms, Property_Age.

Unknown-7

Cluster Description
0 Small properties close to the city center
1 Large properties, mid-distance, suburban family homes
2 Medium properties, far from city center, standard suburban
3 Medium properties, very close to the city center, very old

Silhouette Score: 0.300 β€”

tried another cluster too but it underperformed the original one's score


Regression Models

Goal: Predict property price (AUD)

Model RΒ² MAE
Baseline Linear Regression 0.401 332,240
Improved Linear Regression 0.433 324,681
KNN Regressor 0.439 308,010
πŸ† Random Forest 0.630 241,519

Winner: Random Forest β€” captures non-linear relationships that linear models miss.
Most important features: Distance (0.32), Rooms (0.21), Landsize (0.14)

Unknown-12


Unknown-8

the cluster itself was the least efficient feature but the distance from centroid feature was meaningfull. This means that being in a cluster is not as important as how well the property fits the cluster

Classification Models

Unknown-9

Goal: Classify property as Affordable (0) / Mid-Range (1) / Premium (2)
Method: Quantile Binning β€” equal thirds of the price distribution
Split: 80% Train (14,716 samples) | 20% Test (3,680 samples)

Unknown-10

Key observations:

  • Premium is easiest to predict (F1=0.78) β€” luxury properties have distinct features
  • Mid-Range is hardest (F1=0.60) β€” shares characteristics with both other classes
  • Affordable performs well (F1=0.80)
Model Accuracy Macro F1 Macro Precision
Logistic Regression 0.6179 0.6164 0.6162
Decision Tree 0.6571 0.6555 0.6545
Random Forest 0.6948 0.6927 0.6912

random forest is the winner with precision of 0.6912


Unknown-11

I iteratively refined a Linear Regression model through feature importance and tested two K-Means configurations to find the best market segments. Random Forest outperformed other classifiers, proving most accurate for predicting price categories. This taught me that intuition isn't enough. constant experimentation is required to see what actually works. Data science is about failing fast and refining.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support