DBSCAN算法

一、基本概念

(1)核心对象:若某个点的密度达到算法设定的阈值则其为核心点(即r邻域内点的数量不小于minPts)

(2)ϵ-邻域的距离值:设定的半径r

(3)直接密度可达:若某点p在点q的r邻域内,且q是核心点,则p-q直接密度可达

(4)密度可达:若有一个点的序列q0、q1、...qk,对任意qi-qi-1是直接密度可达的,则称从q0到qk密度可达,这实际上是直接密度可达的“传播”。

 

(5)密度相连:若从某核心点p出发,点q和点k都是密度可达的吗,则称点q和点k是密度可连的。

(6)边界点:属于某一类的非核心点,不能发展下线了

(7)噪声点:不属于任何一个类簇的点,从任何一个核心点出发都是密度不可达的

二、算法工作流程:

1、 标记所有对象为 unvisited;
2、 Do
3、 随机选择一个unvisited对象p;
4、 标记p为visited;
5、 If p的ϵ-领域至少有MinPts个对象:
6、     创建一个新簇C,并把p添加到C
7、     令N为p的ϵ-领域中的对象集合
8、     For N中每个点p'
9、         If p'是unvisited:
10、            标记p'为visited
11、            If p'的ϵ-领域至少有MinPts个对象,把这些对象添加到N
12、            如果p'还不是任何簇的成员,把p'添加到C
13、    End for
14、    输出C
15、Else 标记p为噪声
16、Until没有标记为unvisited的对象

 

posted @ 2020-08-24 17:25  寒灵oay  阅读(242)  评论(0编辑  收藏  举报