web-dev-qa-db-ja.com

XGBoostモデルの読み込み:ModuleNotFoundError: 'sklearn.preprocessing._label'という名前のモジュールはありません

次のコードを使用して、事前トレーニングされた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'

オンラインで何も見たことがないので、助けていただければ幸いです。

5
madsthaks

私は問題を解決することができました。単に更新する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

4
ccy