Python 调整后的相互信息

Python 调整后的相互信息,python,scikit-learn,Python,Scikit Learn,我试图使用Python中的scikit learn包计算两组观测值之间的调整互信息(AMI) 观察结果如下: 观察1: 观察2: 我运行下面的代码,得到一个负的AMI,这在理论上是不可能的。你能帮我找出我做错了什么吗 from sklearn.metrics.cluster import adjusted_mutual_info_score def amis(x, y): return adjusted_mutual_info_score(x, y) 您得到的负输出是正确的。虽然互信

我试图使用Python中的
scikit learn
包计算两组观测值之间的调整互信息(AMI)

观察结果如下:

观察1:

观察2:

我运行下面的代码,得到一个负的AMI,这在理论上是不可能的。你能帮我找出我做错了什么吗

from sklearn.metrics.cluster import adjusted_mutual_info_score
def amis(x, y):
     return adjusted_mutual_info_score(x, y)

您得到的负输出是正确的。虽然互信息(MI)不能为负,但调整后的互信息(AMI)可以为负。以下文件中也提到了这一点:

当两个分区相同(即完全匹配)时,AMI返回值1。随机分区(独立标签)的预期AMI平均为0左右,因此可能为负


您得到的负输出是正确的。虽然互信息(MI)不能为负,但调整后的互信息(AMI)可以为负。以下文件中也提到了这一点:

当两个分区相同(即完全匹配)时,AMI返回值1。随机分区(独立标签)的预期AMI平均为0左右,因此可能为负