我正在尝试使用Python中的scikit learn
包来计算两组观察值之间的调整后的相互信息(AMI)。
观察结果在这里:
观察1:https://pastebin.com/eiN88UrL
观察2:https://pastebin.com/zx9Ath60
我运行以下代码,我得到一个否定的AMI,从理论上讲这是不可能的。您能帮我弄清楚我在做什么错吗?
from sklearn.metrics.cluster import adjusted_mutual_info_score
def amis(x, y):
return adjusted_mutual_info_score(x, y)
答案 0 :(得分:1)
您得到的负输出是正确的。尽管互信息(MI)不能为负,但调整后的互信息(AMI)可以为负。 sklearn documentation中也提到了这一点:
当两个分区相同(即完全匹配)时,AMI返回值为1。随机分区(独立标签)的预期AMI平均约为0,因此可以为负。