K-Means和DBSCAN有什么区别?


K-Means

K-means 聚类是一种划分算法。K-means 将数据集中的每个数据重新分配到新形成的聚类中的一个。数据或数据点是使用距离或相似性度量分配给相邻聚类的。

在 k-means 中,一个对象被生成到最近的中心。它可以定义不能链接的约束,并且它将 k-means 中的中心分配过程修改为最接近的适用中心分配。

当对象按顺序创建到中心时,在每一步它都可以提供到目前为止的分配不会破坏某些不能链接的约束。一个对象被创建到最接近的中心,因此分配尊重某些不能链接的约束。

DBSCAN

DBSCAN 代表基于密度的应用空间聚类噪声。它是一种基于密度的聚类算法。该算法将密度足够高的区域改进为聚类,并在存在噪声的空间数据库中发现任意结构的聚类。它将聚类定义为最大密度连接点的集合。

基于密度的聚类是一组密度连接的对象,在密度可达性方面是最大的。每个不包含在某些聚类中的对象都被认为是噪声。

DBSCAN 通过检查数据库中每个点的 ε-邻域来检查聚类。如果点 p 的 ε-邻域包含超过 MinPts,则会生成一个以 p 为核心元素的新聚类。DBSCAN 迭代地从这些核心元素中精确地组装密度可达的对象,这可能包括合并一些密度可达的聚类。当没有新点可以添加到任何聚类时,该过程结束。

让我们看看 K-Means 和 DBSCAN 之间的比较。

K-MeansDBSCAN
K-means 通常会对所有对象进行聚类。DBSCAN 会丢弃它定义为噪声的对象。
K-means 需要一个基于原型的聚类概念。DBSCAN 需要一个基于密度的概念。
K-means 难以处理非球形聚类和多种尺寸的聚类。DBSCAN 用于处理多种尺寸和结构的聚类,并且不受噪声或异常值的影响。
K-means 可用于具有清晰质心的数据,包括平均值或中位数。DBSCAN 需要其密度定义,这取决于传统的欧几里得密度概念,对于数据来说是重要的。
K-means 可用于稀疏的高维数据,包括文件数据。DBSCAN 通常对于此类信息实现效果不佳,因为传统的欧几里得密度定义不适用于高维数据。
基本的 K-means 算法类似于一种统计聚类方法(混合模型),该方法认为所有聚类都来自具有多个均值但协方差矩阵相等球形高斯分布。DIISCAN 对记录的分布不作任何假设。

更新于: 2022年2月14日

9K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告