私はまったく同じ問題を抱えていて、これを理解しようとして数時間を費やしました。ここで共有する内容が他の人に役立つことを保証することはできませんが、試してみる価値はあるかもしれません.
- 公式パッケージをインストールしようとし
pydot
ましたが、Python 3 があり、単に機能しませんでした。私が精査した多くのWebサイトの1つからのスレッドでメモを見つけた後、このフォークされた pydot リポジトリをインストールすることになりました。
- 私はgraphviz.orgに行き、彼らのソフトウェアを自分のWindows 7マシンにインストールしました。Windows を使用していない場合は、システムのダウンロード セクションを参照してください。
- インストールが成功したら、環境変数(
Control Panel\All Control Panel Items\System\Advanced system settings
>Environment Variables
ボタンをクリック >System variables
変数が見つかりましたpath
> クリック>フィールドの最後Edit...
に追加しました。;C:\Program Files (x86)\Graphviz2.38\bin
Variable value:
dot
コマンド ライン (Windows コマンド プロセッサ) でコマンドを使用できるようになったことを確認するために、 dot -V
which が返されたと入力しましたdot - graphviz version 2.38.0 (20140413.2041)
。
以下のコードではdataframe
、クリップボードから a を読み取っていることに注意してください。ファイルまたはwhathaveyouからそれを読んでいる可能性があります。
IPython Notebookで:
import pandas as pd
import numpy as np
from sklearn import tree
import pydot
from IPython.display import Image
from sklearn.externals.six import StringIO
df = pd.read_clipboard()
X = df[df.columns[:-1]]
y = df[df.columns[-1]]
dtr = tree.DecisionTreeRegressor(max_depth=3)
dtr.fit(X, y)
dot_data = StringIO()
tree.export_graphviz(dtr, out_file=dot_data, feature_names=X.columns)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())
または、IPython を使用していない場合は、graphviz がインストールされていれば、コマンド ラインから独自のイメージを生成できます (上記の手順 2)。上記と同じコード例を使用すると、モデルをフィッティングした後に次の行を使用できます。
tree.export_graphviz(dtr.tree_, out_file='treepic.dot', feature_names=X.columns)
treepic.dot
次に、ファイルがあるコマンド プロンプトを開き、次のコマンド ラインを入力します。
dot -T png treepic.dot -o treepic.png
ディシジョン ツリーを含む .png ファイルを作成する必要があります。