Skip to content

Commit af585cb

Browse files
committed
included deployed link, video documentation and updated github ci-cd workflow content
1 parent 7b852a6 commit af585cb

11 files changed

+41
-22
lines changed

Readme.md

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# Sales Conversion Optimization Project 📈
22

3-
# Table of Contents 📑
3+
**Deployed Application: [Sales Conversion Optimisation Web App](https://sales-conversion-optimization-mlops-project.streamlit.app/)**
4+
45

6+
# Table of Contents 📑
57

68
1. [Project Description](#project-description) 📝
79
2. [Project Structure](#project-structure) 🏗️
@@ -25,6 +27,10 @@ I've structured this project to streamline the process from data ingestion and c
2527

2628
This project aims to streamline your sales conversion process, providing insights and predictions to drive impactful business decisions! 📊✨
2729

30+
**Live Demo Walkthrough**:
31+
[![Live Demo Walkthrough](https://img.youtube.com/vi/PfnZFzvqHFs/0.jpg)](https://www.youtube.com/watch?v=PfnZFzvqHFs)
32+
33+
2834
<a id="project-structure"></a>
2935
# Project Structure 🏗️
3036

@@ -134,7 +140,7 @@ Here's how it flows:
134140
135141
1. **ci-cd.py**: Triggered to initiate the CI/CD pipeline.
136142
2. **steps/production_batch_data**: Accesses production batch data from the Production_data folder
137-
3. **pipelines/ci_cd_pipeline.py**: As we already discussed earlier, we conduct Data Quality, Data Drift as previously we did, if threshold fails, email reports are sent.
143+
3. **pipelines/ci_cd_pipeline.py**: As we already discussed earlier, we conduct Data Quality, Data stability tests, Data drift, model performance validation tests as previously we did, if threshold fails, email reports are sent.
138144
4. **steps/predict_production_Data.py**: Utilizes the pre-trained best model to make predictions on new production data. Then, we conduct Model Performance validation as previously we did, if threshold fails, email reports are sent.
139145
140146
This pipeline is crucial for maintaining a continuous and reliable deployment process. 🔁✨
@@ -208,8 +214,8 @@ This app streamlines the process of making predictions, interpreting model outpu
208214

209215
## Interpretability Section
210216
- 📝 **Detailed Interpretability Report**: View global interpretability metrics.
211-
- 🌐 **SHAP Global Plot**: Explore SHAP values at a global level.
212-
- 🌍 **SHAP Local Plot**: Visualize SHAP values for user-input data.
217+
- 🌐 **SHAP Global Plot**: Visualize SHAP values at a global level.
218+
- 🌍 **SHAP Local Plot**: Visualize SHAP values for the user-input data in the Prediction App.
213219

214220
![SHAP Report:](assets/shap_local_plot.PNG)
215221

@@ -275,8 +281,6 @@ This application provides an intuitive interface for users to make predictions a
275281
<a id="neptune.ai-dashboard"></a>
276282
# Neptune.ai Dashboard 🌊
277283
278-
## Utilising the Power of Neptune.ai for Enhanced Insights and Management 🚀
279-
280284
Neptune.ai offers an intuitive dashboard for comprehensive tracking and management of experiments, model metrics, and pipeline performance. Let's dive into its features:
281285

282286
1. **Visual Metrics**: Visualize model performance metrics with interactive charts and graphs for seamless analysis. 📈📊
@@ -364,23 +368,41 @@ Docker is an essential tool for packaging and distributing applications. Here's
364368
365369
366370
<a id="github-actions"></a>
367-
# GitHub Actions Workflow and Continuous Machine Learning (CML) Reports 📊
371+
# GitHub Actions and CML Reports 📊
372+
373+
My project integrates GitHub Actions for Continuous Integration and Continuous Deployment (CI/CD), automating testing and deployment processes whenever changes are pushed to the repository.
374+
375+
## Workflow Overview 🔍
376+
The CI/CD pipeline automatically runs on every code push, performing the following steps:
377+
378+
### Environment Setup 🛠️
379+
380+
1. Checks out the latest code
381+
2. Installs all dependencies from requirements.txt
382+
383+
### ZenML Configuration 📊
384+
385+
1. Registers the Neptune experiment tracker
386+
2. Creates and sets the ZenML stack with Neptune integration
387+
388+
389+
### Pipeline Execution 🚀
390+
391+
1. Runs the CI/CD pipeline script with secure environment variables
392+
2. Handles sensitive information (email password, API tokens) using GitHub Secrets
368393
369-
## CML Reports Integration 🚀
370394
371-
🎯 Predictions Scatter Plot: Visualizes model predictions against actual conversions.
372-
📈 Residuals Plot: Illustrates the differences between predicted and actual values.
395+
### CML Reporting 📈
373396
374-
## GitHub Actions Workflow 🛠️
397+
1. Generates visual reports using Continuous Machine Learning (CML)
398+
2. Creates prediction scatter plots (model predictions against actual conversions) and residuals plots (differences between predicted and actual values).
399+
3. Publishes results as comments directly in GitHub
375400
376-
Integrated into CI/CD pipeline:
377-
- Automatic generation on every push event.
378-
- Visual insights available directly in the repository.
379401
380402
![Predictions Scatter Plot](CML_Reports/predictions_scatter_plot.png)
381403
![Residuals Plot](CML_Reports/residuals_plot.png)
382404
383-
🌟 These reports enhance transparency and provide crucial insights into model performance! 🌟
405+
🌟 So my CI/CD approach eliminates manual testing and deployment steps and provides visual feedback on model performance and these reports enhance transparency and provide crucial insights into model performance! 🌟
384406
385407
386408
<a id="running-the-project"></a>
-48 Bytes
Binary file not shown.

run_pipeline.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
from pipelines.training_pipeline import train_pipeline
22

3-
def run_training_pipeline(url: str):
3+
def run_training_pipeline(path: str):
44
"""
55
Runs the training pipeline.
6-
7-
Args:
8-
url (str): URL of the dataset to be used for training.
96
"""
10-
train_pipeline(url)
7+
train_pipeline(path)
118

129
if __name__ == "__main__":
13-
dataset_url = "https://sale2.s3.us-east-2.amazonaws.com/KAG_conversion_data.csv"
14-
run_training_pipeline(dataset_url)
10+
dataset_path = "data/KAG_conversion_data.csv"
11+
run_training_pipeline(dataset_path)
-12 Bytes
Binary file not shown.
-39 Bytes
Binary file not shown.
-9 Bytes
Binary file not shown.
641 Bytes
Binary file not shown.
-1.22 KB
Binary file not shown.
2.04 KB
Binary file not shown.
-610 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)