Skip to content

0029 baseline naive obligatoire pour interpreter le ml

ADR-29 — Baseline naïve obligatoire pour interpréter le ML

Statut : Décidé (2026-03-28)

Contexte : Un F1 de 0.54 ne veut rien dire seul. Si le dataset contient 40% de BUY, un classifier naïf "always BUY" obtient déjà un F1 significatif. Sans baseline, on ne peut pas distinguer un modèle utile d'un classifier trivial.

Décision : Toute métrique ML per-class (f1_buy, precision_buy) doit être comparée à la baseline naïve "always BUY" calculée sur le split test.

Invariants : - buy_rate (proportion de BUY dans le split test) DOIT être loggé - baseline_f1_buy = 2 * buy_rate / (1 + buy_rate) DOIT être loggé - Le verdict (USEFUL / MARGINAL / WORSE) DOIT être dans les logs CORRELATION DATA - Un modèle avec f1_buy proche de baseline_f1_buy ne doit PAS être considéré comme performant - ADR-25 s'applique : si buy_rate ou baseline manquent → fail-fast, pas 0.0 silencieux

Application : scripts/strategy_testing.py (baseline per fold), test_step.py (CORRELATION DATA verdict)