course:
- 数据挖掘
- 机器学习
「DBSCAN」(Density-Based Spatial Clustering of Applications with Noise,基于高密度连接区域的密度聚类方法)是一种著名的密度聚类算法。它基于一组「邻域函数」(
与划分和层次聚类方法不同,DBSCAN 将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在有噪声的空间数据库中发现任意形状的聚类
对
若
给定一个对象集合
若
对
如图,
由密度可达关系到出的最大相连样本集合被定义为「簇」。给定邻域参数
先任选数据集中的一个核心对象为「种子」,再由此出发确定相应的聚类簇。
以任一核心对象为出发点,找出由其密度可达的样本生成聚类簇,然后更新核心对象集合(在集合中去除生成的聚类簇中包含的核心对象),重复上述操作,直到所有核心对象均被访问过为止。
输入:样本集
输出:簇划分
过程:
DBSCAN 将数据对象分为三类
优点:
缺点:
假设现在有 7 个点
解:
首先找出所有核心对象,为
此时
下面以西瓜数据集为例演示 DBSCAN 的过程,设置
然后随机选择一个核心对象作为种子。假设选择核心对象
然后 DBSCAN 将
再从更新后的集合