web-dev-qa-db-fra.com

Scikit Learn: Coefficients du modèle de régression logistique: clarification

J'ai besoin de savoir comment renvoyer les coefficients de régression logistique de manière à pouvoir générer moi-même les probabilités prédites.

Mon code ressemble à ceci:

lr = LogisticRegression()
lr.fit(training_data, binary_labels)

# Generate probabities automatically
predicted_probs = lr.predict_proba(binary_labels)

J'avais supposé que les valeurs de lr.coeff_ suivraient une régression logistique typique, afin que je puisse retourner les probabilités prédites comme ceci:

sigmoid( dot([val1, val2, offset], lr.coef_.T) )

Mais ce n'est pas la formulation appropriée. Quelqu'un a-t-il le format approprié pour générer des probabilités prédites à partir de Scikit Learn LogisticRegression? Merci!

21
zbinsd

jetez un œil aux documentations ( http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html ), le coefficient de décalage n'est pas stocké par lr.coef_

coef_ array, shape = [n_classes-1, n_features] Coefficient des caractéristiques de la fonction de décision. coef_ est une propriété en lecture seule dérivée de raw_coef_ qui suit la disposition de la mémoire interne de liblinear. intercept_ array, shape = [n_classes-1] Intercept (a.k.a. biais) ajouté à la fonction de décision. Il n'est disponible que lorsque l'interception de paramètres est définie sur True.

essayer:

sigmoid( dot([val1, val2], lr.coef_) + lr.intercept_ ) 
18
prgao