Density-based methods可以解决不规则形状的聚类,同时也对噪声处理比较好。可以解决高维度
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)基本原理
算法概述:
基于区域点密度筛选有效数据(core points)
基于有效数据向周边扩张,直到没有新点加入
特点:过滤噪音数据;不需要人为选择类别数量;数据密度不同时影响结果 (need to fiddle)
其核心思想是在数据空间中找到分散开的密集区域,简单来说就是画圈,其中要定义两个参数,一个是圈的最大半径,一个是一个圈里面最少应该容纳多少个点。但是对这两个参数的设置非常敏感。
执行步骤:
1.定义两个参数,一个是圈的最大半径,一个是圈内最少容纳多少个点(如4个),这样的点叫做core points,其余的点叫non core points。
2.随机选取一个core point,然后画圈向周围进行扩张,目标是把周围的core point加入到第一组聚类内。最后再把圈内的non core points全部加入,注意non core points不会向周围进行扩张。第一组聚类完成。
3.随机再选择未被分类的一个core point,继续重复以上步骤执行。
4.最后剩余没被分入任何类的non core points,则为噪声点(outliers)。