本文簡要介紹python語言中 sklearn.cluster.Birch
的用法。
用法:
class sklearn.cluster.Birch(*, threshold=0.5, branching_factor=50, n_clusters=3, compute_labels=True, copy=True)
實現 BIRCH 聚類算法。
它是一種節省內存的 online-learning 算法,作為
MiniBatchKMeans
的替代方案提供。它構造了一個樹形數據結構,其中簇中心從葉子中讀取。這些可以是最終的聚類質心,也可以作為其他聚類算法的輸入,例如AgglomerativeClustering
。在用戶指南中閱讀更多信息。
- threshold:浮點數,默認=0.5
將新樣本與最近的子簇合並得到的子簇的半徑應小於閾值。否則將啟動一個新的子集群。將此值設置為非常低會促進拆分,反之亦然。
- branching_factor:整數,默認=50
每個節點中的最大 CF 子集群數。如果一個新樣本進入,使得子集群的數量超過branching_factor,則該節點將被拆分為兩個節點,每個節點都重新分配了子集群。刪除該節點的父子集群,並添加兩個新子集群作為 2 個拆分節點的父節點。
- n_clusters:int,sklearn.cluster模型的實例,默認=3
最終聚類步驟後的聚類數,它將葉子中的子聚類視為新樣本。
None
:不執行最後的聚類步驟,子聚類按原樣返回。-
sklearn.cluster
Estimator :如果提供了模型,則該模型適合將子集群視為新樣本,並且將初始數據映射到最近的子集群的標簽。 int
:模型擬合為AgglomerativeClustering
,其中n_clusters
設置為等於 int。
- compute_labels:布爾,默認=真
是否為每個擬合計算標簽。
- copy:布爾,默認=真
是否複製給定數據。如果設置為 False,初始數據將被覆蓋。
- root_:_CFNode
CFTree 的根。
- dummy_leaf_:_CFNode
開始指向所有葉子的指針。
- subcluster_centers_:ndarray
所有子簇的質心直接從葉子中讀取。
- subcluster_labels_:ndarray
在全局聚類後分配給子聚類質心的標簽。
- labels_:ndarray 形狀 (n_samples,)
分配給輸入數據的標簽數組。如果使用 partial_fit 而不是 fit,則將它們分配給最後一批數據。
- n_features_in_:int
擬合期間看到的特征數。
- feature_names_in_:ndarray 形狀(
n_features_in_
,) 擬合期間看到的特征名稱。僅當
X
具有全為字符串的函數名稱時才定義。
參數:
屬性:
注意:
樹數據結構由節點組成,每個節點由許多子集群組成。一個節點中的最大子簇數由分支因子決定。每個子集群維護一個線性和、平方和以及該子集群中的樣本數。此外,如果子集群不是葉節點的成員,每個子集群也可以有一個節點作為其子節點。
對於進入根的新點,將其與最接近它的子簇合並,並更新該子簇的線性和、平方和和樣本數。這是遞歸完成的,直到葉節點的屬性被更新。
參考:
- Tian Zhang、Raghu Ramakrishnan、Maron Livny BIRCH:一種高效的大型數據庫數據聚類方法。https://www.cs.sfu.ca/CourseCentral/459/han/papers/zhang96.pdf
- Roberto Perdisci JBirch - BIRCH 聚類算法的 Java 實現 https://code.google.com/archive/p/jbirch
例子:
>>> from sklearn.cluster import Birch >>> X = [[0, 1], [0.3, 1], [-0.3, 1], [0, -1], [0.3, -1], [-0.3, -1]] >>> brc = Birch(n_clusters=None) >>> brc.fit(X) Birch(n_clusters=None) >>> brc.predict(X) array([0, 0, 0, 1, 1, 1])
相關用法
- Python sklearn Binarizer用法及代碼示例
- Python sklearn BallTree用法及代碼示例
- Python sklearn BayesianGaussianMixture用法及代碼示例
- Python sklearn BaggingRegressor用法及代碼示例
- Python sklearn BernoulliRBM用法及代碼示例
- Python sklearn BaggingClassifier用法及代碼示例
- Python sklearn Bunch用法及代碼示例
- Python sklearn BernoulliNB用法及代碼示例
- Python sklearn BayesianRidge用法及代碼示例
- Python sklearn jaccard_score用法及代碼示例
- Python sklearn WhiteKernel用法及代碼示例
- Python sklearn CalibrationDisplay.from_predictions用法及代碼示例
- Python sklearn VotingRegressor用法及代碼示例
- Python sklearn gen_batches用法及代碼示例
- Python sklearn ExpSineSquared用法及代碼示例
- Python sklearn MDS用法及代碼示例
- Python sklearn adjusted_rand_score用法及代碼示例
- Python sklearn MLPClassifier用法及代碼示例
- Python sklearn train_test_split用法及代碼示例
- Python sklearn RandomTreesEmbedding用法及代碼示例
- Python sklearn GradientBoostingRegressor用法及代碼示例
- Python sklearn GridSearchCV用法及代碼示例
- Python sklearn log_loss用法及代碼示例
- Python sklearn r2_score用法及代碼示例
- Python sklearn ndcg_score用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.cluster.Birch。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。