scipy.special.log_expit#
- scipy.special.log_expit(x, out=None) = <ufunc 'log_expit'>#
Logarithmus der logistischen Sigmoidfunktion.
Die SciPy-Implementierung der logistischen Sigmoidfunktion ist
scipy.special.expit, daher wird diese Funktionlog_expitgenannt.Die Funktion ist mathematisch äquivalent zu
log(expit(x)), ist jedoch so formuliert, dass sie für Eingaben mit großer (positiver oder negativer) Amplitude Präzisionsverluste vermeidet.- Parameter:
- xarray_like
Die Werte, auf die
log_expitelementweise angewendet werden soll.- outndarray, optional
Optionales Ausgabe-Array für die Funktionsergebnisse
- Rückgabe:
- outSkalar oder ndarray
Die berechneten Werte, ein ndarray gleicher Form wie
x.
Siehe auch
Hinweise
Als ufunc nimmt
log_expiteine Reihe optionaler Schlüsselwortargumente entgegen. Weitere Informationen finden Sie unter ufuncsHinzugefügt in Version 1.8.0.
Beispiele
>>> 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])
Große negative Werte
>>> log_expit([-100, -500, -1000]) array([ -100., -500., -1000.])
Beachten Sie, dass
expit(-1000)0 zurückgibt, sodass die naive Implementierunglog(expit(-1000))-infzurückgibt.Große positive Werte
>>> log_expit([29, 120, 400]) array([-2.54366565e-013, -7.66764807e-053, -1.91516960e-174])
Vergleichen Sie das mit der naiven Implementierung
>>> np.log(expit([29, 120, 400])) array([-2.54463117e-13, 0.00000000e+00, 0.00000000e+00])
Der erste Wert ist nur auf 3 Ziffern genau, und die größeren Eingaben verlieren jegliche Präzision und geben 0 zurück.