数据岗位面试题更新 2026-08-05

请阐述数据挖掘领域中基于密度的聚类算法(以 DBSCAN 为例)的核心思想,并对比该算法与 K-means 算法在原理、参数、适用场景等方面的主要差异。

数据技术原理方案权衡

考察说明

考察候选人对密度聚类算法原理的理解,以及其与划分式聚类算法(K-means)的对比分析能力。

回答思路

  1. 【回答框架 1】密度聚类(如 DBSCAN)的核心思想是:聚类由密度相连的样本点构成,算法将具有足够高密度的区域划分为簇,并能在有噪声的数据中发现任意形状的簇。它通过邻域半径 eps 和最小样本数 minPts 定义核心点、边界点和噪声点,算法从一个核心点出发,通过密度可达关系不断扩展簇。
  2. 【回答框架 2】K-means 是划分式聚类,需要预先指定簇个数 K,通过迭代优化簇内平方误差和,将样本分配到最近的质心,适用于凸形簇;而 DBSCAN 无需指定簇个数,能发现任意形状的簇,并自动识别噪声点,对离群点鲁棒。
  3. 【回答框架 3】在参数上,K-means 主要参数是 K 和初始质心,对初始值敏感,可能陷入局部最优;DBSCAN 主要参数是 eps 和 minPts,对 eps 值敏感,但无需指定簇数。在时间复杂度上,K-means 通常为 O(n*k*t),DBSCAN 若用索引结构可达到 O(n log n)。
  4. 【回答框架 4】适用场景上,K-means 适合大规模数据、高维数据且簇形状近球形的情况;DBSCAN 适合密度不均、形状不规则、含噪声的数据,但难以处理密度差异大的数据集,且参数调节较困难。
  5. 【关键点 1】DBSCAN 基于密度可达和密度相连,能发现任意形状簇并识别噪声。
  6. 【关键点 2】DBSCAN 需设置 eps 和 minPts 两个参数,无需预设簇个数。
  7. 【关键点 3】K-means 需预设 K,适用于凸形簇,对初始质心和离群点敏感。
  8. 【关键点 4】DBSCAN 对 eps 敏感,难以处理密度差异大的数据。
  9. 【易错点 1】DBSCAN 不能保证在高维数据中效果良好,因为维数灾难可能导致密度难以定义。
  10. 【易错点 2】K-means 假设簇为凸形,不适用于非凸簇,且对噪声敏感。
  11. 【易错点 3】DBSCAN 的成果并不总是与 K-means 的可比,不应简单认为 DBSCAN 一定优于 K-means。