正在加载XGBoost模型:ModuleNotFoundError:没有名为'sklearn.preprocessing._label'的模块

问题描述 投票:1回答:1

我在使用以下代码加载预训练的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'

我还没有在网上看到任何东西,因此我们将不胜感激。

pickle xgboost
1个回答
0
投票

我能够解决我的问题。只需将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

© www.soinside.com 2019 - 2024. All rights reserved.