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

zbi*_*nsd 22 python scikit-learn logistic-regression

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

我的代码看起来像这样:

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

# Generate probabities automatically
predicted_probs = lr.predict_proba(binary_labels)
Run Code Online (Sandbox Code Playgroud)

我假设lr.coeff_值将遵循典型的逻辑回归,因此我可以返回预测的概率,如下所示:

sigmoid( dot([val1, val2, offset], lr.coef_.T) )
Run Code Online (Sandbox Code Playgroud)

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

prg*_*gao 19

看看文档(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_的readonly属性,它遵循liblinear的内部存储器布局.intercept_ array,shape = [n_classes-1] Intercept(aka bias)添加到决策函数中.仅当参数截距设置为True时才可用.

尝试:

sigmoid( dot([val1, val2], lr.coef_) + lr.intercept_ ) 
Run Code Online (Sandbox Code Playgroud)

  • sigmoid(dot([val1,val2],lr.coef_)+ lr.intercept_) (2认同)
  • 以防万一这对某人有用。我正在尝试此操作,并且从predict_proba结果和prgao提出的解决方案中获得了不同的值。事实证明我没有标准化我的概率(除以总和)。 (2认同)