在一些算法学习中,例如决策树,需要画图进行可视化,增加对算法流程了解。在这种场景,一般会用到 Graphviz 工具。
下面简单说明 Graphviz 安装流程。
Graphviz 介绍
Graphviz 布局程序以简单的文本语言获取图形描述,并以有用的格式制作图表,例如用于网页的图像和 SVG、PDF 或 Postscript 包含在其他文档中;或在交互式图形浏览器中显示。Graphviz具有用于具体图表的许多有用功能,例如颜色,字体,表格节点布局,线型,超链接和自定义形状的选项。
Graphviz官网:http://www.graphviz.org/
Graphviz是开源的图形可视化软件。图形可视化是一种将结构信息表示为抽象图形和网络图的方式。它在网络,生物信息学,软件工程,数据库和网页设计,机器学习以及其他技术领域的可视界面中具有重要的应用。
Homebrew 介绍
Homebrew 是一款 Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用关心各种依赖和文件路径的情况,十分方便快捷。
在 Mac 上安装 Graphviz 需要使用 Homebrew 安装。
Homebrew官网:https://brew.sh/
下面说下具体安装流程。
1. 打开终端,安装homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. 使用 homebrew 安装 Graphviz
brew install graphviz
3. 在Python 中安装 Graphviz 库(Python 3 以上环境)
pip3 install graphviz
4. 安装 pydotplus 库。pydot 模块提供了一个完整的界面,用于在图表语言中的计算机处理和过程图表。
pip3 install pydotplus
安装完成,案例测试
import graphvizimport sklearn.datasets as datasetsimport pandas as pd# 获取鸢尾花数据集iris=datasets.load_iris()df=pd.DataFrame(iris.data, columns=iris.feature_names)y=iris.targetfrom sklearn.tree import DecisionTreeClassifierdtree=DecisionTreeClassifier()dtree.fit(df,y)from sklearn.externals.six import StringIOfrom IPython.display import Imagefrom sklearn.tree import export_graphvizimport pydotplusdot_data=StringIO()export_graphviz(dtree,out_file=dot_data,filled=True, rounded=True, special_characters=True)graph=pydotplus.graph_from_dot_data(dot_data.getvalue())Image(graph.create_png())