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


Python SciPy hierarchy.is_isomorphic用法及代码示例


本文简要介绍 python 语言中 scipy.cluster.hierarchy.is_isomorphic 的用法。

用法:

scipy.cluster.hierarchy.is_isomorphic(T1, T2)#

确定两个不同的集群分配是否等效。

参数

T1 array_like

将单例集群 ID 分配给平面集群 ID。

T2 array_like

将单例集群 ID 分配给平面集群 ID。

返回

b bool

平面集群分配 T1 和 T2 是否等价。

例子

>>> from scipy.cluster.hierarchy import fcluster, is_isomorphic
>>> from scipy.cluster.hierarchy import single, complete
>>> from scipy.spatial.distance import pdist

如果两个平面集群分配代表相同的集群分配,具有不同的标签,则它们可以是同构的。

例如,我们可以使用 scipy.cluster.hierarchy.single :方法并将输出展平为四个簇:

>>> 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 = single(pdist(X))
>>> T = fcluster(Z, 1, criterion='distance')
>>> T
array([3, 3, 3, 4, 4, 4, 2, 2, 2, 1, 1, 1], dtype=int32)

然后我们可以使用 scipy.cluster.hierarchy.complete : 方法执行相同的操作:

>>> Z = complete(pdist(X))
>>> T_ = fcluster(Z, 1.5, criterion='distance')
>>> T_
array([1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4], dtype=int32)

正如我们所看到的,在这两种情况下,我们都获得了四个集群,并且所有数据点都以相同的方式分布——唯一改变的是扁平集群标签(3 => 1, 4 =>2, 2 =>3 和4 => 1),所以两个集群分配都是同构的:

>>> is_isomorphic(T, T_)
True

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.cluster.hierarchy.is_isomorphic。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。