データ分析業務でPythonを使っているたまに以下のようなエラーに遭遇することがあります。
No module named ‘sklearn.svm.classes’
No module named ‘sklearn.svm.classes’の原因
このエラーが出たときの対策なのですが、大抵画面を見せてもらうとエラーの下に以下のようなことが書いてあります。
FutureWarning: The sklearn.svm.classes module is deprecated in version 0.22 and will be removed in version 0.24.
ようはこれ内部でscikit-learnにアクセスしているときにsklearn.svm.classesというクラスを使用しようとしているのですが、sklearn.svm.classesはsklearn0.24以降では削除されているのでそんなクラスはねーよ、というエラーになっています。モジュールの依存性の問題というやつですね。
No module named ‘sklearn.svm.classes’の回避方法
解決方法として、シンプルなものとしては今の環境にインストールされているscikit-learnのバージョンを0.23をダウングレードすることです。コマンドは以下のようになります。
$ pip install scikit-learn==0.23
ただこれはいろんなライブラリを使用している複雑なプログラムだと他に内部でscikit-learnを使用しているモジュールがあった場合、そちらに影響を及ぼして別のエラーが起こる可能性があるので気を付けてください。
コメント