Housing Price
Prediction

A machine learning model trained on residential housing data from Ames, Iowa to predict sale prices. Built in Jupyter Notebook using standard Python data science libraries — covering data cleaning, feature engineering, model training, and evaluation.

Python Jupyter Notebook scikit-learn pandas numpy matplotlib seaborn Regression Ames, Iowa

Source

Ames Housing Dataset

A well-known real estate dataset covering residential home sales in Ames, Iowa. Contains around 80 features describing nearly every aspect of a property — from lot size and neighborhood to basement finish quality and garage type — with sale price as the prediction target.

~80 Features Ames, Iowa Regression Target

Challenge

Mixed Data Types

The dataset contains a mix of numerical and categorical features, missing values across several columns, and high-cardinality fields. A significant portion of the work was deciding how to handle each — imputation strategy, encoding approach, and which features to drop or engineer.

Categorical Encoding Imputation Feature Selection

Step 01

Data Cleaning

Handled missing values through column-appropriate strategies — median imputation for numeric fields, mode or "None" fills for categoricals where absence carries meaning (e.g. no basement, no garage).

pandas Imputation

Step 02

Feature Engineering

Encoded categorical variables, derived composite features (total square footage, house age, years since remodel), and dropped low-signal columns. Explored correlation matrices and distributions to guide decisions.

pandas numpy seaborn

Step 03

Model Training & Evaluation

Trained and compared regression models using scikit-learn. Evaluated with RMSE and R² on a held-out test split to measure generalization performance and identify where each model broke down.

scikit-learn RMSE

Environment

Jupyter Notebook

Built entirely in Jupyter Notebook — inline visualizations, iterative experimentation, and reproducible cell-by-cell execution made it the natural fit for this kind of exploratory ML work.

Jupyter Notebook Python

Libraries

Standard Python Stack

pandas and numpy for data manipulation, scikit-learn for model training and evaluation, matplotlib and seaborn for visualization. No external ML frameworks — standard coursework tooling throughout.

pandas numpy scikit-learn matplotlib seaborn