/students-performance

End to end machine learning project with deployment

Primary LanguageJupyter Notebook

End-to-end Machine Learning Project

This repository contains an end-to-end project to predict and study how student performance (test scores) is affected by variables such as gender, parental education level, and preparatory courses. Using OOP principles, this project implements logging and exception functions, as well as pipelines for ingestion, transformation, and training steps. The model is deployed using Flask, and through a web page, the user can enter values for the students' characteristics and get the math score prediction. The functions used in the project are introduced in the documentation.

Objectives

  • Perform an exploratory data analysis on the dataset;
  • Ingest, transform, and train a model using a pipeline structured with coding best practices;
  • Create an HTML page that allows the user to enter the student characteristics;
  • Predict the student's score for the given features.

Tools used

For this project, it was used:

  • Pandas for data manipulation;
  • Seaborn and Matplotlib for data visualization;
  • Sklearn for the model training and evaluation;
  • Flask for deployment;
  • Mkdocs for the documentation.