请输入您要查询的百科知识:

 

词条 DBSCAN
释义

描述一

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。

DBSCAN算法描述:

输入: 包含n个对象的数据库,半径e,最少数目MinPts;

输出:所有生成的簇,达到密度要求。

(1)Repeat

(2)从数据库中抽出一个未处理的点;

(3)IF抽出的点是核心点 THEN 找出所有从该点密度可达的对象,形成一个簇;

(4)ELSE 抽出的点是边缘点(非核心对象),跳出本次循环,寻找下一个点;

(5)UNTIL 所有的点都被处理。

DBSCAN对用户定义的参数很敏感,细微的不同都可能导致差别很大的结果,而参数的选择无规律可循,只能靠经验确定。

描述二:

DBSCAN (基于密度的空间成群应用以噪声)是a 数据成群 马丁· Ester, Hans彼得Kriegel, Jörg沙磨机和Xiaovei提议的算法Xui 1996. 因为它从对应的结的估计的密度发行开始,发现一定数量的群它是密度基群算法。 domenica Arlia和Massimo提出DBSCAN算法的parallelisation Coppola 2001.

内容
1 步2 伪码3 好处4 缺点5 参考

步骤

DBScan要求二个参量: ε (eps)和极小的点(minPts)。 它开始以unvisited的一个任意出发点。 它在出发点的距离eps之内发现所有附近点。

如果附近点的数量是大于或等于minPts,群被形成。 出发点和它的邻居增加到这群,并且出发点被标记为visited。 然后递归评估所有未被标记为visited的该群成员,从而对群进行扩展。

如果邻居的数量比minPts是较少,则该点暂时被标记作为噪声。

如果群充分地被扩展(群内的所有点被标记为visited),然后重复的算法去处理unvisited点。

伪码

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。它采用迭代查找的方法,通过迭代地查找所有直接密度可达的对象,找到各个所有密度可达的对象,具体算法描述如下:

(1)检测数据库中尚未检查过的对象p,如果p为被处理(归为某个簇或者标记为噪声),则检查其邻域,若包含的对象数不小于,建立新簇C,将中所有点加入C

(2)对C中所有尚未被处理的对象q,检查其邻域,若中至少包含个对象,则将中未归入任何一个簇的对象加入C

(3)重复步骤2),继续检查C中未处理的对象,知道没有新的对象加入当前簇C

(4)重复步骤1)~3),直到所有对象都归入了某个簇或标记为噪声。

其伪代码描述如下:

输入:数据对象集合D,半径Eps,密度阈值MinPts

输出:聚类C

DBSCAN(D, Eps, MinPts)

Begin

init C=0; //初始化簇的个数为0

for each unvisited point p in D

mark p as visited; //将p标记为已访问

N = getNeighbours (p, Eps);

if sizeOf(N) < MinPts then

mark p as Noise; //如果满足sizeOf(N) < MinPts,则将p标记为噪声

else

C = next cluster; //建立新簇C

ExpandCluster (p, N, C, Eps, MinPts);

end if

end for

End

其中ExpandCluster算法伪码如下:

ExpandCluster(p, N, C, Eps, MinPts)

add p to cluster C; //首先将中所有点加入C

for each point p’ in N

mark p as visited;

N’ = getNeighbours (p’, Eps); //对N邻域内的所有点在进行半径检查

if sizeOf(N’) >= MinPts then

N = N+N’; //如果大于MinPts,就扩展N的数目

end if

if p’ is not member of any cluster

add p’ to cluster C; //将p' 加入簇C

end if

end for

End ExpandCluster

好处

1. DBScan在数据不要求您知道群的数量演绎。 此与K手段比较。

2. DBScan没有偏心往特殊群形状或大小。 此与K手段比较。

3. 如果需要DBScan对噪声是有抵抗性并且为噪声提供手段过滤。

缺点

1. DBScan不很好反应高尺寸数据。 当幅员增加,因此做使它的点之间的相对距离更加坚硬执行密度分析。

2. DBScan不很好反应数据集以变化的密度。

参考

“一种基于密度的算法为在大空间数据库发现群以噪声”。 第2次国际会议记录关于KDD的AAAI Press。 检索 2007-10-15.“实验在平行成群与DBSCAN”。 欧洲同水准2001年: 并行处理: 第7国际欧洲同水准会议曼彻斯特,英国2001年8月28-31,行动Springer柏林。 检索 2004-02-19.

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/14 12:23:30