Developed an end-to-end Machine Learning project for shipment price prediction using Python, Scikit-learn, Fast-api, Docker, and AWS deployment with real-time prediction capability.
Before you run this project make sure you have MongoDB Atlas account and you have the shipping dataset into it.
- Config yaml
- Constants
- config_entity
- artifacts_entity
- Components
- pipeline
- main.py
git clone https://github.com/Ahmed2797/Shipment-Price-Prediction-System-ML-AWS-.gitconda create -n ship python=3.10 -y
conda activate shippip install -r requirements.txt
## .env
AWS_ACCESS_KEY_ID = your_access_key_here
AWS_SECRET_ACCESS_KEY = your_secret_key_here
AWS_DEFAULT_REGION = us-east-1
export AWS_ACCESS_KEY_ID = "YOUR_ACCESS_KEY_ID"
export AWS_SECRET_ACCESS_KEY = "YOUR_SECRET_ACCESS_KEY"
## Load-Data
python push_data_mongo.py
## Train The model-pipeline
python main.py
## web app
python app.py
## Now open up you local host and port# with specific access
1. EC2 access : It is virtual machine
2. ECR: Elastic Container registry to save your docker image in aws
#Description: About the deployment
1. Build docker image of the source code
2. Push your docker image to ECR
3. Launch Your EC2
4. Pull Your image from ECR in EC2
5. Lauch your docker image in EC2
#Policy:
1. AmazonEC2ContainerRegistryFullAccess
2. AmazonEC2FullAccess- Save the URI: 520551197421.dkr.ecr.us-east-1.amazonaws.com/shipment-cost
#optinal
sudo apt-get update -y
sudo apt-get upgrade
#required
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker ubuntu
newgrp dockerAWS_ACCESS_KEY_ID =
AWS_SECRET_ACCESS_KEY =
AWS_REGION = us-east-1
AWS_ECR_LOGIN_URI = 520551197421.dkr.ecr.us-east-1.amazonaws.com
ECR_REPOSITORY_NAME = Shipment-Cost