scipy.special.log_expit#
- scipy.special.log_expit(x, out=None) = <ufunc 'log_expit'>#
逻辑 S 型函数的对数。
SciPy 中逻辑 S 型函数的实现是
scipy.special.expit
,因此此函数名为log_expit
。此函数在数学上等同于
log(expit(x))
,但其公式旨在避免对具有大(正或负)幅度的输入造成精度损失。- 参数:
- x类数组对象
要逐元素应用
log_expit
的值。- outndarray, 可选
可选的输出数组,用于存放函数结果
- 返回:
- out标量或 ndarray
计算出的值,一个与
x
形状相同的 ndarray。
另请参阅
注意
作为通用函数 (ufunc),
log_expit
接受多个可选的关键字参数。更多信息请参阅 ufuncs版本 1.8.0 中新增。
示例
>>> import numpy as np >>> from scipy.special import log_expit, expit
>>> log_expit([-3.0, 0.25, 2.5, 5.0]) array([-3.04858735, -0.57593942, -0.07888973, -0.00671535])
大的负值
>>> log_expit([-100, -500, -1000]) array([ -100., -500., -1000.])
请注意,
expit(-1000)
返回 0,因此朴素的实现log(expit(-1000))
返回-inf
。大的正值
>>> log_expit([29, 120, 400]) array([-2.54366565e-013, -7.66764807e-053, -1.91516960e-174])
与朴素实现进行比较
>>> np.log(expit([29, 120, 400])) array([-2.54463117e-13, 0.00000000e+00, 0.00000000e+00])
第一个值仅精确到 3 位,更大的输入会失去所有精度并返回 0。