我有以下表达式:
log = np.sum(np.nan_to_num(-y*np.log(a+ 1e-7)-(1-y)*np.log(1-a+ 1e-7)))
这个表达式会给我以下警告:
RuntimeWarning: invalid value encountered in log
log = np.sum(np.nan_to_num(-y*np.log(a+ 1e-7)-(1-y)*np.log(1-a+ 1e-7)))
我不明白哪个值是无效的,也不知道为什么会出现这种情况。非常感谢任何帮助。
注意:这是一个交叉熵损失函数,我添加了1e-7
以避免log里面出现零。 y
和a
都是numpy数组,numpy
被导入为np
。
np.log(np.NaN)
也会出现类似的警告。例如,在处理带有缺失值的pandas数据框时。 - Giuppox