为了账号安全,请及时绑定邮箱和手机立即绑定

sklearn 中的 normalized_mutual_info_score 给出负值或大于

sklearn 中的 normalized_mutual_info_score 给出负值或大于

鸿蒙传说 2021-10-12 17:28:14
我正在尝试计算两个 256*256 图像标签之间的归一化互信息,并将其展平为一个数组。在 sklearn 的文档中,很明显函数 normalized_mutual_info_score 应该只输出 0 到 1 之间的值。但是我意识到当比较包含大量元素的列表时,有时它会给我负值或大于 1 的值。是上溢/下溢问题吗?(我意识到,如果我将 average_method 更改为“算术”、“最小”或“最大”,我会得到一个更现实的答案,但不确定哪一个最适合我的情况。)使用 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。
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

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


normalized_mutual_info_score([0]*100001, [0]*100000 + [1],average_method='arithmetic')

#3.166757680223739e-14

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


查看完整回答
反对 回复 2021-10-12
  • 1 回答
  • 0 关注
  • 587 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号