调整后的兰德指数与调整后的互信息

机器算法验证 聚类 Python scikit-学习
2022-03-07 13:41:42

我正在尝试评估聚类性能。我正在阅读有关metrics的 skiscit-learn 文档。我不明白 ARI 和 AMI 之间的区别。在我看来,他们以两种不同的方式做同样的事情。

从文档中引用:

鉴于基本事实类分配标签_true和我们对相同样本标签_pred的聚类算法分配的知识,调整后的兰德指数是一个衡量两个分配相似性的函数,忽略排列和机会归一化。

对比

鉴于地面实况类分配labels_true和我们对相同样本labels_pred的聚类算法分配的知识,互信息是一个衡量两个分配一致性的函数,忽略排列......AMI是最近提出的,并且针对机会。

我应该在我的聚类评估中同时使用它们还是这会是多余的?

2个回答

简短的回答

  • 当地面实况聚类具有相同大小的大型集群时使用ARI
  • 当地面实况聚类不平衡且存在小集群时使用AMI

更长的答案

我在这个主题上工作。参考:调整机会聚类比较措施

论文的一句话总结是:集群解决方案中有纯集群时AMI高。

让我们看一个例子。我们有一个由 4 个大小相等的集群组成的参考集群V。每个集群的大小为 25。那么我们有两个集群解决方案:

  • 具有纯簇的U1 (列联表中有许多零)
  • 具有不纯簇的U2

在此处输入图像描述

AMI 将选择U1而 ARI 将选择U2

最终:

  • U1不平衡。不平衡的簇有更多的机会呈现纯簇。AMI 偏向于不平衡的集群解决方案
  • U2是平衡的。ARI 偏向于平衡聚类解决方案。

如果我们使用 AMI 和 ARI 等外部有效性指标,我们的目标是使参考聚类与我们的聚类解决方案相匹配。这就是为什么顶部的建议:参考集群不平衡时的 AMI,以及参考集群平衡时的 ARI。我们这样做主要是由于这两种措施的偏差。

此外,当我们有一个带有小集群的不平衡参考集群时,我们更感兴趣的是在解决方案中生成纯小集群。我们想从参考中精确识别小集群。即使是单个不匹配的数据点也会产生相对较高的影响。

除了上述建议之外,当我们有兴趣在解决方案中使用纯集群时,我们可以使用 AMI。

实验

在这里,我勾画了一个实验,其中P生成解决方案U,当P=1时平衡,当P=0时不平衡。你可以在这里玩笔记本

在此处输入图像描述

它们是所有试图比较聚类的十几个中的两个。

但它们并不等价。他们使用不同的理论。

有时,ARI 可能更喜欢一种结果,而 AMI 可能更喜欢另一种结果。但他们通常在偏好上达成一致(而不是在数字上)。