logistic回归问题的decision_function,predict_proba和predict函数有什么区别?


10

我一直在阅读sklearn文档,但是在逻辑回归的背景下我无法理解这些功能的目的。因为decision_function它说的是超平面和测试实例之间的距离。此特定信息有何用处?这又如何涉及到predictpredict-proba方法?

Answers:


28

回想一下逻辑回归的功能形式是

f(x)=11+e(β0+β1x1++βkxk)

这是由返回的predict_proba

指数内的术语

d(x)=β0+β1x1++βkxk

是的返回值decision_function。文档中提到的“超平面”是

β0+β1x1++βkxk=0

该术语是支持向量机的保留,后者从字面上估计分离的超平面。对于逻辑回归,该超平面有点像人工构造,它是等概率平面,在该平面中,模型确定了两个目标类别的可能性相同。

predict函数使用规则返回类决策

f(x)>0.5

冒着权宜之计的风险,该predict功能只有很少的合法使用,我认为将其用作查看其他作品时的错误标志。我会走得更远,以在sklearn本身中称其为设计错误(该predict_proba函数应该已经被调用predict,并且predict应该已经被调用predict_class,如果有的话)。


感谢@Matthew的回答,但您能否进一步说明一下这一点:“对于逻辑回归,该超平面有点像人工构造,它是等概率平面,其中模型确定了两个目标类别的可能性相同。” ?
Sameed

这个解释很有趣并且很有帮助。我希望sklearn可以更好地解释它。我不明白在逻辑函数1 /(1 + e ^ -x)中知道x的值有什么用?我所能想到的就是可能使用不同的Sigmoid函数,例如x /(1+ | x |)。还有更多吗?谢谢!
ldmtwo

基本上,决策函数应该是逻辑回归中的乙状结肠。正确?
3nomis

2
我认为@Matthew出现在肥皂盒上的原因是使用0.5作为预测的阈值是幼稚的。首先要做的是学会使用交叉验证,ROC曲线和AUC选择合适的阈值c,并将其用作决策函数f(x)> c。
hwrd
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.