Python「plot_tree」を使おうとしたら「AttributeError: module 」エラーが出た件

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万円以上の大幅アップがある
転職サポート内容
  • 求人検索
  • 企業担当者と交渉
  • 求人紹介
  • ライフプランのサポート
  • キャリア相談
  • 求人紹介
  • 提出書類の添削
  • 面接対策
公式サイト リクナビネクスト テックゲート レバテックキャリア
最新情報をチェックしよう!