一、概述
- 一般基于距离的聚类算法(如K-Means)的聚类结果是球状的簇,当数据集中的聚类结果是非球状结构时,基于距离的聚类算法的聚类效果并不好。
- 与基于距离的聚类算法不同的是,基于密度的聚类算法可以发现任意形状的聚类。
- 在基于密度的聚类算法中,通过在数据集中寻找被低密度区域分离的高密度区域,将分离出的高密度区域作为一个独立的类别。
- DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法。该算法将具有足够密度的区域划分为簇,并在具有噪声的数据中发现任意形状的簇,它将簇定义为密度相连的点的最大集合。
二、DBSCAN算法原理
-
在DBSCAN算法中将数据点分为三类:
- 核心点:若样本 x i x_i xi的 ε ε ε邻域内包含的样本数大于等于 M i n P t s MinPts MinPts,即 N ε ( x i ) ≥ M i n P t s N_ε (x_i )≥MinPts Nε(xi)≥MinPts, 则称样本点 x i x_i xi为核心点,其中 ε ε ε和 M i n P t s MinPts MinPts是预先设置好的值。
- 边界点:若样本 x i x_i xi的 ε ε ε邻域内包含的样本数目小于 M i n P t s MinPts MinPts,但是它在其他核心点的邻域内,则称样本点 x i x_i xi为边界点
- 噪音点:既不是核心点也不是边界点的点
-
相关概念:
- 密度直达:若样本 x x x是核心点并且 y y y落 x x x的 ε ε ε邻域内,则称样本点 y y y是由样本点 x x x密度直达的
- 密度可达:如果存在一系列的样本点 p 1 , … , p n p_1,…,p_n p1,…,pn(其中 p 1 = x ,