How sofiacper/etai-pipeline works
This repository is a configurable COMPAS recidivism prediction pipeline. Its main workflow loads the CSV, cleans rows and separates features, sets aside a locked test set, evaluates a preprocessing-plus-model pipeline with cross-validation on development data, refits on that development data, and saves reports. The reports include out-of-fold classification and race-based false-positive comparisons with COMPAS. The graph follows the sampled entry point and modules; README-documented capabilities are included where supported, while unsampled implementation details are not inferred.
Main entry points: main.py Orchestrator · data.py CSV loader · preprocessing.py Feature transformer · evaluate.py Cross-validation
Components 12
Data and setup
- Orchestrator
main.py - Run configuration
config.yaml - COMPAS records
data/compas_two_year_recidivism.csv - CSV loader
src/data.py
Data preparation
- Cleaning and features
src/preprocessing.py - Dev/test split
src/preprocessing.py
Modeling and evaluation
- Feature transformer
src/preprocessing.py - Model factory
src/model.py - Cross-validation
src/evaluate.py - Classification and fairness
src/evaluate.py
Run reporting
- Report saver
src/results.py
Other components
- Pipeline runner
Connections 14
- Pipeline runner → Orchestrator: runs
- Orchestrator → Run configuration: reads
- Orchestrator → CSV loader: calls
- COMPAS records → CSV loader: CSV input
- CSV loader → Orchestrator: returns rows
- Orchestrator → Cleaning and features: calls
- Orchestrator → Dev/test split: calls
- Orchestrator → Feature transformer: builds
- Orchestrator → Model factory: builds
- Orchestrator → Cross-validation: cross-validates
- Orchestrator → Classification and fairness: requests reports
- Orchestrator → Report saver: saves report
- Cross-validation → Classification and fairness: OOF predictions
- Feature transformer → Model factory: pipeline stages