R语言如何绘制logistic回归曲线

逻辑回归是一种常用的分类算法,适用于二分类问题。在R语言中,我们可以使用glm函数来拟合逻辑回归模型,并使用ggplot2包来绘制逻辑回归曲线。
1. 准备数据
首先,我们需要准备一些数据来进行逻辑回归分析。在本例中,我们使用mtcars数据集中的hp(马力)和am(传动方式)两个变量来进行逻辑回归分析。
# 加载所需的包
library(ggplot2)
# 加载数据
data(mtcars)
data <- mtcars[, c("hp", "am")]
# 查看数据结构
head(data)
运行以上代码后,我们得到了mtcars数据集中hp和am两列的前几行数据:
hp am
Mazda RX4 110 1
Mazda RX4 Wag 110 1
Datsun 710 93 1
Hornet 4 Drive 110 0
Hornet Sportabout 175 0
2. 拟合逻辑回归模型
接下来,我们使用glm函数来拟合逻辑回归模型。
# 拟合逻辑回归模型
model <- glm(am ~ hp, data = data, family = binomial)
summary(model)
在上面的代码中,我们使用hp来预测am的取值,family参数指定了逻辑回归的模型类型为二项分布。
运行以上代码后,我们将得到逻辑回归模型的结果摘要:
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -16.920538 4.657712 -3.630 0.000283 ***
hp 0.237523 0.073315 3.241 0.001193 **
3. 绘制逻辑回归曲线
最后,我们使用ggplot2包来绘制逻辑回归曲线。
# 生成预测值
data$pred <- predict(model, type = "response")
# 绘制散点图和逻辑回归曲线
ggplot(data, aes(x = hp, y = am)) +
geom_point() +
geom_smooth(method = "glm", method.args = list(family = "binomial")) +
labs(title = "Logistic Regression Curve") +
xlab("Horsepower") +
ylab("Transmission (0 = automatic, 1 = manual)")
运行以上代码后,我们将得到一幅包含散点图和逻辑回归曲线的可视化图形。
通过以上步骤,我们学会了如何在R语言中使用glm函数拟合逻辑回归模型,并使用ggplot2包绘制逻辑回归曲线。逻辑回归是一种非常实用的分类算法,能够有效地处理二分类问题。
极客教程