AttributeError:“XGBModel”对象没有属性“callbacks”

Jam*_*Lee 4 python flask scikit-learn xgboost

回溯(最近一次调用最后一次):文件“D:\Miniconda3\envs\ppy39\lib\site-packages\flask\app.py”,第 2073 行,在 wsgi_app 响应 = self.full_dispatch_request() 文件“D:\Miniconda3” \envs\ppy39\lib\site-packages\flask\app.py”,第 1518 行,在 full_dispatch_request rv = self.handle_user_exception(e) 文件“D:\Miniconda3\envs\ppy39\lib\site-packages\flask\ app.py”,第 1516 行,在 full_dispatch_request rv = self.dispatch_request() 文件“D:\Miniconda3\envs\ppy39\lib\site-packages\flask\app.py”,第 1502 行,在dispatch_request 返回 self.ensure_sync (self.view_functions[rule.endpoint])(**req.view_args) 文件“C:\Users\admin\Desktop\VScode\WorkProjects\2022\Product_Classification\retention_ml.py”,第 169 行,在output_result
result_28 = xgboost_reg_281 中。预测(数据[col_reg_28])文件“D:\ Miniconda3 \ envs \ ppy39 \ lib \ site-packages \ xgboost \ sklearn.py”,第1047行,在预测中如果self._can_use_inplace_predict():文件“D:\ Miniconda3 \ envs\ppy39\lib\site-packages\xgboost\sklearn.py”,第 983 行,在 _can_use_inplace_predict 预测器 = self.get_params().get(“预测器”,无) 文件“D:\Miniconda3\envs\ppy39\lib \site-packages\xgboost\sklearn.py”,第 636 行,在 get_params params.update(cp. class .get_params(cp, deep)) 文件“D:\Miniconda3\envs\ppy39\lib\site-packages\xgboost\sklearn.py”,第 633 行,在 get_params params = super().get_params(deep) 文件“ D:\Miniconda3\envs\ppy39\lib\site-packages\sklearn\base.py",第 205 行,在 get_params value = getattr(self, key) AttributeError: 'XGBModel' 对象没有属性 'callbacks'

小智 8

检查您的 xgboost 库版本。我将从 xgboost==1.5.0 env 保存的模型加载到 xgboost==1.6.0 env,并在模型上操作时遇到相同的错误。我将 xgboost 降级到 1.5.0,一切正常。我怀疑自 1.6.0 以来模型保存格式正在发生变化,因为它会警告我使用 pickle dump 加载二进制模型文件。