【发布时间】:2019-06-11 05:30:48
【问题描述】:
我正在尝试在 R 环境中部署使用 Amazon sagemaker 训练的 XGBoost 模型。 sagemaker 生成的模型存储为 Python pickle 对象。
使用 R 中的 {reticulate} 包,我可以将模型导入 R。但是,与直接在 Amazon sagemaker 上使用模型相比,在 R 中本地使用模型给出了非常不同的预测,同样测试数据集。我怀疑将 python 存储的XGBoost 模型转换为可在 R 中使用的模型可能会出现问题。这是我用来进行转换的相关代码:
library(reticulate)
library(xgboost)
model <- py_load_object("sagemaker-model")
# save the model locally, to be reload into R
model$save_model("local-model")
model_R = xgb.load("local-model")
我首先将“sagemaker-model”保存在本地,然后使用 R 读取它的原因是因为我想在 R 中使用原生 xgboost 进行预测,而不是依赖 reticulate 进行预测。但是,预测显然不正确。
【问题讨论】:
标签: python r xgboost amazon-sagemaker