from sklearn import tree
tree.plot_tree()
を使って、以下のようなtreeをプロットしようとしたが、
「AttributeError: module ‘sklearn.tree’ has no」というエラーが出た。
結論から言うと、今回のエラーはscikit-learnのバージョンが古かったことが原因だった。
「AttributeError: module」が出たら、どこを確認したらよいかメモを残しておく。
\IT未経験者からのサポートあり!転職サービス3選!!/
サービス名 | |||
---|---|---|---|
未経験 | 未経験OK | 未経験の転職専用 | 経験者向け |
公開の求人数 | ITエンジニア全体で1万件以上 ITエンジニア未経験で600件以上 |
未公開 | 5,000件以上 |
利用対象 | 全職種 | IT特化 | IT特化 |
特徴 | ✓誰もが知る転職サービス ✓経歴を登録しておくとオファーが来る |
✓企業担当者と条件交渉 ✓スキルの身につく企業を紹介 |
✓IT専門のエージェントが対応 ✓転職成功すると年収200万円以上の大幅アップがある |
転職サポート内容 |
|
|
|
公式サイト | リクナビネクスト | テックゲート | レバテックキャリア |
エラー「AttributeError: module」が出たときの対処方法
原因1 ライブラリーの読み込み記述に間違えがある
from、import部分の記述が正しいか確認する。
from sklearn import tree
ライブラリーの指定の仕方が、間違っていることが以外に多かったりします。
原因2 ライブラリーのバージョンが古い
今回のエラーの原因は、sklearn
のバージョンが古かったからでした。
ライブラリーが古いことに気づくまでのフローは、次のとおりです。
(1)以下のようなコードを書く
>>> from sklearn.datasets import load_iris
>>> from sklearn import tree
>>> iris = load_iris()
>>> clf = tree.DecisionTreeClassifier()
>>> clf = clf.fit(iris.data, iris.target)
>>> tree.plot_tree(clf.fit(iris.data, iris.target))
(2)実行結果は以下の通り
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'sklearn.tree' has no
(3)公式のsklearn.tree.plot_treeのドキュメントを確認する
公式のsklearn.tree.plot_treeのドキュメントを確認します。
ドキュメントには、使えるバージョンは「New in version 0.21.」からと書いてあった。
https://scikit-learn.org/stable/modules/generated/sklearn.tree.plot_tree.html
(3)現在使っているscikit-learnのバージョンの確認をする
$ conda list | grep scikit
scikit-image 0.13.0 np112py36_0
scikit-learn 0.19.0 np112py36_0
その結果、scikit-learnのライブラリーが「0.19.0 」だったことに気づいた。
よって、scikit-learnを更新します。
※scikit-learnは、Anacondaでインストールしています。
(4)バージョンの更新
$conda update scikit-learn
$ conda list | grep scikit
scikit-image 0.13.0 np112py36_0
scikit-learn 0.21.2 py36h27c97d8_0
バージョン無事に更新完了!
その結果、無事に動作するようになりました!
\IT未経験者からのサポートあり!転職サービス3選!!/
サービス名 | |||
---|---|---|---|
未経験 | 未経験OK | 未経験の転職専用 | 経験者向け |
公開の求人数 | ITエンジニア全体で1万件以上 ITエンジニア未経験で600件以上 |
未公開 | 5,000件以上 |
利用対象 | 全職種 | IT特化 | IT特化 |
特徴 | ✓誰もが知る転職サービス ✓経歴を登録しておくとオファーが来る |
✓企業担当者と条件交渉 ✓スキルの身につく企業を紹介 |
✓IT専門のエージェントが対応 ✓転職成功すると年収200万円以上の大幅アップがある |
転職サポート内容 |
|
|
|
公式サイト | リクナビネクスト | テックゲート | レバテックキャリア |