scipy.cluster.hierarchy.

optimal_leaf_ordering#

scipy.cluster.hierarchy.optimal_leaf_ordering(Z, y, metric='euclidean')[原始碼]#

給定連結矩陣 Z 和距離,重新排序切割樹狀圖。

參數:
Zndarray

階層式分群編碼為連結矩陣。請參閱 linkage 以取得更多關於回傳結構和演算法的資訊。

yndarray

Z 由其產生的壓縮距離矩陣。或者,可以傳遞 m 個 n 維觀測向量的集合作為 m 乘 n 陣列。

metric字串或函式,選用

當 y 是觀測向量集合時要使用的距離度量;否則忽略。請參閱 pdist 函式以取得有效距離度量的列表。也可以使用自訂距離函式。

回傳:
Z_orderedndarray

連結矩陣 Z 的副本,重新排序以最小化相鄰葉節點之間的距離。

範例

>>> import numpy as np
>>> 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)