更新于 2026年7月21日

密度聚类#


术语解释#

密度聚类(Density-based Clustering),通常以 DBSCAN(Density-Based Spatial Clustering of Applications with Noise) 算法为代表,它是一种根据样本在空间中的分布密度(紧凑程度)来划分簇的聚类方法。

异形数据集
异形数据集

基于密度的聚类通过识别样本空间中的高密度区域,并将所有相互紧邻的样本点划分为不同的簇。它的基本原理是通过两个关键参数——半径 $r$ 和最小样本数 minPts ——来定义核心样本。如果一个样本点在半径 r 的圆域内包含的样本数不少于 minPts,则该点被称为核心样本,它会与其周围“直接可达”的样本点共同构成一个簇。

样本可达原理图
样本可达原理图

出现动机#

传统的类 K-means 算法主要适用于处理球形或凸形分布的簇结构,在面对环形、长条形等非线性分布的异形数据时效果很差。密度聚类能够根据样本间的紧密性有效识别这些复杂的形状。

同时,在很多场景下,用户无法预先知晓数据集中到底存在多少个簇。密度聚类不需要像 K-means 那样预先指定 K 值,而是能根据密度分布自动确定簇的数量。进一步,实际数据中常包含孤立的噪声,密度聚类旨在识别并分离这些低密度且孤立的异常样本,从而提高聚类的鲁棒性。


优点缺点#

  • 优点:

    • 形状适应性强:能够识别并聚类出任何形状的簇,而不仅限于传统的球形结构。

    • 无需预设 K 值:减少了对先验知识的依赖,模型能根据数据密度自主决定簇的个数。

    • 内置异常检测:在聚类过程中能自动发现并标记出数据集中的噪声点,对异常值不敏感。

  • 缺点:

    • 计算复杂度高(速度慢):DBSCAN 在搜索每个样本点的邻域时计算量巨大。即使使用 kd 树加速,时间复杂度仍需 O(nlogn),显著慢于类 K-means 算法。

    • 对密度差异敏感:如果数据集中不同簇的内部密度差异很大,DBSCAN 很难通过一组固定的参数($r$ 和 minPts)同时取得理想的聚类结果。

    • 超参数依赖经验:半径 $r$ 和 minPts 的选取对结果影响极大,且通常需要较丰富的调参经验。

    • 边界归属不确定:对于位于两个簇交界处的样本,如果它们同时对于不同簇的核心样本是“直接可达”的,那么其归属结果往往取决于样本的遍历顺序


术语别名#

  • DBSCAN

  • 密度聚类

相关术语#

  • 密度聚类

  • 加权聚类

  • 层次聚类

阅读 --

11.10 基于密度的聚类算法

在前面几节内容中,我们陆续介绍了3种常见聚类算法的原理与实现过程,包括原始的Kmeans聚类算法、Kmeans++聚类算法以及基于特征权重的加权Kmeans聚类算法 ,并且这3种都算是基于Kmeans框架下的聚类算法,也就是说它们本质上解决 …

11.2 Kmeans聚类算法

在本节中,我们首先介绍了Kmeans聚类算法的基本思想以及如何使用sklearn来完成整个建模过程;然后介绍了Kmeans聚类算法的原理,即聚类的整个迭代过程,并对整个过程中的样本状态进行了可视化;最后简单介绍了K值的选取原则,这部分内容将 …