KNN DBSCAN k-MEANS

DBSCAN
基于密度的聚类算法.(他聚类方法大都是基于对象之间的距离进行聚类,聚类结果是球状的簇)。基于密度的聚类是寻找被低密度区域分离的高密度区域
定义:基于密度的带有噪声的空间聚类,可用于异常值监测,通俗来说就是基于密度的聚类算法!
簇的定义:簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并且可以在噪声的空间数据库中发现任意形状的聚类
原理:该算法利用基于密度的聚类的思想,即要求聚类空间中的一定区域内所包含对象的数目不小于某一给定的阈值。
加粗样式
在这里插入图片描述
稠密区域内部的点(核心点):在半径Eps内含有超过MinPts数目的点
稠密区域边缘上的点(边缘点):在半径Eps内点的数量小于MinPts(即不是核心点),但是其邻域内至少包含一个核心点
稀疏区域中的点(噪声或者背景点):任何不是核心点或者边界点的点

算法涉及的基本定义:
(1)ε邻域:给定对象半径ε内的区域称为该对象的ε邻域。
(2)核心对象:如果给定对象ε 邻域内的样本点数大于等于MinPts,则称该对象为核心对象。
(3)直接密度可达:给定一个对象集合D,如果p在q的ε邻域内,且q是一个核心对象,则我们说对象p从对象q出发是直接密度可达的(directly density-reachable)。
(4)密度可达:对于样本集合D,如果存在一个对象链P1,P2,…Pn,P1=q,Pn=p,对于Pi∈D(1≤i≤n),Pi+1是从Pi关于ε和 MinPts直接密度可达,则对象p是从对象q关于ε和 MinPts密度可达的(density-reachable)。
(5)密度相连:如果存在对象O∈D,使对象p和q都是从o关于ε和 MinPts密度可达的,那么对象p到q是关于ε和 MinPts密度相连的(density-connected)

在这里插入图片描述
K-means使用簇的基于原型的概念,而DBSCAN使用基于密度的概念。
K-means只能用于具有明确定义的质心(如均值)的数据。DBSCAN要求密度定义(基于传统的欧几里得密度概念)对于数据是有意义的。
K-means需要指定簇的个数作为参数,DBSCAN不需要事先知道要形成的簇类的数量,DBSCAN自动确定簇个数。
与K-means方法相比,DBSCAN可以发现任意形状的簇类。DBSCAN可以处理不同大小和不同形状的簇,K-means很难处理非球形的簇和不同形状的簇。
K-means可以用于稀疏的高纬数据,如文档数据。DBSCAN则不能很好反映高维数据。
K-means可以发现不是明显分离的簇,即便簇有重叠也可以发现,但是DBSCAN会合并有重叠的簇

猜你喜欢

转载自blog.csdn.net/qq_39161216/article/details/90230179