Skip to content

pycoder49/first_e2eMLproject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

First end-to-end machine learning project

Project Overview

This project aims to predict students' exam performance based on various factors such as gender, parental education, and preparation courses. The pipeline includes:

  • Data preprocessing and exploratory data analysis (EDA).
  • Model training and hyperparameter tuning.
  • Deployment of the trained model for inference.

The project provides an interactive web interface for users to input data and receive predictions about student performance.


Technologies Used

  • Programming Language: Python
  • Libraries: pandas, numpy, scikit-learn, Flask, dill
  • Model Evaluation: R2 Score, Hyperparameter Tuning with GridSearchCV
  • Deployment: Elastic Beanstalk configuration for deployment

Key Features

  • End-to-End Pipeline: Covers data collection, preprocessing, model training, evaluation, and deployment.
  • Hyperparameter Tuning: Uses GridSearchCV for optimizing model performance.
  • Custom Exception Handling: Implements a robust error-handling framework for debugging.
  • Interactive Web UI: A user-friendly interface built with Flask for making predictions.
  • Logging and Monitoring: Logs critical events for better traceability and debugging.

Project Structure

Here’s a brief overview of the project structure:

.
├── src
│   ├── utils.py                 # Utility functions (save/load objects, evaluate models)
│   ├── logger.py                # Logging setup
│   ├── exception.py             # Custom exceptions
│   ├── pipeline
│       ├── predict_pipeline.py  # Prediction pipeline for input data
│       ├── train_pipeline.py    # Training pipeline (not shown in file list)
├── notebook
│   ├── student_performace_EDA.ipynb  # Exploratory data analysis notebook
│   ├── data
│       ├── stud.csv             # Raw dataset
├── templates
│   ├── home.html                # Web interface for predictions
│   ├── index.html               # Placeholder page for training status
├── app.py                       # Flask application entry point
├── requirements.txt             # Python dependencies

Installation

Follow these steps to set up the project locally:

  1. Clone the repository:

    git clone https://github.com/pycoder49/first_e2eMLproject.git
    cd first_e2eMLproject
  2. Install dependencies:

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

    python app.py
  4. Access the web application at http://127.0.0.1:5000.


Usage

Once the Flask application is running, follow these steps:

  1. Input student details such as gender, ethnicity, parental education, etc., through the web form.
  2. Click the "Predict" button to generate predictions for student performance in exams.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published