當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。