\`numpy.log1p( )\` 的目的?

新手上路,请多包涵

我刚遇到这些 内核 之一,无法理解 numpy.log1p() 在此代码的第三个管道(Kaggle 中的房屋预测数据集)中做了什么。

Numpy 文档说

_退货_:

- 自然对数值为 x + 1 的数组

- 其中 x 属于输入数组的所有元素。

在查找具有相同特征的原始数组和转换数组的偏度时,查找添加一个日志的目的是什么?它实际上做了什么?

原文由 Sabah 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 539
2 个回答

NumPy 文档给出了提示

对于实值输入, log1p 也是准确的 x 小到 1 + x == 1 浮点精度。

因此,例如让我们添加一个微小的非零数字和 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

原文由 Nils Werner 发布,翻译遵循 CC BY-SA 3.0 许可协议

https://docs.scipy.org/doc/numpy/reference/generated/numpy.log1p.html

在此处输入图像描述

如果 x 在 0…+Inf 范围内,那么它永远不会导致错误(我们知道 log(0) 会导致错误)。

并不总是最好的选择,因为如你所见,你会在 x = 0 之前失去一条大曲线,这是对数函数最好的地方之一

原文由 Evalds Urtans 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题