質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3794閲覧

python で 決定木:pdfファイルにできないです(T_T)

kenta193

総合スコア11

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/12/17 04:29

前提・実現したいこと

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/ツールのバージョンなど)

超絶初心者です
ソースコードは使っているテキストの真似をしました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2018/12/17 06:21

まずは実行ファイル(dot.exe)がある場所(ディレクトリ)を探して、見つかれば追記ください。
kenta193

2019/01/02 03:31

ご回答ありがとうございます! 普通にgraphvizがインストールされていないだけでした pipでのインストール以外にもgraphviz-2.38.msiをダウンロードして、環境変数を加えたらできました! ありがとうございました!
guest

回答1

0

ベストアンサー

本体をインストールしてないだけな気が・・・

https://graphviz.gitlab.io/download/

からStable 2.38 Windows install packagesを選択してインストーラのgraphviz-2.38.msiをダウンロードして実行する、という操作が必要になりますが、やりましたか?

投稿2018/12/17 14:04

hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YZYZ

2018/12/28 12:04

ご回答ありがとうございます。 その点は気づいていなかったので今インストールしました。しかし、インストールした後で実行しても同じエラーが出るようです。PATHに関して、ユーザー環境変数しかいじれていないことが原因かもしれませんが。
hayataka2049

2018/12/28 12:11 編集

コマンドプロンプトでdotコマンドは実行できますか? Graphviz本体の実行ファイルにパスを通す必要があります。 環境によって変わる可能性がありますが、私がインストールしたところ C:\Program Files (x86)\Graphviz2.38\bin に実行ファイルが入りました。インストール先を探してそこにパスを通してください。
hayataka2049

2018/12/28 12:08

返信してから気づいたけど、こっちの回答じゃなくてあなたの質問への回答にレスつけてください。上のやり取りは私がコピペしておきます。
kenta193

2019/01/02 03:31

みなさま、ご回答ありがとうございます! 普通にgraphvizがインストールされていないだけでした pipでのインストール以外にもgraphviz-2.38.msiをダウンロードして、環境変数を加えたらできました! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問