Variables et étiquettes : penser clairement aux entrées et aux cibles

Dans un projet supervisé, la distinction la plus importante est entre les variables (les entrées utilisées pour faire une prédiction) et l'étiquette (ce que vous prédisez). Cela semble évident, pourtant une grande part des fuites et des résultats « trop beaux pour être vrais » vient d'une variable qui est, directement ou indirectement, l'étiquette déguisée. Penser clairement à cette ligne dès le départ évite des semaines de débogage plus tard.
Ce qui compte comme une variable
Une variable est toute valeur disponible au moment de la prédiction que vous fournissez au modèle. La contrainte clé est « disponible au moment de la prédiction » : si vous ne connaîtriez pas la valeur au moment de faire une vraie prédiction, ce n'est pas une variable utilisable. Pour une prédiction de sortie de piste faite avant la sortie, le tempo et les écoutes antérieures de l'artiste sont des variables ; le compte d'écoutes post-sortie de la piste ne l'est pas, parce que c'est l'étiquette (ou une fonction de celle-ci).
Ce qui compte comme étiquette
L'étiquette est la cible que vous entraînez le modèle à prédire. Elle est dérivée de résultats qui surviennent après (ou indépendamment de) les variables. Dans l'exemple de streaming, l'étiquette est « la piste a-t-elle dépassé 10 000 écoutes dans ses 14 premiers jours ? » — un résultat connu seulement après 14 jours. L'étiquette existe dans les données historiques pour l'entraînement, mais au moment de la prédiction pour une nouvelle sortie, elle est inconnue.
Un exemple concret : fuite depuis une variable dérivée de l'étiquette
Supposons que vous ajoutiez une variable appelée « compte d'écoutes sur 14 jours » pour prédire si une piste dépasse 10 000 écoutes sur 14 jours. Cette variable est l'étiquette elle-même. Le modèle atteindra une précision quasi parfaite et sera complètement inutile, parce qu'au moment de la prédiction pour une nouvelle sortie, vous n'avez pas encore le compte sur 14 jours. Une version plus subtile : une variable qui est un ratio ou un rang calculé à partir de l'étiquette. La solution est d'auditer chaque variable et de demander : « connaîtrais-je cette valeur au moment de la prédiction ? » Si la réponse est non, la variable doit être retirée ou recalculée à partir d'informations disponibles au moment de la prédiction.
Erreurs courantes
Une erreur est d'inclure un identifiant qui encode l'étiquette — par exemple, un identifiant de piste dont les performances historiques sont mémorisées par le modèle. Une autre est d'utiliser une variable d'horodatage qui fait fuiter le futur, comme « mois de sortie » quand les sorties de certains mois performent systématiquement mieux et que le modèle voit la période de test. Une troisième est de normaliser ou d'encoder en utilisant des statistiques calculées sur des données incluant la colonne d'étiquette. La documentation des pipelines scikit-learn aide à structurer le prétraitement pour qu'il soit ajusté uniquement sur les données d'entraînement (scikit-learn : pipelines).
Un exercice
Listez chaque variable de votre projet. Pour chacune, notez quand vous connaîtriez sa valeur dans une prédiction réelle. Signalez celles dont la disponibilité dépend du résultat. Retirez-les ou redéfinissez-les. Pour le parcours d'apprentissage plus large, voir les aperçus du programme d'IA appliquée ou le programme d'analyse de données.
Collège Unica
Ressources pédagogiques du Collège Unica — guides pratiques pour l'IA appliquée et l'analyse de données.
