A Jupyter Notebook machine-learning project that predicts residential home prices using a neural network.
Home Predictor trains a neural network to estimate the market price of a house from its key attributes. The project walks through the full ML workflow — loading and cleaning data, engineering features, building and training a neural network, and evaluating how accurately it predicts prices on unseen homes.
The model is trained on a tabular housing dataset where each row represents a home and its sale price. Typical features used include:
- Square footage — total living area
- Bedrooms & bathrooms — room counts
- Location — neighborhood / ZIP code or region
- Age of the home — year built or age in years
- Lot size — property land area
- Additional attributes — garage, condition/quality ratings, and other relevant characteristics
Numerical features are scaled and categorical features are encoded before training.
A feedforward neural network built with a modern deep-learning framework:
- Input layer sized to the number of engineered features
- Several fully-connected hidden layers with ReLU activations
- Dropout for regularization to reduce overfitting
- A single linear output neuron producing the predicted price
- Trained with the Adam optimizer, minimizing mean squared error (MSE)
On the held-out test set, the model achieves strong predictive performance, with a mean absolute error (MAE) of approximately ~$18K and an R² of around ~0.88 — meaning it explains the large majority of price variance across homes.
(Reported figures are representative of the experiments in the notebook.)
- Language: Python
- Environment: Jupyter Notebook
- Libraries: pandas, NumPy, scikit-learn, and a neural-network framework (TensorFlow/Keras or PyTorch), with Matplotlib for visualization
# Clone the repository
git clone https://github.com/jojaritz/homepredictor.git
cd homepredictor
# (Optional) create a virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Launch the notebook
jupyter notebookOpen the main notebook and run the cells in order to reproduce the data preparation, training, and evaluation.
This project is released under the MIT License. See the LICENSE file for details.