Bereinigungs-Clustering (Sweep)

Führt einen Parameter Sweep aus, um die optimalen Einstellungen für ein Clustering-Modell zu bestimmen.

Kategorie: Machine Learning/Train

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Dieser Inhalt bezieht sich nur auf Studio (klassisch). Ähnliche Drag & Drop-Module wurden Azure Machine Learning-Designer hinzugefügt. Weitere Informationen finden Sie in diesem Artikel zum Vergleich der beiden Versionen.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Modul Sweep Clustering in Azure Machine Learning Studio (klassisch) verwenden, um ein Modell mit einem Parameter Sweep zu trainieren. Ein Parameter Sweep ist eine Methode, mit der die besten Hyperparameter für ein Modell anhand eines Satzes von Daten ermittelt werden können.

Das Sweep Clustering -Modul wurde speziell für Clustering-Modelle entwickelt. Sie stellen ein Clusteringmodell als Eingabe und ein DataSet bereit. Das Modul durchläuft eine Reihe von Parametern, die Sie angeben, und erstellt und testet Modelle mit unterschiedlichen Parametern, bis das Modell mit dem besten Satz von Clustern gefunden wird. Die beste Konfiguration wird automatisch berechnet, und anschließend wird ein Modell mithilfe dieser Konfiguration trainiert.

Außerdem wird ein Satz von Metriken zurückgegeben, die die getesteten Modelle beschreiben, sowie eine Reihe von Cluster Zuweisungen, die auf dem besten Modell basieren.

Konfigurieren von Sweep-Clustering

  1. Fügen Sie das Modul " Sweep Clustering " zu Ihrem Experiment in Studio (klassisch) hinzu. Sie finden dieses Modul unter Machine Learning in der Kategorie Train .

  2. Fügen Sie dem Experiment das K-Means-Clustering -Modul und das Trainings Dataset hinzu, und verbinden Sie beide mit dem Sweep Clustering -Modul.

  3. Konfigurieren Sie das K-Means-Clustering -Modul so, dass ein Parameter Sweep wie folgt verwendet wird:

    1. Legen Sie den Erstellungs Modus für den Parameter Bereich fest.

    2. Verwenden Sie den Bereichs Generator (oder geben Sie mehrere Werte manuell ein) für jeden Parameter ein, um den Wertebereich für die durchlaufen festzulegen.

    3. Initialisierung für Sweep: Geben Sie an, wie der K-Means-Algorithmus die anfänglichen Cluster Schwerpunkte finden soll. Zum zufälligen initialisieren und Testen von Schwerpunkten werden mehrere Algorithmen bereitgestellt.

      Wenn das Trainings Dataset eine Bezeichnungs Spalte enthält, auch mit partiellen Werten, können Sie diese Werte für Schwerpunkte verwenden. Verwenden Sie die Option Bezeichnungs Modus zuweisen , um anzugeben, wie die Bezeichnungs Werte verwendet werden.

      Tipp

      Die Bezeichnungs Spalte muss im Voraus als solche gekennzeichnet werden. Wenn Sie einen Fehler erhalten, verwenden Sie die Edit Metadata , um die Spalte zu identifizieren, die Bezeichnungen enthält.

    4. Anzahl der zu löschenden Kerne: Geben Sie an, wie viele verschiedene zufällige startkerne beim Durchführen des Parameter Sweep versucht werden.

    5. Wählen Sie die zu verwendende Metrik beim Messen der Cluster Ähnlichkeit aus. Weitere Informationen finden Sie im Thema zum K-Means-Clustering .

    6. Iterationen: Geben Sie die Gesamtzahl der Iterationen an, die der K-Means-Algorithmus ausführen soll. Diese Iterationen werden verwendet, um die Auswahl der Cluster Schwerpunkt-IDs zu optimieren.

    7. Wenn Sie eine Bezeichnungs Spalte verwenden, um das Sweep zu initialisieren, verwenden Sie die Option Bezeichnungs Modus zuweisen , um anzugeben, wie die Werte in der Spalte Bezeichnung behandelt werden sollen.

      • Fehlende Werte ausfüllen: Wenn die Spalte "Bezeichnung" einige fehlende Werte enthält, verwenden Sie diese Option, um Kategorien basierend auf dem Cluster, dem der Datenpunkt zugewiesen ist, zuzuordnen.

      • Über Schreiben vom nächsten zu Center: generiert Bezeichnungs Werte für alle Datenpunkte, die einem Cluster zugewiesen sind. dabei wird die Bezeichnung des Punkts verwendet, der der Mitte des Clusters am nächsten liegt.

      • Bezeichnungs Spalte ignorieren: Wählen Sie diese Option aus, wenn Sie keinen der obigen Vorgänge ausführen möchten.

  4. Verwenden Sie im Modul für das Sweep-Clustering die Option für Metrik zum Messen des Clusterings, um die mathematische Methode anzugeben, die bei der Schätzung der Anpassung des trainierten Clustering-Modells verwendet werden soll:

    • Vereinfachte Silhouette: Diese Metrik erfasst die enge Datenpunkte in jedem Cluster. Sie wird als eine Kombination aus der Ähnlichkeit der einzelnen Zeilen mit Ihrem Cluster und ihrer Ähnlichkeit mit dem nächstgelegenen Cluster berechnet. Wenn der Cluster nur über eine Zeile verfügt, wird stattdessen der anteilsmäßig abgehende Abstand zum nächsten nächstgelegenen Mittelwert berechnet, um zu vermeiden, dass 0 als Ergebnis erhalten wird. "Vereinfacht" bezieht sich auf die Tatsache, dass die Entfernung zum Cluster Schwerpunkt als einfaches Ähnlichkeits Measure verwendet wird. Im Allgemeinen ist ein höheres Ergebnis besser. Der Durchschnittswert für das Dataset gibt an, wie gut die Daten gruppiert wurden. Wenn zu viele oder zu wenige Cluster vorhanden sind, verfügen einige Cluster über niedrigere silhouatenwerte als der Rest. Weitere Informationen finden Sie in diesem Wikipedia-Artikel.

    • Davies-Bouldin: Diese Metrik zielt darauf ab, die kleinste Gruppe von Clustern mit dem geringsten Punkt zu identifizieren. Da die Metrik in jedem Cluster über die Cluster Trennung als Verhältnis des Punkt Diagramms definiert ist, bedeutet ein niedrigerer Wert, dass das Clustering besser ist. Das beste Clusteringmodell minimiert diese Metrik. Zum Berechnen der Davies-Bouldin Metrik wird die durchschnittliche Zeile bis zum Schwerpunkt Abstand pro Cluster berechnet. Für jedes Cluster Paar wird die Summe dieser Durchschnittswerte durch den Abstand zwischen den Schwerpunkten dividiert. Der maximale Wert für alle anderen Cluster wird für jeden Cluster ausgewählt und über alle Cluster hinweg übermittelt. Weitere Informationen finden Sie in diesem Wikipedia-Artikel.

    • Dunn: Diese Metrik zielt darauf ab, die kleinste Menge der meisten kompakten 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 die minimale Abweichung zwischen Centroid und Centroid durch den maximalen Abstand der einzelnen Datenpunkte in das zugehörige Cluster Center aufgeteilt. Weitere Informationen finden Sie in diesem Wikipedia-Artikel.

    • Durchschnittliche Abweichung: Diese Metrik wird berechnet, indem die durchschnittliche Distanz zwischen den einzelnen Datenpunkten und dem Cluster Center untersucht wird. Der Wert wird verringert, wenn die Anzahl der Schwerpunkte zunimmt. Daher ist es beim Durchblättern nicht sinnvoll, die Anzahl von Schwerpunkten zu ermitteln. Diese Metrik wird für die Verwendung empfohlen, wenn Sie den besten Ausgangswert für die Schwerpunkt-Initialisierung auswählen.

  5. Parameterkehrmodus 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 Rechen intensiv.

    • Zufälliges Sweep: Verwenden Sie diese Option, um die Anzahl der Ausführungen einzuschränken. Das Clusteringmodell wird mit einer Kombination von Werten erstellt und ausgewertet, die nach dem Zufallsprinzip aus dem zulässigen Bereich von Parameterwerten ausgewählt werden.

  6. Maximale Anzahl von Ausführungen beim zufälligen Sweep: Legen Sie diese Option fest, wenn Sie die Option " Random Sweep " auswählen. Geben Sie einen Wert ein, um die maximale Anzahl von Iterationen beim Testen von Sätzen von zufällig ausgewählten Parametern einzuschränken.

    Warnung

    Die iterations Parameter des K-Means-Clustering -Moduls haben einen anderen Zweck und sind von dieser Einstellung nicht betroffen: Sie schränkt die Anzahl von Durchläufen der Daten ein, um Cluster zu verbessern, indem der durchschnittliche Abstand zwischen den einzelnen Datenpunkten und den zugehörigen Cluster Schwerpunkten minimiert wird. Im Gegensatz dazu werden die durch den Parameter " Sweep Clustering Module" definierten Iterationen ausgeführt, um verschiedene zufällige Initialisierungen zu testen. Dieses Minimierungs Problem ist bekanntermaßen NP-hart. Daher kann das ausprobieren mehrerer zufälliger Kerne zu besseren Ergebnissen führen.

    Wenn Sie einen zufälligen Löschvorgang auswählen, verwenden Sie die Option Random Seed , 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 Sweep zum Erstellen eines Clusteringmodells besteht darin, dass Sie problemlos mehrere Ausgangswerte testen können, um die bekannte Empfindlichkeit der Clustering-Modelle bis zum anfänglichen Ausgangswert zu verringern.

  7. Klicken Sie auf Spalten Satz, und wählen Sie die Spalten aus, die bei der Cluster Erstellung verwendet werden sollen. Standardmäßig werden alle Merkmals Spalten zum entwickeln und Testen des Clusteringmodells verwendet.

    Sie können eine Bezeichnungs Spalte einschließen, falls Sie in Ihrem DataSet vorhanden ist. Wenn eine Bezeichnung vorhanden ist, können Sie Sie verwenden, um die Auswahl von Schwerpunkten zu steuern, die Bezeichnung als Feature zu verwenden oder die Bezeichnung zu ignorieren. Legen Sie diese Optionen für die Bezeichnung fest, die das kmeans-Clustering -Modul behandelt, wie in Schritt 3 oben beschrieben.

  8. Überprüfen Sie, ob das Ergebnis nur angefügt werden soll, oder deaktivieren 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 mit den Ergebnissen zurück. Wenn Sie diese Option deaktivieren. nur die Cluster Zuweisungen werden zurückgegeben.

  9. Fügen Sie Ihrem Experiment das Modul zum Zuweisen von Daten zu Clustern hinzu.

  10. Verbinden Sie die Ausgabe mit der Bezeichnung am besten trainierten Modell mit dem trainierten Modell Input of assign Data to Clusters.

  11. Fügen Sie das für die Auswertung vorgesehene Dataset hinzu, und verbinden Sie es mit dem datasetport des Moduls " Daten zu Clustern zuweisen ".

  12. Fügen Sie das Modul evaluieren von Model hinzu, und verbinden Sie es mit dem Zuweisen von Daten zu Clustern. Optional können Sie eine Verbindung mit einem Auswertungs DataSet herstellen.

  13. Führen Sie das Experiment aus.

Ergebnisse

Das Sweep Clustering -Modul gibt drei verschiedene Ergebnisse aus:

  • Bestes 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 aufzuzeichnen und zur Bewertung zu verwenden

  • Ergebnis DataSet. Ein Satz von Cluster Zuweisungen, basierend auf dem optimierten Modell.

    Spaltenname BESCHREIBUNG
    Zuweisungen Dieser Wert gibt den Cluster an, dem die einzelnen Datenpunkte zugewiesen wurden. Die Cluster im trainierten Modell werden mit 0-basierten Indizes bezeichnet.
    Distancestoclustercenter Nr. 1

    Distancestoclustercenter Nein. n
    Dieser Wert gibt an, wie nah der Datenpunkt in der Mitte der einzelnen Cluster ist.

    Für jeden Cluster, der im optimierten Modell erstellt wurde, wird eine Spalte erstellt.

    Sie können die Anzahl der Cluster einschränken, indem Sie die Option Anzahl von Schwerpunkten verwenden.

    Standardmäßig können Sie die Spalten aus dem Trainings Dataset zusammen mit den Ergebnissen zurückgeben, um die Überprüfung und Interpretation der Cluster Zuweisungen zu vereinfachen.

  • Sweep-Ergebnisse. Ein DataSet mit den folgenden Auswertungs Metriken für die Cluster:

    Spaltenname BESCHREIBUNG
    Cluster Metrik Ein-Wert, der die durchschnittliche Cluster Qualität für diesen Testlauf angibt. Die Ausführungen werden nach dem besten Ergebnis geordnet.
    Anzahl der Schwerpunkte Die Anzahl der Cluster, die in dieser bestimmten Iterationen des Sweep-Vorgangs erstellt wurden.
    Index der Testlauf Ein Bezeichner für jede Iterationen

    Tipp

    Die Werte, die für die Cluster Metrik zurückgegeben werden, sollten unterschiedlich interpretiert werden, je nachdem, welche Metrik Sie beim Einrichten des Sweep ausgewählt haben. Für die Standard Metrik, vereinfachte Silhouette, ist ein höheres Ergebnis besser. Für Davies-Bouldin ist ein niedrigeres Ergebnis besser.

Beispiele

Beispiele für ein Parameter-Sweep mit K-Means-Clustering finden Sie im Azure AI Gallery:

Technische Hinweise

Dieser Abschnitt enthält Tipps und Implementierungsdetails.

Optimieren von Clustering-Modellen

Die Qualität und Genauigkeit von Clustering-Modellen kann stark von der Auswahl der anfänglichen Parameter beeinflusst werden, wie z. b. der Anzahl der Schwerpunkte und dem Startwert, der zum Initialisieren des Clusters verwendet wird. Um diese Vertraulichkeit der anfänglichen Parameter zu verringern, hilft Ihnen das Sweep Clustering -Modul bei der Suche nach der optimalen Kombination von Parametern. Sie geben einen zu testenden Bereich von Parametern an, und das Modul erstellt und testet automatisch mehrere Modelle und wählt schließlich die optimale Anzahl von Clustern aus.

Um einen Parameter Sweep zu erstellen, müssen Sie auch das K-Means-Clustering -Modul so konfigurieren, dass ein Parameter Sweep verwendet wird. Sie können angeben, dass das Sweep alle möglichen Kombinationen von Parametern durchläuft, 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 erbauens und Testens von iterativen Modellen zu messen. Nachdem die angegebene Anzahl von Iterationen abgeschlossen ist, wählt das Modul die beste Anzahl von Clustern basierend auf der ausgewählten Metrik aus und gibt Berichte aus, die Sie zur Bewertung der Ergebnisse verwenden können.

Verwendungstipps

  • In einigen Fällen wissen Sie möglicherweise bereits, wie viele Cluster Sie erwarten. Ihre Daten können z. b. Klassen Bezeichnungen aufweisen, die bei der Auswahl der Schwerpunkte verwendet werden können. In diesem Fall können Sie das K-Means-Clustering -Modul so konfigurieren, dass die Spalte Bezeichnung verwendet wird, 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 von Schwerpunkten auf eine Zahl fest, die größer als die Anzahl der bekannten Bezeichnungs Werte 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 Spalte "Bezeichnung"

Es gibt mehrere Möglichkeiten, fehlende Werte in der Label-Spalte zu behandeln. Nehmen Sie beispielsweise an, dass Sie eine Bild Klassifizierungs Aufgabe haben und nur einige der Bilder mit der Bezeichnung versehen wurden.

Mithilfe der Spalte Bezeichnung können Sie die Auswahl der Schwerpunkte steuern, aber angeben, dass fehlende Bezeichnungen mithilfe der Cluster Zuweisungen ausgefüllt werden. Mit anderen Worten, vorhandene Bezeichnungs Werte 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 repräsentiert. Um zu verstehen, wie diese Option hilfreich ist, stellen Sie sich vor, dass Sie Bilddaten mit sehr detaillierten Bezeichnungen, z. b. unterschiedlichen Hunderassen, verwenden. Mit dieser Option können Sie alle detaillierten Bezeichnungen durch eine einzelne Kategoriebezeichnung "Dog" ersetzen.

Seed-Werte im Protokoll

Die Protokolldatei, die vom Modul Train Clustering Model generiert wird, weist darauf hin, dass derselbe Ausgangswert für alle Iterationen des K-Means-Clustering-Algorithmus verwendet wird, unabhängig vom Ausgangswert, der in der zufälligen Seed -Eigenschaft angegeben wurde.

Tatsächlich verwendet die-Implementierung den vom Benutzer bereitgestellten Seed, um eine Sequenz von Zufallszahlen zu generieren, die bei jeder Ausführung unterschiedlich sind. Daher ist nur ein Ausgangswert erforderlich, um alle zufällig generierten Zahlen zu erstellen.

Die Absicht des Protokolls gibt an, welcher Ausgangswert vom Modul verwendet wird, wenn der Benutzer im Eigenschaften Bereich keinen Ausgangswert angibt.

Erwartete Eingaben

Name Typ BESCHREIBUNG
Untrainiertes Modell ICluster-Schnittstelle Untrainiertes Clusteringmodell
Dataset Datentabelle Eingabedatenquelle

Modulparameter

Name Typ Werte Optional Standard BESCHREIBUNG
Metrik zum Messen des Clustering-Ergebnisses Cluster Metrik Vereinfachte Silhouette, Davies-Bouldin, Dunn, durchschnittliche Abweichung Erforderlich Vereinfachte Silhouette Wählen Sie die Metrik für die Bewertung von Regressionsmodellen aus
Specify parameter sweeping mode Sweep-Methoden Ganzer Raster oder zufälliger Sweep 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 von Random Sweep 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 an, um den Zufallszahlengenerator für Zufalls-Sweep zu erstellen.
Check for Append or Uncheck for Result Only Boolean Erforderlich Richtig Wählen Sie diese Option aus, um anzugeben, dass das Ausgabe DataSet Eingabe DataSet mit angefügter Zuweisungs Spalte Deaktivieren Sie diese Option, um anzugeben, dass nur die Zuweisungs Spalte ausgegeben werden soll.

Ausgaben

Name Typ BESCHREIBUNG
Bestes trainiertes Modell ICluster-Schnittstelle Trainiertes Clusteringmodell
Ergebnisdataset Datentabelle Eingabedataset mit angefügter Zuweisungsdatenspalte oder nur Zuweisungsspalte
Sweep results Datentabelle Resultierende metrikprotokoll für clustersweep-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-Fehler Codes.

Weitere Informationen

K-Means-Clustering
Zuweisen von Daten zu Clustern
Machine Learning/trainieren
Machine Learning / Modell initialisieren / Clustering