Hinweis
Gehen Sie zum Ende, um den vollständigen Beispielcode herunterzuladen oder dieses Beispiel über JupyterLite oder Binder in Ihrem Browser auszuführen.
Plot Dendrogramm für hierarchisches Clustering#
Dieses Beispiel plottet das entsprechende Dendrogramm eines hierarchischen Clusterings unter Verwendung von AgglomerativeClustering und der in SciPy verfügbaren Dendrogramm-Methode.

import numpy as np
from matplotlib import pyplot as plt
from scipy.cluster.hierarchy import dendrogram
from sklearn.cluster import AgglomerativeClustering
from sklearn.datasets import load_iris
def plot_dendrogram(model, **kwargs):
# Create linkage matrix and then plot the dendrogram
# create the counts of samples under each node
counts = np.zeros(model.children_.shape[0])
n_samples = len(model.labels_)
for i, merge in enumerate(model.children_):
current_count = 0
for child_idx in merge:
if child_idx < n_samples:
current_count += 1 # leaf node
else:
current_count += counts[child_idx - n_samples]
counts[i] = current_count
linkage_matrix = np.column_stack(
[model.children_, model.distances_, counts]
).astype(float)
# Plot the corresponding dendrogram
dendrogram(linkage_matrix, **kwargs)
iris = load_iris()
X = iris.data
# setting distance_threshold=0 ensures we compute the full tree.
model = AgglomerativeClustering(distance_threshold=0, n_clusters=None)
model = model.fit(X)
plt.title("Hierarchical Clustering Dendrogram")
# plot the top three levels of the dendrogram
plot_dendrogram(model, truncate_mode="level", p=3)
plt.xlabel("Number of points in node (or index of point if no parenthesis).")
plt.show()
Gesamtlaufzeit des Skripts: (0 Minuten 0,071 Sekunden)
Verwandte Beispiele
Eine Demo des strukturierten Ward Hierarchischen Clusterings auf einem Bild von Münzen
Eine Demo des strukturierten Ward Hierarchischen Clusterings auf einem Bild von Münzen
Vergleich verschiedener hierarchischer Linkage-Methoden auf Toy-Datensätzen
Vergleich verschiedener hierarchischer Linkage-Methoden auf Toy-Datensätzen