Was ist Cluster-Analyse?

Die Cluster-Analyse ist eine Datenanalysetechnik, die die natürlich vorkommenden Gruppen innerhalb eines Datensatzes untersucht, der als Cluster bezeichnet wird. Bei der Cluster-Analyse müssen Datenpunkte nicht in vordefinierte Gruppen gruppiert werden, was bedeutet, dass es sich um eine unüberwachte Lernmethode handelt. Beim unüberwachten Lernen werden Erkenntnisse aus den Daten ohne vordefinierte Bezeichnungen oder Klassen abgeleitet. Ein guter Clustering-Algorithmus gewährleistet eine hohe Ähnlichkeit innerhalb des Clusters und geringe Ähnlichkeit zwischen Clustern.

Diagramm zur Cluster-Analyse

Demo zur Cluster-Analyse
Visualisierungen / Diagramme mit Spotfire
In dieser Demo erfahren Sie, wie Spotfire die Visualisierung aller Aspekte Ihrer Daten erleichtert.

Ein Beispiel für ein Datencluster-Problem

Die Gruppierung von Einzelhandelsgeschäften anhand ihres Umsatzes ist ein einfacher Anwendungsfall der Cluster-Analyse. Angenommen, ein Café hat acht Verkaufsstellen in der Stadt. Die folgende Tabelle zeigt die Verkäufe von Cappuccino und Eiskaffee pro Tag an.

Beispiel 1 zur Cluster-Analyse

Die folgende Grafik zeigt dieselben Daten, bei denen der Verkauf von Cappuccino und Eiskaffee für jede Verkaufsstelle auf der X- bzw. Y-Achse eingetragen ist. In diesem Beispiel war es einfach, die beiden natürlich vorkommenden Cluster von Café-Verkaufsstellen in einem Diagramm darzustellen und manuell zu visualisieren, da es nur begrenzte Datenpunkte gab.

Wenn es jedoch um Tausende Datenpunkte geht, müssen Cluster-Analyse-Algorithmen verwendet werden, um die Datenpunkte in verschiedene Cluster aufzuteilen.

Beispiel 2 zur Cluster-Analyse

Was sind die Anwendungen der Cluster-Analyse?

Die Cluster-Analyse wird häufig auf zwei Arten verwendet:

  • Als eigenständiges Tool zur Lösung von Problemen im Zusammenhang mit der Datengruppierung.
  • Als Vorverarbeitungsschritt für verschiedene Algorithmen für maschinelles Lernen.

Cluster-Analyse als eigenständiges Tool

  • Marketing: Im Marketing kann die Cluster-Analyse verwendet werden, um Kunden basierend auf ihren Kaufmustern oder Interessen in verschiedene Bereiche aufzuteilen. Diese werden als Kundenpersönlichkeiten bezeichnet. Unternehmen verwenden dann unterschiedliche Marketingstrategien für verschiedene Kunden-Cluster.
  • Risikoanalyse im Finanzwesen: Finanzorganisationen verwenden verschiedene Cluster-Analyse-Algorithmen, um ihre Kunden basierend auf ihrem Bankguthaben und ihren Schulden in verschiedene Risikokategorien zu unterteilen. Bei der Genehmigung von Krediten, Versicherungen oder Kreditkarten werden diese Cluster verwendet, um die Entscheidungsfindung zu unterstützen.
  • Immobilien: Infrastrukturspezialisten nutzen Clustering, um Häuser nach Größe, Standort und Marktwert zu gruppieren. Diese Informationen werden verwendet, um das Immobilienpotenzial verschiedener Stadtteile zu bewerten.

Cluster-Analyse als Vorverarbeitungsschritt für maschinelles Lernen

Die Cluster-Analyse wird häufig als Vorverarbeitungsschritt für verschiedene Algorithmen für maschinelles Lernen verwendet.

Klassifizierungsalgorithmen führen Cluster-Analysen für einen umfangreichen Datensatz durch, um Daten herauszufiltern, die zu offensichtlichen Gruppen gehören. Erweiterte Datenklassifizierungstechniken können dann für die reduzierten, nicht offensichtlichen Datenpunkte verwendet werden. Da der Datensatz kleiner wird, wird die Rechenzeit stark reduziert. Dieselbe Methode kann in umgekehrter Weise verwendet werden, wobei ein Cluster-Analyse-Algorithmus verwendet wird, um sich auf das Wesentliche zu konzentrieren oder Ausreißerdaten zu identifizieren.

Bevor Sie einen Algorithmus für überwachtes Lernen ausführen, können Sie zunächst eine Cluster-Analyse der Eingabedaten durchführen, um die natürlichen Cluster in den Daten zu bestimmen.

Was sind die wichtigsten Cluster-Analyse-Algorithmen?

Algorithmen zur Cluster-Analyse gehören häufig zu den folgenden Kategorien:

  • Partitionsbasierte Algorithmen
  • Hierarchische Algorithmen
  • Dichtebasierte Algorithmen
  • Rasterbasierte Algorithmen
  • Modellbasierte Algorithmen
  • Einschränkungsbasiert Algorithmen
  • Algorithmen zur Ausreißeranalyse

Jeder Algorithmus ist an sich komplex und kann für einige Analysen geeignet sein und nicht für andere.

Partitionsbasierte Algorithmen für die Cluster-Analyse

Bei dieser Methode beginnt ein Algorithmus mit mehreren Anfangsclustern. Dann verlagert er die Datenpunkte iterativ auf verschiedene Cluster, bis eine optimale Partition erreicht ist. Der K-Means-Clustering-Algorithmus ist einer der beliebtesten Clustering-Algorithmen.

Ein nachfolgendes Beispiel für K-Means-Clustering zeigt, wie das funktioniert.

Beispiel 3 zur Cluster-Analyse

Schritt 1: Entscheiden Sie sich für Cluster

Entscheiden Sie sich für die Anzahl der Cluster, „K“ für den Algorithmus, z. B. K = 3. Der Algorithmus partitioniert die obigen zwölf Datenpunkte in 3 Cluster. Die Zahl K kann einen beliebigen Wert haben. Abhängig davon kann die Richtigkeit des Clusterings variieren. Es gibt auch algorithmische Methoden, mit denen der optimale Wert für K bestimmt werden kann.

Schritt 2: Wählen Sie Datenpunkte aus

Da K = 3 ist, nehmen Sie drei beliebige Datenpunkte, um anzufangen. In diesem Beispiel werden die Punkte C, D und E zum Anfang ausgewählt. Beachten Sie, dass der K-Means-Algorithmus jeden Punkt als anfänglichen Mittelwert verwenden kann.

Beispiel 4 zur Cluster-Analyse

Schritt 3: Berechnen Sie die Entfernungen

Berechnen Sie die Entfernung von jedem Punkt im Datensatz zu jedem anfänglichen Cluster-Mittelwert. Drei Cluster-Mittelwerte C, D und E wurden zufällig ausgewählt. Berechnen Sie für jeden Datenpunkt in der Stichprobe die Entfernung von diesen drei Mittelwerten. Der euklidische Abstand zwischen zwei Punkten (X1, Y1) und (X2, Y2) wird wie folgt verwendet:

Beispiel 5 zur Cluster-Analyse

Nach Schritt 3 würde eine Tabelle den Abstand jedes Datenpunkts von den Anfangsmitteln C, D und E anzeigen.

Ein Datenpunkt wird einem Cluster basierend auf seiner Mindestentfernung hinzugefügt. Beispielsweise hat Punkt A einen Mindestabstand von einem anfänglichen Mittelwert C. Das bedeutet, dass A im Cluster mit dem Mittelwert C enthalten ist. Nach dem ersten Schritt werden die Cluster erhalten.

Schritt 4: Wiederholung — Berechnung neuer Mittelwerte

Jetzt sind die ersten Cluster leicht zu erkennen. Der nächste Schritt besteht darin, drei neue Cluster-Mittelwerte zu berechnen. Dazu wird jeder Datenpunkt in einem bestimmten Cluster genommen und ein Mittelwert berechnet.

Neuer Cluster-Mittelwert für den Cluster „C“ = (5+2+6+1+4+3+6/7, 21+11+22+10+23+14+12/7) = (3,85, 16,14). Nennen wir diesen Punkt X.

Neuer Cluster-Mittelwert für den Cluster „D“ = (1+2+5/3, 6+8+4/3) = (2,66, 6). Nennen wir diesen Punkt Y.

Neuer Cluster-Mittelwert für den Cluster „E“ = (4+5/2, 10+11/2) = (4,5, 10,5). Nennen wir diesen Punkt Z.

Beispiel 6 zur Cluster-Analyse

Schritt 5: Wiederholung — Berechnet den Abstand jedes Datenpunkts von den neuen Mittelwerten

Wiederholen Sie Schritt 3, um den Abstand aller Datenpunkte von den neu berechneten Cluster-Mittelwerten X, Y und Z zu ermitteln. In dieser neuen Iteration ist leicht zu erkennen, dass sich der Mindestabstand der Datenpunkte C, D, I und L geändert hat. Sie gehören jetzt zu einem neuen Cluster, wie nachfolgend angezeigt wird.

Dann muss die K-Means-Iteration fortgesetzt werden, da einige der Datenpunkte ihre Cluster geändert haben.

Beispiel 7 zur Cluster-Analyse

Schritt 6: Wiederholung — Berechnung neuer Mittelwerte und neuer Cluster

Da die Datenpunkte C, D, I, L ihre Cluster geändert haben, müssen neue Cluster-Mittelwerte wie in Schritt 4 berechnet werden. Dazu wird jeder Datenpunkt in einem bestimmten Cluster verwendet und ein Durchschnitt berechnet. Dann wird wie in Schritt 5 die Entfernung von jedem Datenpunkt zum neuen Cluster-Mittelwert berechnet. Basierend auf der Entfernung werden die Datenpunkte einem Cluster zugewiesen, zu dem eine Mindestentfernung besteht.

Wann ist der K-Means-Algorithmus fertig?

K-Means ist ein iterativer Partitionsalgorithmus:

  • Entscheiden Sie zunächst für die Anzahl der Cluster (K). Im obigen Beispiel ist K = 3.
  • Weisen Sie zufällig die Anzahl K von Datenpunkten als anfänglichen Cluster-Mittelwert zu.
  • Wiederholen Sie die folgenden Schritte, bis kein Datenpunkt seinen Cluster ändert.
  • Berechnet die mittlere Entfernung vom Datenpunkt zum Cluster-Mittelwert.
  • Weisen Sie dem Cluster mit der niedrigsten Entfernung einen Datenpunkt zu.
  • Überprüfen Sie, ob ein Datenpunkt seinen Cluster geändert hat.

Wenn in einer neuen Iteration jeder Datenpunkt in seinem vorherigen Cluster verbleibt, wird der K-Means-Algorithmus beendet. Das bedeutet, dass sich eine lokal optimale Lösung ergeben hat.

Partitionsbasierter K-Medoids Clustering-Algorithmus

Der K-Medoids-Algorithmus ist ein weiterer partitionsbasierter Clustering-Algorithmus. Die K-Medoid-Algorithmen wählen Medoide als repräsentatives Objekt eines Clusters. Der K-Medoids-Algorithmus versucht, solche Datenpunkte zu finden, die eine minimale Unähnlichkeit zu jedem anderen Datenpunkt in einem bestimmten Cluster aufweisen. Bis die Unähnlichkeit minimiert ist, partitioniert der K-Medoid-Algorithmus den Datensatz iterativ. Der K-Means-Algorithmus verwendet häufig die quadrierte Fehlerentfernung (euklidische Entfernung), und K-Medoid-Algorithmen verwenden häufig die Absolutwert-Entfernung wie die Manhattan-Entfernung, um die Unähnlichkeit zwischen zwei Datenpunkten zu messen.

Eine Standardimplementierung des K-Medoid-Algorithmus ist der Partition Around Medoids (PAM)-Algorithmus. Hier sind die grundlegenden Schritte des PAM-Algorithmus.

  1. Wählen Sie einen Wert für K, wobei K die Anzahl der Cluster ist, in die die Datenpunkte aufgeteilt werden.
  2. Wählen Sie K-Anzahl der Datenpunkte zufällig als Medoide.
  3. Messen Sie für jeden Datenpunkt (Xi, Yi) im Datensatz die Unähnlichkeit zwischen dem Punkt und den oben ausgewählten Medoiden. Ein häufig verwendetes Maß für Unähnlichkeit ist die Manhattan-Distanz:
    • | Xi — Ci| + | Yi - Cj|, wobei (Ci, Cj) für ein Medoid steht.
  4. Jeder Datenpunkt (Xi, Yi) wird einem Cluster zugewiesen, in dem die Unähnlichkeit minimal ist.
  5. Berechnen Sie für jeden der oben genannten Cluster die Gesamtkosten — die Summe der Unähnlichkeiten der einzelnen Datenpunkte in diesem Cluster.
  6. Wählen Sie nun nach dem Zufallsprinzip einen Nicht-Medoid-Punkt als neuen Medoid aus und wiederholen Sie die Schritte 3 bis 5.
  7. Beenden Sie den Vorgang, wenn es keine Änderungen in den Clustern gibt.

Vergleich von K-Means- und K-Medoid-Algorithmen

Obwohl der K-Means-Algorithmus einfach ist, liefert er keine guten Ergebnisse, wenn die Daten viel Rauschen und Ausreißer aufweisen. Die K-Medoid-Methode ist in solchen Fällen robuster. Die K-Medoid-Algorithmen wie PAM sind jedoch nur nützlich, wenn der Datensatz klein ist. Wenn die Datensatzgröße zunimmt, erhöht sich die Rechenzeit für den K-Medoid-Algorithmus exponentiell.

Divisiver Algorithmen

Wie der Name schon sagt, weisen divisive Algorithmen am Anfang alle Datenpunkte einem einzigen Cluster zu. Anschließend wird der Cluster in Cluster unterteilt, die sich am wenigsten ähneln. Der Algorithmus teilt diese Cluster dann rekursiv auf, bis eine optimale Lösung erreicht ist. Divisive Algorithmen werden auch als Top-Down-Clustering-Verfahren bezeichnet.

Agglomerative Algorithmen

Diese Algorithmen beginnen damit, dass jeder Datenpunkt einem anderen Cluster zugewiesen wird. Dann verbindet der Algorithmus rekursiv die ähnlichsten Cluster, bis eine optimale Lösung erreicht ist. Agglomerative Algorithmen werden auch als Bottom-up-Clustering-Verfahren bezeichnet.

Beispiel für einen agglomerativen Clustering-Algorithmus

Nachfolgend finden Sie eine Entfernungsmatrix für fünf Datenpunkte. Die Entfernung zwischen den Punkten kann basierend auf der euklidischen Entfernung oder der Manhattan-Entfernung oder einer anderen Entfernungsformel berechnet werden. Die Abstandsmatrix ist immer eine symmetrische Matrix, da der Abstand zwischen den Punkten X und Y der gleiche ist wie der zwischen Y und X. Basierend auf dieser Abstandsmatrix, ein Beispiel für einen agglomerativen (Bottom-up-) Clustering-Algorithmus.

Beispiel 8 zur Cluster-Analyse

Schritt 1: Suchen Sie in der Entfernungsmatrix die beiden Punkte, deren Entfernung am kleinsten ist. Im obigen Beispiel sind es die Punkte 3 und 5. Der Abstand zwischen ihnen beträgt 2. Ordnen Sie sie in einen einzigen Cluster ein.

Schritt 2: Entfernen Sie die Punkte 3 und 5 und ersetzen Sie sie durch einen Cluster „35“ und erstellen Sie eine neue Entfernungsmatrix. Dazu muss der Abstand zwischen allen Datenpunkten und dem Cluster „35“ berechnet werden. Es gibt verschiedene Möglichkeiten, diese Entfernung zu bestimmen.

In diesem Beispiel wurde die folgende Methode verwendet, um die Entfernung zu messen:

Abstand von Punkt X vom Cluster „35“ = Minimum (Abstand (X, 3), Entfernung (X, 5)). Die aktualisierte Entfernungsmatrix, die auf dieser Methode basiert, lautet:

Beispiel 9 zur Cluster-Analyse

Schritt 3: Wiederholen Sie Schritt 2, bis alle Datenpunkte zu einem Cluster zusammengefasst wurden. Im aktuellen Beispiel sind sechs Iterationen erforderlich. Das folgende Diagramm zeigt die Bildung von Clustern an. Diese Art der Darstellung wird als Dendrogramm bezeichnet. In dieser Darstellung stellt die Y-Achse den Abstand zwischen zwei Datenpunkten dar. Der Abstand zwischen den Punkten 3 und 5 beträgt beispielsweise 2.

Beispiel 10 zur Cluster-Analyse

Schritt 4: Sobald alle Datenpunkte wie oben gezeigt einen Cluster bilden, sind, entscheiden Sie, wie viele Cluster beibehalten werden müssen. Es ist eine schwierige Entscheidung, da jeder hierarchische Clustering-Algorithmus letztendlich einen einzigen Cluster ergibt. Es stehen verschiedene Methoden zur Verfügung, um die optimale Anzahl von Clustern zu bestimmen, nachdem ein hierarchischer Clustering-Algorithmus die Daten partitioniert hat.

Dichtebasierte Clustering-Algorithmen

Diese Algorithmen beruhen auf dem Gedanken, dass Cluster immer dichter sind als ihr umgebender Datenraum. Dichtebasierte Algorithmen beginnen mit einem einzelnen Datenpunkt und untersuchen die Datenpunkte in seiner Nachbarschaft. Die Punkte in der Nachbarschaft des Anfangspunkts sind in einem einzigen Cluster enthalten. Die Definition von Nachbarschaft hängt von der Implementierung des Algorithmus ab. Dichtebasiertes räumliches Clustering von Anwendungen mit Rauschen (DBSCAN) ist ein beliebter Clustering-Algorithmus in dieser Kategorie.

Rasterbasierte Clustering-Algorithmen

Rasterbasierte Clustering-Algorithmen ähneln den dichtebasierten. Der Datenraum ist in mehrere kleinere Bereiche unterteilt, die als Raster bezeichnet werden. Jeder Datenpunkt ist einer bestimmten Rasterzelle zugewiesen. Der Algorithmus berechnet dann die Dichte jedes Rasters. Die Raster, deren Dichte unter einem Schwellenwert liegt, werden beseitigt. Anschließend bildet der Algorithmus Cluster aus benachbarten Gruppen dichter Raster. Statistisches Informationsgitter (STING) und Clustering in Quest (CLIQUE) sind zwei beliebte Raster-basierte Algorithmen.

Neben den oben diskutierten Algorithmen umfasst die Cluster-Analyse eine Gruppe von modellbasierten Clustering-, Einschränkungsbasierten Clustering- und Ausreißer-analyse-Algorithmen.

Software-Testversion zur Cluster-Analyse
Testen Sie TIBCO Spotfire - Kostenlose Testversion
Mit TIBCO Spotfire, der umfassendsten Analyse-Lösung auf dem Markt, können Sie ganz einfach neue Erkenntnisse aus Ihren Daten gewinnen.

Vor- und Nachteile von Clustering-Analyse-Algorithmen

Algorithmus Vorteile Nachteile
Partitionsbasierte Clusteranalyse-Algorithmen
  1. Einfach und skalierbar.
  2. Funktioniert gut mit Datensätzen mit kompakten und gut getrennten Clustern.
  1. Die Anzahl der Cluster muss im Voraus definiert werden.
  2. Funktioniert nicht gut mit hochdimensionalen Datenräumen.
  3. Anfällig für Rauschen und Ausreißerwerte. Nicht sehr robust.
Hierarchische Clusteranalyse-Algorithmen
  1. Cluster müssen nicht im Voraus definiert werden.
  2. Berechnet eine vollständige Hierarchie aller möglichen Cluster.
  3. Gute Visualisierungsmethoden wie ein Dendrogramm.
  1. Unklar, wann das Clustering beendet werden soll.
  2. Leistungseinbußen bei hochdimensionierten Datenräumen.
  3. Sobald die Teilung oder die Zusammenführung von Clustern abgeschlossen ist, ist es schwierig, sie zu korrigieren.
Dichtebasierte Clusteranalyse-Algorithmen
  1. Erkennt Cluster beliebiger Formen und Größen.
  2. Besserer Umgang mit Rauschen und Ausreißern in den Daten.
  3. Die Anzahl der Cluster muss nicht im Voraus angegeben werden.
  1. Wenn die Daten Cluster mit unterschiedlicher Dichte aufweisen, schlägt diese Methode möglicherweise fehl.
  2. Die Ausgabe hängt stark von der anfänglichen Einstellung der Eingabeparameter ab.
Rasterbasierte Cluster-Analyse-Algorithmen
  1. Es gibt keine Entfernungsberechnung. Daher ist der Algorithmus schnell.
  2. Der Algorithmus kann große Datenmengen verarbeiten.
  1. Die Clustergrenzen bestehen entweder aus horizontalen oder vertikalen Grenzen. Diagonale Begrenzungen sind nicht enthalten.