DBSCAN聚类算法从原理到实现

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

算法原理:遍历每个未被标记的点,设定半径r,在该圆内设置阈值minPts,即以该点为圆心半径为r的圆内的点数达到了阈值,则该点为核心点,然后再以圆内的点分别以半径为r画圆,判断是否为核心对象,如果是则放在同一簇内。

算法步骤:DBSCAN需要指定两个参数,扫描半径(EPS)和最小包含点数(minPts)。

  • 遍历每一个未被访问的点,如果该点附近点的数量≥minPts,则该点为核心点,并标记为已访问,该点及其附近点形成一个簇,然后递归以相同的方法处理该簇内所有未被访问的点,从而对簇进行扩展。
  • 如果附近点数量<minPts,则该点被标记为噪声点;
  • 如果簇充分地被扩展,即簇内所有点被标记为已访问,然后用同样的算法去处理未被访问的点;

数据集:'两条弧线.csv'

x	y
0.908147855	0.047249584
1.025741088	0.147671828
1.062471265	0.016648071
0.967675867	0.016042287
0.99907909	-0.07623251
1.02

你可能感兴趣的:(机器学习,聚类,算法,机器学习,DBSCAN聚类,DBSCAN)