當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn AgglomerativeClustering用法及代碼示例


本文簡要介紹python語言中 sklearn.cluster.AgglomerativeClustering 的用法。

用法:

class sklearn.cluster.AgglomerativeClustering(n_clusters=2, *, affinity='euclidean', memory=None, connectivity=None, compute_full_tree='auto', linkage='ward', distance_threshold=None, compute_distances=False)

凝聚聚類。

遞歸合並樣本數據對的集群;使用鏈接距離。

在用戶指南中閱讀更多信息。

參數

n_clustersint 或無,默認=2

要查找的集群數。如果 distance_threshold 不是 None ,則它必須是 None

affinitystr 或可調用,默認='euclidean'

用於計算鏈接的度量。可以是“euclidean”、“l1”、“l2”、“manhattan”, “cosine” 或“precomputed”。如果鏈接為“ward”,則僅接受“euclidean”。如果“precomputed”,則需要距離矩陣(而不是相似度矩陣)作為擬合方法的輸入。

memory帶有joblib.Memory 接口的str 或對象,默認=None

用於緩存樹計算的輸出。默認情況下,不進行緩存。如果給出一個字符串,它是緩存目錄的路徑。

connectivity類似數組或可調用,默認=無

連接矩陣。為每個樣本定義遵循給定數據結構的相鄰樣本。這可以是連接矩陣本身或將數據轉換為連接矩陣的可調用對象,例如從 kneighbors_graph 派生的。默認值為 None ,即層次聚類算法是非結構化的。

compute_full_tree‘auto’ 或布爾值,默認='auto'

n_clusters 處盡早停止樹的構建。如果集群的數量與樣本數量相比不小,這對於減少計算時間很有用。此選項僅在指定連接矩陣時有用。還要注意,當改變集群的數量並使用緩存時,計算完整的樹可能是有利的。如果 distance_threshold 不是 None ,則它必須是 True 。默認情況下 compute_full_tree 為 “auto”,當 distance_threshold 不是 Nonen_clusters 低於 100 或 0.02 * n_samples 之間的最大值時,它等效於 True。否則,“auto” 等價於 False

linkage{‘ward’, ‘complete’, ‘average’, ‘single’},默認='病房'

使用哪個鏈接標準。鏈接標準確定在觀察集之間使用哪個距離。該算法將合並使該標準最小化的集群對。

  • ‘ward’ 最小化被合並的集群的方差。
  • ‘average’ 使用兩組每個觀測值的距離平均值。
  • ‘complete’ 或 ‘maximum’ 鏈接使用兩組所有觀測值之間的最大距離。
  • ‘single’ 使用兩組所有觀測值之間距離的最小值。
distance_threshold浮點數,默認=無

鏈接距離閾值,超過該閾值,集群將不會被合並。如果不是 None ,則 n_clusters 必須是 None 並且 compute_full_tree 必須是 True

compute_distances布爾,默認=假

即使不使用distance_threshold,也會計算集群之間的距離。這可用於進行樹狀圖可視化,但會引入計算和內存開銷。

屬性

n_clusters_int

算法找到的聚類數。如果 distance_threshold=None ,它將等於給定的 n_clusters

labels_形狀的ndarray(n_samples)

每個點的聚類標簽。

n_leaves_int

層次樹中的葉子數。

n_connected_components_int

圖中連接組件的估計數量。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

children_形狀類似數組 (n_samples-1, 2)

每個非葉節點的子節點。小於n_samples 的值對應於作為原始樣本的樹的葉子。大於或等於 n_samples 的節點 i 是非葉節點,並且具有子節點 children_[i - n_samples] 。或者在 i-th 迭代中,children[i][0] 和 children[i][1] 合並形成節點 n_samples + i

distances_形狀類似數組 (n_nodes-1,)

children_ 中對應位置的節點之間的距離。僅在使用 distance_thresholdcompute_distances 設置為 True 時計算。

例子

>>> from sklearn.cluster import AgglomerativeClustering
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [4, 2], [4, 4], [4, 0]])
>>> clustering = AgglomerativeClustering().fit(X)
>>> clustering
AgglomerativeClustering()
>>> clustering.labels_
array([1, 1, 1, 0, 0, 0])

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.cluster.AgglomerativeClustering。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。