R如何快速获得逻辑回归的决策边界

R How to quickly get decision boundary for logistic regression

我们知道如何为逻辑回归和其他分类器方法绘制决策边界,但是,我对绘图不感兴趣;但我想要二项式预测为 .50 的确切值。

例如:

train=data.frame(1:20)
train$response=rep(1:0,10)
model=glm(response ~ poly(X1.20, 2), data=train, family=binomial)


train$X1.20[1]=10.5
predict(model, train[1,], type="response")

给我留下了 10.5 的决策边界,我可以通过 predict() 函数的反复试验找到它,这意味着自变量的值 10.5 给出的响应正好是 .50。有没有一种自动的方法来找到什么值会给出 .50 的响应?

您应该利用这样一个事实,即 Logit 模型的预测值为零意味着响应概率为 0.5。因此,您可以尝试找到使预测值尽可能接近零的 x 的值。这里 deviationFromZero() 找出给定 x.

的任何值,模型的预测值与零的距离
df <- data.frame(x = 1:20, response = rep(1:0, 10))
model <- glm(response ~ poly(x, 2), data = df, family = binomial)
deviationFromZero <- function(y) abs(predict(model, data.frame(x = y)))
boundary <- optimize(f = deviationFromZero, interval = range(df$x))

boundary
$minimum
[1] 10.5

$objective
           1 
1.926772e-16