[graphviz画树]

安装graphviz与pydot-ng

注意安装顺序 先安装graphviz再安装pydot-ng。
环境:windows10 、python3.5

安装graphviz

到官网下载graphviz的安装包选择msi格式(msi是一个应用程序,安装后可以直接编辑), 一直按next(记住安装路径最好不要安装在c盘,c盘不能新增删除操作),然后将该目录下的bin文件夹添加到系统的环境变量中(即把D:\Program Files (x86)\Graphviz2.38\bin添加进环境变量中), 最后在cmd中进入D:\Program Files (x86)\Graphviz2.38\bin 目录输入“dot -version”并按回车,若显示出graphviz的相关版本信息,则安装配置成功。

安装pydot-ng

pip install pydot-ng

添加环境变量

PYTHON中输入:

os.environ[“PATH”] += os.pathsep + ‘D:/Program Files (x86)/Graphviz2.38/bin/’

树可视化

说了那么多,现在开始画树了

决策树、随机森林树可视化
随机森林需指定一棵树Random.estimators_[5] #抽取第5颗树,其中Random是RandomForest fit后的
调用tree.export_graphviz
调用tree.export_graphviz(decision_tree, out_file=None, max_depth=None,
feature_names=None,class_names=None, label=’all’, filled=False)
out_file为输出文件最新版默认结果以字符串形式返回。如果填name.dot保存的是.dot文件。
feature_names可以为特征变量X. columns
class_names可以为因变量y(series),如果为True,则显示类名的符号。

iris=pd.read_csv(‘D:\testdate\iris.csv’, encoding=‘utf-8’)
clf = tree.DecisionTreeClassifier()
cll=clf.fit(iris.iloc[:,1:-1], iris.iloc[:,-1])
tree.export_graphviz(cll,out_file=‘tree.dot’, feature_names=iris.iloc[:,1:-1].columns,class_names=iris.iloc[:,-1])

xgboost树可视化
调用plot_tree
调用plot_tree(model,fmap=’ ’, num_trees=0, rankdir=‘UT’)
num_trees指定画第几棵树
fmap指定特征变量的名称,通常自定义。

plot_tree(xgbr, fmap='xgb.fmap‘)
fig = plt.gcf()
fig.set_size_inches(150, 100)
plt.show()
fig.savefig(‘tree.png’)

其中xgb.fmap是自定义的文件

def ceate_feature_map(features):
outfile = open(‘xgb.fmap’, ‘w’, encoding=“utf-8”)
i = 0
for feat in features:
outfile.write(’{0}\t{1}\tq\n’.format(i, feat.strip()))
i = i + 1
outfile.close()

如何解决graphviz无法正常显示中文?

第一步:直接在graphviz终端上打开.dot文件,更改指定字体:

digraph {
edge [fontname=“FangSong”]; /set the edge’s font/
node [shape=box, fontname=“FangSong”]; /set the node’s font and shape/
graph[fontname=“FangSong”]; /set the subgraph’s font/

第二步:打开终端cmd,进入dot安装目录,输入:

dot -Tpng D:\testdate\jijin\tree.dot-o D:\testdate\jijin\tr.png [-Gdpi=600]

链接: https://blog.csdn.net/WuchangI/article/details/79589542.

使用graphviz画树相关推荐

  1. C#——《C#语言程序设计》实验报告——泛型与集合——“画树”程序

    一.实验目的 掌握运算符重载. 掌握索引符的编写. 掌握常用非泛型集合类和集合类的使用: 掌握可空类型的使用 二.实验内容 改进"画树"的例子程序,画出不同风格的"树&q ...

  2. java 画树_java – 如何绘制代表连接节点图的树?

    我想在Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode r ...

  3. java 画树_java – 如何绘制代表连接节点图的树?

    我想在 Java GUI中显示树,但我不知道如何.树代表连接节点的图形,如下所示: 我应该说我有自己的树类: public class BinaryTree { private BinaryNode ...

  4. python画一棵树的心理测试_【心理测试】画树测试:一棵树读你的人生

    ★画树测试:一棵树读你的人生★? 心理导读:你会怎样随笔画一棵大树呢?这棵大树又折射出你怎样的秘密?在房树人心理测验的世界(HTP),树表现个体的精神及性的成熟性,是个体生命成长的历程的象征.你画怎样 ...

  5. python中plotly绘制树地图_聚类分析python画树状图--Plotly(dendrogram)用法解析 - 人人都是架构师...

    1.前言 聚类分析是机器学习和数据分析中非常常见的分类方法, 当我们用到层次聚类(系统聚类)时,最常用的分析方法就是绘制树状图, 比较常见的统计软件像SPSS.SAS.R等都可以直接绘制树状图,比较简 ...

  6. c语言括号表示法画树怎么画,树的画法分类讲解

    先看看树叶的分类,大概分为:点叶.针叶.双勾夹叶等,这些都是根据树叶的外型概括而形成. 1.点叶 在画点叶时,我们用笔接近于书法的三点水.直点.斜点等写法,绘画是要注意区分干湿.浓淡,一般有介字.个字 ...

  7. 正交布局算法思想(画树布局思想)

    由于公司需要给用户展示逻辑图,于是要定义一套正交布局算法实现布局.笔者在网上找了一些例子都没有具体写清楚,于是翻遍了论文,并且整理了一套适用的算法. 这是我实现的结果,正交布局其实就是画一颗树.知道这 ...

  8. MatLab中画树状图方法treeplot(nodes)中描述树结构的矢量nodes的构造

    按要求需要用matlab画树状图,在网络上找到两句代码: nodes = [0 1 2 2 4 4 4 1 8 8 10 10]; treeplot(nodes); 画出了如下图: 其中矢量nodes ...

  9. java 画树_JAVA画树

    展开全部 画什么都行,这62616964757a686964616fe78988e69d8331333262353463个你得自己实现.我可以给你写一个画树的小程序: ---------------- ...

  10. 神奇!教你如何用Python来画树

    古人有诗云"庭中有奇树,绿叶发华滋",树之美,或婀娜.或繁茂.或苍劲.或青翠.python-turtle笔下的树更是别有一番风味. 01 小园新种红樱树,闲绕花行便当游 # cod ...

最新文章

  1. 一文带你学会国产加密算法SM4的vue实现方案
  2. 介绍几个好用的android自定义控件
  3. CImage 是基于GDI+的,很老的一篇文章,我很久很久以前看到过的
  4. 分布式存储与传统SAN、NAS的优、劣对比
  5. 计算机学院的行话,只有你和你同学知道的“专业行话”
  6. Spark1.x和2.x如何读取和写入csv文件
  7. 集合元素处理(传统方式)
  8. 因为缺少xs-security.json文件导致的部署错误
  9. java获取主机mac_Java 如何获取主机的MAC地址
  10. 【官宣】亚马逊云科技Build On 2022年技能提升计划正式启航
  11. NB-IoT 备胎转正的背后,究竟意味着什么?
  12. cocos2d笔记 (4)cocos2d里的各种动作
  13. Servlet 生命周期的过程分析 图解
  14. PCA降维算法总结以及matlab实现PCA
  15. 行测 资料分析 统计术语篇
  16. Kiwi browser 手机谷歌浏览器如何同步谷歌扩展插件
  17. [极客时间] 时间复杂度和空间复杂度分析
  18. makefile通配符
  19. 时钟系统和系统功耗的关系
  20. 乘法计算机公式,在word中乘法的函数公式计算公式

热门文章

  1. CSMA/CD与CSMA/CA的区别
  2. ios实用wifi分析仪——AirPort
  3. 【Pytorch】torch.Tensor.masked_fill()
  4. 仿QQ和飞秋并支持语音视频白板屏幕共享的即时聊天软件
  5. 酸性溶液中HER动力学分析
  6. 上古卷轴5json文件修改_《上古卷轴5》丝袜MOD制作图文教程 丝袜怎么制作
  7. office 2021保姆级安装与激活教程(附安装包获取)
  8. tensorflow各个版本的CUDA以及Cudnn版本对应关系(重点)
  9. 计算机类部分核心期刊说明
  10. referenced before assignment