Florian Löwenstein www.eoda.de 1
Übersicht Hypothesenfreies Verfahren Gehört zur Familie der Data-Mining-Techniken Ganze Verfahrensfamilie Ziel: Informationsreduktion und damit verbunden Abstraktion Typische Probleme: Sehr rechenintensiv Auswahl der Attribute nicht eindeutig www.eoda.de 2
Übersicht Clusterverfahren Anzahl Klassen unbekannt / Hierarchische Verfahren Anzahl von Klassen bekannt Agglomerative Verfahren Dichtebasierte Verfahren Divisive Verfahren k-means Linkage Verfahren Varianzbasierte Verfahren Single-Linkage / Nearest Neighbour Complete-Linkage/Farthest Neighbour Average-Linkage Ward-Methode DIANA Classical k-means PAM (Partitioning around Medoids) Fuzzy C-Means DB-SCAN OPTICS www.eoda.de 3
Anwendungsbeispiele http://scikit-learn.org/stable/modules/clustering.html www.eoda.de 4
Schritte der Standardisieren Skalenniveaus anpassen Proximitätsmaße i.d.r. Distanzmatrix bei metrischen Variablen Ähnlichkeitsmatrix bei kategorialen bzw. dichotomen Variablen Fusionslogik Auswahl der Algorithmen, nach welchen Cluster / Gruppen zusammengeführt werden Abbruchkriterium Kritische Fusionsdistanz wählen bzw. Anzahl der Cluster bestimmen ( Dendrogramm) Interpretation Charakteristika der Cluster finden Interpretation der Charakteristika www.eoda.de 5
Voraussetzung Je nach Datentyp der Inputvariablen werden unterschiedliche Distanzmaße verwendet Bei einem metrischen Datenniveau können unmittelbar Distanzen ermittelt werden. Bei Binärdaten werden zunächst Ähnlichkeiten berechnet, deren Kehrwert schließlich in die Fusion eingeht. Bei unterschiedlichen Datenniveaus haben sich zwei Vorgehensweisen herauskristallisiert: Berechnung von Distanzen getrennt nach Datenniveau und Verrechnung beider Matrizen (ggf. gewichtet) Überführen der metrischen Variablen in dichotome Variablen und Rückgriff auf Verfahren für Binärdaten. www.eoda.de 6
Proximitätsmaße (metrische Inputsignale) Manhattan-Metrik (City-Block-Metrik) Einfache Differenz der Einzelvariablen (Quadrierte) Euklidische Distanz Quadrierte Differenz der Inputvariablen. Durch die Quadrierung fallen größere Differenzen stärker ins Gewicht. Bei unterschiedlichem Variablenniveau ist Standardisierung erforderlich. Q-Korrelationskoeffizient Errechnet sich aus den Korrelationen der Objekte unter Berücksichtigung aller Eigenschaften zueinander. Eignet sich insbesondere zur Profilbildung. www.eoda.de 7
Proximitätsmaße (binäre Inputsignale) Tanimoto-Koeffizient (Jaquard-Koeffizient) Distanzberechnung anhand von Elementen, die gemeinsam vorhanden sind und in denen sie sich unterscheiden. Russel & Rao-Koeffizient (R&R-Koeffizient) Distanzberechnung anhand von Elementen, die gemeinsam vorhanden sind und in denen sie sich unterscheiden. Der gemeinsame Nichtbesitz von Eigenschaften geht in den Nenner. M-Koeffizient Der M-Koeffizient zieht den gemeinsamen Nichtbesitz von Eigenschaften ebenfalls mit in Betracht. www.eoda.de 8
Proximitätsmaße (binäre Inputsignale) Tanimoto-Koeffizient: Russel & Rao: M-Koeffizient: a a+b+c+d a+d a+b+c+d a a+b+c Objekt 2 1 0 Rowsum 1 = Eigenschaft vorhanden 0 = Eigenschaft nicht vorhanden Objekt 1 1 a c a+c 0 b d b+d Colsum a+b c+d m Sowohl für die Proximitätsmaße für metrische als auch für binäre Inputsignale gilt, nach Anwendungsfall bzw. Ziel das geeignetste Maß zu wählen. www.eoda.de 9
Ablauf Fusionierung partitionierende Verfahren 1. Start Vorgabe der Anfangspartition 2. Berechnung der arithmetischen Mittel für Gruppeneigenschaften 3. Ermittlung der Fehlerquadratsumme 4. Untersuchung der Auswirkungen einer Objektverlagerung 5. Verminderung der Fehlerquadratsumme? Ja weiter mit 6. Nein Alle Objekte untersucht? Ja Ende Nein weiter mit 4. 6. Verlagerung des Objektes 7. Berechnung neuer Mittelwerte der empfangenen und abgebenden Gruppe www.eoda.de 10
Ablauf Fusionierung agglomerative Verfahren 1. Start mit der kleinsten Partition (jedes Objekt eine Partition) 2. Berechnung der Ausgangsdistanzmatrix 3. Suche nach den beiden Partitionen mit der geringsten Distanz 4. Zusammenfassung der ähnlichsten Partitionen zu einer Partition 5. Berechnung neuer Abstände und Veränderung der Distanzmatrix 6. Alle Untersuchungsobjekte in einer Partition? Ja Ende Nein weiter mit 4. www.eoda.de 11
Eigenschaften agglomerativer Verfahren Verfahren Eigenschaften Monoton Proximitätsmaße Bemerkung Single Linkage Kontrahierend Ja Alle Neigt zur Kettenbildung Complete Linkage Dilatierend Ja Alle Neigt zu kleinen Gruppen Average Linkage Konservativ Ja Alle - Zentroid Konservativ Nein Distanzmaße - Median Konservativ Nein Distanzmaße - Ward Konservativ Ja Distanzmaße Bildet etwa gleich große Gruppen www.eoda.de 12
Agglomerative Verfahren Auswahl Clusterlösung Mit Hilfe eines sog. Dendrogramms kann die Anzahl der zu bildenden Cluster bestimmt werden. Die Anzahl der Schnittpunkte, die eine in das Plot gelegte, horizontale Linie bildet, definiert die Anzahl der Cluster. 3er Cluster-Lösung www.eoda.de 13
Hierarchische Ablauf in R Berechnung der Distanzen via des Befehls dist. Mit dem Parameter method kann das Distanzmaß bestimmt werden. Die Fusionierung wird mit dem Befehl hclust vorgenommen. Auch hier bestimmt der Parameter method die Methode. Mit einem einfachen plot-befehl wird ein Dendrogramm erzeugt. Möchte man eine Clusterlösung visualisieren, benutzt man am besten den Befehl rect.clust(), dabei bestimmt der Parameter k die Anzahl der Gruppen. Via cutree kann die Gruppenzugehörigkeit als Vektor extrahiert werden. Auch cutree benutzt k als Steuerung der Gruppenanzahl. > distmat <- dist(trees_scaled, method = "euclidean") > clust_ward <- hclust(distmat, method = "ward.d2") > plot(clust_ward) > rect.hclust(clust_ward, k = 3) > cutree(clust_ward, k = 3) www.eoda.de 14
Partitionierende Clusterverfahren kmeans Anders als bei hierarchischen Verfahren gehen partitionierende Verfahren davon aus, dass die Gruppenanzahl vor der Analyse bereits bekannt ist. Anstatt immer mehr einzelne Objekte zu Clustern hinzuzufügen, tauschen diese die einzelnen zu gruppierenden Objekte so lange zwischen den Gruppen aus, bis ein Optimierungskriterium erfüllt ist. Das bekannteste partitionierende Clusterverfahren ist eine Clusterzentrenanalyse bzw. besser bekannt als kmeans (-). Beim kmeans-verfahren ist dies der quadrierte euklidische Abstand der Objekte zu ihrem nächsten Clusterzentrum. Andere Verfahren benutzen beispielsweise anstatt des Mittelwertes den Median (k-median) oder die Abstände der Clusterzentren (PAM) zueinander. www.eoda.de 15
kmeans Ablauf in R Mit dem Befehl kmeans aus dem Paket stats lässt sich die kmeans- aufrufen. Der wichtigste Parameter ist center darüber lässt sich die Anzahl der zu bildenden Cluster angeben. Alternativ kann auch eine Matrix mit Clusterzentren übergeben werden, die möglichst erreicht werden soll. > kmeans(trees_scaled, center = 3) > > kmeans(trees_scaled, center = matrix( )) www.eoda.de 16
Dichtebasierte Clusterverfahren Um Cluster mit unregelmäßigen Formen aufzudecken bzw. darzustellen, eignen sich insbesondere dichtebasierte Clusterverfahren. Die Grundidee dahinter ist, dass Objekte, die dicht beieinander liegen, ein Cluster bilden. Getrennt werden sie durch Gebiete, in denen die Objekte weniger dicht beieinander liegen. Das bekannteste dichtebasierte Verfahren ist DBSCAN (Density-Based Clustering of Applications with Noise). Zwei Objekte sind dichteverbunden, wenn es eine Kette von dichten Objekten (Kernobjekten) gibt, die diese Objekte miteinander verbindet. Die durch die selben Kernobjekte verbundenen Objekte bilden ein Cluster. www.eoda.de 17
DBSCAN In DBSCAN werden drei Arten von Punkten unterschieden: Kernobjekte (A) sind selbst dicht erreichbar Dichte-erreichbare Objekte (B) sind Objekte eines Clusters, die dichteerreichbar sind, selbst aber nicht dicht, d.h. sie bilden den Rand eines Clusters Rauschpunkte (N) sind weder dicht noch dichte-erreichbar. Der DBSCAN-Algorithmus verfügt dabei über 2 Parameter: ε Nachbarschaftslänge eines Punktes minpts gibt an, wann ein Kernobjekt dicht ist, also wenn es mind. minpts ε-erreichbare Nachbarn hat. www.eoda.de 18
DBSCAN Ablauf in R Der DBSCAN-Algorithmus ist im Paket fpc enthalten und über die Funktion dbscan aufrufbar. Der Befehl kann dabei sowohl mit den Rohdaten als auch mit Distanzmatrizen umgehen. Kontrollieren lässt sich dies über den Parameter method. Ansonsten lassen sich die beiden wichtigsten Parameter des Algorithmus per eps und MinPts steuern. Der Befehl dbscan liefert als Rückgabeobjekt eine Liste mit den Komponenten cluster, issed,eps und MinPts. Dabei gibt cluster die Clusterzugehörigkeit an; der Wert 0 entspricht dabei der Gruppe der Rauschpunkte. issed ist ein logischer Vektor, der angibt, ob ein Objekt ein Kernobjekt ist. > dbscan(data = trees_scaled, eps = 1, MinPts = 3) www.eoda.de 19
Die Data Science Spezialisten. eoda GmbH Universitätsplatz 12 34127 Kassel www.eoda.de info@eoda.de +49 561 202724-40 @eodagmbh @eodagmbh blog.eoda.de eodagmbh www.eoda.de 20