Partager via


Sweep Clustering

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.

Effectue un balayage de paramètre pour déterminer les paramètres optimaux pour un modèle de clustering

catégorie : Machine Learning/Train

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 de clustering de balayage dans Machine Learning Studio (classic) pour effectuer l’apprentissage d’un modèle à l’aide d’un balayage de paramètre. Un balayage de paramètre permet de rechercher les meilleurs hyperparamètres pour un modèle, en fonction d’un jeu de données.

Le module de clustering de balayage est conçu spécifiquement pour les modèles de clustering. Vous fournissez un modèle de clustering en tant qu’entrée, ainsi qu’un jeu de données. Le module itère au sein d’un ensemble de paramètres que vous spécifiez, en générant et en testant des modèles avec des paramètres différents, jusqu’à ce qu’il trouve le modèle avec le meilleur ensemble de clusters. Il calcule automatiquement la meilleure configuration, puis effectue l’apprentissage d’un modèle à l’aide de cette configuration.

Elle retourne également un ensemble de métriques décrivant les modèles qui ont été testés et un ensemble d’affectations de cluster basées sur le meilleur modèle.

Comment configurer le clustering de balayage

  1. Ajoutez le module de clustering de balayage à votre expérience dans Studio (Classic). vous pouvez trouver ce module sous Machine Learning, dans la catégorie Train .

  2. Ajoutez le module de clustering K-signifiant et votre jeu de données d’apprentissage à l’expérience, et connectez-les tous les deux au module de clustering de balayage .

  3. Configurez le module de clustering K-signifiant pour utiliser un balayage de paramètre comme suit :

    1. Affectez à créer le mode formateur la valeur plage de paramètres.

    2. Utilisez le Générateur de plages (ou tapez manuellement plusieurs valeurs) pour chaque paramètre afin de définir la plage de valeurs à itérer.

    3. Initialisation pour Sweep: Spécifiez comment l’algorithme K-signifiant doit trouver le centroïdes de cluster initial. Plusieurs algorithmes sont fournis pour l’initialisation aléatoire, puis le test de centroïdes.

      Si votre jeu de données d’apprentissage contient une colonne d’étiquette, même avec des valeurs partielles, vous pouvez utiliser ces valeurs pour centroïdes. Utilisez l’option Assign label mode pour indiquer comment les valeurs d’étiquette sont utilisées.

      Conseil

      Votre colonne d’étiquette doit être marquée comme telle à l’avance. Si vous recevez une erreur, essayez d’utiliser modifier les métadonnées pour identifier la colonne contenant les étiquettes.

    4. Nombre de graines à balayer: indiquez le nombre de graines de début aléatoires à essayer lors du balayage des paramètres.

    5. Choisissez la métrique à utiliser lors de la mesure de la similarité des clusters. Pour plus d’informations, consultez la rubrique K-signifiant clustering .

    6. Itérations: spécifiez le nombre total d’itérations que l’algorithme K-signifiant doit effectuer. Ces itérations sont utilisées pour optimiser la sélection du cluster centroïdes.

    7. Si vous utilisez une colonne d’étiquette pour initialiser le balayage, utilisez l’option Assign label mode pour spécifier la façon dont les valeurs de la colonne d’étiquette doivent être gérées.

      • Remplir les valeurs manquantes: Si votre colonne d’étiquette contient des valeurs manquantes, utilisez cette option pour imputer des catégories en fonction du cluster auquel le point de données est affecté.

      • Remplacer le plus proche du centre: génère des valeurs d’étiquette pour tous les points de données attribués à un cluster, à l’aide de l’étiquette du point le plus proche du centre du cluster.

      • Ignorer la colonne d’étiquette: sélectionnez cette option si vous ne souhaitez pas effectuer l’une des opérations ci-dessus.

  4. Dans le module de clustering de balayage , utilisez l’option pour mesurer le résultat de clusteringafin de spécifier la méthode mathématique à utiliser lors de l’estimation de l’adéquation du modèle de clustering formé :

    • Silhouette simplifiée: cette mesure capture l’étanchéité des points de données dans chaque cluster. Il est calculé comme une combinaison de la similarité de chaque ligne avec son cluster et sa similarité avec le cluster suivant le plus proche. Si le cluster n’a qu’une seule ligne, la distance au prorata du centre de gravité suivant le plus proche est calculée à la place, afin d’éviter d’obtenir 0 comme résultat. « Simplifié » fait référence au fait que la distance au centre de gravité du cluster est utilisée comme mesure de similarité simple. En général, un score plus élevé est meilleur. La valeur moyenne sur le jeu de données indique l’efficacité de la mise en cluster des données. Si le nombre de clusters est trop important ou est trop faible, certains clusters auront des valeurs silhouettes inférieures à celles du reste. Pour plus d’informations, consultez cet article de Wikipédia.

    • Davies-Bouldin: cette mesure vise à identifier le plus petit ensemble de clusters avec le nuage de points le plus faible. Étant donné que la mesure est définie comme un ratio de nuage de points au sein de chaque cluster par rapport à la séparation des clusters, une valeur inférieure signifie que le clustering est mieux adapté. Le meilleur modèle de clustering réduit cette mesure. Pour calculer la mesure Davies-Bouldin, la distance moyenne de la ligne à celle du centre de gravité est calculée par cluster. Pour chaque paire de clusters, la somme de ces moyennes est divisée par la distance entre les centroïdes. La valeur maximale sur tous les autres clusters est sélectionnée pour chaque cluster et moyenne sur tous les clusters. Pour plus d’informations, consultez cet article de Wikipédia.

    • Plan de mise à l' échelle : cettemesure vise à identifier le plus petit ensemble de clusters compacts. En règle générale, une valeur plus élevée pour cette mesure indique un meilleur clustering. Pour calculer la métrique de l’emplacement de l’espace de la côte, la distance minimale de centre de gravité de gravité est divisée par la distance maximale de chaque point de données à son centre de clusters. Pour plus d’informations, consultez cet article de Wikipédia.

    • Écart moyen: cette mesure est calculée en utilisant la distance moyenne entre chaque point de données et son centre de cluster. La valeur diminue à mesure que le nombre de centroïdes augmente ; par conséquent, il n’est pas utile lors du balayage pour trouver le nombre de centroïdes. Cette mesure est recommandée pour une utilisation lorsque vous choisissez la valeur initiale de l’initialisation de centre de gravité.

  5. Spécifier le mode de balayage des paramètres: sélectionnez une option qui définit les combinaisons de valeurs utilisées lors de l’apprentissage et la façon dont elles sont choisies :

    • Grille entière: toutes les valeurs de la plage donnée sont essayées et évaluées. Cette option est généralement plus coûteuse en termes de calcul.

    • Balayage aléatoire: utilisez cette option pour limiter le nombre d’exécutions. Le modèle de clustering est généré et évalué à l’aide d’une combinaison de valeurs choisies de façon aléatoire dans la plage autorisée de valeurs de paramètre.

  6. Nombre maximal d’exécutions sur le balayage aléatoire: définissez cette option si vous choisissez l’option balayage aléatoire . Tapez une valeur pour limiter le nombre maximal d’itérations lors du test des jeux de paramètres choisis de façon aléatoire.

    Avertissement

    Les paramètres d' itérations du module de clustering K-signifiant ont un objectif différent et ne sont pas affectés par ce paramètre : il limite le nombre de passes sur les données effectuées pour améliorer les clusters, en minimisant la distance moyenne entre chaque point de données et son cluster centroïdes. En revanche, les itérations définies par le paramètre du module de clustering de balayage sont effectuées afin d’essayer différentes initialisations de centre de gravité aléatoire. Ce problème de minimisation est connu sous le nom de NP-Hard. par conséquent, essayer plusieurs graines aléatoires peut produire de meilleurs résultats.

    Si vous sélectionnez un balayage aléatoire, utilisez l’option Seed aléatoire pour spécifier les valeurs initiales aléatoires initiales, sur lesquelles commencer la création du centroïdes. L’un des avantages de l’utilisation d’un balayage de paramètre pour créer un modèle de clustering est que vous pouvez facilement tester plusieurs valeurs de départ pour limiter la sensibilité connue des modèles de clustering à la valeur initiale initiale.

  7. Cliquez sur jeu de colonnes, puis choisissez les colonnes à utiliser lors de la création des clusters. Par défaut, toutes les colonnes de fonctionnalités sont utilisées lors de la génération et du test du modèle de clustering.

    Vous pouvez inclure une colonne d’étiquette, si elle est présente dans votre jeu de données. Si une étiquette est présente, vous pouvez l’utiliser pour guider la sélection de centroïdes, utiliser l’étiquette en tant que fonctionnalité ou ignorer l’étiquette. Définissez ces options pour la gestion des étiquettes du module de clustering KMeans , comme décrit à l’étape 3 ci-dessus.

  8. Rechercher l’ajout ou la désactivation des résultats uniquement: utilisez cette option pour contrôler les colonnes qui sont retournées dans les résultats.

    Par défaut, le module renvoie les colonnes d’origine du jeu de données d’apprentissage, ainsi que les résultats. Si vous désélectionnez cette option. seules les affectations de cluster sont retournées.

  9. Ajoutez le module assigner des données au cluster à votre expérience.

  10. Connecter la sortie étiquetée meilleur modèle formé à l’entrée de modèle formé , assignez des données à des clusters.

  11. Ajoutez le jeu de données destiné à l’évaluation et connectez-le au port de jeu de données du module assigner des données aux clusters .

  12. Ajoutez le module évaluer le modèle et connectez-le pour affecter des données à des clusters. Si vous le souhaitez, vous pouvez connecter un jeu de données d’évaluation.

  13. Exécutez l’expérience.

Résultats

Le module de clustering de balayage génère trois résultats différents :

  • Meilleur modèle formé. Un modèle formé que vous pouvez utiliser pour la notation et l’évaluation. Cliquez avec le bouton droit et sélectionnez enregistrer en tant que modèle formé pour capturer le modèle de clustering optimisé et l’utiliser pour la notation.

  • Jeu de données de résultats. Ensemble d’affectations de cluster, basé sur le modèle optimisé.

    Nom de la colonne Description
    Attributions Cette valeur indique le cluster auquel chaque point de données a été affecté. Les clusters du modèle formé sont étiquetés avec des index de base 0.
    DistancesToClusterCenter n ° 1

    DistancesToClusterCenter n
    Cette valeur indique la manière dont le point de données est fermé au centre de chaque cluster.

    Une colonne est créée pour chaque cluster créé dans le modèle optimisé.

    Vous pouvez limiter le nombre de clusters à l’aide de l’option nombre d’centroïdes .

    Par défaut, vous pouvez retourner les colonnes du jeu de données d’apprentissage, ainsi que les résultats, pour faciliter l’examen et l’interprétation des affectations de cluster.

  • Analyser les résultats. Un jeu de données contenant les métriques d’évaluation suivantes pour les clusters :

    Nom de la colonne Description
    Métrique du cluster Valeur qui indique la qualité moyenne du cluster pour cette exécution. Les exécutions sont classées par le meilleur score.
    Nombre de centroïdes Nombre de clusters qui ont été créés dans cette itération particulière du balayage
    Index de l’exécution Identificateur pour chaque itération

    Conseil

    Les valeurs retournées pour la métrique du cluster doivent être interprétées différemment, en fonction de la métrique que vous avez choisie lors de la configuration du balayage. Pour la métrique par défaut, silhouette simplifiée, un score plus élevé est meilleur. Pour Davies-Bouldin, un score inférieur est préférable.

Exemples

Pour voir des exemples de balayage de paramètre avec le clustering K-signifiant, consultez la Azure ai Gallery:

Notes techniques

Cette section contient des conseils et des détails d’implémentation.

Optimisation des modèles de clustering

La qualité et l’exactitude des modèles de clustering peuvent être fortement affectées par le choix de paramètres initiaux, tels que le nombre de centroïdes et la valeur de départ utilisée pour initialiser le cluster. Pour atténuer ce respect des paramètres initiaux, le module de clustering de balayage vous aide à trouver la meilleure combinaison de paramètres. Vous spécifiez une plage de paramètres à tester, et le module génère et teste automatiquement plusieurs modèles, et sélectionne enfin le nombre optimal de clusters.

Pour créer un balayage de paramètre, vous devez également configurer le module de clustering K-signifiant pour utiliser un balayage de paramètre. Vous pouvez spécifier que le balayage effectue une itération sur toutes les combinaisons possibles de paramètres ou utilise une combinaison aléatoire de paramètres. Vous pouvez également choisir l’une des métriques standard pour mesurer la précision des centroïdes pendant le processus de création et de test du modèle itératif. Une fois le nombre spécifié d’itérations terminé, le module sélectionne le meilleur nombre de clusters en fonction de la métrique sélectionnée et génère des rapports que vous pouvez utiliser pour évaluer les résultats.

Conseils d’utilisation

  • Dans certains cas, vous connaissez peut-être déjà le nombre de clusters que vous prévoyez de trouver. Par exemple, vos données peuvent contenir des étiquettes de classe qui peuvent être utilisées pour guider la sélection du centroïdes. Dans ce cas, vous pouvez configurer le module de clustering K-signifiant pour utiliser la colonne d’étiquette afin de guider la sélection du centroïdes initial.

  • Si vous connaissez certains des clusters attendus, mais que vous ne savez pas combien de clusters sont optimaux, définissez le nombre de centroïdes sur un nombre supérieur au nombre de valeurs d’étiquette connues. Le module de clustering de balayage crée des clusters pour les points de données connus, puis détermine le nombre optimal de clusters supplémentaires pour les points de données restants.

Gestion des valeurs manquantes dans la colonne étiquette

Il existe plusieurs façons de gérer les valeurs manquantes dans la colonne étiquette. Par exemple, supposez que vous avez une tâche de classification d’image et que seules certaines images ont été étiquetées.

Vous pouvez utiliser la colonne étiquette pour guider la sélection du centroïdes, mais spécifier que toutes les étiquettes manquantes doivent être renseignées à l’aide des affectations de cluster. En d’autres termes, les valeurs d’étiquette existantes ne sont pas modifiées, mais les étiquettes manquantes sont remplies.

En guise d’alternative, pour tous les points de données attribués à un cluster, vous pouvez remplacer les étiquettes existantes, en utilisant une seule étiquette qui représente le plus le cluster. Pour comprendre comment cette option est utile, imaginez que vous utilisez des données d’image avec des étiquettes très détaillées, telles que des races de chien différentes. À l’aide de cette option, vous pouvez remplacer toutes les étiquettes détaillées par une seule étiquette de catégorie, « chien ».

Valeurs de départ dans le journal

Le fichier journal généré par le module former le modèle de cluster s’affiche pour indiquer que la même valeur de départ est utilisée pour toutes les itérations de l’algorithme de clustering K-means, quelle que soit la valeur de départ fournie dans la propriété Seed aléatoire .

En fait, l’implémentation utilise la valeur de départ fournie par l’utilisateur pour générer une séquence de nombres aléatoires différents pour chaque exécution. Par conséquent, une seule valeur de départ est nécessaire pour créer tous les nombres générés de manière aléatoire.

L’objectif du journal est d’indiquer la valeur de départ que le module utilise lorsque l’utilisateur ne spécifie pas de valeur initiale dans le volet Propriétés .

Entrées attendues

Nom Type Description
Untrained model (Modèle non entraîné) Interface ICluster Modèle de clustering non formé
Dataset Table de données Source de données d'entrée

Paramètres du module

Nom Type Valeurs Facultatif Default Description
Mesure de mesure du résultat de clustering Métrique du cluster Silhouette simplifiée, Davies-Bouldin, Fardon, écart moyen Obligatoire Silhouette simplifiée Sélectionner la mesure utilisée pour évaluer les modèles de régression
Spécifier le mode de balayage des paramètres Méthodes de balayage Grille entière ou balayage aléatoire Obligatoire Balayage aléatoire Balaye l'intégralité de la grille sur l'espace des paramètres ou balaye sur un nombre limité d'exemples de cycles
Jeu de colonnes ColumnSelection Obligatoire Mode de sélection de colonne
Nombre maximal de cycles de balayage aléatoire Entier [1 ; 10000] Disponible uniquement lorsque SweepingMode est défini sur balayage aléatoire 5 Définir le nombre maximal d’exécutions à exécuter lors de l’utilisation du balayage aléatoire
Valeur initiale aléatoire Integer Disponible uniquement lorsque SweepingMode est défini sur balayage aléatoire 0 Fournir une valeur pour amorcer le générateur de nombres aléatoires pour le balayage aléatoire
Activer la case pour Ajouter ou désactiver la case pour Résultat uniquement Boolean Obligatoire True Sélectionnez cette option pour indiquer que le jeu de données de sortie doit contenir un jeu de données d’entrée avec la colonne Assignments ajoutée. Désélectionnez cette option pour indiquer que seule la colonne Assignments doit être sortie.

Sorties

Nom Type Description
Meilleur modèle formé Interface ICluster Modèle de clustering formé
Jeu de données de résultats Table de données Jeu de données d'entrée ajouté par la colonne de données d'affectations, ou uniquement la colonne d'affectations
Résultats du balayage Table de données Journal des mesures résultant pour les exécutions de balayage de cluster

Exceptions

Exception Description
Erreur 0003 Cette exception se produit si une ou plusieurs entrées sont null ou vide.

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

Clustering k-moyennes
Attribuer des données à des clusters
Machine Learning/Train
Machine Learning / Initialize Model / Clustering