How surya8522/adult-income-prediction works
This repository is an Adult Income binary-classification project with a conventional ML workflow and an MLOps extension for tracking, registry, and lifecycle management. The main production-oriented path validates and preprocesses the dataset, trains and evaluates a model, then records model artifacts and registry state. The README documents broader capabilities, including EDA, model comparison, tuning, and prediction; those are represented without inferring unshown calls. Source excerpts show the production preprocessing outputs and MLflow training behavior, but not all downstream wiring.
Main entry points: run_lab3_baseline.py Baseline runner · run_lab5_pipeline.py Production runner · run_lab6_registry.py Registry runner · preprocess_pipeline.py Production preprocessing
Components 21
Data preparation
- Adult dataset
data/raw/adult.csv - Data validation
src/validate_data.py - Production preprocessing
src/preprocess_pipeline.py - Train/test features
data/processed/X_train_final.npy - Fitted preprocessor
models/preprocessor.pkl - Output validation
src/validate_outputs.py - Baseline preprocessing
src/preprocess.py
Modeling and evaluation
- EDA and baseline
src/income_prediction.py - Baseline training
src/train.py - Model evaluation
src/evaluate.py - Income prediction
src/income_prediction.py
MLOps lifecycle
- Tracked training
src/train_mlflow.py - Registry training
src/train_registry.py - Version promotion
src/automate_lifecycle.py - Registry report
src/generate_registry_report.py - MLflow service
Workflow automation
- Baseline runner
pipelines/run_lab3_baseline.py - Tracking runner
pipelines/run_lab4_tracking.py - Production runner
pipelines/run_lab5_pipeline.py - Registry runner
pipelines/run_lab6_registry.py
Other components
- Project user
Connections 25
- Project user → Production runner: runs pipeline
README.md - Production runner → Data validation: executes
pipelines/run_lab5_pipeline.py - Production runner → Production preprocessing: executes
pipelines/run_lab5_pipeline.py - Production runner → Output validation: executes
pipelines/run_lab5_pipeline.py - Adult dataset → Production preprocessing: loads data
src/preprocess_pipeline.py - Production preprocessing → Train/test features: writes arrays
src/preprocess_pipeline.py - Production preprocessing → Fitted preprocessor: saves transform
src/preprocess_pipeline.py - Project user → Baseline runner: runs pipeline
README.md - Baseline runner → Baseline preprocessing: executes
pipelines/run_lab3_baseline.py - Baseline runner → Baseline training: executes
pipelines/run_lab3_baseline.py - Baseline runner → Model evaluation: executes
pipelines/run_lab3_baseline.py - Project user → Tracking runner: runs pipeline
README.md - Tracking runner → Baseline preprocessing: executes
pipelines/run_lab4_tracking.py - Tracking runner → Tracked training: executes
pipelines/run_lab4_tracking.py - Project user → Registry runner: runs pipeline
README.md - Registry runner → Registry training: executes
pipelines/run_lab6_registry.py - Registry runner → Version promotion: executes
pipelines/run_lab6_registry.py - Registry runner → Registry report: executes
pipelines/run_lab6_registry.py - Train/test features → Tracked training: loads arrays
src/train_mlflow.py - Tracked training → MLflow service: logs run and model
src/train_mlflow.py - Train/test features → Registry training: loads arrays
src/train_registry.py - Registry training → MLflow service: registers model
src/train_registry.py - Adult dataset → EDA and baseline: analyzes dataset
README.md - EDA and baseline → Income prediction: demonstrates prediction
src/income_prediction.py - Project user → Income prediction: requests estimate