【发布时间】:2019-01-31 03:16:10
【问题描述】:
我一直在运行不同的算法来根据其他几个参数来预测 Facebook 帖子的效果。我尝试的最后一种方法是 XG-Boost。
即使在重新检查了我的代码和包的文档后,我仍然不断收到错误消息。我的训练数据和测试数据都已清理,所有因子都已转换为 1 和 0 的列。
// 处理测试和训练数据
temp.treat <- prepare(treatplan,temp, varRestriction = newvars)
test.treat <- prepare(treatplan,test, varRestriction = newvars)
//训练模型
cv <- xgb.cv(data = as.matrix(temp.treat),
label = temp$Reach,
objective = "reg:linear",
nrounds = 400, nfold = 5, eta = 0.3, depth = 6)
//得到预测
test$pred <- predict(cv, as.matrix(test.treat))
数据训练没有抛出错误,但是在我运行预测命令的那一刻,我得到了错误 -
UseMethod("predict") 中的错误: 没有适用于“预测”的方法应用于“xgb.cv.synchronous”类的对象
谁能告诉我我做错了什么?
【问题讨论】:
-
你不能对
xgb.cv生成的交叉验证结果运行predict,你可以预测xgb.train的结果。请参阅此处的线程predict after cross-validation using xgboost -
这就解释了,谢谢 Esther!
标签: r prediction xgboost