An end-to-end Machine Learning and MLOps-style project for predicting student math performance using multiple regression models, experiment tracking with MLflow + DagsHub, and deployment via Streamlit.
This project builds a regression system that predicts Math Score
using demographic and academic features.
It demonstrates real-world ML engineering practices including:
- Modular ML pipeline design\
- Multi-model benchmarking\
- Hyperparameter tuning\
- Experiment tracking with MLflow\
- SHAP-based interpretability\
- Production-ready Streamlit deployment
- ✅ Modular ML pipeline architecture\
- ✅ Comparison of 8 regression algorithms\
- ✅ Hyperparameter tuning\
- ✅ MLflow experiment tracking\
- ✅ DagsHub integration\
- ✅ SHAP model interpretability\
- ✅ Training--serving consistency via full sklearn Pipeline\
- ✅ Streamlit web app for real-time predictions
Data Ingestion
↓
Data Transformation (ColumnTransformer)
↓
Model Benchmarking & Tuning
↓
Best Model Selection
↓
MLflow Logging
↓
SHAP Interpretability
↓
Streamlit Deployment
├── artifacts/
│ ├── model.pkl
│ ├── model_comparison.csv
│ └── shap_summary.png
│
├── src/DataScienceProject/
│ ├── components/
│ │ ├── data_ingestion.py
│ │ ├── data_transformation.py
│ │ └── model_trainer.py
│ ├── utils.py
│ ├── logger.py
│ └── exception.py
│
├── streamlit_app.py
├── main.py
├── requirements.txt
└── README.md
Based on the Students Performance Dataset.
math_score
- Linear Regression\
- K-Nearest Neighbors\
- Decision Tree\
- Random Forest\
- Gradient Boosting\
- AdaBoost\
- XGBoost\
- CatBoost
Best model selected based on R² Score.
- RMSE\
- MAE\
- R² Score
Run locally with:
streamlit run streamlit_app.pyOpen browser at:
👉 https://studentmarksdsproject.streamlit.app/
- Python\
- scikit-learn\
- XGBoost\
- CatBoost\
- MLflow\
- DagsHub\
- SHAP\
- Streamlit\
- Pandas\
- NumPy
Ayush Mishra\
⭐ If you found this project useful, consider giving it a star!