Partager via


Validation croisée (Analysis Services - Exploration de données)

La validation croisée est un outil standard dans l’analytique et constitue une fonctionnalité importante pour vous aider à développer et affiner les modèles d’exploration de données. Vous utilisez la validation croisée après avoir créé une structure d’exploration de données et des modèles d’exploration de données associés pour déterminer la validité du modèle. La validation croisée a les applications suivantes :

  • Validation de la robustesse d’un modèle minier particulier.

  • Évaluation de plusieurs modèles à partir d’une seule instruction.

  • Création de plusieurs modèles, puis identification du meilleur modèle en fonction des statistiques.

Cette section explique comment utiliser les fonctionnalités de validation croisée fournies pour l’exploration de données et comment interpréter les résultats de la validation croisée pour un modèle unique ou pour plusieurs modèles basés sur un jeu de données unique.

Vue d’ensemble du processus de validation croisée

La validation croisée se compose de deux phases, de la formation et de la génération de résultats. Ces phases incluent les étapes suivantes :

  • Vous sélectionnez une structure d’exploration de données cible.

  • Vous spécifiez les modèles que vous souhaitez tester. Cette étape est facultative ; vous pouvez également tester la structure d’exploration de données.

  • Vous spécifiez les paramètres pour tester les modèles entraînés.

    • Attribut prévisible, valeur prédite et seuil de précision.

    • Nombre de plis dans lesquels partitionner les données de structure ou de modèle.

  • Analysis Services crée et entraîne autant de modèles qu’il y a de divisions.

  • Analysis Services retourne un ensemble de métriques de précision pour chaque pliage dans chaque modèle, ou pour le jeu de données dans son ensemble.

Configuration de la validation croisée

Vous pouvez personnaliser la façon dont la validation croisée fonctionne pour contrôler le nombre de sections croisées, les modèles testés et la barre de précision pour les prédictions. Si vous utilisez les procédures stockées de validation croisée, vous pouvez également spécifier le jeu de données utilisé pour valider les modèles. Cette richesse de choix signifie que vous pouvez facilement produire de nombreux ensembles de résultats différents qui doivent ensuite être comparés et analysés.

Cette section fournit des informations pour vous aider à configurer la validation croisée de manière appropriée.

Définition du nombre de partitions

Lorsque vous spécifiez le nombre de partitions, vous déterminez le nombre de modèles temporaires qui seront créés. Pour chaque partition, un sous-ensemble des données est identifié pour être utilisé comme jeu de test, et un nouveau modèle est créé en s'entraînant sur les données restantes qui ne sont pas dans cette partition. Ce processus est répété jusqu’à ce que Analysis Services ait créé et testé le nombre spécifié de modèles. Les données que vous avez spécifiées comme étant disponibles pour la validation croisée sont distribuées uniformément entre toutes les partitions.

L’exemple du diagramme illustre l’utilisation des données si trois plis sont spécifiés.

Comment les segments de validation croisée segmentent les données

Dans le scénario du diagramme, la structure d’exploration de données contient un jeu de données d’attente utilisé pour les tests, mais le jeu de données de test n’a pas été inclus pour la validation croisée. Par conséquent, toutes les données du jeu de données d’apprentissage, 70 % des données de la structure d’exploration de données, sont utilisées pour la validation croisée. Le rapport de validation croisée indique le nombre total de cas utilisés dans chaque partition.

Vous pouvez également spécifier la quantité de données utilisées pendant la validation croisée, en spécifiant le nombre de cas globaux à utiliser. Les cas sont répartis uniformément entre tous les plis.

Pour les structures d’exploration de données stockées dans une instance de SQL Server Analysis Services, la valeur maximale que vous pouvez définir pour le nombre de plis est de 256 ou le nombre de cas, selon ce qui est inférieur. Si vous utilisez une structure d’exploration de données de session, le nombre maximal de plis est de 10.

Remarque

Lorsque vous augmentez le nombre de plis, le temps nécessaire pour effectuer une validation croisée augmente en conséquence, car un modèle doit être généré et testé pour chaque pliage. Vous pouvez rencontrer des problèmes de performances si le nombre de plis est trop élevé.

Définition du seuil de précision

Le seuil d’état vous permet de définir la barre de précision pour les prédictions. Pour chaque cas, le modèle calcule la probabilité de prédiction, ce qui signifie que l’état prédit est correct. Si la probabilité de prédiction dépasse la barre de précision, la prédiction est comptabilisée comme correcte ; si ce n’est pas le cas, la prédiction est comptabilisée comme incorrecte. Vous contrôlez cette valeur en définissant le seuil d’état sur un nombre compris entre 0,0 et 1,0, où les nombres plus proches de 1 indiquent un niveau de confiance fort dans les prédictions, et les nombres plus proches de 0 indiquent que la prédiction est moins susceptible d’être vraie. La valeur par défaut du seuil d’état est NULL, ce qui signifie que l’état prédit avec la probabilité la plus élevée est considéré comme la valeur cible.

Sachez que le paramètre du seuil d’état affecte les mesures de précision du modèle. Par exemple, supposons que vous disposez de trois modèles que vous souhaitez tester. Tous sont basés sur la même structure d’exploration de données et tous prédisent la colonne [Bike Buyer]. De plus, vous souhaitez prédire une valeur unique de 1, ce qui signifie « oui, va acheter ». Les trois modèles retournent des prédictions avec des probabilités de prédiction de 0,05, 0,15 et 0,8. Si vous définissez le seuil d’état sur 0,10, deux des prédictions sont comptabilisées comme correctes. Si vous définissez le seuil d’état sur 0,5, un seul modèle est comptabilisé comme ayant retourné une prédiction correcte. Si vous utilisez la valeur par défaut, null, la prédiction la plus probable est comptabilisée comme correcte. Dans ce cas, les trois prédictions seraient comptabilisées comme correctes.

Remarque

Vous pouvez définir une valeur de 0,0 pour le seuil, mais la valeur est sans signification, car chaque prédiction sera comptabilisée comme correcte, même celles dont la probabilité est nulle. Veillez à ne pas définir accidentellement le seuil d’état sur 0,0.

Choix des modèles et des colonnes à valider

Lorsque vous utilisez l’onglet Validation croisée dans le Concepteur d’exploration de données, vous devez d’abord sélectionner la colonne prévisible dans une liste. En règle générale, une structure d’exploration de données peut prendre en charge de nombreux modèles d’exploration de données, qui n’utilisent pas tous la même colonne prévisible. Lorsque vous exécutez la validation croisée, seuls les modèles qui utilisent la même colonne prévisible peuvent être inclus dans le rapport.

Pour choisir un attribut prévisible, cliquez sur Attribut cible et sélectionnez la colonne dans la liste. Si l’attribut cible est une colonne imbriquée ou une colonne dans une table imbriquée, vous devez taper le nom de la colonne imbriquée à l’aide du format <Nom>(clé) de la table imbriquée.<Colonne> imbriquée. Si la seule colonne utilisée à partir de la table imbriquée est la colonne clé, vous pouvez utiliser <le nom>(clé) de la table imbriquée.

Après avoir sélectionné l’attribut prédictible, Analysis Services teste automatiquement tous les modèles qui utilisent le même attribut prédictible. Si l’attribut cible contient des valeurs discrètes, une fois que vous avez sélectionné la colonne prédictible, vous pouvez éventuellement taper un état cible, s’il existe une valeur spécifique que vous souhaitez prédire.

La sélection de l’état cible affecte les mesures retournées. Si vous spécifiez un attribut cible, c’est-à-dire un nom de colonne et que vous ne choisissez pas de valeur spécifique que vous souhaitez prédire, par défaut, le modèle sera évalué sur sa prédiction de l’état le plus probable.

Lorsque vous utilisez la validation croisée avec des modèles de clustering, il n’existe aucune colonne prévisible ; Au lieu de cela, vous sélectionnez #Cluster dans la liste dans la zone de liste Attribut cible . Une fois que vous avez sélectionné cette option, d’autres options qui ne sont pas pertinentes pour les modèles de clustering, tels que l’état cible, sont désactivées. Analysis Services teste ensuite tous les modèles de clustering associés à la structure d’exploration de données.

Outils pour la validation croisée

Vous pouvez utiliser la validation croisée à partir du Concepteur d’exploration de données, ou vous pouvez effectuer une validation croisée en exécutant des procédures stockées.

Si vous utilisez les outils du Concepteur d’exploration de données pour effectuer une validation croisée, vous pouvez configurer les paramètres d’entraînement et de précision dans une boîte de dialogue unique. Cela facilite la configuration et l’affichage des résultats. Vous pouvez mesurer la précision de tous les modèles d’exploration de données liés à une seule structure d’exploration de données, puis afficher immédiatement les résultats dans un rapport HTML. Toutefois, les procédures stockées offrent certains avantages, tels que les personnalisations ajoutées et la possibilité de scripter le processus.

Validation croisée dans le Concepteur d’exploration de données

Vous pouvez effectuer une validation croisée en utilisant l’onglet Cross-Validation de la vue Graphique de précision de l’exploration de données dans SQL Server Management Studio ou SQL Server Development Studio.

Pour voir un exemple de création d’un rapport de validation croisée à l’aide de l’interface utilisateur, consultez Créer un rapport de validation croisée.

Procédures stockées de validation croisée

Pour les utilisateurs avancés, la validation croisée est également disponible sous la forme de procédures stockées système entièrement paramétrables. Vous pouvez exécuter les procédures stockées en vous connectant à une instance de SQL Server 2014 Analysis Services (SSAS) à partir de SQL Server Management Studio ou à partir de n’importe quelle application de code managé.

Les procédures stockées sont regroupées par type de modèle d’exploration de données. Un ensemble de procédures stockées fonctionne uniquement avec les modèles de clustering. L’autre ensemble de procédures stockées fonctionne avec d’autres modèles d’exploration de données.

Pour chaque type de modèle d’exploration de données, regroupé ou non regroupé, les procédures stockées effectuent, en deux phases distinctes, une validation croisée.

Partitionner des données et générer des métriques pour les partitions

Pour la première phase, vous appelez une procédure stockée système qui crée autant de partitions que vous spécifiez dans le jeu de données et retourne des résultats de précision pour chaque partition. Pour chaque métrique, Analysis Services calcule ensuite la moyenne et l’écart type pour les partitions.

Générer des métriques pour l’ensemble du jeu de données

Dans la deuxième phase, vous appelez un autre ensemble de procédures stockées. Ces procédures stockées ne partitionnent pas le jeu de données, mais génèrent des résultats de précision pour le jeu de données spécifié dans son ensemble. Si vous avez déjà partitionné et traité une structure d’exploration de données, vous pouvez appeler ce deuxième ensemble de procédures stockées pour obtenir uniquement les résultats.

Définition des données de test

Lorsque vous exécutez les procédures stockées de validation croisée qui calculent la précision (SystemGetAccuracyResults ou SystemGetClusterAccuracyResults), vous pouvez spécifier la source des données utilisées pour les tests pendant la validation croisée. Cette option n’est pas disponible dans l’interface utilisateur.

Vous pouvez spécifier comme source de données de test l’une des options suivantes :

  • Utilisez uniquement les données d’entraînement.

  • Incluez un jeu de données de test existant.

  • Utilisez uniquement le jeu de données de test.

  • Appliquez des filtres existants à chaque modèle.

  • Toute combinaison de l'ensemble d'entraînement, de l'ensemble de test et des filtres de modèle.

Pour spécifier une source de données de test, vous fournissez une valeur entière pour le DataSet paramètre de la procédure stockée. Pour obtenir la liste des valeurs d’argument, consultez la section Remarques de la rubrique de référence de procédure stockée appropriée.

Si vous effectuez une validation croisée à l’aide du rapport de validation croisée dans le Concepteur d’exploration de données, vous ne pouvez pas modifier le jeu de données utilisé. Par défaut, les cas d’entraînement pour chaque modèle sont utilisés. Si un filtre est associé à un modèle, le filtre est appliqué.

Résultats de la validation croisée

Si vous utilisez le Concepteur d’exploration de données, ces résultats sont affichés dans une visionneuse web de type grille. Si vous utilisez les procédures stockées de validation croisée, ces mêmes résultats sont retournés sous forme de table.

Le rapport contient deux types de mesures : les agrégats qui indiquent la variabilité du jeu de données lorsqu’ils sont divisés en plis et les mesures spécifiques au modèle de précision pour chaque pliage. Les rubriques suivantes fournissent plus d’informations sur ces métriques :

Formules de validation croisée

Répertorie toutes les mesures par type de test. Décrit en général comment les mesures peuvent être interprétées.

Mesures dans le rapport de validation croisée

Décrit les formules pour calculer chaque mesure et répertorie le type d’attribut auquel chaque mesure peut être appliquée.

Restrictions sur la validation croisée

Si vous effectuez une validation croisée à l’aide du rapport de validation croisée dans SQL Server Development Studio, il existe certaines limitations sur les modèles que vous pouvez tester et les paramètres que vous pouvez définir.

  • Par défaut, tous les modèles associés à la structure d’exploration de données sélectionnée sont validés de manière croisée. Vous ne pouvez pas spécifier le modèle ou une liste de modèles.

  • La validation croisée n’est pas prise en charge pour les modèles basés sur l’algorithme Microsoft Time Series ou l’algorithme Microsoft Sequence Clustering.

  • Impossible de créer le rapport si votre structure d’exploration de données ne contient aucun modèle pouvant être testé par validation croisée.

  • Si la structure d’exploration de données contient à la fois des modèles de clustering et non clustering et que vous ne choisissez pas l’option #Cluster , les résultats des deux types de modèles sont affichés dans le même rapport, même si les paramètres d’attribut, d’état et de seuil peuvent ne pas être appropriés pour les modèles de clustering.

  • Certaines valeurs de paramètre sont restreintes. Par exemple, un avertissement s’affiche si le nombre de plis est supérieur à 10, car la génération de tant de modèles peut entraîner l’affichage lent du rapport.

Si vous testez plusieurs modèles d’exploration de données et que les modèles ont des filtres, chaque modèle est filtré séparément. Vous ne pouvez pas ajouter un filtre à un modèle ou modifier le filtre d’un modèle pendant la validation croisée.

Étant donné que la validation croisée par défaut teste tous les modèles d’exploration de données associés à une structure, vous pouvez recevoir des résultats incohérents si certains modèles ont un filtre et que d’autres ne le font pas. Pour vous assurer de comparer uniquement les modèles ayant le même filtre, vous devez utiliser les procédures stockées et spécifier une liste de modèles de data mining. Ou, utilisez uniquement l'ensemble de test de structure minière sans filtre pour vous assurer qu'un ensemble cohérent de données est utilisé pour tous les modèles.

Si vous effectuez une validation croisée à l’aide des procédures stockées, vous avez la possibilité supplémentaire de choisir la source de données de test. Si vous effectuez une validation croisée à l’aide du Concepteur d’exploration de données, vous devez utiliser le jeu de données de test associé au modèle ou à la structure, le cas échéant. En règle générale, si vous souhaitez spécifier des paramètres avancés, vous devez utiliser les procédures stockées de validation croisée.

La validation croisée ne peut pas être utilisée avec des modèles de série chronologique ou de clustering de séquence. Plus précisément, aucun modèle qui contient une colonne KEY TIME ou une colonne KEY SEQUENCE ne peut être inclus dans la validation croisée.

Consultez les rubriques suivantes pour plus d’informations sur la validation croisée ou sur les méthodes associées pour tester des modèles d’exploration de données, telles que des graphiques de précision.

Sujets Liens
Décrit comment définir des paramètres de validation croisée dans SQL Server Development Studio. Onglet Validation croisée (Graphique de précision d'exploration de données)
Décrit les métriques fournies par la validation croisée Formules de validation croisée
Explique le format de rapport de validation croisée et définit les mesures statistiques fournies pour chaque type de modèle. Mesures dans le rapport de validation croisée
Répertorie les procédures stockées pour le calcul des statistiques de validation croisée. Procédures stockées d’exploration de données (Analysis Services - Exploration de données)
Décrit comment créer un ensemble de données de test pour les structures d’exploration de données et les modèles associés. Jeux de données de test et d'apprentissage
Consultez des exemples d’autres types de graphiques de précision. Matrice de classification (Analysis Services - Exploration de données)

Diagramme de levage (Services d'analyse - Exploration de données)

Graphique des bénéfices (Analysis Services - Exploration de données)

Nuage de points (Services d'analyse - Exploration de données)
Décrit les étapes de création de différents graphiques de précision. Tâches de test et de validation et procédure (exploration de données)

Voir aussi

Test et validation (exploration de données)