调整互信息(AMI)是一种衡量两个聚类结果相似度的指标,它考虑了随机性的影响。在聚类分析中,经常需要比较不同的聚类结果,以评估它们的质量。AMI指标通过调整互信息(MI)来考虑随机性的影响,从而提供了一个更加准确的相似度度量。
在信息论中,互信息(MI)是一种衡量两个随机变量之间共享信息量的指标。然而,MI值通常会随着聚类数量的增加而增加,即使两个聚类之间实际上并没有更多的信息共享。为了解决这个问题,AMI指标对MI进行了调整,以消除这种随机性的影响。
具体来说,对于两个聚类结果U
和V
,AMI的计算公式如下:
AMI(U, V) = [MI(U, V) - E(MI(U, V))] / [avg(H(U), H(V)) - E(MI(U, V))]
其中,MI(U, V)
表示两个聚类结果之间的互信息,E(MI(U, V))
表示互信息的期望值,H(U)
和H(V)
分别表示两个聚类结果的熵,avg
表示平均值。
AMI指标具有以下特点:
U
(真实标签)和V
(预测标签)将返回相同的分数值。需要注意的是,AMI指标的计算速度通常比其他指标(如调整兰德指数)慢一个数量级。此外,AMI指标的值是以调整后的自然对数(nats)为单位的。
AMI指标的计算可以通过以下Python代码实现:
from sklearn.metrics.cluster import adjusted_mutual_info_score
# 完美标签的示例
adjusted_mutual_info_score([0, 0, 1, 1], [0, 0, 1, 1])
# 输出:1.0
# 完全分割的类成员示例
adjusted_mutual_info_score([0, 0, 0, 0], [0, 1, 2, 3])
# 输出:0.0
AMI指标在聚类性能评估中非常有用,特别是在真实地面真相未知的情况下,可以用来衡量两种独立标签分配策略在同一数据集上的一致性。
在实际应用中,AMI指标可以与其他聚类评估指标(如调整兰德指数、互信息等)一起使用,以全面评估聚类结果的质量。