Was ist hierarchisches Clustering?

Autoren

Joshua Noble

Data Scientist

Was ist hierarchisches Clustering?

Hierarchisches Clustering ist ein unüberwachter Algorithmus des maschinellen Lernens, der Daten in einer Struktur aus verschachtelten Clustern gruppiert. Die zwei Haupttypen nennen sich „agglomerativ“ und „spaltend“. Die hierarchische Clusteranalyse hilft dabei, Muster und Verbindungen in Datensätzen zu finden. Die Ergebnisse werden in einem Dendrogramm-Diagramm dargestellt, das die Abstandsbeziehungen zwischen den Clustern zeigt.

Clustering ist eine unbeaufsichtigte Technik des maschinellen Lernens, die bei der Datenanalyse verwendet wird, um ähnliche Objekte zu erkennen und zu gruppieren. Die hierarchische Clusteranalyse (HCA) oder hierarchisches Clustering gruppiert Objekte in einer Clusterhierarchie, ohne eine lineare Reihenfolge zwischen ihnen zu erzwingen. Viele Disziplinen wie Biologie, Bildanalyse und Sozialwissenschaften verwenden hierarchische Clustering-Methoden, um Muster in Datensätzen zu ermitteln und zu erkennen. Zu den Anwendungsfällen gehören die Kategorisierung von Bevölkerungen in der klinischen Forschung, die Kundensegmentierung und die Erkennung von Knotengemeinschaften in Netzwerkmodellen.

Es gibt zwei Arten von hierarchischem Clustering:

- Agglomerativer oder Bottom-Up-Ansatz1, bei dem Cluster immer wieder zu größeren zusammengeführt werden, bis ein einziger Cluster entsteht.

- Spaltender oder Top-Down-Ansatz, dermit allen Daten in einem einzelnen Cluster beginnt und Cluster weiter aufteilt, bis alle Cluster Singletons sind.

Hierarchische Clusteranalysen haben hohe Rechenkosten. Die Verwendung eines Heaps kann zwar die Rechenzeit reduzieren, aber die Speicheranforderungen werden erhöht. Sowohl die spaltende als auch die agglomerative Art des Clusterings sind „greedy“, was bedeutet, dass der Algorithmus entscheidet, welche Cluster zusammenzuführen oder aufzuteilen sind, indem er in jeder Phase des Prozesses die lokal optimale Wahl trifft. Es ist auch möglich, Stoppkriterien anzuwenden, bei denen der Algorithmus die Agglomeration oder Aufteilung von Clustern stoppt, wenn eine vorgegebene Anzahl von Clustern erreicht wird.

Ein baumartiges Diagramm, auch Dendrogramm3 genannt, wird häufig verwendet, um die Hierarchie von Clustern zu visualisieren. Es zeigt die Reihenfolge an, in der Cluster zusammengeführt oder geteilt wurden, sowie die Ähnlichkeit oder Entfernung zwischen Datenpunkten. Dendrogramme können auch als verschachtelte Listenreihe4 mit Attributen verstanden werden.

Streudiagramm der Punkte A bis F links und die resultierende Dendrogramm-Baumstruktur rechts

Funktionsweise des hierarchischen Clustering

Hierarchische Clustering-Algorithmen verwenden das Konzept einer Unähnlichkeitsmatrix, um zu entscheiden, welche Cluster zusammengeführt oder geteilt werden sollen. Die Unähnlichkeit ist der Abstand zwischen zwei Datenpunkten, der mit einer gewählten Verknüpfungsmethode (Linkage) gemessen wird. Die Werte in einer Unähnlichkeitsmatrix drücken Folgendes aus:

- Die Entfernung5, ein euklidischer Abstand als Beispiel, zwischen einzelnen Punkten in einer Menge

- Ein Kriterium für Linkage-Clustering, das die Unähnlichkeit als Funktion der paarweisen Abstände von Punkten über Datensätze hinweg angibt

Verknüpfungsmethoden

Beschäftigen wir uns mit den gängigsten euklidischen Distanz-Linkage-Methoden. Beispiele für andere Metriken, die verwendet werden können, sind die Minkowski, Hamming, Mahalanobis, Hausdorf und Manhattan-Distanz. Beachten Sie, dass jede Verknüpfungsmethode unterschiedliche Cluster aus demselben Datensatz generiert. Die Auswahl der geeigneten Linkage-Clustering-Methode hängt von Faktoren wie der Art der zu geclusterten Daten, der Datendichte, der Cluster-Form und davon ab, ob der Datensatz Sonderfälle oder Rauschen enthält.

Min. (Einzel-)Verknüpfung

Die einzelne Verknüpfungsmethode analysiert paarweise Abstände zwischen Elementen in zwei Clustern und verwendet dann den Mindestabstand zwischen den Clustern. Die Min-Methode kann nicht-elliptische Clusterformen gut verarbeiten, wird aber durch Rauschen und Sonderfälle beeinträchtigt. Es gibt eine Einschränkung, die als Verkettungseffekt bekannt ist6. Ein paar Punkte, die eine Brücke zwischen einem Clusterpaar bilden, können dazu führen, dass die beiden Cluster zu einem einzigen Cluster verschmelzen. Die Kriterien für Min-Linkage können wie folgt dargestellt werden:

 mina∈A,b∈Bd(a,b)

Dabei sind A und B zwei Gruppen von Beobachtungen und d ist eine Entfernungsfunktion.

Max. (vollständige) Verknüpfung

Cluster-Entfernungen können auch basierend auf den Punkten berechnet werden, die am weitesten voneinander entfernt sind. Die max-Methode ist weniger empfindlich gegenüber Rauschen und Sonderfällen als die min-Methode, aber die Verwendung dieser Methode kann die Ergebnisse verzerren, wenn kugelförmige oder große Cluster vorhanden sind. Die max-Verknüpfung erzeugt oft mehr kugelförmige Cluster als die min-Verknüpfung. Die max-Verknüpfung kann in der folgenden Formel dargestellt werden:

 maxa∈A,b∈Bd(a,b)

Dabei sind A und B zwei Gruppen von Beobachtungen und d ist die Entfernung.

Durchschnittliche Verknüpfung

Diese von Sokal und Michener eingeführten Methoden definieren den Abstand zwischen Clustern als den durchschnittlichen Abstand zwischen Paaren über alle Punktpaare in den Clustern hinweg. Der Algorithmus kann entweder die ungewichtete Paargruppenmethode mit arithmetischem Mittelwert (UPGMA) oder die gewichtete Paargruppenmethode mit arithmetischem Mittelwert (WPGMA) sein. Der Begriff „ungewichtet“ bedeutet hier, dass alle Entfernungen gleichermaßen zu jedem Durchschnitt beitragen.

UPGMA wird durch die folgende Formel dargestellt:

 1∣A∣·∣B∣∑a∈A∑b∈Bd(a,b)

wobei *A* und *B* zwei Beobachtungsgruppen und *d* die Entfernung sind.

WPGMA wird durch die folgende Formel dargestellt:

 d(i∪j,k)=d(i,k)+d(j,k)2

wobei i und j die nächstgelegenen Cluster sind, die in jedem Schritt zu einem neuen Cluster der Allianz von i und j kombiniert werden. Wir können dann die Entfernung zu einem anderen Cluster k berechnen, der das arithmetische Mittel der durchschnittlichen Entfernungen zwischen Datenpunkten in k und i sowie k und j ist.

Schwerpunkt-Verknüpfung

Hier verwenden wir den Abstand zwischen Clusterzentren oder Schwerpunkten. Der Abstand zwischen den Schwerpunkten wird mit Hilfe einer Abstandsfunktion berechnet:

∥μA-μB∥2

Dabei ist μA der Schwerpunkt von A und μB der Schwerpunkt von B.

Methode der minimalen Varianz nach Ward

Joe H. Ward führte in den 1960er Jahren die Methode der minimalen Zunahme der Quadrate (MISSQ) ein 8. Jeder Datenpunkt beginnt in seinem eigenen Cluster. Dieser Ansatz bedeutet, dass die Summe der Quadrate zwischen den Datenpunkten zunächst bei Null liegt und dann zunimmt, wenn wir Cluster zusammenführen. Wards Methode minimiert die Summe der quadratischen Abstände der Punkte von den Clusterzentren, wenn diese zusammengeführt werden. Die Methode von Ward ist eine gute Wahl für quantitative Variablen9 und wird weniger durch Rauschen oder Sonderfälle beeinträchtigt. Dies lässt sich wie folgt darstellen:

 ∣A∣·∣B∣A∪B∥μA-μB∥2=∑x∈A∪B∥x-μA∪B∥2-∑x∈A∥x-μA∥2-∑x∈B∥x-μB∥2

Dabei sind der Mittelwert von A und der Mittelwert von B die Schwerpunkte von A bzw. B und x ist ein Datenpunkt, der zur Vereinigung von A und B gehört

Lance-Williams-Algorithmus

Die Methode der minimalen Varianz nach Ward kann mit einem Lance-Williams-Algorithmus verfeinert werden. Diese Algorithmen verwenden eine rekursive Formel, um Cluster-Abstände zu aktualisieren und das optimale Cluster-Paar zu finden, das sich am nächsten befindet und zu verschmelzen ist.

Agglomerative Clustering-Schritte

Beim agglomerativen hierarchischen Clustering, auch bekannt als agglomeratives Nesting (AGNES), beginnt jeder Datenpunkt als ein Cluster. Der Algorithmus verwendet ein ausgewähltes Linkage-Clustering-Kriterium, das auf einer Unähnlichkeitsmatrix basiert, um zu entscheiden, welches Clusterpaar zu verbinden ist. Der Algorithmus verschiebt sich in der Hierarchie nach oben und bildet so lange Cluster-Paare, bis alles miteinander verknüpft ist. Dadurch entsteht eine hierarchische Reihe verschachtelter Cluster. Grob zusammengefasst sind die Schritte des agglomerativen Clusters10:

1. Berechnung der Unähnlichkeitsmatrix unter Verwendung einer bestimmten Abstandsmetrik.

2. Ordnen Sie jeden Datenpunkt einem Cluster zu.

3. Führen Sie die Cluster basierend auf einem Verknüpfungskriterium für die Ähnlichkeit von Clustern zusammen.

4. Aktualisieren Sie die Entfernungsmatrix.

5. Wiederholen Sie die Schritte 3 und 4, bis ein einzelner Cluster übrig bleibt oder ein Stoppkriterium erfüllt ist.

Spaltende Clustering-Schritte

Die Prinzipien hinter dem spaltenden hierarchischen Clustering wurden 1964 von Macnaughton-Smith und anderen11 entwickelt und 1990 von Kaufman und Ruseeuw mit ihrem DIANA-Algorithmus (Divisive ANAlysis Clustering) 12 weiter erforscht. Divisive Cluster verwenden den umgekehrten Ansatz von agglomerativen Clustern. Alle Datenpunkte beginnen in einem einzigen Cluster, der wiederholt in weitere Cluster aufgeteilt wird. Die Aufteilung erfolgt so lange, bis entweder alle verbleibenden Cluster Singletons sind oder Stoppkriterien wie eine vordefinierte Anzahl von Clustern erfüllt wurden. Divisive Methoden sind besser in der Lage, große Cluster zu identifizieren13 und können genauer sein als agglomerative Methoden, da der Algorithmus die gesamte Datensatzverteilung von Beginn des Prozesses an berücksichtigt.

Zur Verbesserung der Effizienz verwenden spaltende Methoden flache Clustering-Algorithmen wie k-means , um den Datensatz in Cluster aufzuteilen. Die Anzahl der Cluster muss im Voraus angegeben werden. Der k-Means-Algorithmus teilt Cluster auf, indem er die Summe der Quadrate innerhalb des Clusters zwischen den Schwerpunktpunkten minimiert. Dies wird als Trägheitskriterium14 bezeichnet. Die Schritte des spaltenden Clusterings15 sind:

1. Beginnen Sie mit allen Datenpunkten für eine Datensatzgröße N (d1, d2, d3 ... dN) in einem Cluster.

2. Teilen Sie den Cluster in zwei unterschiedliche oder heterogene Cluster durch Anwendung einer flachen Clustering-Methode wie dem k-Means-Algorithmus auf.

3. Wiederholung von Schritt 2, wobei der beste Cluster zum Teilen ausgewählt wird und die Sonderfälle des am geringsten zusammenhängenden Clusters nach jeder Iteration entfernt werden.

4. Beenden Sie den Vorgang, wenn sich jedes Beispiel in einem eigenen Cluster befindet, andernfalls wiederholen Sie Schritt 3.

Die neuesten KI-Trends, präsentiert von Experten

Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Interpretieren von hierarchischen Clustering-Ergebnissen

Cluster-Ergebnisse werden in der Regel in einem Dendrogramm (binäre Baumstruktur) dargestellt. Die x-Achse im Dendrogramm stellt die Datenpunkte dar und die y-Achse oder die Höhe der Linien zeigt, wie weit die Cluster bei der Zusammenführung voneinander entfernt waren.

Sie können ein Dendrogramm verwenden, um zu entscheiden, wie viele Cluster16 es in Ihrem endgültigen Clustering-Modell geben wird. Eine Strategie besteht darin, den natürlichen Schnittpunkt im Baum zu identifizieren, an dem die Zweige schwinden und länger werden. Alternativ ist die Anzahl der Cluster durch die Anzahl der vertikalen Linien gegeben, die gekreuzt werden, wenn eine horizontale Linie das Dendrogramm schneidet.

In dem hier gezeigten Beispielbild schneidet die horizontale Linie H1 zwei vertikale Linien. Dies zeigt, dass es zu diesem Zeitpunkt im Prozess zwei Cluster gibt – einen Cluster mit den Punkten 5, 8 und 2 und einen Cluster mit den verbleibenden Punkten. Je weiter sich die horizontale Linie nach oben oder unten verschieben kann, ohne andere horizontale Linien im Dendrogramm zu schneiden, desto besser ist die Auswahl dieser Anzahl von Clustern für Ihr Clustering-Modell. Im folgenden Beispiel wählt die horizontale Linie H2 vier Cluster aus. H2 ist nicht in der Lage, sich so weit zu H1 zu verschieben, bevor es andere horizontale Linien schneidet. Dieses Szenario zeigt, dass die Wahl der zwei Cluster (H1) für Ihr Clustering-Modell wahrscheinlich besser geeignet ist.

Das Dendrogrammdiagramm, das die Datenpunkte (x-Achse) und die Höhe der Linien darstellt, zeigt an, wie weit die Cluster beim Zusammenführen voneinander entfernt waren (y-Achse) Schneiden eines Dendrogramms mit horizontalen Linien, um die Anzahl der Cluster zu bestimmen

Ein robustes Clustering-Modell17 erzeugt Cluster mit hoher Ähnlichkeit innerhalb der Klassen und geringer Ähnlichkeit zwischen den Klassen. Es kann jedoch schwierig sein, die Clusterqualität zu definieren, und Ihre Auswahl des Verknüpfungskriteriums und der Clusterzahlen kann einen erheblichen Einfluss auf Ihre Ergebnisse haben. Probieren Sie daher bei der Erstellung eines Cluster-Modells verschiedene Optionen aus und wählen Sie diejenigen aus, die Ihnen am besten helfen, Cluster im Datensatz zu erkunden und für die zukünftige Betrachtung aufzudecken. Zu den zu berücksichtigenden Faktoren18 gehören:

- Die Anzahl der Cluster, die für den Datensatz praktisch oder logisch sind (bei gegebener Datensatzgröße, Clusterformen, Rauschen usw.)

- Statistiken, wie etwa Mittel-, Maximal- und Minimalwerte für jeden Cluster

- Die beste anzuwendende Unähnlichkeitsmetrik oder das beste anzuwendende Verknüpfungskriterium

- Die Auswirkungen von Sonderfällen oder Ergebnisvariablen

- Beliebige spezifische Domain- oder Datensatzkenntnisse

Zu den weiteren Methoden zur Ermittlung der optimalen Clusteranzahl19 gehören:

- Die Elbow-Methode, bei der Sie die Summe der Quadrate innerhalb von Clustern gegen die Anzahl der Cluster darstellen und den „Ellbogen“ (den Punkt, an dem die Darstellung abflacht) bestimmen.

- Die Lückenstatistik, bei der Sie die tatsächliche Summe der Quadrate innerhalb des Clusters mit der erwarteten Summe der Quadrate innerhalb des Clusters für eine Nullreferenzverteilung vergleichen und die größte Lücke ermitteln.

Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Anwendungsfall für hierarchisches Clustering

Mit Hilfe des hierarchischen Clustering gewinnen Data Scientists Erkenntnisse zur Struktur und zu den Beziehungen innerhalb von Datensätzen. Es kann in verschiedenen Anwendungsfallen eingesetzt werden.

Unternehmen

Durch hierarchisches Clustering können Trends analysiert und Kundendaten segmentiert werden, zum Beispiel durch Gruppierung nach Produktauswahl, demografischen Merkmalen, Kaufverhalten, Risikoprofil oder Interaktion mit sozialen Medien.

Klinische Forschung und Bioinformatik

Patientenkohorten für die klinische Forschung können in die Tausende gehen. Hierarchische Cluster-Bildung hilft bei der Kategorisierung gemischter Bevölkerungsgruppen in homogenere Gruppen20 , indem z. B. diagnostische Kriterien, physische Reaktionen oder DNA-Mutationen herangezogen werden. Sie kann auch auf die Gruppierung von Arten nach biologischen Funktionen angewendet werden, um die evolutionäre Entwicklung zu verstehen.

Bild- und Informationsverarbeitung

Hierarchisches Clustering wird in bildbasierten Texterkennungsanwendungen verwendet, um handgeschriebene Zeichen nach ihrer Form zu gruppieren. Es wird auch zum Speichern und Abrufen von Informationen anhand bestimmter Kriterien oder zum Kategorisieren von Ergebnissen genutzt.

Implementierung der hierarchischen Cluster-Bildung in Python oder R

Sowohl Python als auch die Programmiersprache R sind in der Data Science weit verbreitet. Python ist flexibel und kann ein breites Spektrum an Aufgaben bewältigen. R wurde speziell für statistische Berechnungen entwickelt und bietet umfangreiche Optionen zur Visualisierung Ihrer hierarchischen Clustering-Analyse.

Python bietet die Agglomerative Cluster-Funktion21 (siehe auch Beispiele für Agglomerative-Clustering22 auf sklearn), und SciPy bietet eine Funktion zur Darstellung von Dendrogrammen23. Pakete wie dendextend24 erweitern die Dendrogramm-Funktionalität von R, verbessern die Sensitivitätsanalyse und ermöglichen es Ihnen, verschiedene Dendrogramme zu vergleichen und zu manipulieren. Für eine praktische Erfahrung finden Sie in unseren Tutorials: wie man hierarchisches Clustering in Python implementiert und wie man hierarchisches Clustering in R implementiert.

Weitere Lösungen
IBM watsonx.ai

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

watsonx.ai erkunden Live-Demo buchen
Fußnoten

1 Murtagh, F., Legendre, P., “Ward’s Hierarchical Agglomerative Clustering Method: Which Algorithms Implement Ward’s Criterion?,” 2014, J Classif 31, 274–295, https://link.springer.com/article/10.1007/s00357-014-9161-z

 2 Kaufman, L.; Rousseeuw, P. J., Finding Groups in Data: An Introduction to Cluster Analysis. Wiley. Chp 6. Divisive Analysis (Program DIANA) S. 253–279, https://onlinelibrary.wiley.com/doi/book/10.1002/9780470316801

3 Galili, T., “Introduction to dendextend,” The Comprehensive R Archive Network, 2023, https://cran.r-project.org/web/packages/dendextend/index.html

4 Vorlesungsskripte der Penn State Eberly College of Science, “Hierarchical Clustering”, https://online.stat.psu.edu/stat555/node/85/

5, 17 Maimon, O., Rokach, L., Data Mining and Knowledge Discovery Handbook, 2010 2. Auflage, Springer, https://link.springer.com/book/10.1007/978-0-387-09823-4

6 Sokal, R, Michener, C., “A statistical method for evaluating systematic relationships,” 1958, University of Kansas Science Bulletin, 38: 1409–1438, https://archive.org/details/cbarchive_33927_astatisticalmethodforevaluatin1902/page/n1/mode/2up

Ward, J. H., “Hierarchical Grouping to Optimize an Objective Function,” 1963, Journal of the American Statistical Association, 58 (301): 236–244, https://www.tandfonline.com/doi/abs/10.1080/01621459.1963.10500845.

8 Vorlesungsskripte des Penn State Eberly College of Science, “Applied Multivariate Statistical Analysis”, https://online.stat.psu.edu/stat505/lesson/14/14.7

9, 15 Shetty P. und Singh S., “Hierarchical Clustering: A Survey,” International Journal of Applied Research, Vol 7 Issue 4, Part C, 2021, https://www.allresearchjournal.com/archives/?year=2021&vol=7&issue=4&part=C&ArticleId=8484

10 Macnaugton-Smith, P., Williams, W., Dale, M., et al., “Dissimilarity Analysis: a new Technique of Hierarchical Sub-division,” Nature 202, 1034–1035 (1964), https://www.nature.com/articles/2021034a0

12 Boehmke, B., Greenwell, B., Hands-On Machine Learning with R, Taylor and Francis, 2020, https://bradleyboehmke.github.io/HOML/

13 Cavalli-Sforza, L. L., and Edwards A. W. F., “Phylogenetic analysis: models and estimation procedures,” 1967, Evolution 21: 550–570 and Am. J. Hum. Genet. 19: 233–257, https://pmc.ncbi.nlm.nih.gov/articles/PMC1706274/

14 Sci-kit learn 1.3.2, 2.3 Clustering, https://scikit-learn.org/stable/modules/clustering.html

16 Vorlesungsskript von MIT OpenCourseWare, 2017, https://ocw.mit.edu/courses/15-071-the-analytics-edge-spring-2017/pages/clustering/recommendations-worth-a-million-an-introduction-to-clustering/video-5-hierarchical-clustering/

18 Vorlesungsskript der University of Washington, 2001, https://courses.cs.washington.edu/courses/csep546/04au/pdf-slides/10.pdf

19 Boehmke, B., University of Cincinnati Business Analytics R Programming Guide, https://uc-r.github.io/hc_clustering#algorithms

20 QCBS R Workshop Series, https://r.qcbs.ca/workshop09/book-en/clustering.html

21 Zhongheng Zhang et al., “Hierarchical cluster analysis in clinical research with heterogeneous study population: highlighting its visualization with R,” Annals of Translational Medicine. Februar 2017; 5(4): 75, https://atm.amegroups.org/article/view/13789/14063

22, 23 Scit-kit learn 1.3.2 documentation, https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html

24 SciPy Manual v1.11.4, https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.dendrogram.html