sklearn.cluster.ward_tree?

sklearn.cluster.ward_tree(X, *, connectivity=None, n_clusters=None, return_distance=False)

[源碼]

基于特征矩陣的Ward聚類。

遞歸地合并簇對, 這些簇能最小增加的簇內方差。

inertia矩陣使用基于Heapq的表示。

這是結構化版本,它考慮了樣本之間的一些拓撲結構。

用戶指南中閱讀更多內容。

參數 說明
X array, shape (n_samples, n_features)
表示要聚類的n個樣本的特征矩陣
connectivity sparse matrix (optional)
連接矩陣。為每個樣本定義遵循給定數據結構的相鄰樣本。這可以是連接矩陣本身,也可以是可調用的,能將數據轉換為連接矩陣,例如從kneighbors_graph派生的連接矩陣。默認為None,分層聚類算法是一種非結構化的聚類算法。
n_clusters int (optional)
提前停止n_clusters簇樹的構建。如果聚類的數量與樣本數相比并不少,這對于減少計算時間是非常有用的。在這種情況下,不計算完整的樹,因此‘children’輸出的用處有限,應該使用‘parents’輸出。此選項僅在指定連接矩陣時有效。
return_distance bool (optional)
如果為True,則返回聚類之間的距離。
返回值 說明
children 2D array, shape (n_nodes-1, 2)
每個非葉節點的子節點。小于n_samples的值對應于原始樣本樹的葉子。大于或等于n_samples的節點i是一個非葉節點,具有子節點children_[i - n_samples]。或者,在第i次迭代時,將children[i][0]和children[i][1]合并成節點n_samples + i
n_connected_components int
圖中連通部件的數目。
n_leaves int
樹上的葉子數
parents 1D array, shape (n_nodes, ) or None
每個節點的父節點。只有在指定連接矩陣時才返回,否則返回“None”。
distances 1D array, shape (n_nodes-1, )
只有當return_distance設置為True(為了兼容)時, 才會返回。節點中心之間的距離。distances[i]對應于節點子children[i, 1]children\[i, 2][i,2]之間的加權歐氏距離。如果節點指的是樹的葉子,那么distances[i]就是它們的未加權歐幾里德距離。距離按以下方式更新(來自scipy.hierarchy.linkage)。
新條目計算如下,
,
其中是由聚類組成的新加入的聚類,是森林中未使用的聚類。, 是他參數的基數。這也被稱為增量算法。