嘿,我是kaggle的新手并致力于House预测数据集.我刚刚遇到其中一个内核,无法理解numpy.log1p()在此代码的第三个管道中做了什么
我用谷歌搜索它,numpy的文档告诉它
退货:
但是,在找到相同特征的原始和转换数组的偏度时,找到添加了一个(+1)的日志的目的是什么?它有什么作用 ?
有人可以指导我吗?
Nil*_*ner 25
对于实值输入,在浮点
log1p精度方面也是x如此之小1 + x == 1.
例如,让我们添加一个非常小的非零数字1.0.舍入错误使它成为一个1.0.
>>> 1e-100 == 0.0
False
>>> 1e-100 + 1.0 == 1.0
True
Run Code Online (Sandbox Code Playgroud)
如果我们尝试使用log那个不正确的总和,我们会得到一个不正确的结果(与WolframAlpha相比):
>>> np.log(1e-100 + 1)
0.0
Run Code Online (Sandbox Code Playgroud)
但是如果我们使用log1p(),我们会得到正确的结果
>>> np.log1p(1e-100)
1e-100
Run Code Online (Sandbox Code Playgroud)
同样的原则也适用于exp1m()和logaddexp():The're为小更准确x.
如果x的范围是0 ... + Inf,则它将永远不会导致错误(众所周知,log(0)会导致错误)。
并非始终是最佳选择,因为如您所见,在x = 0之前您将失去一条大曲线,这是关于对数函数的最佳选择之一
| 归档时间: |
|
| 查看次数: |
10784 次 |
| 最近记录: |