scipy.cluster.hierarchy.

maxRstat#

scipy.cluster.hierarchy.maxRstat(Z, R, i)[源代码][源代码]#

返回每个非单例集群及其子节点的最大统计值。

参数:
Zarray_like

编码为矩阵的层次聚类。更多信息请参见 linkage

Rarray_like

不一致矩阵。

i整数

用作统计量的 R 列。

返回:
MRndarray

计算非单例聚类节点的不一致矩阵 R 的第 i 列的最大统计量。MR[j]R[Q(j)-n, i] 的最大值,其中 Q(j) 是所有节点 id 的集合,对应于节点 j 及其以下的所有节点。

参见

linkage

关于什么是连接矩阵的描述。

inconsistent

用于创建不一致矩阵。

示例

>>> from scipy.cluster.hierarchy import median, inconsistent, maxRstat
>>> from scipy.spatial.distance import pdist

给定一个数据集 X,我们可以应用聚类方法来获得一个链接矩阵 Zscipy.cluster.hierarchy.inconsistent 也可以用来获得与此聚类过程相关的不一致矩阵 R

>>> 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.maxRstat 可以用来计算 R 中每一列的最大值,对于每个非单一集群及其子集群:

>>> 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])