首页 > 解决方案 > 如何从 xgboost pickle 模型中获取功能订单

问题描述

我正在尝试使用我的 xgboost pickle 模型使用新数据进行预测,但出现错误“ValueError:特征形状不匹配”

这样做的原因是我需要完全按照构建模型的顺序传递特征名称。为此,我正在使用以下代码,但它不起作用:-

    feature_order= model_pkl.get_booster().feature_names
    X_new = X_new[feature_order]
    Y_static = model_pkl.predict(X_new)

feature_order 返回“无”,它在 xgboost 版本 1.1.1 中工作。但现在我使用的是 xgboost 1.4.2 版。

你们能帮我从我的 xgboost pickle 模型中获取功能顺序吗?这样我也可以以相同的顺序传递我的数据而不会遇到错误?

标签: pythonxgboost

解决方案


利用:

feature_order= model_pkl.feature_names

推荐阅读