Skip to content

End-to-end project predicting students' math scores, covering data ingestion, transformation, model training, and deployment. Uses Conda, Git, MySQL, DVC, MLflow, Dagshub, Flask, AWS CodePipeline, and Elastic Beanstalk. Includes data processing and model management scripts with generated artifacts.

Notifications You must be signed in to change notification settings

ajitmane36/End-to-End-Student-Math-Score-Prediction-with-Deployment

Repository files navigation

End to End Data Science Project: Student Performance Indicator

Overview

This project predicts students' math scores. It covers the entire process from data ingestion and transformation, to model training and deployment.

Tools and Technologies

  • Conda: For environment management.
  • Git: Version control.
  • MySQL: Database.
  • GitHub: Code hosting.
  • DVC: Data version control.
  • MLflow: Model lifecycle management.
  • Flask: Model Deployment.
  • Dagshub: Data and experiment management.
  • AWS CodePipeline: Continuous integration and delivery service for fast and reliable application and infrastructure updates.
  • AWS Elastic Beanstalk: Easy-to-use service for deploying and scaling web applications and services.

Project Structure

  • app.py: Flask application script for deploying the model using flask and handling user inputs.
  • application.py: Flask application script for deploying the model on AWS Elastic Beanstalk.
  • prediction_pipeline.py: Scripts for making predictions based on user input.
  • data_ingestion.py: Scripts for data ingestion and preprocessing.
  • data_transformation.py: Scripts for data transformation.
  • model_trainer.py: Scripts for model training.
  • notebooks: Jupyter notebooks for analysis and model training experimentation.
  • utils.py: Utility scripts.
  • requirements.txt: Project dependencies.
  • artifacts: Stores generated artifacts such as model performance reports and trained models.

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/ajitmane36/End-to-End-Student-Math-Score-Prediction-with-Deployment.git
    cd mlproject
  2. Create a Conda environment:

    conda create --name student-performance python=3.9
    conda activate student-performance
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the Flask application:

    python app.py
  5. Navigate to the application in your browser:

    # Home Page
    http://127.0.0.1:5000
    
    # Prediction Page
    http://127.0.0.1:5000/predictdata

Usage

  1. Home Page:

    • Access the home page to enter student data.
    • Submit the form to get predicted math scores.
  2. Prediction Pipeline:

    • Handles user input and processes it through the trained model to provide predictions.

Model Deployment

Using Flask

flask deployment

flask deployment

flask deployment

About

End-to-end project predicting students' math scores, covering data ingestion, transformation, model training, and deployment. Uses Conda, Git, MySQL, DVC, MLflow, Dagshub, Flask, AWS CodePipeline, and Elastic Beanstalk. Includes data processing and model management scripts with generated artifacts.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published