Graphviz是AT&T Labs Research开发的结构化图形绘制工具,支持多种格式输出。它的输入是一个用dot语言编写的绘图脚本,通过对输入脚本的解析,分析出其中的点,边以及子图,然后根据属性进行绘制。因此可利用Graphviz可以将Sklearn生成dot格式的决策树可视化。
一定要注意安装顺序
第一步、安装pydotplus
可以在 cmd 窗口中,直接使用下面pip
或conda
命令安装:
pip3 install pydotplus
conda install pydotplus
第二步、安装Graphviz
Graphviz 包不能使用pip
或conda
进行安装,否则安装完成后使用时报下面这种错误:
pydot.InvocationException: GraphViz’s executables not found:
手动安装可以解决这个问题,下载地址:http://www.graphviz.org/download/
选择下载stable版本
打开点击next
默认安装,然后把 bin
默认安装路径C:\Program Files (x86)\Graphviz2.38\bin
添加到系统环境变量PATH就可以使用了。
Python3 测试代码
from sklearn.datasets import load_iris
from sklearn import tree
import pydotplus
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names,
filled=True, rounded=True,
special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf('iris.pdf')