Découpage des données et fuite
Il y a fuite lorsque entraînement, features, sélection ou évaluation utilisent une information indisponible ou illégitime à l’usage cible, rendant le test optimiste. Une forte précision train n’est pas à elle seule une fuite ; un proxy disponible peut être fragile ou biaisé sans franchir la frontière temporelle.
unit objet prédit
prediction_time instant où répondre
horizon distance du résultat
available_info information réellement disponible et autorisée
label_time occurrence, maturité et révisions du label
split_key entités, groupes et temps à séparer
Un champ présent en base n’était pas nécessairement présent ou autorisé à .
| Type | Exemple | Contrôle |
|---|---|---|
| target/post-outcome | facture future pour risque à l’admission | temps des événements et lineage |
| temporelle | split aléatoire ou valeur révisée | forward split et vintages |
| entité/groupe | même patient des deux côtés | group, parfois group+time |
| duplicat | crops/templates traversent | grouper les quasi-duplicats avant split |
| prétraitement | scaler/PCA/sélection sur tout | fit dans chaque fold train |
| sélection | test règle modèle/seuil | test verrouillé ou nouveau holdout |
| contamination | questions/réponses dans l’entraînement | provenance, déduplication, isolation source/temps |
Stratifier maintient la proportion des labels, pas l’indépendance d’entité, temps ou contenu.
Pour toute transformation apprise :
Cela inclut imputation, vocabulaire, PCA, sélection, target encoding, suréchantillonnage et augmentation apprise. Chaque fold réajuste. Nested CV sépare sélection interne et estimation externe ; sélectionner globalement avant CV fuit encore.
Exemple : réadmission à 30 jours
À la sortie, prédire le retour sous 30 jours. Mauvais protocole : visites réparties au hasard, mêmes patients des deux côtés, état de facturation final, sélection de codes globale, seuil choisi sur test. Meilleur protocole : figer les champs disponibles à la sortie ; grouper par patient et retenir une cohorte temporelle plus tardive ; ajuster les transformations sur train ; choisir sur validation ; tester une fois par hôpital/temps/groupe ; exclure les labels dont les 30 jours ne sont pas mûrs.
Un score plus bas peut révéler que l’ancien système mémorisait identité ou futur.
Sondes
Enregistrer event/ingestion/revision time ; tester seul un feature suspect ; retirer IDs et proxies à forte cardinalité ; auditer duplicats ; permuter les labels ; affirmer par test qu’aucun groupe ne traverse et qu’aucun transform ne fit sur test ; obtenir un holdout neuf après inspection répétée. La permutation seule ne détecte pas toute fuite : elle doit compléter le lineage.
Overfitting apprend le bruit dans un pipeline valide ; fuite franchit l’information ; shift change la distribution ; confounding fausse une interprétation causale. Ils peuvent coexister.
prediction_time: explicit
label_horizon_and_maturity: explicit
unit_and_group_key: explicit
split_algorithm_and_seed: versioned
all_learned_transforms_fit_on_train_only: true
test_used_for_selection: false
duplicate_and_overlap_audit: complete
feature_availability_lineage: reviewed
known_residual_risks: listed
Le online, le RL, le fédéré et l’apprentissage continu ajoutent feedback, intervention et fuite de politique.