我在 R 中使用 glm 制作了一个逻辑回归模型。我有两个自变量。如何在两个变量的散点图中绘制模型的决策边界。例如,我如何绘制如下图:http: //onlinecourses.science.psu.edu/stat557/node/55
谢谢。
我在 R 中使用 glm 制作了一个逻辑回归模型。我有两个自变量。如何在两个变量的散点图中绘制模型的决策边界。例如,我如何绘制如下图:http: //onlinecourses.science.psu.edu/stat557/node/55
谢谢。
set.seed(1234)
x1 <- rnorm(20, 1, 2)
x2 <- rnorm(20)
y <- sign(-1 - 2 * x1 + 4 * x2 )
y[ y == -1] <- 0
df <- cbind.data.frame( y, x1, x2)
mdl <- glm( y ~ . , data = df , family=binomial)
slope <- coef(mdl)[2]/(-coef(mdl)[3])
intercept <- coef(mdl)[1]/(-coef(mdl)[3])
library(lattice)
xyplot( x2 ~ x1 , data = df, groups = y,
panel=function(...){
panel.xyplot(...)
panel.abline(intercept , slope)
panel.grid(...)
})
我必须指出,这里发生了完美的分离,因此该glm
函数会给你一个警告。但这在这里并不重要,因为目的是说明如何绘制线性边界和根据协变量着色的观察值。
想在费尔南多接受的上述答案的评论中解决这个问题:有人可以解释斜率和截距背后的逻辑吗?
逻辑回归的假设采用以下形式:
其中,是 sigmoid 函数,其中的形式为:
假设我们在 0 和 1 之间进行分类,当给出 sigmoid 函数为真时
以上是决策边界,可以重新排列为:
这是一个形式为的等式,您可以看到为什么和的计算方式与它们在接受的答案中的方式相同