首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sklearn中的normalized_mutual_info_score提供负值或大于1的值

sklearn中的normalized_mutual_info_score提供负值或大于1的值
EN

Stack Overflow用户
提问于 2019-01-17 04:44:13
回答 1查看 797关注 0票数 3

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

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

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

这是一个溢出/下溢问题吗?(我意识到,如果我将average_method更改为“算术”、“最小”或“最大”,但不确定在我的情况下使用哪一个最合适,我会得到一个更现实的答案。)

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

代码语言:javascript
复制
metrics.normalized_mutual_info_score([0]*100001, [0]*100000 + [1])
metrics.normalized_mutual_info_score([0]*110001, [0]*110000 + [1])

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-18 17:45:08

正如您所提到的,设置average_method可以提供合理的值。

代码语言:javascript
复制
normalized_mutual_info_score([0]*100001, [0]*100000 + [1],average_method='arithmetic')
#3.166757680223739e-14

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54225078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档