加载XGBoost模型:ModuleNotFoundError:没有名为“ sklearn.preprocessing._label”的模块

时间:2019-12-26 20:15:11

标签: pickle xgboost

使用以下代码加载预训练的xgboost模型时遇到问题:

xgb_model = pickle.load(open('churnfinalunscaled.pickle.dat', 'rb'))

当我这样做时,出现以下错误:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-29-31e7f426e19e> in <module>()
----> 1 xgb_model = pickle.load(open('churnfinalunscaled.pickle.dat', 'rb'))

ModuleNotFoundError: No module named 'sklearn.preprocessing._label'

我还没有在线上看到任何东西,所以任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

我能够解决我的问题。只需将scikit-learn从0.21.3更新到0.22.0似乎可以解决此问题。一路上,我还必须将pandas版本更新为0.25.2。

提示在以下链接中提供:https://www.gitmemory.com/vruusmann,其中指出:

在Scikit-Learn版本从0.21.X升级到0.22.X的过程中,许多模块被重命名(通常在模块名称前添加下划线字符)。例如,sklearn.preprocessing.label.LabelEncoder变成了sklearn.preprocessing._label.LabelEncoder