Skip to content

This repository contains the deployment of trained ML Models using Docker and Amazon Elastic Container Service

Notifications You must be signed in to change notification settings

IsaacMwendwa/Deploying-ML-Model-with-Docker-and-Amazon-ECS

Repository files navigation

Deploying Productive Employment ML Models with Docker and Amazon ECS

  • Home Page of Predictive Analysis Application

Home Page of Predictive Analysis Application

  • Prediction Results from Models, According to Industry

Prediction Results in 000's

  • Prediction Results by Percentage Contribution, According to Industry

Percentage Contribution of Predictions

  • Real-time Model Monitoring Report

Results are according to input dataset, as compared to training dataset Real-time Model Monitoring Report

Introduction

This project is aimed at providing actionable insights to support SDG Number 8, by allowing users/stakeholders to do a Predictive Analysis of Productive Employment in Kenya based on Economic Growth. The project uses machine learning algorithms for the regression problem: Given the economic growth metrics (Contribution to GDP, Growth by GDP) according to Industry, predict the number of people in non-productive employment (working poor) and the total number in employment; per Industry. The two models are deployed using Docker and Amazon EC2 for accessibility of the application

Table of Contents

Build Tools

  • Python 3.11.5 - The programming language used.
  • SciKit Learn - The machine learning library used.
  • Docker & Docker Hub
  • Amazon Elastic Container Service (ECS)

Pre-requisites

  1. Anaconda from Anaconda Organization Installed on Local System
  2. Model files from earlier project: https://github.com/IsaacMwendwa/productive-employment-prediction
  3. Docker Desktop Installed with WSL 2 Integration (Ubuntu 20.04)
  4. AWS Account (AWS Management Console)

Installation

  1. Create a directory called "Deployment" in your system, and download/clone this repo to the folder
    Fire up an Anaconda Prompt or terminal, and cd to the directory
  2. Create a Python virtual environment using conda. Specify the Python version == 3.6.9:
    conda create -n productive_employment_prediction python=3.6.9 anaconda
  3. Activate conda environment
    conda activate productive_employment_prediction
  4. Install requirements as follows:
    pip install -r requirements.txt
  5. To execute the application, r