我们什么时候应该选择凝聚聚类而不是 K-means 聚类?

数据挖掘 聚类 k-均值 无监督学习
2022-02-15 15:25:23

我正在研究基于聚类的模型,并且阅读了有关层次聚类和 K-Means 聚类的信息。

在什么情况下我应该选择凝聚而不是 K-means 聚类?

2个回答

你可以在 sklearn 中看到这个比较表,它给出了每个算法在何时何地成功的一些直觉:

在此处输入图像描述

尝试两者并评估它们的准确性可能是一个好主意,使用无监督的聚类指标(如轮廓分数)来客观地衡量它们在特定数据集上的性能。

其他一些主要区别是:

  • K-means 对 2D 和 3D 球体表现更好
  • 层次聚类可能会降低较大数据集的性能
  • 层次聚类对异常值敏感

为了增加 WBM 的出色引用,当您的最终目标是使用经过训练的算法对新的看不见的观察结果进行推断时,您应该使用 K-means 而不是 Agglomerative。

我将尝试用一个例子来说明这一点:

假设您有 2 个模型kmeans,并且aggcls都接受了与特定域上客户信息相对应的数据的训练(您提供不同的信用卡),您的任务是组成组,以便查看每个组可能更感兴趣的产品上,假设你n在这两种情况下形成了相同数量的集群,在这些n群体中,有一个特别适合高级信用卡,因为该群体收入巨大,交易量大,信用经验也更多,所以当一个新的客户到达您想评估他,以了解您是否可以为他提供优质产品。

使用该kmeans模型,您只需要predict对该新客户的特征向量进行过度分析即可获得该客户所属的集群,而使用该模型,aggcls您将不得不使用包括该新观察在内的整个数据重新训练算法(不是很有用,对?)

发生这种情况是因为每种算法的性质,使用 kmeans,您将获得 n 个质心,可用于通过计算新实例与每个集群之间的距离来推断新的未见数据,然后将此新观察值分配给最近的一个. 使用凝聚,您不会生成任何可应用于新观察的参数,您必须再次形成集群。

凝聚聚类

集聚集群

K-均值

在此处输入图像描述