簡體   English   中英

R XGBoost - xgb.save 或 xgb.load 數據丟失

[英]R XGBoost - xgb.save or xgb.load loss of data

在 R 中訓練 XGBoost 模型后,我看到了一個名為xgb的模型對象,它是list of 7list of 7

當我使用xgb.save保存模型然后使用xgb.load重新加載時,我看到的似乎是一個“較小”的模型對象,它是list of 2list of 2

顯然我不能分享代碼,因為你需要大量的訓練數據,所以我真正能展示的只是變量編輯器的圖片。

下面是模型對象xgb ,它是訓練后的原始模型,與模型對象test1 ,它是相同的模型但已保存並重新加載:

在此處輸入圖片說明

為什么會發生這種情況,我是否會在保存/加載模型時丟失有價值的信息?

任何幫助表示贊賞。

也許晚了,但我遇到了同樣的問題並找到了解決方案。

將 xgb 模型保存為“rds”不會丟失任何信息,並且重新加載的模型 xgb_ 在我測試時確實生成了與原始 xgb 相同的預測值。 希望有幫助!

saveRDS(xgb, "model.rds")
xgb_ <- readRDS("model.rds")
all.equal(xgb, xgb_)

由於保存/加載后的舍入錯誤,您正在丟失信息。 看到這個問題。 我相信它目前是一個錯誤。

至於為什么加載的模型是一個較小的列表,請參見此處 因此,您再次丟失了諸如回調和參數之類的信息。 但是這些對於預測不是必需的,並且不能移植到例如 python。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM