scipy.cluster.hierarchy.optimal_leaf_ordering

scipy.cluster.hierarchy.optimal_leaf_ordering(Z, y, metric='euclidean')[源代码]

在给定链接矩阵Z和距离的情况下,对切割的树重新排序。

参数
Zndarray

该分层聚类被编码为链接矩阵。看见 linkage 有关返回结构和算法的详细信息,请执行以下操作。

yndarray

生成Z的凝聚距离矩阵。或者,n维的m个观测向量的集合可以作为m×n阵列传递。

metric字符串或函数,可选

在y是观测向量集合的情况下使用的距离度量;否则忽略。请参阅 pdist 函数获取有效距离度量列表。也可以使用自定义距离函数。

退货
Z_orderedndarray

链接矩阵Z的副本,重新排序以最小化相邻树叶之间的距离。

示例

>>> from scipy.cluster import hierarchy
>>> rng = np.random.default_rng()
>>> X = rng.standard_normal((10, 10))
>>> Z = hierarchy.ward(X)
>>> hierarchy.leaves_list(Z)
array([0, 3, 1, 9, 2, 5, 7, 4, 6, 8], dtype=int32)
>>> hierarchy.leaves_list(hierarchy.optimal_leaf_ordering(Z, X))
array([3, 0, 2, 5, 7, 4, 8, 6, 9, 1], dtype=int32)