scipy.cluster.hierarchy.
inconsistent#
- scipy.cluster.hierarchy.inconsistent(Z, d=2)[source]#
计算链接矩阵的不一致性统计量。
- 参数:
- Zndarray
The \((n-1)\) by 4 matrix encoding the linkage (hierarchical clustering). See
linkage
documentation for more information on its form.- dint, optional
非单例簇以下最多 d 层的链接数。
- 返回:
- Rndarray
一个 \((n-1)\) 行 4 列的矩阵,其中第
i
行包含非单例簇i
的链接统计量。 链接统计量是根据簇i
以下 \(d\) 层的链接高度计算得出的。R[i,0]
和R[i,1]
分别是链接高度的均值和标准差;R[i,2]
是计算中包含的链接数;R[i,3]
是不一致性系数,\[\frac{\mathtt{Z[i,2]} - \mathtt{R[i,0]}} {R[i,1]}\]
说明
此函数的功能类似于 MATLAB(TM) 的
inconsistent
函数。inconsistent
除了 NumPy 之外,还实验性地支持与 Python Array API Standard 兼容的后端。请考虑通过设置环境变量SCIPY_ARRAY_API=1
并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。支持以下后端和设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
⛔
PyTorch
✅
⛔
JAX
✅
⛔
Dask
⚠️ 合并块
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
>>> 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]])