Skip to content

0014 le testing doit estimer la generalisation pas la performance

ADR-14 — Le testing DOIT estimer la généralisation, pas la performance locale récente

Statut : Décidé (issue #367, analyse overfitting 2026-03-24)

Contexte : Le testing Phase 2 utilisait un seul fold (le plus récent). Cela produisait un estimateur biaisé : F1 val élevé car val est temporellement adjacent à train, pas parce que le modèle généralise. Écart observé : >10pts entre val et test.

Décision : Le testing Phase 2 utilise un protocole multi-fold temporel (3-5 folds). Les métriques sont agrégées (mean + std) sur tous les folds. Le gap val/test par fold est reporté.

Invariants : - Le testing NE DOIT JAMAIS utiliser un seul fold pour évaluer un modèle - Les métriques Phase 2 DOIVENT inclure mean + std du F1 sur N folds - Le gap val/test moyen DOIT être < 5 pts pour qu'un modèle passe les gates - Un fold unique est acceptable uniquement en mode --smoke-test (explicitement dégradé)

Alternatives considérées : - Single fold (rejeté : estimateur biaisé, 5-8 pts de gap) - Expanding window (non retenu : biais de taille variable)

Fichiers concernés : scripts/strategy_testing.py, zenml_pipelines/steps/testing/test_step.py