目次
経緯
Pythonで**scikit-learn(sklearn)**を使い、ラベルエンコーディングを行おうとしたところ、
ModuleNotFoundError: No module named 'sklearn preprocedding'
というエラーが発生しました。
実際のコード
from sklearn preprocedding import LabelEncoder
原因
エラーの原因は、モジュール名のスペルミスです。
間違っていた箇所は、
- 誤り:
preprocedding
- 正解:
preprocessing
正しいコードはこちらです。
from sklearn.preprocessing import LabelEncoder
つまり、**preprocessing(前処理)**という単語のスペルを間違えていたため、Pythonがモジュールを見つけられず、エラーになっていました。
特に「s」と「d」はキーボード上で隣同士に配置されているため、タイピングミスが起きやすいので注意が必要です。
こうすれば防げる
- 公式ドキュメントを参照する
- 自動補完機能を使う(例:Visual Studio Codeなど)
- コピペする場合も間違いがないかよく確認する
Pythonでは、モジュール名や関数名のスペルミスは非常に頻繁に発生するエラー原因のひとつです。
まとめ
- エラー
ModuleNotFoundError
は、モジュール名のスペルミスが原因で起きやすい - 正しいモジュール名は
preprocessing
- 特にキーボードで隣り合ったキー(「s」「d」など)は打ち間違いに注意