A machine learning web application that predicts the math score of students based on their reading and writing scores, and various categorical attributes. This project is modular, with a proper training and prediction pipeline, and includes a simple Flask-based frontend interface.
- End-to-end ML pipeline using
scikit-learn - Feature engineering and transformation for both categorical and numerical features
- Model training and selection from multiple regressors
- Simple UI for prediction using Flask
The following regressors are evaluated, and the best-performing one is selected based on accuracy:
- Random Forest Regressor
- Decision Tree Regressor
- Gradient Boosting Regressor
- Linear Regressor
- K-Nearest Neighbour
- XGBoost Regressor
- CatBoost Regressor
- AdaBoost Regressor
- Reading Score
- Writing Score
- Gender
- Race/Ethnicity
- Parental Level of Education
- Lunch
- Test Preparation Course
- Python
- Flask
- scikit-learn
- catboost
- pandas, numpy
-
Clone the repository:
git clone <repository-url> cd <project-directory>
-
Create an active virtual environment
-
run on terminal 'python app.py'
The app will run on local host
This project was developed as part of a learning exercise with the help of a tutorial. It focuses on building a well-structured ML pipeline and integrating it with a simple web interface.