前提・実現したいこと
pythonで決定木のグラフをpdfファイルで出力したいと思っています
発生している問題・エラーメッセージ
以下のようなエラーが出ました...
Traceback (most recent call last): File "tree.py", line 26, in <module> graph.write_pdf("gakusei-decisiontree.pdf") File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pydotplus\graphviz.py", line 1813, in <lambda> prog=self.prog: self.write(path, format=f, prog=prog) File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pydotplus\graphviz.py", line 1921, in write fobj.write(self.create(prog, format)) File "C:\Users\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pydotplus\graphviz.py", line 1963, in create 'GraphViz\'s executables not found') pydotplus.graphviz.InvocationException: GraphViz's executables not found
該当のソースコード
python
1from sklearn import tree 2#tableでは学生番号、40歳以上か、男性か、70点以上かを真偽で示した 3table = [[1, False, True, True], 4 [2, False, False, True], 5 [3, False, True, True], 6 [4, False, True, True], 7 [5, True, True, True], 8 [6, False, True, False], 9 [7, True, False, False], 10 [8, True, False, False], 11 [9, True, True, False], 12 [10, True, False, False]] 13data = [u[1:3] for u in table] #説明変数(年齢、性別)を抽出 14target = [u[3] for u in table] #目的変数(点数)を抽出 15clf = tree.DecisionTreeClassifier() #インスタンスを生成 16clf = clf.fit(data, target) #データで学習させる 17for i in range(len(data)): #元データを分類(予想)してみる 18 # 予測値と予測した確率 19 print(i+1, clf.predict( [data[i]] ), clf.predict_proba( [data[i]] ) ) 20 21import pydotplus #グラフ化するためのパッケージを読み込む 22#clfをgraphvizのデータとして出力 23dot_data = tree.export_graphviz(clf, out_file=None) 24graph = pydotplus.graph_from_dot_data(dot_data) #グラフをpdfファイルに変換 25graph.write_pdf("gakusei-decisiontree.pdf")
試したこと
Python3でscikit-learnの決定木を日本語フォントで画像出力する方法のまとめ
このページに書いてあることを試してみましたが、dot.exeなどの実行ファイルがあるPATHなどもよくわからずうまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
超絶初心者です
ソースコードは使っているテキストの真似をしました
回答1件
あなたの回答
tips
プレビュー