cut_tree#
- scipy.cluster.hierarchy.cut_tree(Z, n_clusters=None, height=None)[Quellcode]#
Gibt den geschnittenen Baum für eine gegebene Linkage-Matrix Z zurück.
- Parameter:
- Zscipy.cluster.linkage Array
Die Linkage-Matrix.
- n_clustersArray-ähnlich, optional
Anzahl der Cluster im Baum an der Schnittstelle.
- heightArray-ähnlich, optional
Die Höhe, bei der der Baum geschnitten werden soll. Nur für ultrametrische Bäume möglich.
- Rückgabe:
- cutreeArray
Ein Array, das die Gruppenmitgliedschaft bei jedem Agglomerationsschritt anzeigt. D. h. bei einem vollständigen Schnittbaum ist im ersten Spalte jeder Datenpunkt in seinem eigenen Cluster. Im nächsten Schritt werden zwei Knoten zusammengeführt. Schließlich sind alle einzelnen und nicht einzelnen Cluster in einer Gruppe. Wenn n_clusters oder height angegeben werden, entsprechen die Spalten den Spalten von n_clusters oder height.
Hinweise
cut_treehat experimentelle Unterstützung für Python Array API Standard-kompatible Backends zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie eine UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen aus Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
⛔
PyTorch
⛔
⛔
JAX
⛔
⛔
Dask
⛔
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Beispiele
>>> from scipy import cluster >>> import numpy as np >>> from numpy.random import default_rng >>> rng = default_rng() >>> X = rng.random((50, 4)) >>> Z = cluster.hierarchy.ward(X) >>> cutree = cluster.hierarchy.cut_tree(Z, n_clusters=[5, 10]) >>> cutree[:10] array([[0, 0], [1, 1], [2, 2], [3, 3], [3, 4], [2, 2], [0, 0], [1, 5], [3, 6], [4, 7]]) # random