DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在有“噪声”的空间数据库中发现任意形状的聚类。
一、基础概念
在介绍算法之前,先明确几个在DBSCAN模型中常用的概念:
- 对象的 ϵ -临域:给定对象在半径 ϵ 内的区域。
- 对象:如果一个对象的 ϵ -临域至少包含最小数目 MinPts 个对象,则称该对象为核心对象。
例如,在下图中, ϵ=1cm , MinPts=5 , q 是一个核心对象,而p 不是, o 也不是。
- 直接密度可达:给定一个对象集合
D ,如果 p 是在q 的ε-邻域内,而 q 是一个核心对象,我们说对象p 从对象 q 出发是直接密度可达的。
例如,在下图中,ϵ=1cm , MinPts=5 , q 是一个核心对象,对象p 从对象 q 出发是直接密度可达的,而对象o 从对象