在R中训练XGBoost模型后,我会看到一个名为xgb
的模型对象,它是list of 7
。
当我使用xgb.save
保存模型然后使用xgb.load
重新加载时,我会看到一个似乎是'较小'的模型对象,它是list of 2
。
显然我不能分享代码,因为你需要大量的训练数据,所以我真正能够展示的是变量编辑器的图片。
下面是模型对象xgb
,它是训练后的原始模型,而模型对象test1
是同一模型但保存并重新加载:
为什么会发生这种情况,我在保存/加载模型时丢失了有价值的信息?
感谢任何帮助。
答案 0 :(得分:0)
也许迟到了,但是我遇到了同样的问题并找到了解决方法。
将xgb模型另存为“ rds”不会丢失任何信息,重新加载的模型xgb_在测试时确实会产生与原始xgb相同的预测值。希望有帮助!
saveRDS(xgb, "model.rds")
xgb_ <- readRDS("model.rds")
all.equal(xgb, xgb_)
答案 1 :(得分:0)