Rappelons que la forme fonctionnelle de la régression logistique est
f(x)=11+e−(β0+β1x1+⋯+βkxk)
C'est ce qui est retourné par predict_proba
.
Le terme à l'intérieur de l'exponentielle
d(x)=β0+β1x1+⋯+βkxk
est ce qui est retourné par decision_function
. L '"hyperplan" mentionné dans la documentation est
β0+β1x1+⋯+βkxk=0
Cette terminologie est une trace des machines à vecteurs de support, qui estiment littéralement un hyperplan de séparation. Pour la régression logistique, cet hyperplan est un peu une construction artificielle, c'est le plan de probabilité égale, où le modèle a déterminé que les deux classes cibles sont également probables.
La predict
fonction renvoie une décision de classe en utilisant la règle
f(x)>0.5
Au risque du soapboxing, la predict
fonction a très peu d'utilisations légitimes, et je considère son utilisation comme un signe d'erreur lors de l'examen des autres travaux. J'irais assez loin pour appeler cela une erreur de conception dans sklearn lui-même (la predict_proba
fonction aurait dû être appelée predict
, et predict
aurait dû être appelée predict_class
, le cas échéant).