我们知道如何为逻辑回归和其他分类器方法绘制决策边界,但是,我对一个情节不感兴趣;但我想要二项式预测的确切值.50。
例如:
NumberSpinner
给我一个10.5的决策边界,我可以通过使用predict()函数的试验和错误找到它,这意味着自变量的值10.5会给出精确的.50的响应。有没有一种自动的方法可以找到什么值会给出.50的响应?
答案 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