A machine learning web application to predict student academic performance based on demographic and previous scores. This project demonstrates end-to-end ML workflow: data ingestion, preprocessing, model training, evaluation, and deployment.
- Goal: Predict student scores (reading & writing) based on:
- Gender
- Race/Ethnicity
- Parental education
- Lunch type
- Test preparation course
- Math scores
- Approach: Multiple regression models (Random Forest, Gradient Boosting, Linear Regression, XGBoost, CatBoost, AdaBoost, Decision Tree) were trained and evaluated using R² scores to select the best model.
- Data Handling: Used
pandasandnumpyfor preprocessing, categorical encoding, and scaling. - Model Saving: Models serialized using
dill/picklefor deployment. - Web Interface: Flask app with a simple UI where users input student data and get predictions.
- End-to-End ML Pipeline: From CSV ingestion → preprocessing → training → prediction.
- Multiple Models: Automatic selection of the best-performing model.
- Reusable Components: Separate modules for data ingestion, transformation, training, and prediction.
- Deployment Ready: Ready to deploy on free hosting platforms like Render.
- Deployed URL: Student Performance Predictor
- Technology: Flask, Gunicorn
- Usage: Enter student details and click Predict to get predicted scores.
Manish Raj
GitHub Profile