Données de rétention et validation croisée
L'un des plus gros défis de l'analyse prédictive consiste à deviner les performances d'un modèle formé sur des données qu'il n'a encore jamais rencontrées. En d'autres termes, dans quelle mesure le modèle a appris les véritables patterns au lieu de se contenter de mémoriser les données d'apprentissage. Les données de rétention et la validation croisée sont des techniques efficaces pour s'assurer que le modèle ne fait pas que mémoriser, mais qu'il apprend effectivement des patterns généralisés.
Lors de la configuration de votre expérimentation, vous pouvez décider si les données d'apprentissage et les données de rétention sont réparties de manière aléatoire ou selon une méthode spéciale utilisée pour créer des modèles temporels.
Test des modèles pour faire la distinction entre mémorisation et généralisation
Se demander dans quelle mesure un modèle est performant dans le monde réel, cela revient à se demander si le modèle mémorise ou généralise. La mémorisation consiste à se rappeler parfaitement ce qui s'est produit dans le passé. Même si un modèle qui mémorise peut présenter des scores élevés, lors de son apprentissage initial, l'exactitude prédictive diminuera considérablement lorsqu'il sera appliqué à de nouvelles données. Ce que nous attendons d'un modèle, c'est plutôt qu'il généralise. La généralisation consiste à apprendre et à appliquer des patterns généraux. En apprenant les véritables patterns plus larges des données d'apprentissage, un modèle généralisé sera capable d'effectuer des prédictions de qualité équivalente sur de nouvelles données qu'il n'a encore jamais rencontrées.
Rétention automatique des données
Une rétention est constituée de données « masquées » au modèle pendant son apprentissage, puis utilisées pour évaluer le modèle. La rétention simule les performances du modèle sur les prédictions futures en générant des métriques d'exactitude sur les données non utilisées lors de l'apprentissage. C'est comme si nous avions créé un modèle, comme si nous l'avions déployé et que nous surveillions ses prédictions par rapport à ce qui s'est vraiment passé, sans avoir à attendre d'observer ces prédictions.
Dans Qlik AutoML, il existe deux méthodes pour sélectionner les données de rétention : la méthode par défaut et la méthode basée sur le temps.
Méthode par défaut pour la sélection des données de rétention
Si vous n'activez pas l'apprentissage de modèle temporel, les données de rétention sont sélectionnées de manière aléatoire avant le début de l'apprentissage du modèle.
Méthode basée sur le temps pour la sélection des données de rétention
Avec la méthode basée sur le temps, le jeu de données d'apprentissage complet est d'abord trié en fonction d'une colonne d'index de date que vous sélectionnez. Après le tri, les données de rétention sont séparées du reste des données d'apprentissage. Ces données de rétention contiennent les données les plus récentes par rapport à l'index sélectionné.
La méthode basée sur le temps est utilisée pour créer des modèles temporels. Vous activez l'apprentissage temporel sous Optimisation du modèle dans le panneau de configuration de l'expérimentation. Pour plus d'informations, consultez Configuration d'expérimentations.
Validation croisée
La validation croisée est un processus qui permet de tester la capacité d'un modèle d'apprentissage automatique à prédire des valeurs futures pour des données qu'il n'a pas encore rencontrées. Lors de la validation croisée, les données d'apprentissage d'un modèle sont divisées en un certain nombre de segments, appelés « plis » (folds). À chaque itération de l'apprentissage, l'apprentissage du modèle est effectué sur un ou plusieurs plis, sachant qu'au moins un des plis n'est jamais utilisé pour l'apprentissage. Après chaque itération, les performances sont évaluées via l'un des plis qui n'a pas été utilisé lors de l'apprentissage.
Le résultat de la validation croisée est un ensemble de métriques de test qui fournissent une projection raisonnable de l'exactitude avec laquelle le modèle formé sera capable de réaliser des prédictions sur des données qu'il n'a encore jamais rencontrées.
Dans Qlik AutoML, il existe deux méthodes de validation croisée : la méthode par défaut et la méthode basée sur le temps.
Validation croisée par défaut
À moins de configurer l'apprentissage de sorte qu'il utilise la validation croisée basée sur le temps, Qlik AutoML utilise la méthode de validation croisée par défaut. La méthode de validation croisée par défaut convient aux modèles qui ne s'appuient pas sur une dimension de série chronologique – c'est-à-dire que vous n'avez pas besoin que le modèle effectue des prédictions en fonction d'une colonne basée sur le temps spécifique dans les données d'apprentissage.
Dans le cadre de la méthode de validation croisée par défaut, le jeu de données est divisé de manière aléatoire en un certain nombre de segments uniformes, appelés plis. L'algorithme d'apprentissage automatique effectue l'apprentissage du modèle sur tous les plis, sauf un. La validation croisée teste ensuite chaque pli par rapport à un modèle formé sur tous les autres plis. Cela signifie que chaque modèle formé est testé sur un segment des données qu'il n'a encore jamais rencontré. Le processus est répété, un pli différent étant masqué lors de l'apprentissage, puis testé, jusqu'à ce que tous les plis aient été utilisés exactement une fois comme test et formés lors de toutes les autres itérations.
Rétention automatique et validation croisée par défaut
Par défaut, AutoML utilise la validation croisée à cinq plis lors de l'apprentissage du modèle pour simuler les performances du modèle. Le modèle est ensuite testé sur une rétention séparée des données d'apprentissage. Cela génère des métriques d'évaluation qui vous permettent d'évaluer et de comparer les performances de différents algorithmes.
Avant le début de l'apprentissage de l'expérimentation, toutes les données du jeu de données dont la cible n'est pas nulle sont mélangées de manière aléatoire. 20 % du jeu de données sont extraits comme données de rétention. Les 80 % restants du jeu de données sont utilisés pour former le modèle via la validation croisée.
Pour préparer la validation croisée, le jeu de données est divisé (de manière aléatoire) en cinq blocs (plis). Le modèle est ensuite formé cinq fois, en « masquant » chaque fois un cinquième des données, différent des autres, pour tester les performances du modèle. Les métriques d'apprentissage sont générées lors de la validation croisée et correspondent à la moyenne des valeurs calculées.
Après l'apprentissage, le modèle est appliqué aux données de rétention. Étant donné que le modèle n'a pas rencontré les données de rétention lors de l'apprentissage (contrairement aux données de validation croisée), ces données sont idéales pour valider les performances d'apprentissage du modèle. Les métriques de rétention sont générées lors de cette évaluation finale du modèle.
Pour plus d'informations sur les métriques utilisées pour analyser les performances du modèle, voir Examen des modèles.
Validation croisée basée sur le temps
La validation croisée basée sur le temps convient pour effectuer l'apprentissage de votre modèle de sorte qu'il prédise des données en fonction d'une dimension de série chronologique. Par exemple, vous souhaitez prédire les ventes de votre entreprise pour le mois prochain à partir d'un jeu de données contenant des données sur les ventes passées. Pour utiliser la validation croisée basée sur le temps, vos données d'apprentissage doivent comporter une colonne contenant des informations de date ou d'horodatage.
La validation croisée basée sur le temps est utilisée pour créer des modèles temporels. Vous activez l'apprentissage temporel sous Optimisation du modèle dans le panneau de configuration de l'expérimentation. Pour plus d'informations, consultez Configuration d'expérimentations.
Avec la validation croisée basée sur le temps, l'apprentissage des modèles est effectué de sorte qu'ils comprennent mieux qu'ils prédisent des données pour des dates futures.
À l'instar de la méthode par défaut, la validation croisée basée sur le temps implique la séparation des données d'apprentissage en plis qui sont utilisés à la fois pour l'apprentissage et pour les tests. Dans les deux méthodes, l'apprentissage des modèles est effectué sur un certain nombre d'itérations. Cependant, la méthode basée sur le temps présente plusieurs différences par rapport à la méthode par défaut :
Les données d'apprentissage sont triées et organisées en plis en fonction de l'index de date de votre choix. En revanche, la validation croisée par défaut sélectionne de manière aléatoire les lignes incluses dans un pli donné.
Le nombre de plis utilisés comme données d'apprentissage augmente progressivement à chaque itération de l'apprentissage. Cela signifie que lors de la première itération, il est possible que seul le premier pli (le plus ancien) soit utilisé, les itérations suivantes contenant progressivement un plus grand volume de données d'apprentissage, y compris des données plus récentes. Le pli utilisé comme données de test varie à chaque itération.
Cette méthode contraste avec la méthode de validation croisée par défaut, qui utilise un volume fixe de données pour l'apprentissage et les tests à chaque itération (c'est-à-dire quatre plis pour l'apprentissage et un pli pour les tests).
Étant donné que le jeu de données d'apprentissage tout entier est trié en fonction de l'index de votre choix, les données utilisées pour tester le modèle ayant fait l'objet de l'apprentissage sont toujours plus récentes – ou tout aussi récentes – que les données utilisées pour effectuer l'apprentissage du modèle. Les données de rétention automatique utilisées pour effectuer les tests de performance finaux sur le modèle sont toujours plus récentes – ou tout aussi récentes – que le reste du jeu de données d'apprentissage.
Par contre, la validation croisée par défaut peut conduire à tester les modèles sur des données plus anciennes que les données d'apprentissage, ce qui entraîne des fuites de données.
Rétention automatique et validation croisée basée sur le temps
Cette procédure montre comment l'apprentissage des modèles temporels est effectué. Le processus présente des différences et des similitudes par rapport au processus de validation croisée par défaut.
Toutes les données de votre jeu de données sont triées en fonction de l'index de date de votre choix. Ceci inclut les données d'apprentissage et les données de rétention.
Avant le début de l'apprentissage de l'expérimentation, 20 % du jeu de données sont extraits comme données de rétention. Ces données de rétention sont les données les plus récentes ou des données tout aussi récentes que le reste du jeu de données. Les 80 % restants du jeu de données sont utilisés pour former le modèle via la validation croisée.
Pour préparer la validation croisée, les données d'apprentissage triées sont divisées en un certain nombre de plis. En ce qui concerne l'index de date que vous sélectionnez, le premier pli contiendra les enregistrements les plus anciens et le dernier pli les enregistrements les plus récents.
L'apprentissage du modèle est ensuite effectué sur cinq itérations. À chaque itération, la quantité de données d'apprentissage augmente progressivement. À chaque itération, les données d'apprentissage récentes incluses sont elles aussi de plus en plus nombreuses. Les métriques d'apprentissage sont générées lors de la validation croisée et correspondent à la moyenne des valeurs calculées.
Après l'apprentissage, le modèle est appliqué aux données de rétention. Étant donné que le modèle n'a pas rencontré les données de rétention lors de l'apprentissage, ces données sont idéales pour valider les performances d'apprentissage du modèle. Les métriques de rétention sont générées lors de cette évaluation finale du modèle.