算法1:DBSCAN算法

输入:样本集 B = { y 1 , y 2 , , y k }

领域参数 ( ε , M i n P t s )

过程:

1:

初始化核心对象: Ψ =

2:

for i = 1 , 2 , , k do

3:

确定样本 y i ε -领域 N ε ( y i )

4:

if | N ε ( y i ) | M i n P t s then

5:

将样本 y i 加入核心对象集合: Ψ = Ψ { y i }

6:

end if

7:

end for

8:

初始化聚类簇数: z = 0

9:

初始化未访问样本集合: K = B

10:

while Ψ do

11:

记录当前未访问样本集合: K o l d = K

12:

随机选取一个核心对象 ϑ Ψ ,初始化队列 R = ϑ

13:

K = K \ { ϑ }

14:

while R do

15:

取出队列R中的首个样本r

16:

if | N ε ( r ) | M i n P t s then

17:

X = N ε ( r ) K

18:

将X中的样本加入队列R

19:

K = K \ X

20:

end if

21:

end while

22:

n = n + 1 ,生成聚类簇 S n = K o l d \ K

23:

Ψ = Ψ \ S n

24:

end while

输出:簇划分 S = { S 1 , S 2 , , S z }