How waddi3/customer-churn-mlops works
This repository is a Telco customer-churn classification pipeline. The user starts it with run_pipeline.py; it loads the raw workbook, explores and preprocesses the data, engineers features, trains and selects a model, then evaluates it. The pipeline also saves versioned datasets and model artifacts and tracks training and evaluation in MLflow. The graph includes configuration and logging as internal support layers. README capabilities are retained; links for stages not shown in sampled code are omitted rather than inferred.
Main entry points: run_pipeline.py Pipeline Runner · train.py Model Training · logger.py Application Logging · data_loader.py Data Loading
Components 16
Pipeline Workflow
- Pipeline Runner
run_pipeline.py
Data Preparation
- Raw Workbook
data/v1/Telco_customer_churn.xlsx - Data Loading
src/data_loader.py - Exploratory Analysis
src/eda.py - Preprocessing
src/preprocessing.py - Cleaned Dataset
data/v2/cleaned_data.csv - Feature Engineering
src/feature_engineering.py - Processed Dataset
data/v3/processed_data.csv
Modeling And Evaluation
- Model Training
src/train.py - Saved Model Artifacts
models - Model Evaluation
src/evaluate.py
Tracking And Support
- MLflow Setup
src/mlflow_utils.py - MLflow Tracking
- Path Configuration
src/config.py - Application Logging
src/logger.py
Other components
- Pipeline User
Connections 24
- Pipeline User → Pipeline Runner: starts
README.md - Pipeline Runner → MLflow Setup: configures
run_pipeline.py - Pipeline Runner → Data Loading: loads data
run_pipeline.py - Data Loading → Raw Workbook: reads
src/data_loader.py - Pipeline Runner → Exploratory Analysis: runs analysis
run_pipeline.py - Pipeline Runner → Preprocessing: preprocesses
run_pipeline.py - Preprocessing → Cleaned Dataset: writes
src/preprocessing.py - Pipeline Runner → Feature Engineering: engineers features
run_pipeline.py - Feature Engineering → Processed Dataset: writes
src/feature_engineering.py - Pipeline Runner → Model Training: trains models
run_pipeline.py - Model Training → Saved Model Artifacts: saves best model
src/train.py - Model Training → MLflow Tracking: logs runs
src/train.py - Pipeline Runner → Model Evaluation: evaluates model
run_pipeline.py - Model Evaluation → MLflow Tracking: logs artifacts
src/evaluate.py - MLflow Setup → MLflow Tracking: configures store
src/mlflow_utils.py - Data Loading → Path Configuration: uses data path
src/data_loader.py - Preprocessing → Path Configuration: uses output path
src/preprocessing.py - Feature Engineering → Path Configuration: uses output paths
src/feature_engineering.py - Model Training → Path Configuration: uses model path
src/train.py - Data Loading → Application Logging: logs progress
src/data_loader.py - Preprocessing → Application Logging: logs progress
src/preprocessing.py - Feature Engineering → Application Logging: logs progress
src/feature_engineering.py - Model Training → Application Logging: logs progress
src/train.py - Model Evaluation → Application Logging: logs metrics
src/evaluate.py