はじめに
scikit-learnを用いて機械学習させたモデルを、学習させたPCと違うPCでモデルを使用しようとしたところ、エラーが出た。
学習させたPCをPC①、使用しようとしたPCを②とする。
結論から言うとバージョンの違いのせいだったため、学習環境にバージョンを合わせれば問題ない。
ただし、筆者の環境においてはエラーが消えたが、必ずこれで消えるという訳ではない。
原因
はじめに の中で既に書いたが、scikit-learnのバージョン差によってエラーが出ていた。
バージョンを揃えればエラーを解消できる。
筆者の環境では、バージョンが以下のようになっていた。
PC①:0.23.2
PC②:0.22.2
解決までの手順
バージョン確認
それぞれのPCでscikit-learnのバージョンを確認する
バージョン確認には以下のコードをコマンドプロンプトで使用する。
python
import sklearn
print (sklearn.__version__)
使用環境のバージョンを変える
PC②で、以下のコードをコマンドプロンプトで使用する。
なお、PC②で別のモデルを作成した場合は、そのモデルはPC②で使用不可になるため注意が必要。
pip uninstall scikit-learn
アンインストールが確認できた後、以下のコードを入力する。
ただし、0.22.2
についてはPC②のバージョンを入れる必要がある。
pip install scikit-learn==0.22.2
以上の操作でエラーが消えた。
終わりに
この記事では筆者の環境で発生したエラーの解決方法であり、他の環境すべてで対応できる保証はないが、
同様の対応でエラーが解消されることを期待する。
参考
https://algorithm.joho.info/machine-learning/python-scikit-learn-version/
https://www.grisoluto.com/entry/python-library-downgread