Skip to content

kennyg37/eduPred

Repository files navigation

Machine Learning Deployment Pipeline**

This project demonstrates the deployment of a Machine Learning (ML) model pipeline with functionalities for model prediction, retraining, bulk data uploads, and more. The deployment includes dockerized web applications for both the frontend and backend, hosted on cloud platforms. The dockerized application was deployed on google cloup platform and it uses the the google cloud run application.

Features

  1. Model Prediction

    • Predict on a single data point (e.g., an image or selected CSV features).
  2. Data Visualization

    • Interpret and visualize at least three features in the dataset with meaningful stories.
  3. Data Upload

    • Bulk upload data (CSV, images, or other formats) for retraining.
  4. Model Retraining

    • Trigger a model retraining process via a user-friendly interface.
  5. Flood Simulation

    • Simulate requests using Locust to evaluate response time and latency under different loads.

Deployment Details

Steps to Run the Application

Using the Docker Image

  1. Install Docker

  2. Pull the Docker Image

    docker pull your-docker-image-name
  3. Run the Container

    docker run -d -p 80:80 your-docker-image-name
  4. Access the Application

    • Open your browser and navigate to http://localhost to interact with the app.

Steps to Build Locally

1. Clone the Repository

git clone https://github.com/edupred.git
cd project_name

2. Set Up a Python Virtual Environment

python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`

3. Install Dependencies

pip install -r requirements.txt

4. Run the Application Locally

python app.py

Navigate to http://localhost:5000 to access the application.


Directory Structure

Project_name/
│
├── README.md              # Project description and setup instructions
│
├── notebook/
│   ├── project_name.ipynb # Preprocessing, model training, and evaluation
│
├── src/
│   ├── preprocessing.py   # Preprocessing logic
│   ├── model.py           # Model training and evaluation
│   └── prediction.py      # Model prediction logic
│
├── data/
│   ├── train/             # Training dataset
│   └── test/              # Testing dataset
│
└── models/
    ├── model_name.pkl     # Saved model in Pickle format
    └── model_name.tf      # Saved model in TensorFlow format

Flood Request Simulation Results

The application was tested under high traffic using Locust to simulate floods of requests.

Screenshot 2024-12-09 093610

Requirements

  • Python 3.10 or later.
  • Docker installed.
  • Dependencies specified in requirements.txt.

Results

Model Evaluation

  • Metrics: Accuracy, Precision, Recall, F1-Score.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published