【エラー対処】ExecutableNotFound:failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

MacにGraphvizをインストール、Pythonで扱う

$ brew install graphviz
$ pip install graphviz

など。

Graphvizはグラフの情報をdotファイルというテキスト形式にして書き出す

決定木の解析を行うときに、グラフで可視化することがある。

Graphvizが有名で、export_graphviz関数を使えば木を可視化することができる。
.dotというテキストファイル形式のファイルを書き出す。

Graphvizの目的はグラフの可視化

Graphvizは、グラフを可視化してくれるから利用される。
dotファイルにしてくれるが、そのままではテキスト形式なので図解されたグラフとは言えない。

dotファイルを解釈して図に変換することが必要になる。

エラーの発生:ExecutableNotFound:failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH

PATHについて確認しろと言っているエラー。

IPythonやJupyter Notebook,Pythonファイルの実行などの時に出会うことがある。

少し気持ち悪いかもしれないが、
このエラーに四苦八苦して時間を費やす意味はない。

dotファイルをpngファイルにでも書き出せばいいだけだから。
Graphvizでdotファイルを生成する目的を思い出してほしい。

グラフが可視化できればよいのだ。

エラー対処法:dotコマンドでpngファイルに書き出す

dotファイルが出来ていることを確認しよう。

たとえば、cancerデータセットを使い決定木のアルゴリズムを学習してるなら、下記のようなコードを書くことがあるだろう。

export_graphviz(tree, out_file="cancer_tree.dot",
class_names=["malignant", "benign"],
feature_names=cancer.feature_names,
impurity=False, filled=True)
などを実行すれば、cancer_tree.dotというファイルがディレクトリに出来てるはず。

あとは、Macであればターミナルを開いてdotファイルのディレクトリに移動してコマンドを実行する

$ dot -Tpng cancer_tree.dot -o cancer_tree.png

そのままターミナルを使って開くなら、

$ open cancer_tree.png

このような感じのPNGファイルが出来るだろう。