Comment calculer une fonction sigmoïde en Python (avec exemples)
Une fonction sigmoïde est une fonction mathématique qui présente une courbe en forme de « S » lorsqu’elle est tracée.
L’exemple le plus courant de fonction sigmoïde est la fonction sigmoïde logistique, qui est calculée comme suit :
F(x) = 1 / (1 + e -x )
Le moyen le plus simple de calculer une fonction sigmoïde en Python est d’utiliser la fonction expit() de la bibliothèque SciPy , qui utilise la syntaxe de base suivante :
from scipy.special import expit #calculate sigmoid function for x = 2.5 expit(2.5)
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : calculer la fonction sigmoïde pour une valeur
Le code suivant montre comment calculer la fonction sigmoïde pour la valeur x = 2,5 :
from scipy.special import expit #calculate sigmoid function for x = 2.5 expit(2.5) 0.9241418199787566
La valeur de la fonction sigmoïde pour x = 2,5 est 0,924 .
Nous pouvons le confirmer en calculant la valeur manuellement :
- F(x) = 1 / (1 + e -x )
- F(x) = 1 / (1 + e -2,5 )
- F(x) = 1 / (1 + 0,082)
- F(x) = 0,924
Exemple 2 : calculer la fonction sigmoïde pour plusieurs valeurs
Le code suivant montre comment calculer la fonction sigmoïde pour plusieurs valeurs x à la fois :
from scipy.special import expit
#define list of values
values = [-2, -1, 0, 1, 2]
#calculate sigmoid function for each value in list
expit(values)
array([0.11920292, 0.26894142, 0.5, 0.73105858, 0.88079708])
Exemple 3 : Tracer la fonction sigmoïde pour une plage de valeurs
Le code suivant montre comment tracer les valeurs d’une fonction sigmoïde pour une plage de valeurs x à l’aide de matplotlib :
import matplotlib.pyplot as plt
from scipy.special import expit
import numpy as np
#define range of x-values
x = np.linspace(-10, 10, 100)
#calculate sigmoid function for each x-value
y = expit(x)
#create plot
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('F(x)')
#display plot
plt.show()
Notez que le tracé présente la courbe en forme de « S » caractéristique d’une fonction sigmoïde.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :
Comment effectuer une régression logistique en Python
Comment tracer une courbe de régression logistique en Python