数据可视化-Graphviz包的安装与使用

决策树模型的部署中,使用sklearn库提供的现成方案是省事的方法,但为对其进行可视化操作,使用pydotplus-Graphviz库必不可少-如何正常使用该库给我造成了一些困扰。

目标是决策树模型的绘制,最终输出如图:


数据可视化-Graphviz包的安装与使用_第1张图片

CartTree_by_Graphviz.png

在最终解决问题并实现如图决策树模型的输出后,我觉得有必要记录问题解决的步骤,以期有助于其他情况下类似问题的解决,同时也为自己留下备忘。

默认已经完成CartTree模型本身的训练过程,在sklearn框架的基础上我们拥有Tree对象。接下来我们要做的事情有几步:

1、安装Graphviz软件。在2018年11月16日可供使用的官方链接如下:

Graphviz


数据可视化-Graphviz包的安装与使用_第2张图片
Graphviz

点击图中框红msi文件,运行,注意安装路径(例如C:/Program Files (x86)/Graphviz2.38)

2、安装成功后,配置环境变量,包括C:/Program Files (x86)/Graphviz2.38和C:/Program Files (x86)/Graphviz2.38/bin,注意第二个变量,尤其关键。环境变量的配置可以通过windows+s组合键调出搜索框,搜索关键词(环境变量配置)找到,或者控制面板中找。

在我的实践中,执行以上操作后全部无效。

原因不明(我也不知道为什么......),在同事的帮助下,通过import os,os.environ["path"]+=os.pathsep+"路径"代码插入的方式运行成功。(这个文档最有价值的地方就在这里。注意os库应具备。)

3、Graphviz软件安装成功后,即可以正常方式安装Python库:pydotplus、graphviz。

4、在配置完成Graphviz可视化工具后,画出我想要的决策树。sklearn库集成了graphviz库中的export_graphviz方法,作为sklearn中tree对象的属性。因此,在tree对象即决策树模型已经训练完毕的前提下,可以通过tree.export_graphviz()输出能被graphviz库处理的.dot文件。

代码如下:

dot_data=tree.export_graphviz(model_tree, out_file=None, max_depth=5, feature_names=names_list, filled=True,rounded=True)

使用pydotplus库调用graph_from_dot_data()方法将生成的.dot文件转置为.graph图形对象。.graph图形对象不能直接可视化,可以通过write_pdf/write_jpg等方法转置为可打开的文件查看。

这样就成功安装了Graphviz库,并使用该库解决了决策树模型的可视化问题。如果对你有所帮助,请为我点个赞,thankyou。

你可能感兴趣的:(数据可视化-Graphviz包的安装与使用)