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

二分类glm模型的预测概率对应因变量取值1还是0的概率?

问题1:当前输出的概率对应的类别

你当前得到的0.02、0.04这类预测概率是**status == 1(存活)的概率**。
R的glm函数做二项逻辑回归时,若响应变量为0/1数值型变量,默认拟合的是Y=1的发生概率,调用predict(type = "response")返回的就是该概率值。


问题2:该规则是否总是成立

这个规则不是全局通用的,分两种场景:

  • 若响应变量为数值型0/1:规则固定,type="response"永远返回Y=1的概率
  • 若响应变量为因子类型:glm默认将因子的第二个水平(即levels(响应变量)[2])作为目标事件,返回的是该水平的发生概率。如果你的因子水平顺序是c("1","0"),那么输出的反而是Y=0的概率,和数值型输入的结果相反。

问题3:能否直接指定预测的目标类别

predict()函数本身没有参数直接指定目标类别,你可以通过两种方式实现需求:

  1. 构建模型前调整响应变量的因子参照水平:用relevel()函数将你不需要的类别设为参照水平,例如想预测Y=0的概率,可以执行train_data$status <- relevel(factor(train_data$status), ref = "1"),再拟合模型,后续predict返回的就是Y=0的概率
  2. 直接对预测结果做转换:如果已经得到了Y=1的概率p,那么1-p就是Y=0的概率,无需重新拟合模型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:36:10