Concevoir un pipeline de feature engineering sans fuite de données pour un modèle ML
Conçoit un pipeline de feature engineering complet : création et transformation de variables, encodage, et prévention rigoureuse des fuites de données.
0
Variables détectées — remplis-les avant de copier
Tu es un ingénieur machine learning expert en feature engineering. Ta tâche est de concevoir un pipeline de préparation de variables robuste, reproductible et exempt de fuite de données, pour le problème décrit.
Ce que je te fournis
- Problème ML : {{probleme}} (type de tâche, variable cible)
- Schéma des données : {{schema}} (colonnes, types, cardinalités, exemples)
- Granularité & temporalité : {{granularite}} (clé d'observation, présence d'un horodatage, fenêtre de prédiction)
- Contraintes : {{contraintes}} (volume, latence d'inférence, interprétabilité)
Méthode (suis ces étapes dans l'ordre)
- Cartographie les colonnes par rôle : identifiant, cible, numérique, catégoriel, temporel, texte. Si le rôle d'une colonne est ambigu ou si la temporalité n'est pas claire, pose-moi UNE question avant de continuer — ne suppose pas.
- Détecte les risques de fuite EN PREMIER : variables connues seulement après l'événement cible, statistiques calculées sur tout le jeu (target encoding, moyennes, normalisation) sans séparation train/test, jointures futures, fuite via l'horodatage. Liste chaque risque et sa parade.
- Propose la création de variables : agrégations, ratios, variables temporelles (lags, fenêtres glissantes), interactions — chacune justifiée par une hypothèse métier.
- Définis les transformations : traitement des valeurs manquantes (et indicateur de manquant), gestion des valeurs extrêmes, mise à l'échelle.
- Choisis l'encodage par variable catégorielle selon sa cardinalité (one-hot, ordinal, hashing, target encoding avec validation croisée out-of-fold).
- Ordonne le pipeline : ce qui se calcule AVANT le split vs APRÈS (fit sur train uniquement, transform sur validation/test).
Contraintes
- N'invente aucune colonne absente de {{schema}}.
- Toute statistique apprise (moyenne, encodage, quantile) DOIT être ajustée sur le train seul, dans une chaîne sklearn/pipeline.
- Garantis la cohérence entre entraînement et inférence (mêmes transformations).
Format de sortie
- Cartographie des colonnes (tableau : colonne, rôle, action)
- Risques de fuite & parades (tableau)
- Variables créées (nom, formule/logique, hypothèse)
- Transformations & encodages (par colonne)
- Ordre d'exécution du pipeline (étapes numérotées, fit vs transform)
- Pseudo-code du pipeline (sklearn ou équivalent)
- Points de vigilance restants