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

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

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

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

1593閲覧

ランダムフォレストのgraphvizによる可視化が上手くいかない

YZYZ

総合スコア20

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2018/12/28 11:37

編集2018/12/28 11:40

前提・実現したいこと

ランダムフォレストで作った木をgraphvizで可視化すること

発生している問題・エラーメッセージ

python

1# 2--------------------------------------------------------------------------- 3FileNotFoundError Traceback (most recent call last) 4~\Anaconda3\lib\site-packages\graphviz\backend.py in run(cmd, input, capture_output, check, quiet, **kwargs) 5 146 try: 6--> 147 proc = subprocess.Popen(cmd, startupinfo=get_startupinfo(), **kwargs) 7 148 except OSError as e: 8 9~\Anaconda3\lib\subprocess.py in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, encoding, errors) 10 708 errread, errwrite, 11--> 709 restore_signals, start_new_session) 12 710 except: 13 14~\Anaconda3\lib\subprocess.py in _execute_child(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, unused_restore_signals, unused_start_new_session) 15 996 os.fspath(cwd) if cwd is not None else None, 16--> 997 startupinfo) 17 998 finally: 18 19FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。 20 21During handling of the above exception, another exception occurred: 22 23ExecutableNotFound Traceback (most recent call last) 24~\Anaconda3\lib\site-packages\IPython\core\formatters.py in __call__(self, obj) 25 343 method = get_real_method(obj, self.print_method) 26 344 if method is not None: 27--> 345 return method() 28 346 return None 29 347 else: 30 31~\Anaconda3\lib\site-packages\graphviz\files.py in _repr_svg_(self) 32 104 33 105 def _repr_svg_(self): 34--> 106 return self.pipe(format='svg').decode(self._encoding) 35 107 36 108 def pipe(self, format=None, renderer=None, formatter=None): 37 38~\Anaconda3\lib\site-packages\graphviz\files.py in pipe(self, format, renderer, formatter) 39 126 data = text_type(self.source).encode(self._encoding) 40 127 41--> 128 out = backend.pipe(self._engine, format, data, renderer, formatter) 42 129 43 130 return out 44 45~\Anaconda3\lib\site-packages\graphviz\backend.py in pipe(engine, format, data, renderer, formatter, quiet) 46 204 """ 47 205 cmd, _ = command(engine, format, None, renderer, formatter) 48--> 206 out, _ = run(cmd, input=data, capture_output=True, check=True, quiet=quiet) 49 207 return out 50 208 51 52~\Anaconda3\lib\site-packages\graphviz\backend.py in run(cmd, input, capture_output, check, quiet, **kwargs) 53 148 except OSError as e: 54 149 if e.errno == errno.ENOENT: 55--> 150 raise ExecutableNotFound(cmd) 56 151 else: # pragma: no cover 57 152 raise 58 59ExecutableNotFound: failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH 60 61<graphviz.files.Source at 0x1febab4f7f0> 62 63

該当のソースコード

Python

1from sklearn.tree import export_graphviz 2export_graphviz(tree, out_file="tree.dot", class_names=["win", "lose"], feature_names=df_data.columns, impurity=False, filled=True) 3 4 5import graphviz 6 7with open("tree.dot") as f: 8 dot_graph = f.read() 9graphviz.Source(dot_graph)

試したこと

コピペしてググり、PATHを通す必要があるとわかった。
しかしいまだに解決できていない。

補足情報(FW/ツールのバージョンなど)

Python3
graphvizはすでにpipでインストールされています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

pipでインストールできるgraphvizとは別にGraphviz本体をインストールする必要がありますが、実行しましたか?

https://teratail.com/questions/164385

投稿2018/12/28 11:45

hayataka2049

総合スコア30933

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

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

hayataka2049

2018/12/28 12:11 編集

YZYZ 2018/12/28 21:04 ご回答ありがとうございます。 その点は気づいていなかったので今インストールしました。しかし、インストールした後で実行しても同じエラーが出るようです。PATHに関して、ユーザー環境変数しかいじれていないことが原因かもしれませんが。 hayataka2049 2018/12/28 21:07 コマンドプロンプトでdotコマンドは実行できますか? Graphviz本体の実行ファイルにパスを通す必要があります。 環境によって変わる可能性がありますが、私がインストールしたところ C:\Program Files (x86)\Graphviz2.38\bin に実行ファイルが入りました。インストール先を探してそこにパスを通してください。 hayataka2049 2018/12/28 21:08 返信してから気づいたけど、こっちの回答じゃなくてあなたの質問への回答にレスつけてください。上のやり取りは私がコピペしておきます。 以上リンク先回答欄よりコピペ
YZYZ

2018/12/28 13:47

レスに関しては素でミスってました!ご対応くださりありがとうございます。 graphbizは確かに同じところにあります。 システムの詳細設定からのシステム環境変数から C:\Program Files (x86)\Graphviz2.38\bin\dot.exe のパスを通したんですけどこれでもエラーが変わらないです、、、
hayataka2049

2018/12/28 13:49

C:\Program Files (x86)\Graphviz2.38\bin\dot.exe をパスに追加するのではなく C:\Program Files (x86)\Graphviz2.38\bin をパスに追加するのですが、そこは間違えていませんか?
YZYZ

2018/12/29 04:02

先ほど再起動したらできました! ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問