Clustering von Daten

Konzept-Informationen

CLUSTER-Befehl

Durch Clustering werden Datensätze einer Tabelle auf Basis ähnlicher Werte in einem oder mehreren Schlüsselfeldern gruppiert. Ähnliche Werte sind Werte, die im Kontext des gesamten Datasets dicht aneinander liegen oder ähnlich sind. Diese ähnlichen Werte bilden Cluster, die nach ihrer Entdeckung Muster innerhalb der Daten zeigen.

Hinweis

Wenn Sie Clustering regelmäßig in Ihrem Analyseprogramm verwenden möchten, empfehlen wir Ihnen in der Diligent Akademie den Kurs Finden von Datengruppen mit dem CLUSTER-Befehl in Analytics (ACL 361) (hierfür ist eine Kundenanmeldung notwendig).

Unterschied von Clustering gegenüber anderen Analytics-Gruppierungsbefehlen:

Das Clustering unterscheidet sich von anderen Analytics-Gruppierungsbefehlen wie folgt:

  • Für das Clustering ist keine Gruppierung auf Basis vorher bestehender Datenkategorien notwendig (wie Transaktionstyp oder Händlerkategoriecode) oder auf Basis vordefinierter Schichten mit festen numerischen Begrenzungen. Stattdessen werden Daten durch Clustering anhand ähnlicher numerischer Werte innerhalb der Daten selbst gruppiert, also Werte, die dicht aneinander liegen.
  • Clustering auf Basis mehrerer Felder gibt Ergebnisse aus, die nicht verschachtelt (nicht hierarchisch) sind.

Auswahl der Felder für das Clustering

Das Clustering von Daten ermöglicht Ihnen, organische Gruppierungen in Daten zu entdecken, die Sie sonst möglicherweise nicht kennen würden. Insbesondere Cluster auf Basis mehrerer numerischer Felder (mehrdimensionale Cluster) wären ohne maschinelles Lernen nur schwer zu erkennen. In diesem Sinne ist Clustering eine Untersuchungsmethode und ein Beispiel für ein nicht überwachtes maschinelles Lernen.

Damit die Ausgabe-Cluster sinnvoll sind, muss eine aussagekräftige Beziehung zwischen den Feldern bestehen, die Sie für das Clustering auswählen.

Clustering eines einzelnen Felds

Das Clustering eines einzelnen Felds ist recht einfach. Sie konzentrieren sich auf eine einzelne Datenmenge, und durch das Clustering werden die Werte auf Basis ihrer Nähe gruppiert. Sie können beispielsweise Cluster für ein Betragsfeld erstellen, um herauszufinden, auf welchen Wertebereich sich die Beträge konzentrieren.

Der Vorteil von Clustering gegenüber einem traditionellen Ansatz wie der Schichtung besteht darin, dass Sie zuvor keine Annahmen treffen müssen, wo sich die Konzentration befindet. Sie müssen auch keine willkürlichen numerischen Grenzen erstellen. Durch das Clustering werden die Begrenzungen für eine beliebige Anzahl von Clustern automatisch ermittelt.

Cluster mit mehreren Feldern

Wenn Sie Cluster für zwei oder mehrere Felder erstellen, müssen Sie sich fragen, welche Beziehung die Felder aufweisen könnten. Sie könnten Clustering nutzen, um eine Hypothese zu testen. Beispielsweise könnte ein Unternehmen über seine Mitarbeiterfluktuation besorgt sein. Möglicherweise denkt die Unternehmensleitung, dass sich die Fluktuation auf jüngere Mitarbeiter mit geringerem Gehalt konzentriert.

Sie könnten Clustering nun verwenden, um herauszufinden, ob eine starke Beziehung besteht zwischen:

  • Dauer der Mitarbeiterbindung und Alter des Mitarbeiters (zweidimensionales Clustering)
  • Dauer der Mitarbeiterbindung, Alter des Mitarbeiters und Gehalt (dreidimensionales Clustering)

Hinweis

Für diese Analyse müssen Sie alle Felder meiden, die keine klare Beziehung zur Hypothese aufweisen, wie beispielsweise die Anzahl der Krankheitstage.

Bewertung der Ausgabe-Cluster

Der Clustering-Algorithmus gibt stets eine Tabelle mit der angegebenen Anzahl von Clustern aus. Jeder Datensatz in der Ausgabetabelle wird sich in einem Cluster befinden.

Sie müssen nun beurteilen, ob die Cluster eine analytische Bedeutung aufweisen. Dass der Algorithmus Datensätze in einem Cluster gruppiert, bedeutet nicht unbedingt, dass die Gruppierung wesentlich ist. Sie müssen sich fragen, ob die Cluster ein wesentliches Muster ergeben. Sagen sie etwas aus?

Tipp

Eine Darstellung der Cluster-Ausgabetabelle als Streudiagramm in einem Berichterstellungstool mit einer unterschiedlichen Farbe pro Cluster ist die einfachste Möglichkeit, um die Ausgabe-Cluster insgesamt rasch zu beurteilen.

Die folgenden Eigenschaften können Ihnen dabei helfen, die Aussagekraft von Ausgabe-Clustern zu bewerten:

  • Clusterkohärenz Befinden sich die einzelnen Werte eines Clusters alle recht dicht am Schwerpunkt oder ist der Cluster etwas diffuser? Je kohärenter ein Cluster ist, umso stärker ist die Beziehung zwischen den Werten des Clusters.
  • Clustergröße Befinden sich die Werte überwiegend in einem oder zwei großen Clustern? In diesem Fall ist das Dataset stark verzerrt, wenn man es mit einem Dataset vergleicht, in dem die Werte relativ gleichmäßig auf eine Reihe von Clustern verteilt sind.
  • Ausreißer Betrachten Sie die Werte, die sich einer Aufnahme in die wesentlichen Cluster widersetzen. Bei diesen Ausreißern kann es sich um Elemente handeln, die eine besondere Sorgfalt rechtfertigen. Achten Sie auch auf „interne Ausreißer“, also Werte, die sich in einem wesentlichen Cluster befinden, aber äußere Extremwerte des Clusters darstellen.

Hinweis

Die oben dargestellten Eigenschaften sind menschliche oder subjektive Methoden der Clusterbewertung. Es gibt auch zahlreiche mathematische Methoden der Clusterauswertung, die jedoch den Rahmen der Analytics-Hilfe sprengen würden.

Funktionsweise des Clustering-Algorithmus

In Analytics wird Clustering durch den K-Means-Clustering-Algorithmus realisiert, der ein beliebter Algorithmus für maschinelles Lernen ist. Detaillierte Beschreibungen von K-Means-Clustering finden Sie im Internet.

Es folgt eine Zusammenfassung des Algorithmus.

Anzahl der Cluster wählen (K-Wert)

Um die optimale Anzahl von Clustern für ein Clustering von Daten herauszufinden, sind unter Umständen einige Tests und Experimente notwendig. Eine genaue Antwort gibt es für kein Dataset.

Kann ich Cluster für Zeichen- oder Datumzeit-Felder erstellen?

Im Allgemeinen können Sie für Zeichen- oder Datumzeit-Felder keine Cluster erstellen. Der Clustering-Algorithmus nimmt nur Zahlen entgegen und führt Berechnungen mit Zahlen durch (euklidischer Abstand, Mittelwert).

Schritte

Hinweis

Wenn die Menüoptionen für maschinelles Lernen deaktiviert sind, ist die Python Engine wahrscheinlich nicht installiert. Weitere Informationen finden Sie unter Installieren Sie ACL für Windows.

Einstellungen für den Clustering-Algorithmus festlegen

  1. Öffnen Sie die Tabelle mit den Daten, für die Sie Cluster erstellen möchten.
  2. Wählen Sie aus dem Analytics-Hauptmenü Maschinelles Lernen > Cluster.
  3. Unter Anzahl der Cluster (K-Wert) geben Sie die Anzahl der Cluster an, die für die Gruppierung der Daten verwendet werden sollen.
  4. In Maximale Anzahl Iterationen geben Sie eine Obergrenze für die Anzahl der Iterationen an, die der Clustering-Algorithmus durchführen soll.
  5. In Anzahl Initialisierungen legen Sie fest, wie oft eine erste Menge zufälliger Schwerpunkte erstellt werden soll.
  6. Optional. Wählen Sie Grundwert und geben Sie eine Zahl ein.

Methode zur Datenvorverarbeitung festlegen

Wenn Sie Cluster für mehr als ein Schlüsselfeld erstellen, sollten Sie die Funktion Vorverarbeitung nutzen. Dadurch standardisieren Sie die Skalierung der Felder vor dem Clustering.

Die Skalierung und die Einheiten unterschiedlicher numerischer Felder weichen oft ab. Ein Gehaltsfeld, das Gehälter in Dollar pro Jahr angibt, könnte beispielsweise von 20.000 bis 100.000 reichen, während ein Altersfeld in Jahren die Werte 18 bis 70 aufweisen könnte. Wenn Sie nun Clustering mit den Gehalts- und Altersfeldern ohne eine Skalierung durchführen, werden die Ausgabe-Cluster im Wesentlichen Gehaltscluster sein und keine Gehalts-/Alterscluster. Dabei findet eine Verzerrung statt, weil die Gehaltszahlen größer als die Alterswerte sind.

Durch eine Vorverarbeitung werden alle Werte in allen Schlüsselfeldern des Clustering mit den unten erläuterten Methoden skaliert, damit sie im Rahmen des Clusteringprozesses gleich gewichtet werden.

Option „Vorverarbeitung“ Beschreibung
Standardisieren

Schlüsselfeldwerte werden rund um einen Mittelwert von null (0) zentriert und skaliert. Durch diesen Prozess werden die Werte auf ihren entsprechenden z-Wert konvertiert (Standardpunktzahl).

Der z-Wert ist eine Maßzahl für die Anzahl der Standardabweichungen, die in jedem Feld den Rohwert vom Rohmittelwert trennen. Im skalierten Feld ist der Mittelwert eine null (0). Die z-Werte sind positiv, falls ihre entsprechenden Rohwerte größer als der Rohmittelwert des Felds sind bzw. negativ, falls diese unter dem Rohmittelwert liegen.

Hinweis

Verwenden Sie diese Option, wenn die Schlüsselfelder überwiegend keine Nullwerte enthalten („dichte Matrizen“).

Skala an Varianz der Einheit anpassen

Schlüsselfeldwerte werden skaliert, indem sie durch ihre Standardabweichung geteilt werden. Sie werden jedoch nicht rund um einen Mittelwert von null (0) zentriert.

Hinweis

Verwenden Sie diese Option, falls ein oder mehrere Schlüsselfelder eine große Anzahl von Nullwerten (0) enthalten („dünnbesetzte Matrizen“).

Keine Schlüsselfeldwerte werden nicht zentriert und nicht skaliert. Das Clustering verwendet zur Berechnung der Cluster die nicht zentrierten und nicht skalierten Rohwerte.

Felder auswählen

  1. Wählen Sie aus der Liste Cluster für ein oder mehrere Schlüsselfelder für das Clustering der Datensätze in der Tabelle aus.

    Schlüsselfelder müssen numerisch sein.

  2. Optional. Aus der Liste Andere Datenfelder wählen Sie ein oder mehrere zusätzliche Felder aus, die in die Ausgabetabelle aufgenommen werden sollen.

Tipp

Sie können mehrere, nicht angrenzende Felder auswählen, indem Sie die Steuerungstaste gedrückt halten und auf die betreffenden Felder klicken. Halten Sie die Umschalttaste gedrückt, und klicken Sie auf angrenzende Felder, um diese auszuwählen.

Befehlseingaben abschließen

  1. Falls Einträge in der aktuellen Ansicht vorhanden sind, die Sie von der Verarbeitung ausschließen wollen, dann tragen Sie eine Bedingung in das Textfeld Wenn ein oder klicken Sie auf Wenn, um mittels Ausdruck-Generator eine IF-Anweisung zu erstellen.

    Hinweis

    Die Wenn-Bedingung wird nur für Datensätze ausgewertet, die nach Anwendung von Bereichsoptionen (Erste, Nächste, Solange) in einer Tabelle übrig sind.

    Die IF-Anweisung berücksichtigt alle Datensätze in der Ansicht und filtert diejenigen heraus, die der angegebenen Bedingung nicht entsprechen.

  2. Geben Sie im Textfeld Nach den Namen der Ausgabetabelle ein.
  3. Optional. Auf der Registerkarte Weiter:
    1. Um festzulegen, dass lediglich eine Teilmenge der Datensätze verarbeitet wird, wählen Sie eine der Optionen unter Bereich aus.
    2. Wählen Sie die Option Ausgabetabelle verwenden, wenn die Ausgabetabelle automatisch geöffnet werden soll.
  4. Klicken Sie auf OK.