┌──────────────────┐
│ CSV Dataset │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Dataset Loader │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ Normalization │
│ mean / std │
└────────┬─────────┘
│
▼
┌──────────────────┐
│ LinearRegression │
│ Gradient Descent │
└────────┬─────────┘
│
┌─────────────┴─────────────┐
▼ ▼
┌─────────────┐ ┌──────────────┐
│ Metrics │ │ Model I/O │
│ MSE/RMSE/R² │ │ Save / Load │
└─────────────┘ └──────────────┘
# Linear Regression Engine
A from-scratch machine learning regression engine written in modern C++17, implementing batch gradient descent, feature standardisation, model persistence, matrix operations, and regression evaluation metrics.
[Architecture] [Build] [Results] [Technical Details]
What the project does and why it exists.
Dataset → Preprocessing → Training → Evaluation → Model Persistence ↓ Linear Regression Gradient Descent
- Batch Gradient Descent
- Z-score Feature Normalisation
- Matrix Operations
- CSV Dataset Loading
- MSE / RMSE / MAE / R²
- Model Save/Load
- CMake Build System
- GitHub Actions CI
ŷ = Xw + b
J(w,b) = 1/(2m) Σ(ŷᵢ-yᵢ)²
w := w - α ∂J/∂w b := b - α ∂J/∂b
...
...
...
...
Comparison with scikit-learn.
...
...
...