1、算法引入及简介
为什么要引入DBSCAN?
K均值聚类使用非常广泛,作为古老的聚类方法,它的算法非常简单,而且速度很快。但是其缺点在于它不能识别非球形的簇;而DBSCAN算法是将所有点标记为核心点、边界点或噪声点,将任意两个距离不大于E(eps)的核心点归为同一个簇,任何与核心点足够近的边界点也放到与之相同的簇中,可以发现任意形状的簇类。
人为构造基于sin函数和cos函数构成的两组点数据,分别用K均值与DBSCAN算法聚类,对比如下:
K均值 DBSCAN
可以发现K均值聚类结果是不理想的
DBSCAN定义
DBSCAN(Density-Based Spatial Clustering of Application with Noise),是一个较有代表性的基于密度的聚类算法。它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。简单的说就是过滤低密度区域,把扎堆的点(高密度区域)找出来。
2、相关概念
1)密度:任意一点的密度是以该点为圆心、以E为半径的圆区域内包含的点数目。 4
2)Ε邻域:给定对象半径为Ε内的区域称为该对象的Ε邻域。
3)核心对象:如果对象的E邻域样本点数大于等于MinPts(最小样本点数),则称该对象为核心对象。 a
4)边界点:在以半径为E的邻域内点的数量小于MinPts,但是落在其他核心点的邻域内。 d
5)噪声点:既不是边界点也不是核心点的任意点。 e
2)Ε邻域:给定对象半径为Ε内的区域称为该对象的Ε邻域。
3)核心对象:如果对象的E邻域样本点数大于等于MinPts(最小样本点数),则称该对象为核心对象。 a
4)边界点:在以半径为E的邻域内点的数量小于MinPts,但是落在其他核心点的邻域内。 d
5)噪声点:既不是边界点也不是核心点的任意点。 e
6)直接密度可达:对于样本集合D,如果样本点q在p的Ε领域内,并且p为核心对象,那么对象q从对象p直接密度可达(如果p是一个核心对象,q属于p的邻域,q从p直接密度可达)。