Kmeans
常见的kmeans算法有k均值、层次凝聚、DBSCAN算法
K均值
层次凝聚
DBSCAN
定义:
DBSCAN是一种基于密度的聚类算法,下面列出该算法中的几个定义:
- 密度:指定半径(Eps)内点的个数
- 核心点:在Eps之内拥有不少于MinPts个数据点
- 边界点:在Eps之内拥有少于MinPts个数据点,但是其邻域内有核心点
- 噪声点:既不是核心点也不是边界点
算法流程
- 先确认样本中每个点的属性(属于三种点的哪一类)
- 去除噪声点
- 在Eps范围之内的任意两点之间画一条边
- 每个连通分量就是一个簇
- 将边界点划分到合适的簇
算法特点
- 不是对所有数据聚类,是对非噪声点聚类
- 不需要提前预知簇的数量,只需要Eps和MinPts
- 对任意形状的簇均能很好的聚类
- 抗噪声能力强
- 对数据的顺序没有要求
使用情境
- 对簇的形状没有要求,抗噪声能力强
- 不适用于密度变化大的数据集
- 不适用于高维度数据(因为高维度数据的密度定义十分复杂)