用graphviz可视化决策树

1.安装graphviz。

graphviz自己是一个绘图工具软件,下载地址在:http://www.graphviz.org/。若是你是linux,能够用apt-get或者yum的方法安装。若是是windows,就在官网下载msi文件安装。不管是linux仍是windows,装完后都要设置环境变量,将graphviz的bin目录加到PATH,好比我是windows,将C:/Program Files (x86)/Graphviz2.38/bin/加入了PATHpython

2.安装python插件graphviz。

python上有支持graphviz使用 的import graphvizlinux

3.安装python插件pydotplus。

import pydotpluswindows

from IPython.display import Image工具

这样环境就搭好了,有时候python会很笨,仍然找不到graphviz,这时,能够在代码里面加入这一行:spa

os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'.net

注意后面的路劲是你本身的graphviz的bin目录。插件

四、绘图

#用决策树建模命令行

clf = tree.DecisionTreeClassifier() #默认的选取最优节点的标准是基尼系数,若想使用信息增益则为entropy
clf = clf.fit(Xtrain, Ytrain) score = clf.score(Xtest, Ytest) #返回预测的准确度
print(str(clf)) print(score)

#用graphviz会画得决策树(没有解决中文乱码的问题???十分苦恼)code

输出PDF至项目文件夹:blog

import pydotplus import os from sklearn.externals.six import StringIO os.environ["PATH"] += os.pathsep + 'E:\graphviz\bin' dot_data = StringIO() tree.export_graphviz(clf #模型
                            ,feature_names= feature_name  #tez
                            ,class_names=["琴酒","雪莉","贝尔摩德"] #类别名
                            ,filled=True    #由颜色标识不纯度
                            ,rounded=True   #树节点为圆角矩形
                            ,out_file=dot_data ) graph = pydotplus.graph_from_dot_data(dot_data.getvalue()) graph.write_pdf("wine.pdf") #https://blog.csdn.net/chai_zheng/article/details/78226556

生成tree.dot文件,再用graphviz生成:

#生成tree.dot文件
with open("tree.dot", 'w') as f: f = tree.export_graphviz(clf , feature_names = feature_name # tez , class_names = ["琴酒", "雪莉", "贝尔摩德"] # 类别名 , filled = True # 由颜色标识不纯度 , rounded = True # 树节点为圆角矩形 ,out_file=f)

 a)经过graphviz的exe程序导入dot文件生成相对应的png或者pdf文件

 b)经过命令行dot -Tpdf tree.dot -o output.pdf,dot -Tpng tree.dot -o output.png将dot文件生成png或者pdf文件

相关文章
相关标签/搜索