Skip to content

This project aims to build a machine learning pipeline that predicts customer churn using AWS services like SageMaker for model training and deployment, along with Docker for containerization.

License

Notifications You must be signed in to change notification settings

karimosman89/ML-Pipeline-AWS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

End-to-End Machine Learning Pipeline on AWS

Overview

This project implements an end-to-end machine learning pipeline designed to predict customer churn using AWS services. The pipeline includes data ingestion, preprocessing, model training, deployment, and monitoring, providing a robust framework for developing and deploying machine learning models in the cloud.

Components

  • Data Ingestion: Load data from various sources (e.g., Amazon S3, CSV files).
  • Data Preprocessing: Clean and preprocess the data to prepare it for model training.
  • Model Training: Train a machine learning model using AWS SageMaker.
  • Model Deployment: Deploy the trained model as a REST API using AWS SageMaker.
  • Monitoring: Set up monitoring and logging for performance evaluation and alerts.

Project Structure

ML-Pipeline-AWS/ 
               │ 
               ├── data/
                       │ 
                       └── customer_data.csv 
               │ 
               ├── src/ 
                      │ 
                      ├── preprocess.py
                      │ 
                      ├── train_model.py 
                      │ 
                      └── deploy_model.py 
               │ 
               ├── Dockerfile
               ├── requirements.txt 
               └── .github/ 
                          └── workflows/ 
                                     └── aws_pipeline.yml 

GitHub Actions workflow configuration

Getting Started

Prerequisites

  • AWS Account: Ensure you have an AWS account set up with permissions to use SageMaker.
  • Docker: Install Docker to build and run containers.
  • Python: Version 3.8 or higher is recommended.

Installation

  1. Clone the repository:

    git clone https://github.com/karimosman89/ML-Pipeline-AWS.git
    cd ML-Pipeline-AWS
    
  2. Install the required Python packages:

    pip install -r requirements.txt
    
  3. Build the Docker image:

    docker build -t ml-pipeline-aws.
    

Usage

  1. Preprocess the data:

     python src/preprocess.py
    
  2. Train the model:

    python src/train_model.py
    
  3. Deploy the model:

    python src/deploy_model.py
    

GitHub Actions

The project includes a GitHub Actions workflow (aws_pipeline.yml) that automates the CI/CD process for the pipeline. It runs on code pushed to the main branch and executes the following steps:

Checkout the code

Install dependencies

Preprocess data

Train the model

Deploy the model

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

1- AWS Documentation for resources on AWS services. 2- Scikit-learn for machine learning algorithms.

Key Improvements:

  • Overview: Added an introductory section explaining the project's purpose and functionality.
  • Structured Components: Enhanced clarity by specifying what each component entails.
  • Project Structure: Improved formatting and descriptions to make it more informative.
  • Getting Started Section: Added prerequisites, installation steps, and usage instructions for easy understanding.
  • GitHub Actions Section: Clarified how CI/CD is implemented in the project.
  • License and Acknowledgments: Sections for licensing and acknowledgment are included, which are good practices for open-source projects.

This format will make your README more informative and professional, helping users and colleagues

About

This project aims to build a machine learning pipeline that predicts customer churn using AWS services like SageMaker for model training and deployment, along with Docker for containerization.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published