web-dev-qa-db-fra.com

scikit-learn valeur de retour de LogisticRegression.predict_proba

Que fait exactement le LogisticRegression.predict_proba fonction retour?

Dans mon exemple, j'obtiens un résultat comme celui-ci:

[[  4.65761066e-03   9.95342389e-01]
 [  9.75851270e-01   2.41487300e-02]
 [  9.99983374e-01   1.66258341e-05]]

D'après d'autres calculs, en utilisant la fonction sigmoïde, je sais, que la deuxième colonne sont des probabilités. documentation dit que la première colonne est n_samples, mais cela ne peut pas être le cas, car mes échantillons sont des critiques, qui sont des textes et non des nombres. La documentation indique également que la deuxième colonne est n_classes. Cela ne peut certainement pas l'être, car je n'ai que deux classes (à savoir +1 et -1) et la fonction est censée calculer les probabilités que les échantillons appartiennent réellement à une classe, mais pas les classes elles-mêmes.

Quelle est vraiment la première colonne et pourquoi est-elle là?

18
Zelphir Kaltstahl
4.65761066e-03 + 9.95342389e-01 = 1
9.75851270e-01 + 2.41487300e-02 = 1
9.99983374e-01 + 1.66258341e-05 = 1

La première colonne est la probabilité que l'entrée ait le label -1 Et la deuxième colonne est la probabilité que l'entrée ait le label +1.

Si vous souhaitez obtenir les probabilités prédites pour l'étiquette positive uniquement, vous pouvez utiliser logistic_model.predict_proba(data)[:,1]. Cela vous donnera le résultat [9.95342389e-01, 2.41487300e-02, 1.66258341e-05].

38
iulian