Tôi đã cố gắng làm cho các gói này hoạt động được một thời gian nhưng không thành công. Về cơ bản lỗi là:
GraphViz's Executables not found
EDIT : Tôi đã không đăng một thiết bị đầu cuối log
với lỗi ban đầu. Tôi đang sử dụng Ubuntu
vì vậy tôi sẽ không thể tái tạo chính xác lỗi mà tôi đã mắc phải trong quá khứ (một năm trước, cách đây rất xa trong quá khứ ...). Tuy nhiên, tôi đã gặp một lỗi tương tự --- nếu không giống --- trong thiết lập hiện tại của tôi; ngay cả trong khi sử dụng một môi trường ảo với pipenv
. Lỗi dường như đến từ các dòng được mô tả trong câu trả lời của @ :
Traceback (most recent call last):
File "example.py", line 49, in <module>
Image(graph.create_png())
File "/home/philippe/.local/lib/python3.6/site-packages/pydotplus/graphviz.py", line 1797, in <lambda>
lambda f=frmt, prog=self.prog: self.create(format=f, prog=prog)
File "/home/philippe/.local/lib/python3.6/site-packages/pydotplus/graphviz.py", line 1960, in create
'GraphViz\'s executables not found')
pydotplus.graphviz.InvocationException: GraphViz's executables not found
Tôi đã cố gắng để cài đặt GraphViz
thông qua 2 cách khác nhau: thông qua pip install graphviz
và thông qua các .msi
gói (và cũng đã cố gắng để cài đặt pydot
, pydotplus
và graphviz
trong nhiều đơn đặt hàng khác nhau).
Mã tôi đang cố chạy chỉ đơn giản là một trình dot-to-png
chuyển đổi cho Iris Dataset .
from sklearn.tree import DecisionTreeClassifier
import sklearn.datasets as datasets
from sklearn.externals.six import StringIO
from sklearn.tree import export_graphviz
import pandas as pd
import pydotplus
from IPython.display import Image
iris = datasets.load_iris()
df = pd.DataFrame(iris.data, columns = iris.feature_names)
y = iris.target
dtree = DecisionTreeClassifier()
dtree.fit(df,y)
dot_data = StringIO()
export_graphviz(
dtree,
out_file = dot_data,
filled = True,
rounded = True,
special_characters = True
)
graph_1 = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph_1.create_png())
Trong Jupyter Notebooks
và trong Atom
, hệ thống dường như đang tìm kiếm GraphViz
bên trong pydotplus
, như nó chỉ ra ~\Anaconda3\lib\site-packages\pydotplus\graphviz.py
. Không phải là cách khác?
Cuối cùng, tôi chỉ muốn chỉ ra rằng tôi đã thử thêm GraphViz
đường dẫn của hệ thống vào PATH
sử dụng C:\Users\Philippe\Anaconda3\Library\bin\graphviz
.
pipenv
, virtualenv
hoặc Docker Containers
, mặc dù tôi chưa kiểm tra đúng cách.