Denken Sie daran, dass die funktionale Form der logistischen Regression ist
f(x)=11+e−(β0+β1x1+⋯+βkxk)
Dies ist, was von zurückgegeben wird predict_proba
.
Der Begriff innerhalb des Exponentials
d(x)=β0+β1x1+⋯+βkxk
ist das, was von zurückgegeben wird decision_function
. Die "Hyperebene", auf die in der Dokumentation Bezug genommen wird, ist
β0+β1x1+⋯+βkxk=0
Diese Terminologie ist ein Überbleibsel von Support-Vektor-Maschinen, die eine trennende Hyperebene buchstäblich schätzen. Für die logistische Regression ist diese Hyperebene ein künstliches Konstrukt, es ist die Ebene gleicher Wahrscheinlichkeit, bei der das Modell festgestellt hat, dass beide Zielklassen gleich wahrscheinlich sind.
Die predict
Funktion gibt mithilfe der Regel eine Klassenentscheidung zurück
f(x)>0.5
Aufgrund des Risikos von Seifenkisten hat die predict
Funktion nur sehr wenige legitime Verwendungszwecke, und ich betrachte die Verwendung als Zeichen eines Fehlers bei der Überprüfung anderer Arbeiten. Ich würde weit genug gehen, um es als Designfehler in sklearn selbst zu bezeichnen (die predict_proba
Funktion hätte aufgerufen werden predict
müssen und predict
hätte aufgerufen werden müssen predict_class
, wenn überhaupt).