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

使用glm模型预测时出现newdata行数不匹配警告的问题

解决glm预测时的'newdata'行数不匹配警告

问题出在你构建逻辑回归模型的公式写法上——你在公式里用了PimaDiabetes$Outcome、PimaDiabetes$Pregnancies这种带数据集前缀的变量引用,这会直接让模型绑定原数据集的750行数据,完全绕过了data = PimaDiabetes参数的作用。哪怕你的ToPredict列名完全匹配,predict函数也会忽略它,转而使用模型绑定的原数据集变量,因此出现行数不匹配的警告。

修正步骤:

  1. 修改模型构建代码:去掉所有变量名前的PimaDiabetes$前缀,让公式从data参数指定的数据集中读取变量。同时逻辑回归必须指定family=binomial(你之前没加,这会导致模型默认做线性回归,结果不符合概率预期):
chosen_glm <- glm(Outcome ~ Pregnancies + Glucose + SkinThickness + BMI + DiabetesPedigree, 
                  data = PimaDiabetes, 
                  family = binomial)
  1. 重新执行预测:用修正后的模型运行预测命令:
predict(chosen_glm, ToPredict, type="response")

这样模型会记住变量名而非绑定原数据集的具体数据,predict时就能正确匹配ToPredict中的列名,警告也会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:46:08