当前位置: 代码迷 >> 综合 >> 聚类算法——DBSCAN
  详细解决方案

聚类算法——DBSCAN

热度:31   发布时间:2024-02-04 22:57:31.0

DBSCAN是一种基于密度的聚类算法,直观效果上看,DBSCAN算法可以找到样本点的全部密集区域,并把这些密集区域当做一个一个聚类簇。

  • DBSCAN算法首先将样本点分类为:(1)稠密区域内部的点(核心点,领域半径EPS内样本点的数量大于等于minpoints的点),(2)稠密区域边缘上的点(边界点,不属于核心点但在某个核心点的邻域内的点),(3)稀疏区域的点(噪声或背景点)。
    在这里插入图片描述

  • 样本点的关系有四种:密度直达、密度可达、密度相连、非密度相连。

  • 如果P为核心点,Q在P的R邻域内,那么称P到Q密度直达。任何核心点到其自身密度直达,密度直达不具有对称性,如果P到Q密度直达,那么Q到P不一定密度直达。

  • 如果存在核心点P2,P3,……,Pn,且P1到P2密度直达,P2到P3密度直达,……,P(n-1)到Pn密度直达,Pn到Q密度直达,则P1到Q密度可达。密度可达也不具有对称性。

  • 如果存在核心点S,使得S到P和Q都密度可达,则P和Q密度相连。密度相连具有对称性,如果P和Q密度相连,那么Q和P也一定密度相连。密度相连的两个点属于同一个聚类簇。

  • 如果两个点不属于密度相连关系,则两个点非密度相连。非密度相连的两个点属于不同的聚类簇,或者其中存在噪声点。

DBSCAN算法可以描述为:任意两个足够靠近(相互之间的距离在Eps之内)的核心点将放在同一个簇中,同样,任何与核心点足够靠近的边界点也放到与核心点相同的簇中。

算法DBSCAN

  1. 将所有点标记为核心点、边界点或噪声点。
  2. 删除噪声点。
  3. 为距离在Eps之内的核心点之间赋予一条边。
  4. 每组连通的核心点形成一个簇。
  5. 将每个边界点指派到一个与之关联的核心点的簇中。

DBSCAN算法具有3个特点:(1)基于密度,对远离密度核心的噪声点鲁棒。(2)无需知道聚类簇的数量。(3)可以发现任意形状的聚类簇。DBSCAN通常适合于对较低维度数据进行聚类分析。

参考:《20分钟看懂DBSCAN的基本原理》、《数据挖掘导论》