SciPy Cluster Hierarchy Dendrogram Funktion
Hierarchisches Clustering, auch bekannt als hierarchische Clustering-Analyse, folgt einem Top-to-Bottom-Ansatz zum Gruppieren von Objekten desselben Typs in Gruppen, die als Cluster bezeichnet werden. Dies ist ein unbeaufsichtigter maschineller Lernalgorithmus, bei dem sich alle Gruppen oder Cluster voneinander unterscheiden.
Es gibt zwei Arten von hierarchischem Clustering:
- Divisive Clustering - Bei dieser Methode werden alle Objekte zunächst in einem Cluster gruppiert und dann werden alle Objekte in zwei Cluster unterteilt, die nur sehr wenige Ähnlichkeiten aufweisen. Diese Methode folgt dem Top-to-Bottom-Ansatz.
- Agglomeratives Clustering - Bei dieser Methode werden Objekte in einem eigenen Cluster gruppiert. Diese Methode folgt einem Bottom-to-Top-Ansatz.
Ein Dendrogramm ist ein Visualisierungsdiagramm, das eher ein baumähnliches Diagramm ist, das dabei hilft, die Beziehung zwischen allen vordefinierten Clustern zu beschreiben. Die grundlegendste Methode eines Dendrogramms ist, dass je weiter der Abstand zwischen den Linien des Dendrogramms ist, desto größer der Abstand zwischen allen Clustern ist.
Syntax von scipy.cluster.hierarchy.dendrogram
scipy.cluster.hierarchy.dendrogram(Z, p=30, truncate_mode=None, orientation="top")
Parameter
Z |
Es stellt die Verknüpfungsmatrix dar, die verwendet wird, um das gesamte hierarchische Clustering zu codieren, um es als Dendrogramm zu definieren. |
p |
Es ist der für truncate_mode definierte Parameter |
truncate_mode |
Aufgrund der großen ursprünglichen Beobachtungsmatrix, aus der die Verknüpfung zwischen den Clustern definiert wird, kann das Dendrogramm schwer zu studieren sein. Dieser Parameter hilft, das Dendrogramm kompakt zu machen. |
orientation |
Es entscheidet, in welche Richtung das Dendrogramm gezeichnet wird. Zum Beispiel top . Die Ausrichtung top bedeutet, dass die Basis des Dendrogramms oben ist und die Links nach unten verlaufen. Ebenso sind andere Ausrichtungen bottom , left und right . |
Alle diese Parameter sind optional, mit Ausnahme des Parameters Z
. Außerdem gibt es in dieser Funktion viele weitere optionale Parameter wie color_threshold
, get_leaves
, distance_sort
usw.
Beispiel eines hierarchischen Clustering-Dendrogramms
import numpy as np
from scipy.cluster import hierarchy
import matplotlib.pyplot as plt
array = np.array([30, 60, 90, 120, 150, 180, 210, 240, 270, 300])
clus = hierarchy.linkage(array, "complete")
plt.figure()
den = hierarchy.dendrogram(
clus, above_threshold_color="black", color_threshold=0.8, orientation="right"
)
Ausgabe:
Beachten Sie hier, dass wir den complete linkage
-Algorithmus verwendet haben, um das hierarchische Clustering durchzuführen. Außerdem befindet sich die Basis des Dendrogramms auf der rechten Seite und die Links fallen nach links, weil der Parameter orientation
als right
definiert ist.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn