我正在嘗試計算兩個 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 中的默認值,參考。
添加回答
舉報
0/150
提交
取消
