# elazzouzi1080/tracia_usecases architecture

> Architecture diagram of the GitHub repository elazzouzi1080/tracia_usecases, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/elazzouzi1080/tracia_usecases
- Repository: https://github.com/elazzouzi1080/tracia_usecases

## Overview

This repository provides a reproducible binary-classification experiment workflow: prepare stable stratified folds, run baseline models against those folds, evaluate their predictions, and export summarized results. The README documents visualizations, confidence intervals, statistical comparisons, and CSV/JSON/Excel outputs; the sampled Python excerpt confirms the loading, evaluation, orchestration, and saving layers. Details of unsampled notebook cells and analysis methods are not asserted beyond the documented capabilities.

Main entry points: [`use_cases/notebooks_usecases/fixed_cv_binary_classification.py`](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py) (Pipeline orchestrator), [`use_cases/notebooks_usecases/01_prepare_splits_and_config.ipynb`](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/01_prepare_splits_and_config.ipynb) (Prepare splits), [`use_cases/notebooks_usecases/02_run_binary_classification_pipeline.ipynb`](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/02_run_binary_classification_pipeline.ipynb) (Run evaluation), [`use_cases/data/splits_k5_v1`](https://github.com/elazzouzi1080/tracia_usecases/tree/main/use_cases/data/splits_k5_v1) (Fixed fold data)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_preparation["Data preparation"]
  node_prep_notebook["Prepare splits"]
  node_raw_data["Clinical dataset"]
  node_fixed_splits["Fixed fold data"]
end

subgraph group_evaluation["Model evaluation"]
  node_run_notebook["Run evaluation"]
  node_pipeline["Pipeline orchestrator"]
  node_evaluator["Cross-validation evaluator"]
  node_loader["Data loader"]
  node_model_factory["Baseline models"]
  node_metrics["Metric calculation"]
end

subgraph group_analysis["Results analysis"]
  node_analyzer["Results analysis"]
  node_visualizations["Evaluation figures"]
end

subgraph group_artifacts["Experiment artifacts"]
  node_fold_results["Per-fold results"]
  node_summary_results["Summary results"]
  node_json_results["JSON exports"]
  node_workbook["Results workbook"]
end

node_researcher(("Experimenter"))
node_external_models["Scikit-learn"]

node_researcher -->|"prepares folds"| node_prep_notebook
node_prep_notebook -->|"reads dataset"| node_raw_data
node_prep_notebook -->|"writes folds"| node_fixed_splits
node_researcher -->|"starts evaluation"| node_run_notebook
node_run_notebook -->|"runs pipeline"| node_pipeline
node_pipeline -->|"runs evaluation"| node_evaluator
node_pipeline -->|"summarizes results"| node_analyzer
node_evaluator -->|"loads data"| node_loader
node_evaluator -->|"creates models"| node_model_factory
node_evaluator -->|"calculates metrics"| node_metrics
node_loader -->|"reads dataset and folds"| node_fixed_splits
node_model_factory -->|"uses estimators"| node_external_models
node_pipeline -->|"writes CSV"| node_fold_results
node_pipeline -->|"writes CSV"| node_summary_results
node_pipeline -->|"writes JSON"| node_json_results
node_pipeline -->|"writes workbook"| node_workbook
node_analyzer -->|"creates figures"| node_visualizations

click node_prep_notebook "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/01_prepare_splits_and_config.ipynb"
click node_raw_data "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/data/heart_failure_clinical_records_dataset.csv"
click node_fixed_splits "https://github.com/elazzouzi1080/tracia_usecases/tree/main/use_cases/data/splits_k5_v1"
click node_run_notebook "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/02_run_binary_classification_pipeline.ipynb"
click node_pipeline "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py"
click node_evaluator "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py"
click node_loader "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py"
click node_model_factory "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py"
click node_metrics "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py"
click node_analyzer "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py"
click node_visualizations "https://github.com/elazzouzi1080/tracia_usecases/tree/main/use_cases/results_pipline/figures"
click node_fold_results "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_per_fold.csv"
click node_summary_results "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_summary.csv"
click node_json_results "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_per_fold.json"
click node_workbook "https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_complete.xlsx"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_prep_notebook,node_raw_data,node_fixed_splits toneBlue
class node_run_notebook,node_pipeline,node_evaluator,node_loader,node_model_factory,node_metrics toneAmber
class node_analyzer,node_visualizations toneMint
class node_fold_results,node_summary_results,node_json_results,node_workbook toneRose
class node_researcher,node_external_models toneIndigo
```

## Components

### Data preparation

- [Prepare splits](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/01_prepare_splits_and_config.ipynb): `use_cases/notebooks_usecases/01_prepare_splits_and_config.ipynb`
- [Clinical dataset](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/data/heart_failure_clinical_records_dataset.csv): `use_cases/data/heart_failure_clinical_records_dataset.csv`
- [Fixed fold data](https://github.com/elazzouzi1080/tracia_usecases/tree/main/use_cases/data/splits_k5_v1): `use_cases/data/splits_k5_v1`

### Model evaluation

- [Run evaluation](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/02_run_binary_classification_pipeline.ipynb): `use_cases/notebooks_usecases/02_run_binary_classification_pipeline.ipynb`
- [Pipeline orchestrator](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py): `use_cases/notebooks_usecases/fixed_cv_binary_classification.py`
- [Cross-validation evaluator](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py): `use_cases/notebooks_usecases/fixed_cv_binary_classification.py`
- [Data loader](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py): `use_cases/notebooks_usecases/fixed_cv_binary_classification.py`
- [Baseline models](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py): `use_cases/notebooks_usecases/fixed_cv_binary_classification.py`
- [Metric calculation](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py): `use_cases/notebooks_usecases/fixed_cv_binary_classification.py`

### Results analysis

- [Results analysis](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/notebooks_usecases/fixed_cv_binary_classification.py): `use_cases/notebooks_usecases/fixed_cv_binary_classification.py`
- [Evaluation figures](https://github.com/elazzouzi1080/tracia_usecases/tree/main/use_cases/results_pipline/figures): `use_cases/results_pipline/figures`

### Experiment artifacts

- [Per-fold results](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_per_fold.csv): `use_cases/results_pipline/cv_results_per_fold.csv`
- [Summary results](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_summary.csv): `use_cases/results_pipline/cv_results_summary.csv`
- [JSON exports](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_per_fold.json): `use_cases/results_pipline/cv_results_per_fold.json`
- [Results workbook](https://github.com/elazzouzi1080/tracia_usecases/blob/main/use_cases/results_pipline/cv_results_complete.xlsx): `use_cases/results_pipline/cv_results_complete.xlsx`

### Other components

- **Experimenter**
- **Scikit-learn**

## Connections

- Experimenter → Prepare splits: prepares folds
- Prepare splits → Clinical dataset: reads dataset
- Prepare splits → Fixed fold data: writes folds
- Experimenter → Run evaluation: starts evaluation
- Run evaluation → Pipeline orchestrator: runs pipeline
- Pipeline orchestrator → Cross-validation evaluator: runs evaluation
- Pipeline orchestrator → Results analysis: summarizes results
- Cross-validation evaluator → Data loader: loads data
- Cross-validation evaluator → Baseline models: creates models
- Cross-validation evaluator → Metric calculation: calculates metrics
- Data loader → Fixed fold data: reads dataset and folds
- Baseline models → Scikit-learn: uses estimators
- Pipeline orchestrator → Per-fold results: writes CSV
- Pipeline orchestrator → Summary results: writes CSV
- Pipeline orchestrator → JSON exports: writes JSON
- Pipeline orchestrator → Results workbook: writes workbook
- Results analysis → Evaluation figures: creates figures
