階層式分群 (scipy.cluster.hierarchy)#

這些函數將階層式分群切割成扁平式分群,或者透過提供每個觀察值的扁平式分群 ID,來找出由切割形成的樹狀結構的根。

fcluster(Z, t[, criterion, depth, R, monocrit])

從給定的連結矩陣定義的階層式分群中形成扁平式分群。

fclusterdata(X, t[, criterion, metric, ...])

使用給定的度量來分群觀察資料。

leaders(Z, T)

傳回階層式分群中的根節點。

這些是凝聚式分群的常式。

linkage(y[, method, metric, optimal_ordering])

執行階層式/凝聚式分群。

single(y)

在壓縮距離矩陣 y 上執行 single/min/nearest 連結。

complete(y)

在壓縮距離矩陣上執行 complete/max/farthest point 連結。

average(y)

在壓縮距離矩陣上執行 average/UPGMA 連結。

weighted(y)

在壓縮距離矩陣上執行 weighted/WPGMA 連結。

centroid(y)

執行 centroid/UPGMC 連結。

median(y)

執行 median/WPGMC 連結。

ward(y)

在壓縮距離矩陣上執行 Ward's 連結。

這些常式計算階層的統計資訊。

cophenet(Z[, Y])

計算由連結 Z 定義的階層式分群中,每個觀察值之間的共表型距離。

from_mlab_linkage(Z)

轉換由 MATLAB(TM) 產生的連結矩陣,成為與此模組相容的新連結矩陣。

inconsistent(Z[, d])

計算連結矩陣上不一致性統計量。

maxinconsts(Z, R)

傳回每個非單例分群及其子系的最大的不一致係數。

maxdists(Z)

傳回任何非單例分群之間的最大距離。

maxRstat(Z, R, i)

傳回每個非單例分群及其子系的最大統計量。

to_mlab_linkage(Z)

將連結矩陣轉換為與 MATLAB(TM) 相容的格式。

用於視覺化扁平式分群的常式。

dendrogram(Z[, p, truncate_mode, ...])

將階層式分群繪製為樹狀圖。

這些是將階層表示為樹狀物件的資料結構和常式。

ClusterNode(id[, left, right, dist, count])

用於表示分群的樹狀節點類別。

leaves_list(Z)

傳回葉節點 ID 的列表。

to_tree(Z[, rd])

將連結矩陣轉換為易於使用的樹狀物件。

cut_tree(Z[, n_clusters, height])

給定連結矩陣 Z,傳回切割樹。

optimal_leaf_ordering(Z, y[, metric])

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

這些是檢查連結和不一致性矩陣有效性,以及檢查兩個扁平式分群指派是否同構的謂詞。

is_valid_im(R[, warning, throw, name])

如果傳遞的不一致性矩陣有效,則傳回 True。

is_valid_linkage(Z[, warning, throw, name])

檢查連結矩陣的有效性。

is_isomorphic(T1, T2)

判斷兩個不同的分群指派是否等效。

is_monotonic(Z)

如果傳遞的連結是單調的,則傳回 True。

correspond(Z, Y)

檢查連結矩陣和壓縮距離矩陣之間是否對應。

num_obs_linkage(Z)

傳回傳遞的連結矩陣的原始觀察數量。

用於繪圖的實用程式

set_link_color_palette(palette)

設定 matplotlib 顏色代碼列表,供樹狀圖使用。

實用類別

DisjointSet([elements])

用於增量連線查詢的不相交集合資料結構。