我在使用以下代码加载预训练的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'
我还没有在网上看到任何东西,因此我们将不胜感激。
我能够解决我的问题。只需将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
。