博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用graphviz可视化决策树
阅读量:4653 次
发布时间:2019-06-09

本文共 1953 字,大约阅读时间需要 6 分钟。

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/加入了PATH

2.安装python插件graphviz。

python上有支持graphviz使用 的import graphviz

3.安装python插件pydotplus。

import pydotplus

from IPython.display import Image

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

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

注意后面的路劲是你自己的graphviz的bin目录。

4、绘图

#用决策树建模

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

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

输出PDF至项目文件夹:

import pydotplusimport osfrom sklearn.externals.six import StringIOos.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文件

转载于:https://www.cnblogs.com/simpleDi/p/9971971.html

你可能感兴趣的文章
在linux平台实现atosl
查看>>
软件质量属性的场景描述
查看>>
数据格式化
查看>>
Linux的常用用法
查看>>
JAVA事务系列一:事务基本概念
查看>>
12月5日站立会议
查看>>
SQL 语法学习
查看>>
嗯---NOI水题集合之:阿狸的打字机
查看>>
WPF拖动DataGrid滚动条时内容混乱的解决方法
查看>>
tomcat定时重启
查看>>
读jQuery之六(缓存数据)
查看>>
sharepoint_study_1
查看>>
微博什么技术啊……还说支持八个明星并发出轨,结果…
查看>>
实验6 结构体、共用体与枚举
查看>>
pip 批量更新
查看>>
javascript简史
查看>>
java 5 Lock
查看>>
mybatis之动态SQL
查看>>
HTML基础
查看>>
MYSQL 常用语句保存
查看>>