DBSCAN聚类算法

本文介绍了DBSCAN聚类算法的工作原理,它基于密度而非预设簇数,能有效处理噪声和发现任意形状的簇。同时对比了其他常见的聚类算法如K-Means、层次聚类、谱聚类等在性能和适用场景上的差异。
摘要由CSDN通过智能技术生成

DBSCAN读作:DB Scan,是英语基于密度的噪声应用空间聚类(Density-Based Spatial Clustering of Applications with Noise)的简写。在理解K-means聚类算法之后再来理解DBSCAN就容易多了。

DBSCAN的步骤如下:
随机从一个点开始,计算一个半径ε的圆范围内有没有另一个数据,如果有,则不断扩散,将其聚为一类。离群的点(距离其他点比较远的点)无法形成规模(可以自行设置规模)的情况下则不组成簇。用可视化的图片表示如下:
在这里插入图片描述
整个过程就类似于病毒“扩散”的过程,在范围内的被同种病毒传播,不在范围内的就传播不到。

scikit-learn的聚类部分,可以看到不同数据集对应的不同聚类算法的结果:在这里插入图片描述
在聚类问题中,我们要根据数据的大致形状和我们预期的结果去选择不同的聚类算法。

我们按照各个聚类算法在业界的性能、效果、普及程度和应用频率简单排一下名:

  • K-Means: 最为广泛使用的聚类算法之一,特别适用于处理大型数据集。 简单、易于实现,通常用于球形簇的识别。
  • 层次聚类(Hierarchical Clustering):适用于各种规模的数据集,特别是当簇的层次结构很重要时。
  • 生成树状图(Dendrogram),提供了数据的层次分解。
  • DBSCAN:优秀的处理噪声和发现任意形状簇的能力。不需要预先指定簇的数量。
  • 谱聚类(Spectral Clustering):基于图论,适用于发现复杂结构的簇,尤其是非球形的簇。对数据集的相似性结构非常敏感。
  • 高斯混合模型(Gaussian Mixture Models, GMM):软聚类方法,提供了数据点属于每个簇的概率。灵活,可以适应不同大小和不同形状的簇。
  • Mean Shift:基于滑动窗口的方法,自动确定簇的数量。适用于寻找任意形状的簇。
  • OPTICS(Ordering Points To Identify the Clustering Structure):类似于DBSCAN,但对于变化的密度更加灵活。
  • BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies):特别适合于大型数据集。适用于有明显层次结构的数据。
  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值