【发布时间】:2014-10-07 00:02:32
【问题描述】:
当我尝试为我正在实施的数据挖掘方法计算逻辑函数时出现此错误:
RuntimeWarning: overflow encountered in exp
我的代码:
def logistic_function(x):
# x = np.float64(x)
return 1.0 / (1.0 + np.exp(-x))
如果我从一些相关问题中正确理解,问题是 np.exp() 正在返回一个巨大的值。我看到了让 numpy 忽略警告的建议,但问题是当我收到此错误时,我的方法的结果很糟糕。但是,当我不明白时,它们就像预期的那样。因此,让 numpy 忽略警告对我来说根本不是解决方案。我不知道出了什么问题或如何处理。
我什至不知道这是否是错误的结果,因为有时我会收到此错误,有时不会!我多次检查了我的代码,一切看起来都是正确的!
【问题讨论】:
-
您只是想计算太大而无法放入 8 个字节(浮点 64)的数字。解决方案:过滤数据以获得足够小的有意义的值。