我在加载 xgboost 模型时遇到问题。 当我使用
model.save_model("xgbt.bin")
保存 xgboost 模型并尝试通过以下代码加载它时:
load_model=xgboost.Booster.load_model("xgbt.bin")
然后我通过这个打印 load_model 的类型
print(type(load_model))
打印出来了 当我尝试时
prediction=load_model.predict(api_data)
我发生了这个错误:
AttributeError:“NoneType”对象没有属性“predict”
XGBoost 框架将模型直接存储到 XGBoost 对象。函数
load_model
本身返回打印的 NoneType 对象:
def load_model(self, fname: Union[str, bytearray, os.PathLike]) -> None
加载模型,如下图,会正确返回你想要的对象:
import xgboost as xgb
xgb_model = xgb.Booster()
xgb_model.load_model(path_to_file)
现在您可以像平常一样预测:
predicted_values = xgb_model.predict(validation_data)
@JCZwiggelaar 正确地将实例化对象和加载模型的行分开
model = xgb.Booster()
model.load_model(filename)