docs: update thesis and docs with Cleanlab label filtering integration

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jacquin Antoine
2026-04-13 02:19:46 +02:00
parent 9d27abf43c
commit 6e5eb38efd
3 changed files with 38 additions and 4 deletions

View File

@ -583,6 +583,20 @@ XGBClassifier(
positifs (FP) servent d'exemples négatifs, les vrais positifs (TP) d'exemples positifs.
Requiert ≥ `XGB_MIN_LABELS` (100) labels avant activation.
**Filtrage Cleanlab des labels bruités** (`cleanlab>=2.6`, optionnel) :
Avant l'entraînement XGBoost, un pipeline de *confident learning* filtre les
labels SOC probablement erronés :
1. Entraînement d'un XGBoost rapide (`n_estimators=80, max_depth=4`) en 3-fold CV
2. Extraction des `pred_probs` out-of-fold via `cross_val_predict`
3. Appel à `cleanlab.filter.find_label_issues(labels=y, pred_probs=pred_probs)`
4. Exclusion des indices identifiés comme bruités du jeu d'entraînement
5. Recalcul du `scale_pos_weight` sur les données nettoyées
Le taux de labels filtrés est loggué (`[XGB][name] Cleanlab : N/M labels bruyants supprimés (X.X%)`).
En cas d'échec (erreur, dépendance manquante), le pipeline retombe sur les données brutes sans interruption.
**Ré-entraînement** : Toutes les `XGB_RETRAIN_INTERVAL_HOURS` (168h = 7 jours).
**Persistance** : `model.save_model()` → fichier `.json`.