scipy.cluster.hierarchy.

maxRstat#

scipy.cluster.hierarchy.maxRstat(Z, R, i)[source]#

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

参数:
Zarray_like

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

Rarray_like

不一致矩阵。

iint

要作为统计量使用的 R 的列。

返回值:
MRndarray

计算不一致矩阵 R 的第 i 列中每个非单节点集群节点的最大统计量。 MR[j] 是对 R[Q(j)-n, i] 的最大值,其中 Q(j) 是所有节点 ID 的集合,这些 ID 对应于位于 j 下面和包括 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])