DBSCAN(Density-Based Spatial Clustering of Application with Noise)思想:用一个点的邻域内的邻居点数来衡量该店所在的空间密度,根据密度来判定将样本划分到哪个簇,对于同一个簇里面的样本是紧密相连的。在进行聚类的时候事先不知道cluster的数目。
基本概念
设数据集X={x1,x2,....,xn}
- Eps:定义密度时的邻域半径
- MinPts:定义核心点时的阈值
- -邻域( neighborhood)
- 密度(density):
其中为样本集的个数
- 核心点(core point):确定无误的属于某个特定的类。
- 边界点(border point):x的邻域中存在核心点,位于几个簇的边缘地带,簇归属不明确。
- 密度直达(directly density -reachable ):
即,y在x的邻域中,且x是核心对象。
- 密度可达( density -reachable ):
- 密度相连(density-connected):
DBSCAN算法原理
DBSCAN核心思想:
选定一个没有类别的核心点,找到其密度可达的集合区域作为一个簇,这个集合内的任意两点都是密度相连的。然后,继续选择另一个没有类别的核心点寻找其密度可达区域,知道所有核心点都找到归属的类别。
算法描述:
来自博客:https://www.cnblogs.com/pinard/p/6208966.html
DBSCAN优点和缺点
优点:
- 不需要事先指定簇的数目
- 簇的形状任意
- 能找出数据中的噪音,且对噪音不敏感
- 算法中只有两个参数,邻域半径,和核心点阈值,MinPts
缺点:
- 不同的距离公式聚类的结果不同
- 不适合密度差异很大的数据集
参考文献: