五、BIRCH

  1. BIRCHscikit-learn提供的一种层次聚类模型。其原型为:

    1. class sklearn.cluster.Birch(threshold=0.5, branching_factor=50, n_clusters=3,
    2. compute_labels=True, copy=True)
    • threshold:一个浮点数,指定空间阈值 五、BIRCH - 图1

    • branching_facto:一个整数,指定枝平衡因子 五、BIRCH - 图2 。叶平衡因子 五、BIRCH - 图3 也等于该数值。

    • n_clusters:一个整数或者None 或者sklearn.cluster 模型,指定最终聚类的数量。

      • 如果为None,则由算法自动给出。
      • 如果为一个整数,则使用AgglomerativeClustering 算法来对CF 本身执行聚类,并将聚类结果返回。这使得最终的聚类数量就是n_clusters
      • 如果为一个sklearn.cluster 模型,则该模型对CF 本身执行聚类,并将聚类结果返回。
    • compute_labels:一个布尔值,指定是否需要计算簇标记。

    • copy:一个布尔值,指定是否拷贝原始数据。

  2. 属性:

    • root_:一个_CFNode对象,表示CF树的根节点。

    • subcluster_centers_:一个数组,表示所有子簇的中心点。

      它直接从所有叶结点中读取。

    • subcluster_labels_:一个数组,表示所有子簇的簇标记。

      可能多个子簇会有同样的簇标记,因为子簇可能会被执行进一步的聚类。

    • labels_:一个形状为[n_samples,] 的数组,给出了每个样本的簇标记。

      如果执行分批训练,则它给出的是最近一批样本的簇标记。

  3. 方法:

    • fit(X[, y]):训练模型。

    • partial_fit(X[, y]):分批训练模型(在线学习)。

    • fit_predict(X[, y]):训练模型并执行聚类,返回每个样本所属的簇标记。

    • predict(X):对每个样本预测其簇标记。

      根据每个子簇的中心点来预测样本的簇标记。

    • transform(X):将样本转换成子簇中心点的坐标:维度五、BIRCH - 图4 代表样本距离第 五、BIRCH - 图5 个子簇中心的距离。

    • fit_transform(X[, y]):训练模型并将样本转换成子簇中心点的坐标。