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)