公司动态

地址:海南省海口市
电话:0898-08980898
公司动态

当前位置: 首页 > 新闻资讯 > 公司动态

机器学习(聚类七)——层次聚类的优化算法

2024-03-12 12:27:40

上篇博客介绍的层次聚类,尤其是AGNES这一传统的层次聚类算法。这篇博客介绍层次聚类的优化算法。

BIRCH算法
BIRCH算法(平衡迭代削减聚类法):聚类特征使用3元组进行一个簇的相关信息,通过构建满足分枝因子和簇直径限制的聚类特征树来求聚类,聚类特征树其实是一个具有两个参数分枝因子和类直径的高度平衡树;分枝因子规定了树的每个节点的子女的最多个数,而类直径体现了对这一类点的距离范围;非叶子节点为它子女的最大特征值;聚类特征树的构建可以是动态过程的,可以随时根据数据对模型进行更新操作。

优缺点:

  • 适合大规模数据集,线性效率;
  • 只适合分布呈凸形或者球形的数据集、需要给定聚类个数和簇之间的相关参数;

CURE算法
CURE(对BIRCH的优化,但很少有人用。因为不如后面讲的密度聚类方法)
CURE算法(使用代表点的聚类法):该算法先把每个数据点看成一类,然后合并距离最近的类直至类个数为所要求的个数为止。但是和AGNES算法的区别是:取消了使用所有点或用中心点+距离来表示一个类,而是从每个类中抽取固定数量、分布较好的点作为此类的代表点,并将这些代表点乘以一个适当的收缩因子,使它们更加靠近类中心点。代表点的收缩特性可以调整模型可以匹配那些非球形的场景,而且收缩因子的使用可以减少噪音对聚类的影响。

优缺点:

  • 能够处理非球形分布的应用场景
  • 采用随机抽样和分区的方式可以提高算法的执行效率

基于scikit的API创建模拟数据,使用BRICH算法对数据进行聚类操作,并比较n_clusters参数的作用。
API

class sklearn.cluster.Birch(threshold=0.5, branching_factor=50, n_clusters=3, compute_labels=True, copy=True)

代码

 

Birch算法,参数信息为:直径=1.7;n_lusters=None;模型构建消耗时间为:12.264秒;聚类中心数目:158
Birch算法,参数信息为:直径=0.5;n_clusters=None;模型构建消耗时间为:21.004秒;聚类中心数目:3205
Birch算法,参数信息为:直径=1.7;n_lusters=100;模型构建消耗时间为:10.647秒;聚类中心数目:100

看一下最后的效果:
在这里插入图片描述

地址:海南省海口市 Copyright © 2012-2018 杏运-杏运工业电子元件服务商 非商用版本

ICP备案编号:琼ICP备xxxxxxxx号

平台注册入口