Grundlagen der hierarchischen Clusteranalyse

Cluster Analysis in Python

Shaumik Daityari

Business Analyst

Distanzmatrix mit linkage erstellen

scipy.cluster.hierarchy.linkage(observations, 
                                method='single', 
                                metric='euclidean', 
                                optimal_ordering=False
)
  • method: wie die Nähe von Clustern berechnet wird
  • metric: Distanzmetrik
  • optimal_ordering: Reihenfolge der Datenpunkte
Cluster Analysis in Python

Welche Methode sollte man nutzen?

  • 'single': basiert auf den zwei nächsten Objekten
  • 'complete': basiert auf den zwei entferntesten Objekten
  • 'average': basiert auf dem arithm. Mittel aller Objekte
  • 'centroid': basiert auf dem geometr. Mittel aller Objekte
  • 'median': basiert auf dem Median aller Objekte
  • 'ward': basiert auf der Quadratsumme
Cluster Analysis in Python

Clusterlabels mit fcluster erzeugen

scipy.cluster.hierarchy.fcluster(distance_matrix, 
                                 num_clusters,
                                 criterion
)
  • distance_matrix: Ausgabe von linkage()
  • num_clusters: Anzahl der Cluster
  • criterion: wie Schwellwerte zur Clusterbildung festgelegt werden
Cluster Analysis in Python

Hierarchisches Clustering mit Ward-Methode

Cluster Analysis in Python

Hierarchisches Clustering mit Single-Methode

Cluster Analysis in Python

Hierarchisches Clustering mit Complete-Methode

Cluster Analysis in Python

Abschließende Hinweise zur Methodenauswahl

  • Keine Methode passt immer
  • Verteilung der Daten genau verstehen
Cluster Analysis in Python

Lass uns üben!

Cluster Analysis in Python

Preparing Video For Download...