BIRCH算法不仅在数据点首次插入时进行操作,还能通过更新和维护CF树来适应数据的变化。 动态插入和删除 BIRCH算法允许动态地插入和删除数据点,这一点是通过更新相关簇的CF向量来实现的。 示例: 假设一个数据点从簇(C1)中被删除,那么(C1)的CF向量将会相应地更新。 四、实战应用 在这一节中,我们将通过一个实际的数...
BIRCH算法通过将大规模数据集高效压缩为若干紧凑且统计信息完备的聚类特征项(Clustering Feature, CF)来实现数据摘要,每个CF本质上是一个可进行层次聚合的三元组(N, LS, SS),其中N表示簇内样本数量,LS是各维度线性求和的向量,SS是各维度平方和的向量,这些特征项不仅能够通过向量加法合并形成更高层次的CF节点,还能保...
对于BIRCH算法而言,主要的步骤就是构建CF tree, 树状结构构建好之后,后续还可以有些可选步骤,常见的可选步骤如下 1. 去除异常的CF点,通常是包含样本较少的CF 2. 利用其它聚类算法,比如K-means 对CF Tree进行聚类, 用于调整样本读入顺序造成的树状结构的不合理 3. 利用CF节点的质心,对样本点进行聚类 在scikit-...
该算法通过构建CF树实现数据压缩,在电信基站信号分析、电商用户行为聚类等场景中具有显著优势。例如某物流企业曾运用BIRCH算法对全国2000万快递网点进行智能分拣,分拣效率提升47%。 核心设计思想 其创新性体现在三方面:首先采用聚类特征(CF)三元组(n,LS,SS)动态表征数据分布,其中n代表样本数,LS为线性求和向量,SS为...
因此要使用BIRCH来聚类,关键是对CFTree结构参数的处理...BIRCH算法是可选的,如果类别数非常多,我们也没有先验知识,则一般输入None,此时BIRCH算法第4阶段不会运行。但是如果我们有类别的先验知识,则推荐输入这个可选的类别值。默认是3,即最终聚为3类 BIRCH聚类...
上述代码调用Birch算法聚成两类,并对X数据进行训练,共6个点(1、2、3、4、3、2),然后预测其聚类后的类标,输出为0或1两类结果,其中点1、2、2输出类标为1,点3、4、3输出类标为0。这是一个较好的聚类结果,因为值较大的点(3、4)聚集为一类,值较小的点(1、2)聚集为另一类。这里只是进行了简单描述,...
一、算法全景视角 BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)是首个针对超大规模数据集的聚类算法,可在有限内存下高效处理十亿级数据。其核心创新在于采用CF Tree数据结构,将数据压缩为多级聚类特征摘要,实现单次扫描完成聚类。 二、核心组件解密 ...
当然,真实的BIRCH算法除了建立CF Tree来聚类,其实还有一些可选的算法步骤的,现在我们就来看看 BIRCH算法的流程。 1) 将所有的样本依次读入,在内存中建立一颗CF Tree, 建立的方法参考上一节。 2)(可选)将第一步建立的CF Tree进行筛选,去除一些异常CF节点,这些节点一般里面的样本点很少。对于一些超球体距离非常近...
BIRCH算法本身上属于一种聚类算法,不过他克服了一些K-Means算法的缺点,比如说这个k的确定,因为这个算法事先本身就没有设定有多少个聚类。他是通过CF-Tree,(ClusterFeature-Tree)聚类特征树实现的。BIRCH的一个重要考虑是最小化I/O,通过扫描数据库,建立一棵存放于内存的初始CF-树,可以看做多数据的多层压缩。