前言
密度聚类的优点: 能够找出 不规则形状的类簇,并且聚类时不需要事先知道类簇的个数。
DBSCAN是密度聚类的一种,比较典型。
了解算法之前,
我们需要了解两个重要的参数:
Eps (邻域半径)和 MinPts(核心对象阈值)
直接密度可达
密度可达
密度相连
DBSCAN算法认为:一个聚类可以由其中的任何核心对象唯一确定。DBSCAN 目的是找到密度相连对象的最大集合。
DBSCAN算法流程:
步骤1
扫描整个数据集,找到任意一个核心点,对该核心点进行扩充。扩充的方法是寻找从该核心点出发的所有密度相连的数据点(注意是密度相连)。遍历该核心点的 邻域内的所有核心点(因为边界点是无法扩充的),寻找与这些数据点密度相连的点,直到没有可以扩充的数据点为止。最后聚类成的簇的边界节点都是非核心数据点。
步骤2
重新扫描数据集(不包括之前寻找到的簇中的任何数据点),寻找没有被聚类的核心点,再重复上面的步骤,对该核心点进行扩充。
步骤3
直到数据集中没有新的核心点为止。数据集中没有包含在任何簇中的数据点就构成异常点。
优缺点:
优点:能够寻找非球类簇,能发现任意形状的聚簇,聚类结果几乎不依赖于结点遍历顺序,能够有效的发现噪声点。
缺点:调参的就是两个参数Eps 和MinPts,这两个值的组合对最终的聚类效果有很大的影响。DBSCAN使用了统一的eps值,在类中的数据分布密度不均匀时,eps较小时,密度小的cluster会被划分成多个性质相似的cluster;eps较大时,会使得距离较近且密度较大的cluster被合并成一个cluster。在高维数据时,因为维数灾难问题,eps的选取比较困难。