【问题标题】:Getting error while getting decision tree as PNG file将决策树作为 PNG 文件获取时出错
【发布时间】:2021-05-19 03:51:01
【问题描述】:

我正在尝试通过 W3School 的 Python 学习机器学习。我正在尝试获取 mydecisiontree。使用 PyDotPlus 的 PNG

我正在使用 pip PyCharm 专业版 2020.3 代码如下:

import numpy as np
import matplotlib.pyplot as plt
import pandas
from sklearn import tree
import pydotplus
from sklearn.tree import DecisionTreeClassifier
import matplotlib.image as pltimg

df = pandas.read_csv("shows.csv")
d = {'UK' : 0,'USA' : 1, 'N' : 2}
df['Nationality'] = df['Nationality'].map(d)
d = {'YES' : 1, "NO" : 0}
df['Go'] = df['Go'].map(d)
features = ['Age', 'Experience', 'Rank', 'Nationality']
X = df[features]
y = df['Go']

dtree = DecisionTreeClassifier()
dtree = dtree.fit(X, y)
data = tree.export_graphviz(dtree, out_file=None, feature_names=features)
graph = pydotplus.graph_from_dot_data(data)
graph.write_png('mydecisiontree.png')

img=pltimg.imread('mydecisiontree.png')
img_plot = plt.imshow(img)
plt.show()

虽然 PyCharm 没有显示错误,但是当我运行代码时,它无法生成 PNG 文件并在行上给出错误:

graph.write_png('mydecisiontree.png')

它显示以下错误:

File "direc.....\venv\lib\site-packages\pydotplus\graphviz.py", line 1960, in create
    'GraphViz\'s executables not found')
pydotplus.graphviz.InvocationException: GraphViz's executables not found

我看不到问题所在。如何解决?

【问题讨论】:

  • GraphViz 是用 C/C++ 创建的外部程序,您必须单独安装 graphviz.org/download
  • 谢谢。它奏效了

标签: python pycharm png pygraphviz


【解决方案1】:

PyCharm 不会显示错误,因为您的代码不包含任何内容。问题出在您的环境中。您是否在用于运行它的环境中安装了 GraphViz(使用 pip install graphviz)?

也可以在这里查看答案:

【讨论】:

【解决方案2】:

我也有这个问题, 我从以下位置安装了 graphviz:here 它解决了。

【讨论】:

  • 一定要把GraphViz放到环境路径中。
  • 欢迎来到 stackoverflow,并努力在此处发布答案。但是,我不清楚您的答案对很久以前已经发布的答案有何贡献。如果您想在已经发布的答案中添加一些内容,评论可能更合适。您可能也对此感兴趣:stackoverflow.com/help/how-to-answer
猜你喜欢
  • 2021-11-05
  • 2013-05-01
  • 2017-02-11
  • 2015-10-22
  • 2015-12-18
  • 1970-01-01
  • 2021-09-07
  • 2023-01-29
  • 2012-10-18
相关资源
最近更新 更多