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)。新條目計算如下, , 其中是由聚類和組成的新加入的聚類,是森林中未使用的聚類。, 是他參數的基數。這也被稱為增量算法。 |