You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算logistic回归模型的正确预测比例并生成混淆矩阵

R语言生成Logistic回归混淆矩阵实现方法

第一步:修正预测逻辑(可选但推荐)

你当前调用predict时使用type="terms"返回的是自变量的线性贡献值,并非二分类常用的预测概率,常规分类逻辑可调整为:

# 输出预测概率
pre10 <- predict(glm9, germany, type = "response")
# 以0.5为阈值做二分类,可根据需求调整阈值
prediction <- ifelse(pre10 >= 0.5, 1, 0)

如果你确有业务需要沿用原有线性项阈值≥1的分类逻辑,可跳过本步直接使用你已生成的prediction变量。

第二步:生成混淆矩阵

直接使用R基础函数table()即可生成你需要的格式,其中行对应真实观测值,列对应预测值:

# germany$v172替换为你数据集里存储真实观测值的变量名
conf_mat <- table(真实值 = germany$v172, 预测值 = prediction)
print(conf_mat)

输出格式和你要求的完全一致:

预测值
真实值   0   1
    0 182  63
    1  24  32

第三步:计算正确预测占比

基于混淆矩阵可直接计算准确率:

accuracy <- sum(diag(conf_mat)) / sum(conf_mat)

可选:生成带评估指标的混淆矩阵

如果需要同时输出精确率、召回率、Kappa值等指标,可以使用caret包的confusionMatrix函数:

library(caret)
# 需保证预测值和真实值的因子水平一致
res <- confusionMatrix(
  factor(prediction, levels = c(0,1)),
  factor(germany$v172, levels = c(0,1))
)
print(res)

内容的提问来源于stack exchange,提问作者Qian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 15:45:03