scipy.special.logit#
- scipy.special.logit(x, out=None) = <ufunc 'logit'>#
针对 ndarray 的 Logit 通用函数 (ufunc)。
Logit 函数定义为 logit(p) = log(p/(1-p))。注意 logit(0) = -inf,logit(1) = inf,且当 p<0 或 p>1 时,logit(p) 的结果为 nan。
- 参数:
- xndarray
对该 ndarray 进行逐元素的 logit 计算。
- outndarray, optional
用于存储函数结果的可选输出数组
- 返回:
- 标量或 ndarray
一个与 x 形状相同的 ndarray。其条目为 x 对应条目的 logit 值。
另请参阅
附注
作为通用函数 (ufunc),logit 接受多个可选的关键字参数。更多信息请参阅 ufuncs
在版本 0.10.0 中添加。
数组 API 标准支持
logit除了支持 NumPy 外,还对兼容 Python 数组 API 标准的后端提供了实验性支持。请考虑通过设置环境变量SCIPY_ARRAY_API=1并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。目前支持以下后端与设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
>>> import numpy as np >>> from scipy.special import logit, expit
>>> logit([0, 0.25, 0.5, 0.75, 1]) array([ -inf, -1.09861229, 0. , 1.09861229, inf])
>>> expit(logit([0.1, 0.75, 0.999])) array([ 0.1 , 0.75 , 0.999])
绘制 x 在 [0, 1] 区间内的 logit(x) 图像
>>> import matplotlib.pyplot as plt >>> x = np.linspace(0, 1, 501) >>> y = logit(x) >>> plt.plot(x, y) >>> plt.grid() >>> plt.ylim(-6, 6) >>> plt.xlabel('x') >>> plt.title('logit(x)') >>> plt.show()