scikit-learn 上的逻辑回归决策函数如何工作?
我试图理解这个函数是如何工作的以及它背后的数学原理。 scikitlearn 中的 decision_function()
是否为我们提供了对数赔率?该函数返回的值范围从负无穷大到无穷大,当我们使用 decision_function()
时,似乎 0 是预测阈值,而当我们使用 predict_proba()< 时,阈值是 0.5 /代码>。这正是概率和对数赔率之间的关系 Geeksforgeeks。
我在文档中看不到任何相关内容,但我认为该函数的行为类似于对数似然。我说得对吗?
I am trying to understand how this function works and the mathematics behind it. Does decision_function()
in scikitlearn give us log odds? The function return values ranging from minus infinity to infinity and it seems like 0 is the threshold for prediction when we are using decision_function()
whereas the threshold is 0.5 when we are using predict_proba()
. This is exactly the relationship between probability and log odds Geeksforgeeks.
I couldn't see anything about that in the documentation but the function behaves like log-likelihood I think. am I right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
决策函数只不过是 (正如您在源代码中看到的)
其中预测概率是(尽可能请参阅源代码),
它在 exp 下最多为一个常数,只是一个常规的 sigmoid 函数。
因此,f(x) 的相应阈值点将为 0,p(x) 的相应阈值点将为 0.5,因为那么
您如何解释决策函数呢?它本质上是 LR 模型建模的概率的 logit 的 2 倍。 (“2次”来自 scikit-learn 使用的一个技巧,它总是能够使用 softmax 而不是手动执行 sigmoid,这是不幸的)。
Decision function is nothing but the value of (as you can see in the source)
where predict proba is (as you can see in the source)
which up to a constant under exp, is just a regular sigmoid function.
Consequently, the corresponding threshold points will be 0 for f(x), and 0.5 for p(x), since
So how do you interpret the decision function? It is essentially 2 times the logit of the probability modeled by LR model. (The "2 times" comes from just a trick scikit-learn uses to always be able to use softmax instead of manually doing sigmoid, which is unfortunate).