2024年5月30日发(作者:)

DBACAN影响密度的两个参数

DBSCAN 算法有两个参数:半径 eps 和密度阈值 MinPts,具体步骤为:

1、以每一个数据点 xi 为圆心,以 eps 为半径画一个圆圈。这个圆圈被称为 xi 的

eps 邻域

2、对这个圆圈内包含的点进行计数。如果一个圆圈里面的点的数目超过了密度阈值

MinPts,那么将该圆圈的圆心记为核心点,又称核心对象。如果某个点的 eps 邻域内点

的个数小于密度阈值但是落在核心点的邻域内,则称该点为边界点。既不是核心点也不是

边界点的点,就是噪声点。

3、核心点 xi 的 eps 邻域内的所有的点,都是 xi 的直接密度直达。如果 xj 由 xi 密

度直达,xk 由 xj 密度直达。。。xn 由 xk 密度直达,那么,xn 由 xi 密度可达。这个

性质说明了由密度直达的传递性,可以推导出密度可达。

4、如果对于 xk,使 xi 和 xj 都可以由 xk 密度可达,那么,就称 xi 和 xj 密度相

连。将密度相连的点连接在一起,就形成了我们的聚类簇。

DBSCAN算法的优缺点

优点:

1.与K—means方法相比,DBSCAN不需要事先知道要形成的簇类的数量。

2. 与K—means方法相比,DBSCAN可以发现任意形状的簇类。

3. 同时,DBSCAN能够识别出噪声点。对离群点有较好的鲁棒性,甚至可以检测离

群点。

对于数据库中样本的顺序不敏感,即Pattern的输入顺序对结果的影响不

大。但是,对于处于簇类之间边界样本,可能会根据哪个簇类优先被探测到而其归属有所

摆动。

被设计与数据库一同使用,可以加速区域的查询。例如 使用R*树

6. 可以在聚类时发现噪音点、对数据集中的异常点不敏感

缺点:

1. DBScan不能很好反映高维数据。

2. DBScan不能很好反映数据集以变化的密度,不适于数据集中样本密度差异很小的

情况;

3.由于DBSCAN算法直接对整个数据集进行操作,并且在聚类之前需要建立相应的

R*树,并绘制k—dist图,因此算法所需的内存空间和I/O消耗都相当可观。在计算资源

有限而数据量又非常庞大的情况下,DBSCAN算法的效率将受到很大影响。(DBSCAN

算法将区域查询得到的所有未被处理过的点都作为种子点,留待下一步扩展处理。对于大

规模数据集中的较大类而言,这种策略会使种子点的数目不断膨胀,算法所需的内存空间

也会快速增加。)