scipy.cluster.hierarchy.

inkonsistent#

scipy.cluster.hierarchy.inconsistent(Z, d=2)[Quelle]#

Berechnet Inkonsistenzstatistiken für eine Linkage-Matrix.

Parameter:
Zndarray

Die Matrix der Größe \((n-1) \times 4\), die die Verknüpfung kodiert (hierarchische Gruppierung). Weitere Informationen zur Form finden Sie in der Dokumentation zu linkage.

dint, optional

Die Anzahl der Links bis zu d Ebenen unter jedem Nicht-Singleton-Cluster.

Rückgabe:
Rndarray

Eine Matrix der Größe \((n-1) \times 4\), bei der die i-te Zeile die Link-Statistiken für den Nicht-Singleton-Cluster i enthält. Die Link-Statistiken werden über die Link-Höhen für Links berechnet, die \(d\) Ebenen unter dem Cluster i liegen. R[i,0] und R[i,1] sind der Mittelwert und die Standardabweichung der Link-Höhen, bzw.; R[i,2] ist die Anzahl der in die Berechnung einbezogenen Links; und R[i,3] ist der Inkonsistenzkoeffizient,

\[\frac{\mathtt{Z[i,2]} - \mathtt{R[i,0]}} {R[i,1]}\]

Hinweise

Diese Funktion verhält sich ähnlich wie die MATLAB(TM)-Funktion inconsistent.

inconsistent unterstützt experimentell Python Array API Standard-kompatible Backends zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie die Umgebungsvariable SCIPY_ARRAY_API=1 setzen 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 inconsistent, linkage
>>> from matplotlib import pyplot as plt
>>> X = [[i] for i in [2, 8, 0, 4, 1, 9, 9, 0]]
>>> Z = linkage(X, 'ward')
>>> print(Z)
[[ 5.          6.          0.          2.        ]
 [ 2.          7.          0.          2.        ]
 [ 0.          4.          1.          2.        ]
 [ 1.          8.          1.15470054  3.        ]
 [ 9.         10.          2.12132034  4.        ]
 [ 3.         12.          4.11096096  5.        ]
 [11.         13.         14.07183949  8.        ]]
>>> inconsistent(Z)
array([[ 0.        ,  0.        ,  1.        ,  0.        ],
       [ 0.        ,  0.        ,  1.        ,  0.        ],
       [ 1.        ,  0.        ,  1.        ,  0.        ],
       [ 0.57735027,  0.81649658,  2.        ,  0.70710678],
       [ 1.04044011,  1.06123822,  3.        ,  1.01850858],
       [ 3.11614065,  1.40688837,  2.        ,  0.70710678],
       [ 6.44583366,  6.76770586,  3.        ,  1.12682288]])