使用以下代码加载预训练的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'
我还没有在线上看到任何东西,所以任何帮助将不胜感激。
答案 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
。