我刚刚遇到其中一个Kernels无法理解 numpy.log1p()
在此代码的第三个管道(Kaggle 中的房屋预测数据集)中做了什么。
Numpy 文档说
返回:
- 自然对数值为x + 1的数组
- 其中 x 属于输入数组的所有元素。
在查找具有相同特征的原始数组和转换数组的偏度时,查找添加一个日志的目的是什么?它实际上有什么作用?
最佳答案
For real-valued input,
log1p
is accurate also forx
so small that1 + x == 1
in floating-point accuracy.
例如,让我们添加一个微小的非零数字和 1.0
。舍入误差使其成为 1.0
。
>>> 1e-100 == 0.0
False
>>> 1e-100 + 1.0 == 1.0
True
如果我们尝试获取那个不正确总和的 log
,我们会得到一个不正确的结果(与 WolframAlpha 比较):
>>> np.log(1e-100 + 1)
0.0
但是如果我们使用log1p()
,我们会得到正确的结果
>>> np.log1p(1e-100)
1e-100
同样的原则适用于 exp1m()
和 logaddexp()
: 对于小的 x
更准确。
关于python - `numpy.log1p( )` 的用途?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49538185/