在非常嘈杂的数据集上生成模型时,我需要提取最终XGBoost模型在训练集上做出的预测。我知道我可以从xgb.cv中提取折叠后的预测,但我不能用它来预测保持的测试集。
我理解这不是一个常见的用例,但有必要找出哪些样本代表训练集中的异常值,以便进一步探索和以后的模型堆叠。
有没有办法显示最终模型对训练集的预测?我会想,因为我可以在每一轮都能得到一个错误,但我找不到办法。
答案 0 :(得分:0)
如果我误解了这个问题,请原谅我,但不会predict()
工作吗?
model = xgboost(data = data$train, nround = 20,param=param)
training_predictions = predict(model, data$train)
另外,我在一台无法安装XGB的机器上,但我很确定模型对象的最终预测是其中一个元素。
答案 1 :(得分:0)
在考虑了一点之后,看起来我正在寻找的是类似于随机森林的袋外预测。然而,由于树木增强的性质,并没有真正的"真实的" OOB样本,因为任何样本都可能出现在以前的树中。
我认为最接近的方法是使用与训练模型相同的参数和随机种子从CV XGB模型中进行预测。