Skip to content

Commit 7b852a6

Browse files
committed
Improved documentation
1 parent f721a1c commit 7b852a6

File tree

2 files changed

+32
-21
lines changed

2 files changed

+32
-21
lines changed

Dockerfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Use an official Python runtime as a parent image
1+
# Python runtime as a parent image
22
FROM python:3.8-slim
33

4-
# Set the working directory to /app
4+
# Working directory
55
WORKDIR /app
66

77
# Create the necessary directories
@@ -13,16 +13,17 @@ COPY requirements.txt /app/
1313
COPY models/ /app/models/
1414

1515

16-
# Update the repositories and install Java
16+
# Update the repositories and install Java for H20.ai AutoML
1717
RUN apt-get update && \
1818
apt-get install -y default-jre && \
1919
apt-get clean;
2020

21+
2122
# Create and activate a virtual environment
2223
RUN python -m venv venv
2324
RUN /bin/bash -c "source venv/bin/activate"
2425

25-
# Install any needed packages specified in requirements.txt
26+
# Install requirements.txt
2627
RUN pip install -r requirements.txt
2728

2829
# Make port 8501 available to the world outside this container

Readme.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
# Table of Contents 📑
44

5+
56
1. [Project Description](#project-description) 📝
67
2. [Project Structure](#project-structure) 🏗️
78
3. [Necessary Installations](#necessary-installations) 🛠️
@@ -11,19 +12,20 @@
1112
7. [Prediction App](#prediction-app) 🎯
1213
8. [Neptune.ai Dashboard](#neptune.ai-dashboard) 🌊
1314
9. [Docker Configuration](#docker-configuration) 🐳
14-
10. [GitHub Actions](#github-actions) 🛠️
15+
10. [GitHub Actions and CML Reports](#github-actions) 🛠️
1516
11. [Running the Project](#running-the-project) 🚀
1617

1718

19+
<a id="project-description"></a>
1820
# Project Description 🚀
1921

20-
Welcome to the Sales Conversion Optimization Project! 📈 This project focuses on enhancing sales conversion rates through meticulous data handling and efficient model training. The goal is to optimize conversions using a structured pipeline and predictive modeling.
22+
Welcome to the Sales Conversion Optimization Project! 📈 This project focuses on enhancing sales conversion rates through careful data handling and efficient model training. The goal is to optimize conversions using a structured pipeline and predictive modeling.
2123

22-
We've structured this project to streamline the process from data ingestion and cleaning to model training and evaluation. With an aim to empower efficient decision-making, our pipelines incorporate quality validation tests, drift analysis, and rigorous model performance evaluations.
24+
I've structured this project to streamline the process from data ingestion and cleaning to model training and evaluation. With an aim to empower efficient decision-making, my pipelines include quality validation tests, drift analysis, and rigorous model performance evaluations.
2325

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

26-
28+
<a id="project-structure"></a>
2729
# Project Structure 🏗️
2830

2931
Let's dive into the project structure! 📁 Here's a breakdown of the directory:
@@ -60,6 +62,7 @@ Let's dive into the project structure! 📁 Here's a breakdown of the directory:
6062

6163
This organized structure ensures a clear separation of concerns and smooth pipeline execution. 🚀
6264

65+
<a id="necessary-installations"></a>
6366
# Necessary Installations 🛠️
6467

6568
To ensure the smooth functioning of this project, several installations are required:
@@ -81,7 +84,7 @@ To ensure the smooth functioning of this project, several installations are requ
8184

8285
```bash
8386
pip install zenml["server"]
84-
zenml init #to initialise the ZeenML repository
87+
zenml init #to initialise the ZenML repository
8588
zenml up
8689
```
8790

@@ -101,25 +104,28 @@ Make sure to install these dependencies to execute the project functionalities s
101104
![Neptune.ai integration with ZenML](assets/zenml_dashbaord_stack.PNG)
102105

103106

107+
<a id="train-pipeline"></a>
104108
# Train Pipeline 🚂
105109

106-
In this pipeline, we embark on a journey through various steps to train our models! 🛤️ Here's the process breakdown:
110+
In this pipeline, it covers various steps involved in the ML lifecycle, ensuring our system is always reliable! 🛤️
111+
Here's the process breakdown:
107112
108113
1. **run_pipeline.py**: Initiates the training pipeline.
109114
2. **steps/ingest_Data**: Ingests the data, sending it to the data_validation step.
110115
3. **data_validation step**: Conducts validation tests and transforms values.
111-
4. **steps/clean_Data**: Carries out data preprocessing logics.
116+
4. **steps/clean_Data**: Performs out data preprocessing logic.
112117
5. **data_Drift_validation step**: Conducts data drift tests.
113118
6. **steps/train_model.py**: Utilizes h2o.ai AUTOML for model selection.
114119
7. **src/train_models.py**: Implements the best model on the cleaned dataset.
115120
8. **model_performance_Evaluation.py**: Assesses model performance on a split dataset.
116-
9. **steps/alert_report.py**: Here, if any of teh validation test suites, didn't meet the threshold condition, email will be sent to the user, along with the failed Evidently.AI generated HTML reports.
121+
9. **steps/alert_report.py**: Here, if any of the validation test suites, didn't meet the threshold condition, email will be sent to the user, along with the failed Evidently.AI generated HTML reports.
117122

118123
Each step is crucial in refining and validating our model. All aboard the train pipeline! 🌟🚆
119124

120125
![Training Pipeline](assets/train_pipeline_dashboard.PNG)
121126

122127

128+
<a id="continuous-integration-pipeline"></a>
123129
# Continuous Integration Pipeline ⚙️
124130

125131
The continuous integration pipeline focuses on the production environment and streamlined processes for deployment. 🔄
@@ -137,10 +143,11 @@ This pipeline is crucial for maintaining a continuous and reliable deployment pr
137143
![Continuous Integration Pipeline Part-2](assets/18-12-ci-cd(2).PNG)
138144
139145
140-
146+
<a id="email-report"></a>
141147
## Alert Reports 📧
142148
143-
In our project, email reports are a vital part of the pipeline to notify users when certain tests fail. These reports are triggered by specific conditions during the pipeline execution. Here's how it works:
149+
In my project, email reports are a vital part of the pipeline to notify users when certain tests fail. These reports are triggered by specific conditions during the pipeline execution. Here's how it works:
150+
144151

145152
### E-mail Details
146153

@@ -172,9 +179,10 @@ Slack: [#sales-conversion-test-failures](https://join.slack.com/t/vishalsworkspa
172179
![Slack Alert:](assets/slack-alerter.PNG)
173180

174181

182+
<a id="prediction-app"></a>
175183
# Prediction App 🚀
176184

177-
The Prediction App is the user-facing interface that leverages the trained models to make predictions based on user input. 🎯
185+
The Prediction App is the user-facing interface that utilises the trained models to make predictions based on user input. 🎯
178186
To run the streamlit application,
179187
```bash
180188
streamlit run app.py
@@ -208,6 +216,7 @@ This app streamlines the process of making predictions, interpreting model outpu
208216
![LIME Report:](assets/local_plot.PNG)
209217

210218

219+
211220
## Data and Model Reports
212221
- 📉 **Data Quality Report**: Assess data quality between reference and current data.
213222
- 📊 **Data Drift Report**: Identify drift in data distribution.
@@ -260,12 +269,13 @@ Failed tests validation:
260269
261270
For more details, check the respective sections in the Streamlit app.
262271
263-
This application provides an intuitive interface for users to make predictions and monitoring effortlessly. 📊✨ Explore the power of data-driven insights with ease and confidence! 🚀🔍
272+
This application provides an intuitive interface for users to make predictions and monitoring effortlessly. 📊✨ Explore data-driven insights with ease and confidence! 🚀🔍
264273
265274
275+
<a id="neptune.ai-dashboard"></a>
266276
# Neptune.ai Dashboard 🌊
267277
268-
## Leveraging the Power of Neptune.ai for Enhanced Insights and Management 🚀
278+
## Utilising the Power of Neptune.ai for Enhanced Insights and Management 🚀
269279
270280
Neptune.ai offers an intuitive dashboard for comprehensive tracking and management of experiments, model metrics, and pipeline performance. Let's dive into its features:
271281

@@ -338,6 +348,7 @@ Access my Neptune.ai Dashboard [here](https://app.neptune.ai/o/Vishal-Kumar-S/or
338348
Neptune.ai enhances the project by providing a centralized platform for managing experiments and gaining deep insights into model performance, contributing to informed decision-making. 📊✨
339349

340350

351+
<a id="docker-configuration"></a>
341352
# Docker Configuration 🐳
342353

343354
Docker is an essential tool for packaging and distributing applications. Here's how to set up and use Docker for this project:
@@ -351,11 +362,9 @@ Docker is an essential tool for packaging and distributing applications. Here's
351362
352363
**Best Practices:** Consider best practices such as data volume management, security, and image optimization.
353364
354-
## GitHub Actions 🛠️
355-
356-
- Configured CI/CD workflow for automated execution
357365
358-
# Continuous Machine Learning (CML) Reports 📊
366+
<a id="github-actions"></a>
367+
# GitHub Actions Workflow and Continuous Machine Learning (CML) Reports 📊
359368
360369
## CML Reports Integration 🚀
361370
@@ -374,6 +383,7 @@ Integrated into CI/CD pipeline:
374383
🌟 These reports enhance transparency and provide crucial insights into model performance! 🌟
375384
376385
386+
<a id="running-the-project"></a>
377387
# Running the Project 🚀
378388
379389
Follow these steps to run different components of the project:

0 commit comments

Comments
 (0)