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
算法将区域查询得到的所有未被处理过的点都作为种子点,留待下一步扩展处理。对于大
规模数据集中的较大类而言,这种策略会使种子点的数目不断膨胀,算法所需的内存空间
也会快速增加。)
发布评论