当前位置: 首页>>代码示例>>用法及示例精选>>正文


python scipy cluster.hierarchy.is_valid_im用法及代码示例

用法:

scipy.cluster.hierarchy.is_valid_im(R, warning=False, throw=False, name=None)

如果传递的不一致矩阵有效,则返回True。

它一定是由4个双打阵列组成。标准差R[:,1]必须为非负数。链接数R[:,2]必须为正且不大于

参数:

Rndarray

用于检查有效性的不一致矩阵。

warningbool, 可选参数

为True时,如果传递的链接矩阵无效,则发出Python警告。

throwbool, 可选参数

为True时,如果传递的链接矩阵无效,则抛出Python异常。

namestr, 可选参数

此字符串引用无效链接矩阵的变量名称。

返回值:

b布尔

如果不一致矩阵有效,则为True。

例子:

>>> from scipy.cluster.hierarchy import ward, inconsistent, is_valid_im
>>> 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 = ward(pdist(X))
>>> R = inconsistent(Z)
>>> Z
array([[ 0.        ,  1.        ,  1.        ,  2.        ],
       [ 3.        ,  4.        ,  1.        ,  2.        ],
       [ 6.        ,  7.        ,  1.        ,  2.        ],
       [ 9.        , 10.        ,  1.        ,  2.        ],
       [ 2.        , 12.        ,  1.29099445,  3.        ],
       [ 5.        , 13.        ,  1.29099445,  3.        ],
       [ 8.        , 14.        ,  1.29099445,  3.        ],
       [11.        , 15.        ,  1.29099445,  3.        ],
       [16.        , 17.        ,  5.77350269,  6.        ],
       [18.        , 19.        ,  5.77350269,  6.        ],
       [20.        , 21.        ,  8.16496581, 12.        ]])
>>> R
array([[1.        , 0.        , 1.        , 0.        ],
       [1.        , 0.        , 1.        , 0.        ],
       [1.        , 0.        , 1.        , 0.        ],
       [1.        , 0.        , 1.        , 0.        ],
       [1.14549722, 0.20576415, 2.        , 0.70710678],
       [1.14549722, 0.20576415, 2.        , 0.70710678],
       [1.14549722, 0.20576415, 2.        , 0.70710678],
       [1.14549722, 0.20576415, 2.        , 0.70710678],
       [2.78516386, 2.58797734, 3.        , 1.15470054],
       [2.78516386, 2.58797734, 3.        , 1.15470054],
       [6.57065706, 1.38071187, 3.        , 1.15470054]])

现在我们可以使用scipy.cluster.hierarchy.is_valid_im验证R是正确的:

>>> is_valid_im(R)
True

但是,如果R构造错误(例如,标准偏差之一设置为负值),则检查将失败:

>>> R[-1,1] = R[-1,1] * -1
>>> is_valid_im(R)
False

源码:

scipy.cluster.hierarchy.is_valid_im的API实现见:[源代码]

相关用法

注:本文由纯净天空筛选整理自 scipy.cluster.hierarchy.is_valid_im。非经特殊声明,原始代码版权归原作者所有,本译文的传播和使用请遵循“署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)”协议。