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

时间:2015-12-19 18:55:34

标签: r glm

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

例如:

NumberSpinner

给我一​​个10.5的决策边界,我可以通过使用predict()函数的试验和错误找到它,这意味着自变量的值10.5会给出精确的.50的响应。有没有一种自动的方法可以找到什么值会给出.50的响应?

1 个答案:

答案 0 :(得分:3)

您应该使用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