机器学习“降临节日历”第 10 天:Excel 中的 DBSCAN

DBSCAN 展示了我们可以用一个非常简单的想法走多远:计算每个点附近有多少个邻居。它无需任何概率模型即可找到集群并标记异常,并且在 Excel 中运行良好。但由于它依赖于一个固定半径,因此需要 HDBSCAN 来使该方法在实际数据上稳健。机器学习“降临日历”第 10 天:Excel 中的 DBSCAN 帖子首先出现在《走向数据科学》上。

来源:走向数据科学

现在是我的机器学习“降临日历”的第 10 天。我要感谢您的支持。

我多年来一直在构建这些 Google 表格文件。他们一点一点地进化。但当要出版它们时,我总是需要几个小时来重新组织所有内容,清理布局,并使它们阅读起来愉快。

今天,我们转向 DBSCAN。

DBSCAN 不学习参数模型

就像 LOF 一样,DBSCAN 不是参数模型。没有可存储的公式,没有规则,没有质心,也没有可供以后重用的紧凑内容。

我们必须保留整个数据集,因为密度结构取决于所有点。

它的全称是“Density-Based Spatial Clustering of Applications with Noise”。

但要小心:这个“密度”不是高斯密度。

这是基于计数的密度概念。只是“有多少邻居住在我附近”。

为什么 DBSCAN 很特别

正如其名称所示,DBSCAN 同时执行两件事:

  • 它找到集群
  • 标记异常(不属于任何簇的点)
  • 这正是我按此顺序呈现算法的原因:

  • k-means 和 GMM 是聚类模型。它们输出一个紧凑的对象:k 均值的质心、GMM 的均值和方差。
  • 隔离森林和 LOF 是纯粹的异常检测模型。他们唯一的目标就是找到不寻常的地方。
  • DBSCAN 位于两者之间。它仅基于邻域密度的概念进行聚类和异常检测。
  • 一个让事情变得直观的小数据集

    我们保留用于 LOF 的相同小数据集:1, 2, 3, 7, 8, 12

    如果您查看这些数字,您已经看到两个紧凑的组:

    一个大约 1-2-3,另一个大约 7-8,还有 12 个独居。

    DBSCAN 准确地捕捉到了这种直觉。

    三步总结

    DBSCAN 针对每个点提出三个简单的问题:

  • 小半径 (eps) 内有多少个邻居?
  • 您是否有足够的邻居成为核心点 (minPts)?
  • 一旦我们知道了核心点,您属于哪个关联组?
  • 以下是 DBSCAN 算法的 3 个步骤的总结:

    DBSCAN 3 步