to_tree#
- scipy.cluster.hierarchy.to_tree(Z, rd=False)[Quelle]#
Konvertiert eine Linkage-Matrix in ein einfach zu verwendendes Baumobjekt.
Die Referenz auf das Wurzel-
ClusterNode-Objekt wird (standardmäßig) zurückgegeben.Jedes
ClusterNode-Objekt hat einleft,right,dist,idundcountAttribut. Die Attribute left und right verweisen auf ClusterNode-Objekte, die zur Erzeugung des Clusters kombiniert wurden. Wenn beide None sind, dann ist dasClusterNode-Objekt ein Blattknoten, sein Zähler muss 1 sein und seine Distanz ist bedeutungslos, wird aber auf 0 gesetzt.Hinweis: Diese Funktion wird aus Bequemlichkeitsgründen für den Benutzer der Bibliothek bereitgestellt. ClusterNodes werden nicht als Eingabe für Funktionen in dieser Bibliothek verwendet.
- Parameter:
- Zndarray
Die Linkage-Matrix in richtiger Form (siehe Dokumentation der Funktion
linkage).- rdbool, optional
Wenn False (Standard), wird eine Referenz auf das Wurzel-
ClusterNode-Objekt zurückgegeben. Andernfalls wird ein Tupel(r, d)zurückgegeben.rist eine Referenz auf den Wurzelknoten, währenddeine Liste vonClusterNode-Objekten ist - eines pro ursprünglichem Eintrag in der Linkage-Matrix plus Einträge für alle Clustering-Schritte. Wenn eine Cluster-ID kleiner ist als die Anzahl der Stichprobennin den Daten, die die Linkage-Matrix beschreibt, dann entspricht sie einem Singleton-Cluster (Blattknoten). Siehelinkagefür weitere Informationen über die Zuweisung von Cluster-IDs zu Clustern.
- Rückgabe:
- treeClusterNode oder Tupel (ClusterNode, Liste von ClusterNode)
Wenn
rdFalse ist, einClusterNode. WennrdTrue ist, eine Liste der Länge2*n - 1, wobeindie Anzahl der Stichproben ist. Siehe die Beschreibung von rd oben für weitere Details.
Siehe auch
Hinweise
to_treeverfügt über 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 die UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
⚠️ kein JIT
⚠️ kein JIT
Dask
⚠️ berechnet Graph
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Beispiele
>>> import numpy as np >>> from scipy.cluster import hierarchy >>> rng = np.random.default_rng() >>> x = rng.random((5, 2)) >>> Z = hierarchy.linkage(x) >>> hierarchy.to_tree(Z) <scipy.cluster.hierarchy.ClusterNode object at ... >>> rootnode, nodelist = hierarchy.to_tree(Z, rd=True) >>> rootnode <scipy.cluster.hierarchy.ClusterNode object at ... >>> len(nodelist) 9