Cross-Validate Model

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Validation croisée des estimations de paramètre pour les modèles de classification ou de régression en partitionnant les données

catégorie : Machine Learning/évaluation

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module Cross-validate Model dans Machine Learning Studio (classic). La validation croisée est une technique importante souvent utilisée en machine learning pour évaluer la variabilité d’un jeu de données et la fiabilité de tout modèle entraîné à l’aide de ces données.

Le module Cross-Validate Model prend comme entrée un jeu de données étiqueté, ainsi qu’un modèle de classification ou de régression non formé. Il divise le jeu de données en un certain nombre de sous-ensembles (échantillons), crée un modèle sur chaque échantillon, puis retourne un jeu de statistiques de justesse pour chaque échantillon. En comparant les statistiques de justesse pour tous les échantillons, vous pouvez interpréter la qualité du jeu de données et déterminer si le modèle est sensible aux variations des données.

La validation croisée retourne également des résultats prédits et des probabilités pour le jeu de données, afin que vous puissiez évaluer la fiabilité des prédictions.

Fonctionnement de la validation croisée

  1. La validation croisée divise de manière aléatoire les données d’entraînement en plusieurs partitions, également appelées échantillons.

    • L’algorithme se base par défaut sur 10 échantillons si vous n’avez pas déjà partitionné le jeu de données.
    • Pour diviser le jeu de données en un nombre différent d’échantillons, vous pouvez utiliser le module Partition et échantillon et indiquer le nombre d’échantillons à utiliser.
  2. Le module met de côté les données de l’échantillon 1 à utiliser pour la validation (parfois appelée échantillon de données d’exclusion) et utilise les échantillons restants pour entraîner un modèle.

    Par exemple, si vous créez cinq échantillons, le module génère cinq modèles au cours de la validation croisée, chaque modèle entraîné utilisant quatre cinquièmes des données et étant testé sur le cinquième restant.

  3. Lors du test du modèle pour chaque échantillon, plusieurs statistiques de justesse sont évaluées. Les statistiques utilisées dépendent du type de modèle en cours d’évaluation. Différentes statistiques sont utilisées pour évaluer les modèles de classification et les modèles de régression.

  4. Lorsque le processus de génération et d’évaluation est terminé pour tous les plis, Cross-Validate Model génère un ensemble de mesures de performances et des résultats notés pour toutes les données. Vous devez passer en revue ces métriques pour déterminer si le moindre échantillon a une justesse particulièrement élevée ou faible.

Avantages de la validation croisée

Une façon différente et très courante d’évaluer un modèle consiste à diviser les données en un jeu d’apprentissage et de test à l’aide de données fractionnées, puis à valider le modèle sur les données d’apprentissage. Toutefois, la validation croisée offre certains avantages :

  • La validation croisée utilise davantage de données de test.

    La validation croisée mesure les performances du modèle avec les paramètres spécifiés dans un espace de données plus grand. Autrement dit, la validation croisée utilise la totalité du jeu de données d’entraînement pour l’entraînement et l’évaluation, au lieu d’une partie. En revanche, si vous validez un modèle à l’aide de données générées à partir d’un fractionnement aléatoire, vous évaluez généralement le modèle uniquement sur 30 % ou moins des données disponibles.

    Toutefois, étant donné que la validation croisée entraîne et valide le modèle plusieurs fois sur un jeu de données plus grand, elle est beaucoup plus gourmande en ressources de calcul et prend beaucoup plus de temps que la validation sur un fractionnement aléatoire.

  • La validation croisée évalue le jeu de données ainsi que le modèle.

    La validation croisée ne mesure pas simplement la justesse d’un modèle, mais vous donne également une idée du degré de représentativité du jeu de données et de la sensibilité du modèle aux variations des données.

Comment utiliser le modèle de validation croisée

Il existe deux façons principales d’utiliser la validation croisée.

L’exécution de la validation croisée peut prendre beaucoup de temps si vous utilisez beaucoup de données. Par conséquent, vous pouvez utiliser la validation croisée du modèle dans la phase initiale de création et de test de votre modèle, afin d’évaluer l’intérêt des paramètres du modèle (en supposant que le temps de calcul est tolérable), puis d’effectuer l’apprentissage et l’évaluation de votre modèle à l’aide des paramètres établis avec les modules former le modèle et évaluer le modèle .

Validation croisée simple

Dans ce scénario, vous entraînez et testez le modèle à l’aide du module Modèle de validation croisée.

  1. Ajoutez le module Cross Validate Model à votre expérience. vous pouvez le trouver dans Machine Learning Studio (classic), dans la catégorie Machine Learning , sous évaluer.

  2. Connecter la sortie d’un modèle de classification ou de régression .

    Par exemple, si vous utilisez une machine de point de Bayes à deux classes pour la classification, configurez le modèle avec les paramètres souhaités, puis faites glisser un connecteur depuis le port Modèle non entraîné du classifieur vers le port correspondant de Modèle de validation croisée.

    Conseil

    Le modèle n’a pas besoin d’être entraîné, car le module Modèle de validation croisée l’entraîne automatiquement dans le cadre de l’évaluation.

  3. Sur le port du jeu de données du modèle de validation croisée, connectez tout jeu de données d’apprentissage étiqueté.

  4. Dans le volet Propriétés du module Modèle de validation croisée, cliquez sur Lancer le sélecteur de colonne et choisissez la colonne unique qui contient l’étiquette de classe ou la valeur prévisible.

  5. Définissez une valeur pour le paramètre Valeur de départ aléatoire si vous souhaitez pouvoir répéter les résultats de la validation croisée entre des exécutions successives sur les mêmes données.

  6. Exécutez l’expérience.

  7. Pour obtenir une description des rapports, consultez la section Résultats.

    Pour obtenir une copie du modèle en vue d’une réutilisation ultérieure, cliquez avec le bouton droit sur la sortie du module qui contient l’algorithme (par exemple, sur l' ordinateur de point de Bayes de classe), puis cliquez sur enregistrer en tant que modèle formé.

Validation croisée avec un balayage de paramètre

Dans ce scénario, vous utilisez les hyperparamètres de réglage de modèle pour identifier le meilleur modèle en effectuant un balayage de paramètre, puis utiliser Cross Validate Model pour vérifier sa fiabilité. c’est le moyen le plus simple d’avoir Machine Learning d’identifier le meilleur modèle, puis de générer des métriques pour celui-ci.

  1. Ajoutez le jeu de données pour l’apprentissage du modèle et ajoutez l’un des modules Machine Learning qui crée un modèle de classification ou de régression.

  2. Ajoutez le module régler le modèle hyperparamètres à votre expérience. vous pouvez le trouver dans la catégorie Machine Learning , sous Train.

  3. Attachez le modèle de classification ou de régression à l’entrée de modèle non formé des hyperparamètres du modèle d’optimisation.

  4. Ajoutez le module Cross Validate Model à votre expérience. vous pouvez le trouver dans Machine Learning Studio (classic), dans la catégorie Machine Learning , sous évaluer.

  5. Localisez la sortie du modèle de réglage du modèle de Paramétrage, puis connectez-la à l’entrée de modèle non formé du modèle Cross Validate.

  6. Connecter les données d’apprentissage à l’entrée jeu de données d' apprentissage du modèle Cross validate.

  7. Exécutez l’expérience.

  8. Après avoir examiné les résultats, et les scores d’évaluation, pour obtenir une copie du meilleur modèle pour une réutilisation ultérieure, cliquez simplement avec le bouton droit sur le module régler le modèle hyperparamètres , sélectionnez le meilleur modèle formé, puis cliquez sur enregistrer en tant que modèle formé.

Notes

Vous pouvez obtenir des résultats différents si vous utilisez l’entrée dans le module régler le modèle hyperparamètres pour le jeu de données de validation facultatif.

En effet, lorsque vous utilisez cette option, vous spécifiez un jeu de données d’apprentissage statique et un jeu de données de test. Par conséquent, le processus de validation croisée utilise également les jeux de données d’apprentissage et de test spécifiés, plutôt que de fractionner les données en n groupes pour l’apprentissage et le test. Toutefois, les métriques sont générées sur une base de nplist.

Résultats

Une fois toutes les itérations terminées, Cross-Validate Model crée des scores pour l’ensemble du jeu de données, ainsi que des mesures de performances que vous pouvez utiliser pour évaluer la qualité du modèle.

Résultats notés

La première sortie du module fournit les données sources pour chaque ligne ainsi que des valeurs prédites et des probabilités associées.

Pour afficher ces résultats, dans l’expérience, cliquez avec le bouton droit sur le module Cross-Validate Model , sélectionnez scored Results, puis cliquez sur visualiser.

Nouveau nom de colonne Description
Affectations de plis Indique l’index de base 0 de l’échantillon auquel chaque ligne de données a été attribuée lors de la validation croisée.
Étiquettes notées Cette colonne est ajoutée à la fin du jeu de données et contient la valeur prédite pour chaque ligne.
Probabilités notées Cette colonne est ajoutée à la fin du jeu de données et indique la probabilité estimée de la valeur dans Étiquettes notées.

Evaluation results

Le deuxième rapport est regroupé par échantillons. N’oubliez pas que, pendant l’exécution, la validation croisée du modèle fractionne de façon aléatoire les données d’apprentissage en n plis (par défaut, 10). Dans chaque itération sur le jeu de données, Cross-Validate Model utilise un pli comme jeu de données de validation et utilise les plis restants n-1 pour effectuer l’apprentissage d’un modèle. Chacun des n modèles est testé par rapport aux données de tous les autres échantillons.

Dans ce rapport, les échantillons sont listés par valeur d’index, dans l’ordre croissant. Pour trier sur une autre colonne, vous pouvez enregistrer les résultats en tant que jeu de données.

Pour afficher ces résultats, dans l’expérience, cliquez avec le bouton droit sur le module Cross-Validate Model , sélectionnez résultats de l’évaluation par pli, puis cliquez sur visualiser.

Nom de la colonne Description
Nombre d’échantillons Identificateur pour chaque échantillon. Si vous avez créé 5 échantillons, il y a 5 sous-ensembles de données, numérotés de 0 à 4.
Nombre d’exemples dans l’échantillon Nombre de lignes affectées à chaque échantillon. Ils doivent être à peu près égaux.
Modèle Algorithme utilisé dans le modèle, identifié par le nom de l’API

En outre, les métriques suivantes sont incluses pour chaque échantillon, en fonction du type de modèle que vous évaluez.

  • Modèles de classification: précision, rappel, F-score, AUC, perte de journal moyenne, perte de journal de formation

  • Modèles de régression: vraisemblance du journal négatif, erreur absolue moyenne, erreur quadratique moyenne racine, erreur absolue relative et coefficient de détermination

Exemples

Pour obtenir des exemples d’utilisation de la validation croisée dans Machine Learning, consultez la Azure ai Gallery:

Notes techniques

  • Il est recommandé de normaliser les jeux de données avant de les utiliser pour la validation croisée.

  • Étant donné que le modèle de validation croisée modélise et valide le modèle plusieurs fois, il est beaucoup plus gourmand en ressources de calcul et prend plus de temps que si vous avez validé le modèle à l’aide d’un DataSet divisé de manière aléatoire.

  • Nous vous recommandons d'utiliser Cross-Validate Model pour établir l'adéquation du modèle en fonction des paramètres spécifiés. Utilisez les hyperparamètres de réglage du modèle pour identifier les paramètres optimaux.

  • Il n’est pas nécessaire de fractionner le jeu de données en jeux d’entraînement et de test quand vous utilisez la validation croisée pour mesurer la justesse du modèle.

    Toutefois, si un jeu de données de validation est fourni en amont, le module utilise les jeux de données d’apprentissage et de test spécifiés au lieu de le fractionner en n plis. Autrement dit, le premier jeu de données est utilisé pour effectuer l’apprentissage du modèle pour chaque combinaison de paramètres, et les modèles sont évalués sur le DataSet de validation. Consultez la section sur l’utilisation d’un balayage de paramètre avec validation croisée.

  • Bien que cet article utilise des versions antérieures des modules, il présente une bonne explication du processus de validation croisée : Comment choisir des paramètres pour optimiser vos algorithmes dans machine learning

Entrées attendues

Nom Type Description
Untrained model (Modèle non entraîné) Interface ILearner Modèle non entraîné pour la validation croisée sur le jeu de données
Dataset Table de données Jeu de données d'entrée

Paramètres du module

Nom Plage Type Default Description
Colonne d'étiquette n'importe laquelle ColumnSelection Sélectionner la colonne qui contient l'étiquette à utiliser pour la validation
Valeur initiale aléatoire n'importe laquelle Integer 0 Valeur de départ pour le générateur de nombres aléatoires

Cette valeur est facultative. Si elle n'est pas spécifiée

Sorties

Nom Type Description
Résultats notés Table de données Résultats de l'évaluation
Résultats de l'évaluation par pli Table de données Résultats de l'évaluation (par pli et entier)

Exceptions

Exception Description
Erreur 0035 Une exception se produit si aucune fonctionnalité n’est fournie pour un utilisateur ou un élément donné.
Erreur 0032 Une exception se produit si l’argument n’est pas numérique.
Erreur 0033 Une exception se produit si l’argument est une valeur infinie (Infinity).
Erreur 0001 Une exception se produit si une ou plusieurs colonnes spécifiées du jeu de données sont introuvables.
Erreur 0003 Cette exception se produit si une ou plusieurs entrées sont null ou vide.
Erreur 0006 Une exception se produit si le paramètre est supérieur ou égal à la valeur spécifique.
Erreur 0008 Une exception se produit si le paramètre n’est pas dans la plage.
Erreur 0013 Une exception se produit si l'apprenant qui est passé au module a un type non valide.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Évaluer
Évaluer le générateur de recommandations
Liste alphabétique des modules