Graphviz环境配置及决策树案例演示

前言

问题:在使用决策树实现算法(ID3)过程中,得到模型结果,为了能够可视化展示,
解惑:故遇到了graphviz的问题。


配置:

1、python3.6
2、Windows环境

背景

画出数据网络的布局,使用graphviz能比较清楚的画出数据之间的关系。通过官网可以看到此软件能画的图是不是好多,好流弊。

一、python环境安装

这个没啥可说的,很简单,直接命令行下:pip install graphviz 即可。
在这里插入图片描述
要想验证一下也很简单:

from graphviz import Digraph

直接运行看是否报错即可。

二、Windows系统环境安装

2.1 获取链接

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

在这里插入图片描述

2.2 安装

双击下载的的msi文件,然后选好路径,傻瓜式操作即可。
在这里插入图片描述
环境变量配置:找到安装grphviz的bin目录,然后在系统环境变量path中,进去新建配置。
在这里插入图片描述

三、 验证配置成功与否

Windows命令窗口下:dot -version
在这里插入图片描述

四、小试牛刀

4.1 小试牛刀_01

创建一个dot布局:first.dot脚本,内容如下:

digraph first2{
a;
b;
c;
d;
a->b;
b->d;
c->d;
}

然后在first.dot脚本目录下:cmd进入到命令窗口,执行:dot -Tpng first.dot -o first.png
在这里插入图片描述
生成的图片,可见:
在这里插入图片描述

4.2 小试牛刀_02

"""
用sklearn的求决策树的方法(ID3)求出决策树,再利用graphviz进行可视化
# 
dataset=[
    
    [1,0,0,1,0],
    [1,0,0,2,0],
    [1,1,0,2,1],
    [1,1,1,1,1],
    [1,0,0,1,0],
    [2,0,0,2,0],
    [2,0,0,2,0],
    [2,1,1,2,1],
    [2,0,1,3,1],
    [2,0,1,2,1],
    [3,0,1,3,1],
    [3,0,1,2,1],
    [3,1,0,3,1],
    [3,1,0,3,1],
    [3,0,0,1,0]
]
dataset
"""

# 2、读取特征值
X = [x[0:4] for x in dataset] #读取特征值
Y = [y[-1] for y in dataset] # 读取类别-Y值
# 3、使用sklearn的求决策树的方法求出决策树,再利用graphviz进行可视化
from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz

# 设置特征
feature = ['年龄', '无工作', '无房子', '信贷情况']
# 分类结果
classname = ['借', '不借']
# https://www.cntofu.com/book/170/docs/11.md   ----------------中文说明文档
tree_clf = DecisionTreeClassifier(max_depth=4) # 训练的深度
tree_clf.fit(X,Y) #

from graphviz import Digraph
export_graphviz(tree_clf,out_file=("ID3.dot"), feature_names=feature,class_names=classname, rounded=True, filled=True)
import re
f = open('ID3.dot', 'r+',encoding='utf-8')
open('ID3_Tree_utf-8.dot', 'w', encoding='utf-8').write(re.sub(r'fontname=helvetica', 'fontname="Microsoft YaHei"', f.read()))
f.close()

代码运行之后,然后在源码目录下,执行:>dot -Tpng ID3_Tree_utf-8.dot -o ID3.png
边可查看生成的决策树:
在这里插入图片描述
说明:小试牛刀二的案例,具体出处是李航的统计学习方法的决策树章节。

五、参考文献

https://www.cnblogs.com/shuodehaoa/p/8667045.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾继康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值