Skip to content

JavierPachas/e2eproject

Repository files navigation

End-to-End ML Project: Student Exam Performance

Predict student math scores from demographic and academic inputs using a trained model and a simple Flask web UI.

What is in this repository

  • A Flask app that serves a prediction form and result page.
  • A trained model and preprocessor in artifacts/ used for inference.
  • Modular pipeline code in src/ for data processing and prediction.
  • Notebooks for EDA and model training in notebook/.

Project structure

  • application.py - Flask app entry point (default port 5000).
  • app.py - Flask app entry point with debug on port 8000.
  • templates/ - HTML templates for the UI.
  • src/ - Pipeline, components, utilities, and exception handling.
  • artifacts/ - Model, preprocessor, and sample datasets.
  • notebook/ - EDA and training notebooks.

Quickstart

  1. Create and activate a virtual environment (optional).
  2. Install dependencies:
    pip install -r requirements.txt
  3. Run the web app:
    python application.py
    Then open http://localhost:5000 in your browser.

If you prefer debug mode and port 8000:

python app.py

Prediction inputs

The app expects the following fields:

  • Gender
  • Race or ethnicity
  • Parental level of education
  • Lunch type
  • Test preparation course
  • Reading score (0-100)
  • Writing score (0-100)

Notes

  • Prediction uses artifacts/model.pkl and artifacts/preprocessor.pkl via src/pipeline/predict_pipeline.py.
  • If you retrain or replace artifacts, keep the filenames the same or update the pipeline accordingly.

Notebooks

The notebooks in notebook/ cover exploratory data analysis and model training. They can be used to reproduce or refine the model.

https://github.com/JavierPachas/e2eproject/blob/main/img/home.png

About

Production-style ML project with modular data ingestion, preprocessing, training, and prediction pipelines, deployed via Flask and AWS Elastic Beanstalk.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages