A compact, reproducible ML pipeline for training and serving a supervised model (student-performance style dataset).
This project demonstrates an end-to-end machine learning workflow:
- Data ingestion and preprocessing
- Exploratory Data Analysis (notebooks)
- Model training, evaluation, and artifact storage
- Prediction pipeline and a minimal web UI for inference
app.py— Minimal Flask app / entrypoint for serving predictionsartifacts/— saved datasets and model artifactslogs/— runtime and training logsnotebook/— EDA and model training notebookssrc/— core source codecomponents/—data_ingestion.py,data_transformation.py,model_trainer.pyutils.py,logger.py,exception.py— helpers and utilities
templates/— HTML templates for web UI
- Create and activate a Python environment (recommended Python 3.8+).
- Install dependencies:
pip install -r requirements.txt- Run training pipeline:
python src/pipeline/train_pipeline.py- Run prediction server:
python app.py- Open the UI at http://localhost:5000 (if
app.pystarts Flask).
- Use the notebooks in
notebook/for EDA and model experiments. - Put raw datasets in
artifacts/(or configure paths insrc/components). - Trained models and metrics are stored under
artifacts/for reproducibility.
- Add detailed hyperparameters and evaluation metrics to the training outputs.
- Add unit tests for pipeline components.
- Containerize with Docker for consistent deployment.
If you'd like, I can also add example API requests, CI steps, or commit this change.