逻辑回归在 scikit-learn 上的决策功能如何工作?

How decision function of Logistic Regression on scikit-learn works?

我正在尝试了解此函数的工作原理及其背后的数学原理。 scikitlearn 中的 decision_function() 是否为我们提供了对数赔率?函数 return 的值范围从负无穷大到无穷大,当我们使用 decision_function() 时,似乎 0 是预测的阈值,而当我们使用 predict_proba() 时,阈值是 0.5。这就是概率和log odds的关系Geeksforgeeks.

我在文档中看不到任何相关内容,但我认为该函数的行为类似于对数似然。我说得对吗?

决策函数就是(as you can see in the source)

的值
f(x) = <w, x> + b

预测概率是 (as you can see in the source)

p(x) = exp(f(x)) / [exp(f(x)) + exp(-f(x))] = 1 / (1 + exp(-2x))

在 exp 下达到一个常量,只是一个普通的 sigmoid 函数。

因此,对应的阈值点对于f(x)为0,对于p(x)为0.5,因为

exp(0) / [exp(0) + exp(-0)] = 1 / 2 = 0.5

那么你如何解读决策函数呢?它本质上是 LR 模型建模的概率的 logit 的 2 倍。 (“2 次”只是一个技巧 scikit-learn 用来始终能够使用 softmax 而不是手动执行 sigmoid,这很不幸)。