我尝试运行此示例进行决策树学习,但收到以下错误消息:
文件"coco.py",第18行,在graph.write_pdf("iris.pdf")文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py" ,第1602行,在lambda路径中,f = frmt,prog = self.prog:self.write(path,format = f,prog = prog))文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/ python2.7/site-packages/pydot.py",第1696行,写入dot_fd.write(self.create(prog,format))文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2. 7/site-packages/pydot.py",第1727行,创建'未找到GraphViz的可执行文件''pydot.InvocationException:找不到GraphViz的可执行文件
我看到这篇关于类似错误的帖子,但即使我按照他们的解决方案(卸载然后以相反的顺序重新安装graphviz和pydot)问题仍在继续......我正在使用MacOS(Yosemite).
有任何想法吗?很感激帮助.
我无法pydot在Spyder中导入软件包,请问有没有其他方法可以帮助我.我需要它用于决策树可视化.该声明
import pydot
Run Code Online (Sandbox Code Playgroud)
不管用.
我通过pydot在Python中使用Graphviz.我正在制作的图表中有许多有向图集.pydot将它们水平放置,使得图像非常宽.如何告诉它输出最大宽度的图像,以便我可以垂直滚动?
我正在尝试可视化我的DecisionTree,但得到错误代码是:
X = [i[1:] for i in dataset]#attribute
y = [i[0] for i in dataset]
clf = tree.DecisionTreeClassifier()
dot_data = StringIO()
tree.export_graphviz(clf.fit(train_X, train_y), out_file=dot_data)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf("tree.pdf")
Run Code Online (Sandbox Code Playgroud)
错误是
Traceback (most recent call last):
if data.startswith(codecs.BOM_UTF8):
TypeError: startswith first arg must be str or a tuple of str, not bytes
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释我的问题是什么?非常感谢!
我见过类似的问题,但也没有解决,所以我决定问.
我想用keras在keras中可视化我的模型
from keras.utils import plot_model
plot_model(model, to_file='model.png')
Run Code Online (Sandbox Code Playgroud)
首先,它显示错误
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
Run Code Online (Sandbox Code Playgroud)
因此,我通过Anaconda安装pydot和graphviz,提示激活我的环境
conda install -c https://conda.binstar.org/t/TOKEN/j14r pydot
conda install -c https://conda.binstar.org/t/TOKEN/j14r graphviz
Run Code Online (Sandbox Code Playgroud)
然后,我关闭spyder并重新打开它.当我运行代码片段时,它仍然显示相同的错误.我错过了什么?
我正在使用pydot在python中绘制图形.我想代表一个决策树,比如说(a1,a2,a3是属性,两个类是0和1:
a1>3
/ \
a2>10 a3>-7
/ \ / \
1 0 1 0
Run Code Online (Sandbox Code Playgroud)
但是,使用pydot,只创建了两个叶子,树看起来像这样(png附加):
a1>3
/ \
a2>10 a3>-7
| X |
1 0
Run Code Online (Sandbox Code Playgroud)
现在,在这个简单的情况下,逻辑很好,但在较大的树中,属于不同分支的凌乱的内部节点是统一的.
我正在使用的简单代码是:
import pydot
graph = pydot.Dot(graph_type='graph')
edge = pydot.Edge("a_1>3", "a_2>10")
graph.add_edge(edge)
edge = pydot.Edge("a_1>3", "a_3>-7")
graph.add_edge(edge)
edge = pydot.Edge("a_2>10", "1")
graph.add_edge(edge)
edge = pydot.Edge("a_2>10", "0")
graph.add_edge(edge)
edge = pydot.Edge("a_3>-7", "1")
graph.add_edge(edge)
edge = pydot.Edge("a_3>-7", "0")
graph.add_edge(edge)
graph.write_png('simpleTree.png')
Run Code Online (Sandbox Code Playgroud)
我还尝试创建不同的节点对象而不是创建边缘,而不是将其添加到图形中,但似乎pydot会检查节点池中是否有相同名称的节点而不是创建新节点.
有任何想法吗?谢谢!

我需要通过pydot构建一个pythonic图解决方案,并尝试运行一个简单的代码,如:
import pydot
graph = pydot.Dot(graph_type='graph')
i=1
edge = pydot.Edge("A", "B%d" % i)
graph.add_edge(edge)
graph.write_png('graph.png')
Run Code Online (Sandbox Code Playgroud)
这是为了在png文件上构建一个简单的图形(A-B1).在解决了很多错误配置后,现在我得到了:
Traceback (most recent call last):
File "/Users/zallaricardo/Documents/Python/test_png.py", line 7, in <module>
graph.write_png('graph.png')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1809, in <lambda>
lambda path, f=frmt, prog=self.prog : self.write(path, format=f, prog=prog))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 1911, in write
dot_fd.write(self.create(prog, format))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pydot.py", line 2023, in create
status, stderr_output) )
pydot.InvocationException: Program terminated with status: 1. stderr follows: Format: "png" not recognized. Use one of:
logout
Run Code Online (Sandbox Code Playgroud)
到目前为止,找不到我特定环境的直接解决方案.有关如何修复它的任何提示?需要为python 2.7和mac os x 10.9工作. …
我正在尝试在google colab上绘制我的模型.
from keras.utils import plot_model
plot_model(model, to_file="model.png")
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
Run Code Online (Sandbox Code Playgroud)
我安装了pydot-ng,graphviz我仍然无法解决这个错误.
我希望能够在Python中创建图形决策树,我目前正在尝试安装两者pydot和graphviz.
我使用Anaconda作为我的环境(以及Spyder),并尝试运行以下代码行
conda install -c https://conda.binstar.org/t/TOKEN/j14r pydot
Run Code Online (Sandbox Code Playgroud)
结果
Error: unknown host: http://repo.continuum.io/pkgs/pro/win-32/
Error: unknown host: http://repo.continuum.io/pkgs/free/win-32/
Error: unknown host: https://conda.binstar.org/t/TOKEN/j14r/win-32/
Error: No packages found matching: pydot
Run Code Online (Sandbox Code Playgroud)
我也试过使用pip install pydot并pip install graphviz得到类似的结果:
Downloading/unpacking pydot
Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement pydot
Cleaning up...
No distributions at all found for pydot
Storing complete log in [...]
Run Code Online (Sandbox Code Playgroud)
我在试图弄清楚如何解决这个问题时感到非常无聊,所以我希望那里的任何人都可以给我一些提示.
谢谢
我正在关注scikit文档的决策树教程.我有,pydotplus 2.0.2但它告诉我它没有write方法 - 错误如下.我现在一直苦苦挣扎,有什么想法,好吗?非常感谢!
from sklearn import tree
from sklearn.datasets import load_iris
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
from IPython.display import Image
dot_data = tree.export_graphviz(clf, out_file=None)
import pydotplus
graph = pydotplus.graphviz.graph_from_dot_data(dot_data)
Image(graph.create_png())
Run Code Online (Sandbox Code Playgroud)
而我的错误是
/Users/air/anaconda/bin/python /Users/air/PycharmProjects/kiwi/hemr.py
Traceback (most recent call last):
File "/Users/air/PycharmProjects/kiwi/hemr.py", line 10, in <module>
dot_data = tree.export_graphviz(clf, out_file=None)
File "/Users/air/anaconda/lib/python2.7/site-packages/sklearn/tree/export.py", line 375, in export_graphviz
out_file.write('digraph Tree {\n')
AttributeError: 'NoneType' object has no attribute 'write'
Process finished with exit …Run Code Online (Sandbox Code Playgroud) pydot ×10
python ×8
graphviz ×6
keras ×2
anaconda ×1
graph ×1
importerror ×1
python-2.7 ×1
scikit-learn ×1
scipy ×1
spyder ×1