如何使用gamboost做预测,新数据预测报错如何解决
报错原因
你调用predict()时给newdata参数传入的是cars_new$speed单列向量,gamboost的预测方法要求newdata必须是和训练阶段结构匹配的数据框,且包含所有建模时用到的预测变量,变量名需要完全对应。
修复方案
两种写法都可以正常运行:
- 直接传入完整的
cars_new数据框即可,它本身就包含和训练时同名的speed预测变量:
predict(cars.gb, newdata = cars_new)
- 如果你需要单独传入speed列,要把它封装为带对应变量名的数据框:
predict(cars.gb, newdata = data.frame(speed = cars_new$speed))
补充说明:
newdata不需要包含响应变量dist,只要包含模型公式右侧所有同名预测变量即可正常完成预测。
内容的提问来源于stack exchange,提问作者Adrian
相关产品推荐
相关产品推荐

