我需要知道如何以这样一种方式返回逻辑回归系数,即我可以自己生成预测概率。
我的代码如下所示:
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的预测概率? 谢谢!
答案 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_