DBSCAN读作:DB Scan,是英语基于密度的噪声应用空间聚类(Density-Based Spatial Clustering of Applications with Noise)
的简写。在理解K-means聚类算法之后再来理解DBSCAN就容易多了。
DBSCAN的步骤如下:
随机从一个点开始,计算一个半径ε的圆范围内有没有另一个数据,如果有,则不断扩散,将其聚为一类。离群的点(距离其他点比较远的点)无法形成规模(可以自行设置规模)的情况下则不组成簇。用可视化的图片表示如下:
整个过程就类似于病毒“扩散”的过程,在范围内的被同种病毒传播,不在范围内的就传播不到。
在scikit-learn的聚类部分,可以看到不同数据集对应的不同聚类算法的结果:
在聚类问题中,我们要根据数据的大致形状和我们预期的结果去选择不同的聚类算法。
我们按照各个聚类算法在业界的性能、效果、普及程度和应用频率简单排一下名: