DBSCAN
密度聚类:用于检测任务,找异常点,离群点,效果明显。
针对环形数据,曲线数据
大圆:核心对象,不需要指定簇,周围核心半径有大于min_sample点
小圆:非核心对象,周围少于min_sample点
黑色点:离群点和任何核心对象的距离大于阈值
DBSCAN算法具有以下特点:
- 基于密度,对远离密度核心的噪声点鲁棒
- 无需知道聚类簇的数量
- 可以发现任意形状的聚类簇
- DBSCAN通常适合于对较低维度数据进行聚类分析
DBSCAN的基本概念可以用以下4点总结
1个核心思想:基于密度
直观效果上看,DBSCAN算法可以找到样本点的全部密集区域,并把这些区域当作一个个的聚类簇
2个算法参数
邻域半径R和最少点数目MinPoints.
这两个算法参数可以刻画什么叫密集:
领域半径R内的点的个数 > 最少点数目MinPoints 时 就是密集
3种点的类别
1.核心点 边界点 噪声点
- 核心点:邻域半径R内样本点的数量大于等于minpoints的点
- 边界点:不属于核心点但在某个核心点的领域内的点
- 噪声点:既不是核心点,也不是边界点的
4种点的关系
密度直达 、密度可达 、 密度相连 、非密度相连
-
密度直达:
1.如果P为核心点,Q在P的R领域内,那么成P到Q密度直达
2.任何核心点到自身密度直达
3.密度直达不具备对称性
4.P->Q 密度直达,Q->P不一定 -
密度可达:
1.核心点P1,P2,…Pn。依次相邻的连续密度直达
2.P1->P2…Pn-1->Pn 且 Pn到Q密度可达。则P1->Q密度可达。
3.密度可达不具备对称性 -
密度相连:
1.核心点S,S->P和Q 都密度可达,则PQ相连
2.密度相连具有对称性 PQ相连 则 QP相连
3.密度相连的两个点,属于同一聚类簇 -
非密度相连
1.两个点不属于密度相连关系,则两个连非密度相连
2.则该两点属于不同的聚类簇,或者其中存在噪声
DBSCAN算法步骤
-
寻找核心点形成临时的聚类簇
1.扫描全部样本,满足某个样本点R半径范围内的点数 >= MinPoints, 将其纳入核心点列表
2.并将其密度直达的点形成对应的临时聚类簇
-
合并临时聚类簇得到聚类簇
1.对于每个临时聚类簇,检查其中的点是否为核心点。如果是将该点对应的临时聚类簇和当前临时聚类簇合并,得到 新的临时聚类簇。
2,重复此操作,知道当前临时聚类簇中的每一个点要么不在核心点列表,要么其密度直达的点,都已经在该类聚类簇,该临时聚类簇升级为聚类簇.
3.继续操作其余的临时聚类簇,知道全部被处理。