在 xgb.cv 中使用自定义错误指标 -- 如何在 xgb.cv 中调用对象 'pred'(R 不是 Python)

use customized error metrics in xgb.cv -- how to call object 'pred' inside xgb.cv(R not Python)

我正在尝试在 xgb.cv 中使用自定义错误指标,下面是错误指标代码:

evalerror <- function(preds, dtrain) {
  labels <- getinfo(dtrain, "label")
  err <- mape(as.numeric(labels),as.numeric(pred))
  return(list(metric = "mape", value = err))
}

xgb.cv 里面我使用了 prediction = TRUEfeval = evalerror;但是我每次都收到无法找到 pred 的错误消息。我知道 prediction = TRUE 只将最后一个交叉验证模型的预测存储在输出列表中(例如,可以使用 output_xgb.cv$pred 调用它)而不是一个独立的对象。有什么方法可以调用EACH交叉验证的预测,在evalerror函数中使用吗?

谢谢!

想通了。原来代码有错字,应该是as.numeric(preds).