将 xgboost.Booster class 转换为 XGBRegressor 或从 xgboost.Booster 加载 XGBRegressor

cast xgboost.Booster class to XGBRegressor or load XGBRegressor from xgboost.Booster

我从 Sagemaker 那里得到了一个模型:

<class 'xgboost.core.Booster'>

我可以在本地评分,这很好,但一些 google 搜索表明,可能无法执行从 here:

中获取的“标准”事情
plt.barh(boston.feature_names, xgb.feature_importances_)

是否可以将 xgboost.core.Booster 转换为 XGBRegressor?也许可以使用 save_raw 方法查看 this?谢谢!

到目前为止我试过:

xgb_reg = xgb.XGBRegressor() 
xgb_reg._Boster = model
xgb_reg.feature_importances_

但这会导致:

NotFittedError: need to call fit or load_model beforehand

这些方面的一些东西似乎工作正常:

local_model_path = "model.tar.gz"
with tarfile.open(local_model_path) as tar:
    tar.extractall()

model = xgb.XGBRegressor() 
model.load_model(model_file_name)     

模型可以照常使用 - model.tar.gz 是来自 sagemaker 的神器。