AttributeError: ‘XGBClassifier‘ object has no attribute ‘_le‘

一、问题背景

使用XGB原生接口执行分类任务,并且使用xgb_model.save_model()保存模型,使用xgb_model.load_model()加载模型后,使用predict进行测试集预测报此错误。

二、网上解决方案

  1. https://github.com/dmlc/xgboost/issues/2073
  2. https://stackoverflow.com/questions/63347577/attributeerror-xgbclassifier-object-has-no-attribute-le
    以上两种方案中分析产生此结果的原因,并且给出的解决方案,但是我按此方法未解决问题

三、自己的方法

更新自己的XGB版本,对就是这么粗暴
更新方法如下所示:

1. 打开下网页,搜索XGB

包管理网址
AttributeError: ‘XGBClassifier‘ object has no attribute ‘_le‘_第1张图片

2. 按照自己python的版本和系统下载对应的whl文件

  • 打开cmd,输入python回车,查看python版本,例如我的是3.7.4
    AttributeError: ‘XGBClassifier‘ object has no attribute ‘_le‘_第2张图片
  • 在anaconda安装文件夹下新建一个文件夹(名字可以为whlFile),按照对应关系下载合适的whl文件到此文件夹。
    在这里插入图片描述
  • 打开anaconda powershell prompt, 并且切换到此文件夹下
    在这里插入图片描述
    注意,如果从c盘切换到d盘,必须要先敲隔d: 回车,然后在下一行cd切换
  • 输入pip install xgboost-1.1.0-cp37-cp37m-win_amd64.whl
  • ok 如果已经有了xgb,那么这个操作就可以进行更新到你想要的版本了。
    由此最初的问题也就解决了。

你可能感兴趣的:(python)