五、BIRCH
BIRCH
是scikit-learn
提供的一种层次聚类模型。其原型为:class sklearn.cluster.Birch(threshold=0.5, branching_factor=50, n_clusters=3,
compute_labels=True, copy=True)
threshold
:一个浮点数,指定空间阈值 。branching_facto
:一个整数,指定枝平衡因子 。叶平衡因子 也等于该数值。n_clusters
:一个整数或者None
或者sklearn.cluster
模型,指定最终聚类的数量。- 如果为
None
,则由算法自动给出。 - 如果为一个整数,则使用
AgglomerativeClustering
算法来对CF
本身执行聚类,并将聚类结果返回。这使得最终的聚类数量就是n_clusters
。 - 如果为一个
sklearn.cluster
模型,则该模型对CF
本身执行聚类,并将聚类结果返回。
- 如果为
compute_labels
:一个布尔值,指定是否需要计算簇标记。copy
:一个布尔值,指定是否拷贝原始数据。
属性:
root_
:一个_CFNode
对象,表示CF
树的根节点。subcluster_centers_
:一个数组,表示所有子簇的中心点。它直接从所有叶结点中读取。
subcluster_labels_
:一个数组,表示所有子簇的簇标记。可能多个子簇会有同样的簇标记,因为子簇可能会被执行进一步的聚类。
labels_
:一个形状为[n_samples,]
的数组,给出了每个样本的簇标记。如果执行分批训练,则它给出的是最近一批样本的簇标记。
方法:
fit(X[, y])
:训练模型。partial_fit(X[, y])
:分批训练模型(在线学习)。fit_predict(X[, y])
:训练模型并执行聚类,返回每个样本所属的簇标记。predict(X)
:对每个样本预测其簇标记。根据每个子簇的中心点来预测样本的簇标记。
transform(X)
:将样本转换成子簇中心点的坐标:维度 代表样本距离第 个子簇中心的距离。fit_transform(X[, y])
:训练模型并将样本转换成子簇中心点的坐标。