A comprehensive collection of regression model implementations using both Machine Learning and Deep Learning approaches for predicting housing prices.
This repository contains multiple implementations of regression algorithms, from basic linear regression built from scratch to advanced ensemble methods and neural networks. The project demonstrates various approaches to solving regression problems, with a focus on housing price prediction.
Regression-Models/
βββ ML/ # Machine Learning Implementations
β βββ 01_linear_regression_from_scratch/
β β βββ linear_regression_single_feature.ipynb
β β βββ data/
β β β βββ ex1data1.txt
β β βββ outputs/
β β βββ cost_function.png
β β βββ dataset1.png
β β βββ learning_rate.png
β β βββ regression_result.png
β βββ 02_multivariate_linear_regression/
β β βββ linear_regression_multiple_features.ipynb
β β βββ data/
β β β βββ ex1data2.txt
β β βββ outputs/
β β β βββ cost_function.png
β β β βββ dataset1.png
β β β βββ learning_rate.png
β β β βββ regression_result.png
β β βββ assets/
β β βββ Linear Regression Cheat Sheet.png
β βββ 03_sklearn_regression_models/
β βββ california_housing_comparison.ipynb
β βββ data/
β β βββ housing.csv
β β βββ README.md
β βββ outputs/
βββ DL/ # Deep Learning Implementations
βββ 01_tensorflow_ann_regression/
βββ boston_housing_ann.ipynb
βββ data/
β βββ housing.csv
βββ utils/
β βββ planar_utils.py
βββ outputs/
βββ images/
A complete implementation of linear regression with gradient descent built from the ground up using only NumPy.
Features:
- Single feature linear regression
- Gradient descent optimization
- Cost function visualization
- Learning rate analysis
Accuracy: N/A (Foundational implementation)
Key Files:
linear_regression_single_feature.ipynb: Complete implementation with visualizationsdata/ex1data1.txt: Food truck profit vs. population data
Extension of linear regression to handle multiple features with feature normalization.
Features:
- Multiple feature regression
- Feature normalization/scaling
- Gradient descent for multiple variables
- Normal equation method
Accuracy: N/A (Training exercise)
Key Files:
linear_regression_multiple_features.ipynb: Multi-feature implementationdata/ex1data2.txt: Housing data (size, bedrooms, price)
Comparison of various regression algorithms using California Housing dataset.
Models Implemented:
- DecisionTreeRegressor
- GradientBoostingRegressor
- XGBRegressor
Accuracy Range: ~79%
Dataset: California Housing (20,640 samples, 8 features)
Key Files:
california_housing_comparison.ipynb: Model comparison and evaluationdata/housing.csv: California housing datasetdata/README.md: Dataset documentation
Artificial Neural Network implementation using TensorFlow/Keras for housing price prediction.
Architecture:
- Input Layer: 13 features
- Hidden Layers: 3 layers with 100 neurons each (customizable)
- Output Layer: 1 neuron (price prediction)
- Activation: ReLU
Accuracy Range: ~85%
Key Files:
boston_housing_ann.ipynb: Complete ANN implementationdata/housing.csv: Boston housing datasetutils/planar_utils.py: Helper utilities
Python 3.7+- Clone the repository:
git clone https://github.com/3bsalam-1/Regression-Models.git
cd Regression-Models- Install required packages:
pip install -r requirements.txt# Navigate to ML directory
cd ML/01_linear_regression_from_scratch
# Open Jupyter notebook
jupyter notebook linear_regression_single_feature.ipynb# Navigate to DL directory
cd DL/01_tensorflow_ann_regression
# Open Jupyter notebook
jupyter notebook boston_housing_ann.ipynb- Source: Luis Torgo's page
- Samples: 20,640
- Features: 8 (longitude, latitude, housing_median_age, total_rooms, total_bedrooms, population, households, median_income)
- Target: median_house_value
- Description: Census data from California (1990)
- Samples: 506
- Features: 13 (including CRIM, ZN, INDUS, CHAS, NOX, RM, AGE, DIS, RAD, TAX, PTRATIO, B, LSTAT)
- Target: Median house value
| Model | Accuracy | Type | Complexity |
|---|---|---|---|
| Linear Regression (Scratch) | N/A | ML | Low |
| Multivariate Linear Regression | N/A | ML | Low |
| DecisionTreeRegressor | ~79% | ML | Medium |
| GradientBoostingRegressor | ~79% | ML | Medium |
| XGBRegressor | ~79% | ML | Medium |
| TensorFlow ANN | ~85% | DL | High |
- NumPy: Numerical computing
- Pandas: Data manipulation
- Matplotlib: Data visualization
- Scikit-learn: ML algorithms and preprocessing
- TensorFlow/Keras: Deep learning framework
- XGBoost: Gradient boosting library
This project is licensed under the terms found in the LICENSE file.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
3bsalam-1
- GitHub: @3bsalam-1
Give a βοΈ if this project helped you!
Note: This project is created for educational purposes to demonstrate various regression techniques in machine learning and deep learning.