30

我需要知道如何以我可以自己生成预测概率的方式返回逻辑回归系数。

我的代码如下所示:

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 生成预测概率的正确格式?谢谢!

4

2 回答 2

29

看看文档(http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html),lr.coef_不存储偏移系数

coef_array, shape = [n_classes-1, n_features] 决策函数中特征的系数。coef_ 是从 raw_coef_ 派生的只读属性,它遵循 liblinear 的内部存储器布局。intercept_array, shape = [n_classes-1] 添加到决策函数的截距(又名偏差)。仅当参数截距设置为 True 时才可用。

尝试:

sigmoid( dot([val1, val2], lr.coef_) + lr.intercept_ ) 
于 2013-09-24T23:42:50.730 回答
1

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

coef_请查看Scikit-Learn 文档的定义:

参见示例:

from sklearn.linear_model import LogisticRegression

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

weight = classifier.coef_  
于 2021-04-15T05:28:44.150 回答