gpt4 book ai didi

python - sklearn 中的 normalized_mutual_info_score 给出负值或大于 1 的值

转载 作者:太空宇宙 更新时间:2023-11-04 04:22:27 24 4
gpt4 key购买 nike

我正在尝试计算两个 256*256 图像标签之间的归一化互信息,并将其展平为一个数组。

在 sklearn 的文档中很明显,函数 normalized_mutual_info_score 应该只输出 0 到 1 之间的值。

但是我意识到,当比较包含大量元素的列表时,有时它会给出负值或大于 1 的值。

是否是上溢/下溢问题? (我意识到,如果我将 average_method 更改为“arithmetic”、“min”或“max”,我会得到一个更现实的答案,但不确定哪一个最适合我的情况。)

使用 sklearn 0.20.0,我将提供一个综合示例来重现该问题:

metrics.normalized_mutual_info_score([0]*100001, [0]*100000 + [1])
metrics.normalized_mutual_info_score([0]*110001, [0]*110000 + [1])

我希望下面的答案是 0,但我分别得到了 7.999 和 -7.999。

最佳答案

正如您所提到的,设置 average_method 会给出合理的值。

normalized_mutual_info_score([0]*100001, [0]*100000 + [1],average_method='arithmetic')
#3.166757680223739e-14

我建议使用arithmetic,因为它将成为下一个版本 0.22 中的默认值,reference .

关于python - sklearn 中的 normalized_mutual_info_score 给出负值或大于 1 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54225078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com