找不到GraphViz的可执行文件(python 3和pydotplus)

时间:2018-07-17 08:36:58

标签: python machine-learning graphviz

我正在尝试学习ML,而且我是菜鸟。 目前,我正在尝试这段视频(https://www.youtube.com/watch?v=tNa99PG8hR8)。

我的代码是:

import pydotplus
import numpy as np
from sklearn.datasets import load_iris
from sklearn import tree
from sklearn.externals.six import StringIO

iris = load_iris()

##print(iris.feature_names)
##print(iris.target_names)
##print(iris.data[0])
##print(iris.target[0])

##for i in range(len(iris.target)):
##    print("Example %d: label %s, features %s" % (i, iris.target[i], iris.data[i]))

test_idx = [0,50,100]

##training data
train_target = np.delete(iris.target, test_idx)
train_data = np.delete(iris.data, test_idx, axis=0)

##testing data
test_target = iris.target[test_idx]
test_data = iris.data[test_idx]

clf = tree.DecisionTreeClassifier()
clf.fit(train_data, train_target)

print(test_target)
print(clf.predict(test_data))

dot_data = StringIO()
tree.export_graphviz(clf,
                     out_file=dot_data,
                     feature_names=iris.feature_names,
                     class_names=iris.target_names,
                     filled=True, rounded=True,
                     impurity=False)

graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf("iris.pdf")

但是错误显示:

Traceback (most recent call last):
File "C:\Users\Denis\Desktop\Machine Learning\iris.py", line 42, in graph.write_pdf("iris.pdf")
File "C:\Users\Denis\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pydotplus\graphviz.py", line 1810, in prog=self.prog: self.write(path, format=f, prog=prog)
File "C:\Users\Denis\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pydotplus\graphviz.py", line 1918, in write fobj.write(self.create(prog, format))
File "C:\Users\Denis\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pydotplus\graphviz.py", line 1960, in create 'GraphViz\'s executables not found') pydotplus.graphviz.InvocationException: GraphViz's executables not found

我尝试重新安装pydotplus和graphviz,但无济于事。 我不知道如何更改路径。 我搜索了graphviz文件夹,但没有找到bin文件。

Here's my graphviz folder and path

2 个答案:

答案 0 :(得分:1)

因此,您为python安装了graphviz库,但我想还没有安装Graphviz软件。
您可以从here安装它,并确保包含点可执行文件的目录在系统路径上。
ML之旅祝您好运! :-)

答案 1 :(得分:0)

对于所有在Windows 10中仍然面临上述问题的用户,即使尝试了上述步骤(即单独安装Graphviz软件),也对我有用-对于Windows 10用户,尝试调试此错误,请以管理员身份启动CMD(重要!)并运行dot -c然后运行dot -v 这为我解决了这个问题