Scikit Learn:Logistic回归模型系数:澄清

时间:2013-09-24 23:38:16

标签: python scikit-learn logistic-regression

我需要知道如何以这样一种方式返回逻辑回归系数,即我可以自己生成预测概率。

我的代码如下所示:

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

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

我假设lr.coeff_值会遵循典型的逻辑回归,因此我可以返回这样的预测概率:

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

但这不是合适的表述。有没有人有适当的格式来生成Scikit Learn LogisticRegression的预测概率? 谢谢!

2 个答案:

答案 0 :(得分:18)

看看文档(http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html),lr.coef __

不存储偏移系数
  

coef_ array,shape = [n_classes-1,n_features]系数   决策功能中的功能。 coef_是readonly属性派生的   来自raw_coef_,它遵循liblinear的内部内存布局。   intercept_ array,shape = [n_classes-1]添加了拦截(a.k.a. bias)   到决策功能。它仅在参数时可用   拦截设置为True。

尝试:

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

答案 1 :(得分:1)

最简单的方法是调用LR分类器的coef_属性:

coef_ 的定义请检查 Scikit-Learn document

参见示例:

from sklearn.linear_model import LogisticRegression

clf = LogisticRegression()  
clf.fit(x_train,y_train)  

weight = classifier.coef_