maxRstat#
- scipy.cluster.hierarchy.maxRstat(Z, R, i)[Quelle]#
Gibt die maximale Statistik für jeden Nicht-Singleton-Cluster und seine Kinder zurück.
- Parameter:
- Zarray_like
Die hierarchische Clusterbildung, kodiert als Matrix. Weitere Informationen finden Sie unter
linkage.- Rarray_like
Die Inkonsistenzmatrix.
- iint
Die Spalte von R, die als Statistik verwendet werden soll.
- Rückgabe:
- MRndarray
Berechnet die maximale Statistik für die i-te Spalte der Inkonsistenzmatrix R für jeden Nicht-Singleton-Clusterknoten.
MR[j]ist das Maximum überR[Q(j)-n, i], wobeiQ(j)die Menge aller Knoten-IDs ist, die Knoten unterhalb und einschließlichjdarstellen.
Siehe auch
linkagefür eine Beschreibung, was eine Linkage-Matrix ist.
inconsistentfür die Erstellung einer Inkonsistenzmatrix.
Hinweise
maxRstathat experimentelle Unterstützung für Backends, die mit dem Python Array API Standard kompatibel sind, 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 von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
⛔
PyTorch
✅
⛔
JAX
✅
⛔
Dask
⚠️ führt Chunks zusammen
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Beispiele
>>> from scipy.cluster.hierarchy import median, inconsistent, maxRstat >>> from scipy.spatial.distance import pdist
Gegeben ist ein Datensatz
X, auf den wir eine Clustering-Methode anwenden können, um eine Linkage-MatrixZzu erhalten.scipy.cluster.hierarchy.inconsistentkann auch verwendet werden, um die InkonsistenzmatrixRzu erhalten, die mit diesem Clustering-Prozess verbunden ist.>>> X = [[0, 0], [0, 1], [1, 0], ... [0, 4], [0, 3], [1, 4], ... [4, 0], [3, 0], [4, 1], ... [4, 4], [3, 4], [4, 3]]
>>> Z = median(pdist(X)) >>> R = inconsistent(Z) >>> R array([[1. , 0. , 1. , 0. ], [1. , 0. , 1. , 0. ], [1. , 0. , 1. , 0. ], [1. , 0. , 1. , 0. ], [1.05901699, 0.08346263, 2. , 0.70710678], [1.05901699, 0.08346263, 2. , 0.70710678], [1.05901699, 0.08346263, 2. , 0.70710678], [1.05901699, 0.08346263, 2. , 0.70710678], [1.74535599, 1.08655358, 3. , 1.15470054], [1.91202266, 1.37522872, 3. , 1.15470054], [3.25 , 0.25 , 3. , 0. ]])
scipy.cluster.hierarchy.maxRstatkann verwendet werden, um den Maximalwert jeder Spalte vonRfür jeden Nicht-Singleton-Cluster und seine Kinder zu berechnen>>> maxRstat(Z, R, 0) array([1. , 1. , 1. , 1. , 1.05901699, 1.05901699, 1.05901699, 1.05901699, 1.74535599, 1.91202266, 3.25 ]) >>> maxRstat(Z, R, 1) array([0. , 0. , 0. , 0. , 0.08346263, 0.08346263, 0.08346263, 0.08346263, 1.08655358, 1.37522872, 1.37522872]) >>> maxRstat(Z, R, 3) array([0. , 0. , 0. , 0. , 0.70710678, 0.70710678, 0.70710678, 0.70710678, 1.15470054, 1.15470054, 1.15470054])