Bereinigungs-Clustering (Sweep)
Wichtig
Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.
Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.
- Siehe Migrieren zu Azure Machine Learning
- Weitere Informationen zu Azure Machine Learning.
Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.
Führt einen Parameter-Sweep aus, um die optimalen Einstellungen für ein Clusteringmodell zu bestimmen.
Kategorie: Machine Learning/Trainieren
Hinweis
Gilt für: Machine Learning Studio (klassisch)
Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.
Modulübersicht
In diesem Artikel wird beschrieben, wie Sie das Sweep Clustering-Modul in Machine Learning Studio (klassisch) verwenden, um ein Modell mithilfe eines Parameter-Sweepings zu trainieren. Ein Parameter-Sweep ist eine Möglichkeit, die besten Hyperparameter für ein Modell zu finden, wenn ein Satz von Daten verwendet wird.
Das Sweep Clustering-Modul ist speziell für Clusteringmodelle konzipiert. Sie stellen ein Clusteringmodell als Eingabe zusammen mit einem Dataset zur Verfügung. Das Modul durch iteriert eine Reihe von Parametern, die Sie angeben, um Modelle mit unterschiedlichen Parametern zu erstellen und zu testen, bis es das Modell mit der besten Gruppe von Clustern findet. Es berechnet automatisch die beste Konfiguration und trainiert dann ein Modell mit dieser Konfiguration.
Außerdem werden eine Reihe von Metriken zurückgegeben, die die getesteten Modelle beschreiben, sowie eine Reihe von Clusterzuweisungen, die auf dem besten Modell basieren.
Konfigurieren des Sweep-Clusterings
Fügen Sie ihrem Experiment in Studio (klassisch) das Sweep Clustering-Modul hinzu. Sie finden dieses Modul unter Machine Learning in der Kategorie Trainieren.
Fügen Sie dem Experiment das Modul K-Means Clustering und Ihr Trainings-Dataset hinzu, und verbinden Sie beide mit dem Sweep Clustering-Modul .
Konfigurieren Sie das K-Means-Clusteringmodul wie folgt für die Verwendung eines Parameter-Sweeps:
Legen Sie Create trainer mode (Trainermodus erstellen ) auf Parameter Range (Parameterbereich) fest.
Verwenden Sie den Bereichs-Generator (oder geben Sie manuell mehrere Werte für jeden Parameter ein), um den Wertebereich für das Iterieren festzugeben.
Initialisierung für Sweep: Geben Sie an, wie der K-Means-Algorithmus die anfänglichen Clusterschwerpunkte finden soll. Zum zufälligen Initialisieren und anschließenden Testen von Schwerpunkten werden mehrere Algorithmen bereitgestellt.
Wenn Ihr Trainings-Dataset eine Bezeichnungsspalte enthält, können Sie diese Werte auch mit Teilwerten für Schwerpunkte verwenden. Verwenden Sie die Option Bezeichnungsmodus zuweisen, um anzugeben, wie die Bezeichnungswerte verwendet werden.
Tipp
Ihre Bezeichnungsspalte muss im Voraus als solche gekennzeichnet werden. Wenn sie einen Fehler erhalten, versuchen Sie, die Spalte mit Bezeichnungen mithilfe von Edit Metadata (Metadaten bearbeiten) zu identifizieren.
Number of seeds to sweep (Anzahl der zu bekehrenden Ausgangswerte): Geben Sie an, wie viele verschiedene zufällige Startwerte beim Parameter-Sweep versucht werden.
Wählen Sie die Metrik aus, die beim Messen der Cluster-Ähnlichkeit verwendet werden soll. Weitere Informationen finden Sie im Thema K-Means Clustering .
Iterationen: Geben Sie die Gesamtzahl der Iterationen an, die der K-Means-Algorithmus ausführen soll. Diese Iterationen werden verwendet, um die Auswahl der Clusterschwerpunkte zu optimieren.
Wenn Sie eine Bezeichnungsspalte zum Initialisieren des Sweeps verwenden, verwenden Sie die Option Bezeichnungsmodus zuweisen, um anzugeben, wie die Werte in der Bezeichnungsspalte behandelt werden sollen.
Fehlende Werte ausfüllen: Wenn die Bezeichnungsspalte einige fehlende Werte enthält, verwenden Sie diese Option, um Kategorien basierend auf dem Cluster imputiert, dem der Datenpunkt zugewiesen ist.
Überschreiben vom nächsten zum Mittelpunkt: Generiert Bezeichnungswerte für alle Einem Cluster zugewiesenen Datenpunkte, indem die Bezeichnung des Punkts verwendet wird, der der Mitte des Clusters am nächsten liegt.
Bezeichnungsspalte ignorieren: Wählen Sie diese Option aus, wenn Sie keinen der oben genannten Vorgänge ausführen möchten.
Verwenden Sie im Sweep Clustering-Modul die Option For Metric for measuring clustering result (Für Metrik zum Messen des Clusteringergebnis), um die mathematische Methode anzugeben, die beim Schätzen der Anpassung des trainierten Clustermodells verwendet werden soll:
Vereinfacht: Diese Metrik erfasst die Dichte der Datenpunkte in jedem Cluster. Sie wird als Kombination aus der Ähnlichkeit jeder Zeile mit ihrem Cluster und ihrer Ähnlichkeit mit dem nächstliegenden Cluster berechnet. Wenn der Cluster nur über eine Zeile verfügt, wird stattdessen der anteilsierte Abstand zum nächsten nächstgelegenen Schwerpunkt berechnet, um zu vermeiden, dass 0 als Ergebnis angezeigt wird. "Vereinfacht" bezieht sich auf die Tatsache, dass der Abstand zum Clusterschwerpunkt als einfaches Ähnlichkeitsmaß verwendet wird. Im Allgemeinen ist eine höhere Bewertung besser. Der Durchschnittswert für das Dataset gibt an, wie gut die Daten gruppiert wurden. Wenn zu viele oder zu wenige Cluster enthalten sind, verfügen einige Cluster über niedrigere Werte als die übrigen Cluster. Weitere Informationen finden Sie in diesem Wikipedia-Artikel.
Dachefs-Schrift: Diese Metrik zielt darauf ab, die kleinste Gruppe von Clustern mit der geringsten Punktzahl zu identifizieren. Da die Metrik als Verhältnis von Punkt in jedem Cluster im Verhältnis zur Clustertrennung definiert ist, bedeutet ein niedrigerer Wert, dass das Clustering besser ist. Das beste Clusteringmodell minimiert diese Metrik. Um die Davies-Bouldin zu berechnen, wird die durchschnittliche Entfernung zwischen Zeile und Schwerpunkt pro Cluster berechnet. Für jedes Clusterpaar wird die Summe dieser Durchschnittswerte durch die Entfernung zwischen Schwerpunkten dividiert. Maximalwert für alle anderen Cluster wird für jeden Cluster ausgewählt und über alle Cluster gemittelt. Weitere Informationen finden Sie in diesem Wikipedia-Artikel.
Dunn: Diese Metrik zielt darauf ab, die kleinste Gruppe kompakter Cluster zu identifizieren. Im Allgemeinen weist ein höherer Wert für diese Metrik auf ein besseres Clustering hin. Um die Dunn-Metrik zu berechnen, wird der minimale Schwerpunkt-zu-Schwerpunkt-Abstand durch den maximalen Abstand jedes Datenpunkts zum Clustercenter dividiert. Weitere Informationen finden Sie in diesem Wikipedia-Artikel.
Durchschnittliche Abweichung: Diese Metrik wird berechnet, indem die durchschnittliche Entfernung von jedem Datenpunkt zum Clustercenter verwendet wird. Der Wert nimmt ab, wenn die Anzahl der Schwerpunkte zunimmt. Daher ist es beim Sweeping nicht nützlich, die Anzahl der Schwerpunkte zu finden. Diese Metrik wird für die Verwendung empfohlen, wenn Sie den besten Initialisierungswert für den Schwerpunkt auswählen.
Parameter-Sweepingmodus angeben: Wählen Sie eine Option aus, die die Kombinationen von Werten definiert, die beim Training verwendet werden, und wie sie ausgewählt werden:
Gesamtes Raster: Alle Werte innerhalb des angegebenen Bereichs werden ausprobiert und ausgewertet. Diese Option ist in der Regel rechenintensiver.
Zufälliger Sweep: Verwenden Sie diese Option, um die Anzahl von Durchläufen zu begrenzen. Das Clusteringmodell wird mithilfe einer Kombination von Werten erstellt und ausgewertet, die zufällig aus dem zulässigen Bereich von Parameterwerten ausgewählt werden.
Maximale Anzahl von Durchläufen bei zufälligen Sweeps: Legen Sie diese Option fest, wenn Sie die Option Zufälliger Sweep auswählen. Geben Sie einen Wert ein, um die maximale Anzahl von Iterationen beim Testen von Sätzen zufällig ausgewählter Parameter zu begrenzen.
Warnung
Die Iterationsparameter des K-Means-Clusteringmoduls haben einen anderen Zweck und sind von dieser Einstellung nicht betroffen: Sie schränken die Anzahl von Datenüberläufen ein, die zur Verbesserung von Clustern durchgeführt werden, indem der durchschnittliche Abstand von jedem Datenpunkt zu seinen Clusterschwerpunkten minimiert wird. Im Gegensatz dazu werden die durch den Sweep Clustering-Modulparameter definierten Iterationen ausgeführt, um verschiedene zufällige Schwerpunktin initialisierungen auszuprobieren. Dieses Minimierungsproblem ist np-hart. Daher könnte das Ausprobieren mehrerer zufälliger Saasen bessere Ergebnisse liefern.
Wenn Sie einen zufälligen Sweep auswählen, verwenden Sie die Option Zufälliger Startwert, um die anfänglichen zufälligen Ausgangswerte anzugeben, für die mit dem Erstellen der Schwerpunkte begonnen werden soll. Ein Vorteil der Verwendung eines Parameter-Sweepings zum Erstellen eines Clusteringmodells ist, dass Sie problemlos mehrere Ausgangswerte testen können, um die bekannte Empfindlichkeit von Clusteringmodellen auf den anfänglichen Ausgangswert zu verringern.
Klicken Sie auf Spaltensatz, und wählen Sie die Spalten aus, die beim Erstellen der Cluster verwendet werden sollen. Standardmäßig werden beim Erstellen und Testen des Clustermodells alle Featurespalten verwendet.
Sie können eine Bezeichnungsspalte hinzufügen, sofern sie in Ihrem Dataset vorhanden ist. Wenn eine Bezeichnung vorhanden ist, können Sie sie verwenden, um die Auswahl von Schwerpunkten zu leiten, die Bezeichnung als Feature zu verwenden oder die Bezeichnung zu ignorieren. Legen Sie diese Optionen für die Bezeichnungsverarbeitung des Kmeans Clustering-Moduls fest, wie in Schritt 3 oben beschrieben.
Suchen Sie nach Nur Ergebnis anfügen oder deaktivieren: Verwenden Sie diese Option, um zu steuern, welche Spalten in den Ergebnissen zurückgegeben werden.
Standardmäßig gibt das Modul die ursprünglichen Spalten des Trainings-Datasets zusammen mit den Ergebnissen zurück. Wenn Sie diese Option deaktivieren. nur die Clusterzuweisungen werden zurückgegeben.
Fügen Sie Ihrem Experiment das Modul Assign Data to Clusters (Daten clustern zuweisen) hinzu.
Verbinden sie die Ausgabe mit der Bezeichnung Best Trained Model (Am besten trainiertes Modell) in die Eingabe Trained Model von Assign Data to Clusters (Zuweisen von Daten zu Clustern).
Fügen Sie das für die Auswertung vorgesehene Dataset hinzu, und verbinden Sie es mit dem Datasetport des Moduls Assign Data to Clusters (Zuweisen von Daten zu Clustern ).
Fügen Sie das Modul Evaluate Model hinzu, und verbinden Sie es mit Assign Data to Clusters (Zuweisen von Daten zu Clustern). Optional können Sie ein Auswertungs-Dataset verbinden.
Führen Sie das Experiment aus.
Ergebnisse
Das Sweep Clustering-Modul gibt drei verschiedene Ergebnisse aus:
Am besten trainiertes Modell. Ein trainiertes Modell, das Sie für die Bewertung und Auswertung verwenden können. Klicken Sie mit der rechten Maustaste, und wählen Sie Als trainiertes Modell speichern aus , um das optimierte Clusteringmodell zu erfassen und für die Bewertung zu verwenden.
Ergebnisdataset. Eine Reihe von Clusterzuweisungen, die auf dem optimierten Modell basieren.
Spaltenname Beschreibung Zuweisungen Dieser Wert gibt den Cluster an, dem jeder Datenpunkt zugewiesen wurde. Die Cluster im trainierten Modell werden mit 0-basierten Indizes bezeichnet. DistancesToClusterCenter No.1
DistancesToClusterCenter no.nDieser Wert gibt an, wie nah der Datenpunkt am Mittelpunkt jedes Clusters liegt.
Für jeden Cluster, der im optimierten Modell erstellt wurde, wird eine Spalte erstellt.
Sie können die Anzahl der Cluster mithilfe der Option Anzahl der Schwerpunkte einschränken.Standardmäßig können Sie die Spalten aus dem Trainingsdataset zusammen mit den Ergebnissen zurückgeben, um das Überprüfen und Interpretieren der Clusterzuweisungen zu vereinfachen.
Sweep-Ergebnisse. Ein Dataset, das die folgenden Auswertungsmetriken für die Cluster enthält:
Spaltenname Beschreibung Clustermetrik Ein -Wert, der die durchschnittliche Clusterqualität für diese Ausführung angibt. Die Ausführungen werden nach der besten Bewertung sortiert. Anzahl der Schwerpunkte Die Anzahl der Cluster, die in dieser bestimmten Iteration des Sweeps erstellt wurden Ausführungsindex Ein Bezeichner für jede Iteration Tipp
Die für die Clustermetrik zurückgegebenen Werte sollten unterschiedlich interpretiert werden, je nachdem, welche Metrik Sie beim Einrichten des Sweeps ausgewählt haben. Für die Standardmetrik vereinfachtes Metrisches Ergebnis ist eine höhere Bewertung besser. Für Einen-Bouldin-Wert ist eine niedrigere Bewertung besser.
Beispiele
Beispiele für eine Parameterlöschung mit K-Means-Clustering finden Sie im Azure KI-Katalog:
Technische Hinweise
Dieser Abschnitt enthält Tipps und Implementierungsdetails.
Optimieren von Clusteringmodellen
Die Qualität und Genauigkeit von Clustermodellen kann stark von der Auswahl der anfänglichen Parameter beeinflusst werden, z. B. der Anzahl von Schwerpunkten und dem Ausgangswert, der zum Initialisieren des Clusters verwendet wird. Um diese Empfindlichkeit gegenüber den anfänglichen Parametern zu verringern, hilft Ihnen das Sweep Clustering-Modul dabei, die beste Kombination von Parametern zu finden. Sie geben einen Parameterbereich an, der getestet werden soll, und das Modul erstellt und testet automatisch mehrere Modelle und wählt schließlich die optimale Anzahl von Clustern aus.
Um eine Parameter-Sweepung zu erstellen, müssen Sie auch das K-Means-Clusteringmodul für die Verwendung eines Parameter-Sweepings konfigurieren. Sie können angeben, dass der Sweep alle möglichen Kombinationen von Parametern durch iterieren soll, oder eine zufällige Kombination von Parametern verwenden. Sie können auch eine von mehreren Standardmetriken auswählen, um die Genauigkeit der Schwerpunkte während des iterativen Modellerstellungs- und Testprozesses zu messen. Nachdem die angegebene Anzahl von Iterationen abgeschlossen wurde, wählt das Modul die beste Anzahl von Clustern basierend auf der ausgewählten Metrik aus und gibt Berichte aus, die Sie zum Bewerten der Ergebnisse verwenden können.
Verwendungstipps
In einigen Fällen wissen Sie möglicherweise bereits, wie viele Cluster Sie voraussichtlich finden werden. Ihre Daten können z. B. Klassenbezeichnungen aufweisen, die zur Auswahl der Schwerpunkte verwendet werden können. In diesem Fall können Sie das Modul K-Means Clustering so konfigurieren, dass es die Bezeichnungsspalte verwendet, um die Auswahl der anfänglichen Schwerpunkte zu steuern.
Wenn Sie einige der erwarteten Cluster kennen, aber nicht sicher sind, wie viele Cluster optimal sind, legen Sie die Anzahl der Schwerpunkte auf eine Zahl fest, die größer als die Anzahl bekannter Bezeichnungswerte ist. Das Sweep Clustering-Modul erstellt Cluster für die bekannten Datenpunkte und bestimmt dann die optimale Anzahl zusätzlicher Cluster für die verbleibenden Datenpunkte.
Behandeln fehlender Werte in der Bezeichnungsspalte
Es gibt mehrere Möglichkeiten, fehlende Werte in Ihrer Bezeichnungsspalte zu behandeln. Angenommen, Sie verfügen über eine Bildklassifizierungsaufgabe, und nur einige der Bilder wurden bezeichnet.
Sie können die Bezeichnungsspalte verwenden, um die Auswahl der Schwerpunkte zu steuern, aber angeben, dass fehlende Bezeichnungen mithilfe der Clusterzuweisungen ausgefüllt werden sollen. Anders ausgedrückt: Vorhandene Bezeichnungswerte werden nicht geändert, fehlende Bezeichnungen werden jedoch ausgefüllt.
Alternativ können Sie für alle Datenpunkte, die einem Cluster zugewiesen sind, auch die vorhandenen Bezeichnungen überschreiben, indem Sie eine einzelne Bezeichnung verwenden, die den Cluster am besten darstellt. Um zu verstehen, wie diese Option hilfreich ist, stellen Sie sich vor, dass Sie Bilddaten mit sehr detaillierten Bezeichnungen verwenden, z. B. verschiedene Hunderassen. Mit dieser Option können Sie alle detaillierten Bezeichnungen durch eine einzelne Kategoriebezeichnung ersetzen: "dog".
Ausgangswerte im Protokoll
Die vom Modul Train Clustering Model generierte Protokolldatei scheint anzugeben, dass der gleiche Ausgangswert für alle Iterationen des K-Means-Clusteringalgorithmus verwendet wird, unabhängig vom Ausgangswert, der in der Random Seed-Eigenschaft angegeben wurde.
Tatsächlich verwendet die Implementierung den vom Benutzer angegebenen Ausgangswert, um eine Sequenz von Zufallszahlen zu generieren, die sich bei jeder Ausführung unterscheiden. Daher ist nur ein Ausgangswert erforderlich, um alle zufällig generierten Zahlen zu erstellen.
Die Absicht des Protokolls gibt an, welcher Startwert vom Modul verwendet wird, wenn der Benutzer im Bereich Eigenschaften keinen Startwert angibt.
Erwartete Eingaben
Name | Type | BESCHREIBUNG |
---|---|---|
Untrainiertes Modell | ICluster-Schnittstelle | Untrainiertes Clusteringmodell |
Dataset | Datentabelle | Eingabedatenquelle |
Modulparameter
Name | Typ | Werte | Optional | Standard | Beschreibung |
---|---|---|---|---|---|
Metrik zum Messen des Clusteringergebnisses | Clustermetrik | Vereinfachtes 1600-Prozent-,-Bouldin-, Dunn-, Average Deviation-Verfahren | Erforderlich | Vereinfachter Mandiert | Wählen Sie die Metrik für die Bewertung von Regressionsmodellen aus |
Specify parameter sweeping mode | Sweep-Methoden | Gesamtes Raster oder zufällige Sweepung | Erforderlich | Zufalls-Sweep | Sweep durch das ganze Raster des Parameterbereichs oder Sweep mit einer begrenzten Anzahl von Testläufen |
Column Set | ColumnSelection | Erforderlich | Spaltenauswahlmuster | ||
Maximum number of runs on random sweep | Integer | [1;10000] | Nur verfügbar, wenn SweepingMode auf Random Sweep festgelegt ist | 5 | Festlegen der maximalen Anzahl von Ausführungen, die bei Verwendung des zufälligen Sweepings ausgeführt werden sollen |
Random seed (Zufälliger Ausgangswert) | Integer | Nur verfügbar, wenn SweepingMode auf Random Sweep festgelegt ist | 0 | Geben Sie einen Wert zum Seeding des Zufallszahlengenerators für random sweep an. | |
Check for Append or Uncheck for Result Only | Boolean | Erforderlich | Richtig | Wählen Sie diese Option aus, um anzugeben, dass das Ausgabedataset ein Eingabedataset mit angefügter Spalte "assignments" enthalten muss. Deaktivieren Sie diese Option, um anzugeben, dass nur die Zuweisungsspalte ausgegeben werden soll. |
Ausgaben
Name | Type | Beschreibung |
---|---|---|
Am besten trainiertes Modell | ICluster-Schnittstelle | Trainiertes Clusteringmodell |
Ergebnisdataset | Datentabelle | Eingabedataset mit angefügter Zuweisungsdatenspalte oder nur Zuweisungsspalte |
Sweep results | Datentabelle | Resultierendes Metrikprotokoll für Cluster sweep-Ausführungen |
Ausnahmen
Ausnahme | Beschreibung |
---|---|
Fehler 0003 | Eine Ausnahme tritt auf, wenn mindestens eine Eingabe NULL oder leer ist. |
Eine Liste der Fehler, die für Studio-Module (klassisch) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.
Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.
Siehe auch
K-Means-Clustering
Assign Data to Clusters (Zuweisen von Daten zu Clustern)
Machine Learning/Trainieren
Machine Learning / Modell initialisieren / Clustering