9

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

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

4

1 回答 1

9

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

于 2020-01-02T20:29:23.073 回答