An end-to-end Machine Learning project that predicts student academic performance based on multiple input features.
This repository demonstrates a production-oriented ML workflow, covering data analysis, model training, hyperparameter tuning, and deployment readiness.
The goal of this project is to build a reliable regression model that can predict student scores using structured educational data.
The project is designed to follow real-world machine learning engineering practices, not just exploratory notebook-based work.
- Modular and scalable project structure
- End-to-end ML pipeline implementation
- Data preprocessing and feature engineering
- Model training with hyperparameter tuning
- Artifact generation for trained models
- Deployment-ready application setup
- Docker support for containerized deployment
- CI/CD workflow integration
-
Exploratory Data Analysis (EDA)
- Understanding feature distributions and relationships
-
Data Transformation
- Handling missing values
- Encoding categorical variables
- Feature scaling
-
Model Training
- Training multiple regression models
- Performance evaluation using standard metrics
-
Hyperparameter Tuning
- Selecting optimal parameters for best-performing model
-
Prediction Pipeline
- Generating predictions on unseen data
-
Deployment Preparation
- Application entry point and Docker configuration
STUDENT-SCORE-PREDICTION
│
├── .ebextensions/ # Deployment configuration files
├── .github/workflows/ # CI/CD workflows
├── artifacts/ # Stored models and preprocessors
├── catboost_info/ # Training logs and metadata
├── mlenv/ # Virtual environment (local)
├── notebook/
│ ├── data/ # Dataset used for training
│ ├── 1. EDA STUDENT PERFORMANCE.ipynb
│ └── 2. MODEL TRAINING.ipynb
├── src/ # Core source code
├── templates/ # HTML templates (if applicable)
├── application.py # Application entry point
├── Dockerfile # Docker configuration
├── requirements.txt # Python dependencies
├── setup.py # Package setup file
└── README.md # Project documentation