简介: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