An end-to-end machine learning project to predict student scores based on input features, deployable as a web application.
This project aims to predict student scores using historical data and features such as study hours, past performance, and other relevant factors. It walks through the entire workflow: data exploration, model training, artifact creation, and deployment as a web app.
It is structured as a modular, reproducible workflow suitable for extension.
- Data exploration and preprocessing via Jupyter notebook
- Model training and artifact generation
- Web application interface (
app.py) for making predictions - Clear project structure for maintainability
- Requirements and setup files for easy environment creation
Key modules and their roles
src/: Contains the business logic — data loading, preprocessing, feature engineering, model training and prediction.app.py: Launches the web server, accepts user input, passes it through the trained model, returns predicted score.artifacts/: Stores the trained model file(s), preprocessor objects (scalers, encoders), logs and metadata.Notebook/: Interactive exploration, EDA, modeling experiments, visualizations.
├── artifacts/ ← Generated model artifacts (trained model, pre-processors, logs)
├── catboost_info/ ← (If using CatBoost) internal model info directory
├── Notebook/ ← Jupyter notebooks for exploration/modeling
| └── data/
| └── stud.csv
├── src/ ← Source code modules
│ ├── components
| | ├── __init__.py
| | ├── data_ingestion.py
| | ├── data_transformer.py
| | └── model_trainer.py
| ├── pipeline
| | ├── __init__.py
| | └── predict_pipeline.py
| ├── __init__.py
| ├── exception.py
| ├── logger.py
| └── utils.py
├── templates
├── app.py ← Main Flask (or similar) web application entry-point
├── setup.py ← Setup file to install project as package
├── requirements.txt ← Python dependencies file
├── .gitignore ← Git ignore patterns
└── README.md
- Python 3.10 or above
- Git
git clone https://github.com/AgrimGupta04/Student-Score-Prediction-Model.git cd Student-Score-Prediction-Model
python -m venv venv source venv/bin/activate # On Linux/macOS venv\Scripts\activate # On Windows
pip install -r requirements.txt
pip install -e .