scipy.special.log_expit#

scipy.special.log_expit(x, выход=None) = 'log_expit'>#

Логарифм логистической сигмоидной функции.

Реализация логистической сигмоидной функции в SciPy - это scipy.special.expit, поэтому эта функция вызывается log_expit.

Функция математически эквивалентна log(expit(x)), но сформулирован для избежания потери точности для входных данных с большой (положительной или отрицательной) величиной.

Параметры:
xarray_like

Значения для применения log_expit к поэлементному.

выходndarray, необязательно

Необязательный выходной массив для результатов функции

Возвращает:
выходскаляр или ndarray

Вычисленные значения, ndarray той же формы, что и x.

Смотрите также

expit

Примечания

Как 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.