无法在 Jupyter Notebook 中显示 graphviz 树
Can't display graphviz tree in Jupyter Notebook
我正在尝试在 Jupyter Notebook 中显示决策树,但我一直收到消息:
CalledProcessError: Command '['dot.bat', '-Tsvg']' returned non-zero exit status 1
我正在使用以下代码:
from sklearn.datasets import load_iris
from sklearn import tree
import graphviz
from IPython.display import SVG
iris = load_iris()
clf = tree.DecisionTreeClassifier()
fitted_clf = clf.fit(iris.data, iris.target)
graph = graphviz.Source(tree.export_graphviz(fitted_clf,
feature_names = iris.feature_names,
class_names = iris.target_names,
filled = True, rounded = True,
special_characters = True))
SVG(graph.pipe(format='svg'))
当我尝试使用 'pipe' 时,最后一行出现异常。
我也试过:
graph.format = 'png'
graph.render('example')
而不是管道,但我一直在提出类似的异常:
CalledProcessError: Command '['dot.bat', '-Tpng', '-O', 'example']' returned non-zero exit status 1
知道是什么导致了这种行为吗?我该如何解决?
(我正在使用 Python 3.5.2、sklearn 0.17.1、graphviz 0.8.2 和 IPython 6.4.0)
从 conda-forge repo 安装 graphviz xorg-libxrender xorg-libxpm,然后 python 从 pip 绑定通常可以为我解决这个问题。
conda install -c conda-forge graphviz xorg-libxrender xorg-libxpm
pip install graphviz
别忘了先卸载之前安装的包。
如果您使用的是 conda,Paul-Armand 的回答应该有效。如果没有,那么你必须 运行 :
brew install graphviz
pip install graphviz
如果您收到警告说 graphviz 已安装但未 linked 然后按照说明 link 安装它。即 brew link graphviz
(如果前者出错,则 brew link --overwrite graphviz
)。
它在没有 brew 的 conda 中工作的原因是 conda install graphviz
实际上安装的是 c++ 库而不是 python 库。
我正在尝试在 Jupyter Notebook 中显示决策树,但我一直收到消息:
CalledProcessError: Command '['dot.bat', '-Tsvg']' returned non-zero exit status 1
我正在使用以下代码:
from sklearn.datasets import load_iris
from sklearn import tree
import graphviz
from IPython.display import SVG
iris = load_iris()
clf = tree.DecisionTreeClassifier()
fitted_clf = clf.fit(iris.data, iris.target)
graph = graphviz.Source(tree.export_graphviz(fitted_clf,
feature_names = iris.feature_names,
class_names = iris.target_names,
filled = True, rounded = True,
special_characters = True))
SVG(graph.pipe(format='svg'))
当我尝试使用 'pipe' 时,最后一行出现异常。 我也试过:
graph.format = 'png'
graph.render('example')
而不是管道,但我一直在提出类似的异常:
CalledProcessError: Command '['dot.bat', '-Tpng', '-O', 'example']' returned non-zero exit status 1
知道是什么导致了这种行为吗?我该如何解决?
(我正在使用 Python 3.5.2、sklearn 0.17.1、graphviz 0.8.2 和 IPython 6.4.0)
从 conda-forge repo 安装 graphviz xorg-libxrender xorg-libxpm,然后 python 从 pip 绑定通常可以为我解决这个问题。
conda install -c conda-forge graphviz xorg-libxrender xorg-libxpm
pip install graphviz
别忘了先卸载之前安装的包。
如果您使用的是 conda,Paul-Armand 的回答应该有效。如果没有,那么你必须 运行 :
brew install graphviz
pip install graphviz
如果您收到警告说 graphviz 已安装但未 linked 然后按照说明 link 安装它。即 brew link graphviz
(如果前者出错,则 brew link --overwrite graphviz
)。
它在没有 brew 的 conda 中工作的原因是 conda install graphviz
实际上安装的是 c++ 库而不是 python 库。