本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。