Aller au contenu principal

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é à tt.

TypeExempleContrôle
target/post-outcomefacture future pour risque à l’admissiontemps des événements et lineage
temporellesplit aléatoire ou valeur réviséeforward split et vintages
entité/groupemême patient des deux côtésgroup, parfois group+time
duplicatcrops/templates traversentgrouper les quasi-duplicats avant split
prétraitementscaler/PCA/sélection sur toutfit dans chaque fold train
sélectiontest règle modèle/seuiltest verrouillé ou nouveau holdout
contaminationquestions/réponses dans l’entraînementprovenance, déduplication, isolation source/temps

Stratifier maintient la proportion des labels, pas l’indépendance d’entité, temps ou contenu.

Pour toute transformation apprise TηT_\eta :

η^=fit(T,DItr),Xva=Tη^(XIva).\hat\eta=\operatorname{fit}(T,D_{I_{tr}}), \qquad X'_{va}=T_{\hat\eta}(X_{I_{va}}).

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.