逼真,特别逼真的决策树可视化

生也有涯,知也无涯。这篇文章主要讲述逼真,特别逼真的决策树可视化相关的知识,希望能为你提供帮助。
同学们好,决策树的可视化,我以为之前介绍的方法已经够惊艳了(决策树可视化,被惊艳到了!),没想到最近又发现了一个更惊艳的,而且更逼真,话不多说,先看效果图↓

逼真,特别逼真的决策树可视化

文章图片

逼真,特别逼真的决策树可视化

文章图片

直接绘制随机森林也不在话下
逼真,特别逼真的决策树可视化

文章图片

下面就向大家介绍一下这个神器 —— pybaobabdt的极简入门用法
安装GraphVizpybaobabdt依赖GraphViz,首先下载安装包
http://www.graphviz.org/download/
逼真,特别逼真的决策树可视化

文章图片

2、双击msi文件,然后一直选择next(默认安装路径为C:\\Program Files (x86)\\Graphviz2.38\\),安装完成之后,会在windows开始菜单创建快捷信息。
逼真,特别逼真的决策树可视化

文章图片

3、配置环境变量:计算机→属性→高级系统设置→高级→环境变量→系统变量→path,在path中加入路径:
逼真,特别逼真的决策树可视化

文章图片

4、验证:在windows命令行界面,输入dot -version,然后按回车,如果显示如下图所示的graphviz相关版本信息,则安装配置成功。
逼真,特别逼真的决策树可视化

文章图片

安装pygraphviz和pybaobabdtpip直接安装pygraphviz的话,大概率会报错,建议下载whl文件本地安装。
逼真,特别逼真的决策树可视化

文章图片

pybaobabdt就简单了,直接pip install pybaobabdt 即可
pybaobabdt用法pybaobabdt 用起来也简单到离谱,核心命令只有一个pybaobabdt.drawTree,下面是官方文档示例代码,建议在jupyter-notebook中运行。
import pybaobabdt import pandas as pd from scipy.io import arff from sklearn.tree import DecisionTreeClassifier from matplotlib.colors import LinearSegmentedColormap from matplotlib.colors import ListedColormap from colour import Color import matplotlib.pyplot as plt import numpy as npdata = https://www.songbingjia.com/android/arff.loadarff(vehicle.arff) df= pd.DataFrame(data[0]) y = list(df[class]) features = list(df.columns)features.remove(class) X = df.loc[:, features]clf = DecisionTreeClassifier().fit(X, y)ax = pybaobabdt.drawTree(clf, size=10, dpi=72, features=features, colormap=Spectral)

逼真,特别逼真的决策树可视化

文章图片

这个图怎么看呢?
绘制随机森林
import pybaobabdt import pandas as pd from scipy.io import arff import matplotlib.pyplot as plt from sklearn.ensemble import RandomForestClassifier data = https://www.songbingjia.com/android/arff.loadarff(vehicle.arff)df = pd.DataFrame(data[0]) y = list(df[class]) features = list(df.columns) features.remove(class) X = df.loc[:, features]clf = RandomForestClassifier(n_estimators=20, n_jobs=-1, random_state=0) clf.fit(X, y) size = (15,15) plt.rcParams[figure.figsize] = size fig = plt.figure(figsize=size, dpi=300)for idx, tree in enumerate(clf.estimators_): ax1 = fig.add_subplot(5, 4, idx+1) pybaobabdt.drawTree(tree, model=clf, size=15, dpi=300, features=features, ax=ax1)fig.savefig(random-forest.png, format=png, dpi=300, transparent=True)

逼真,特别逼真的决策树可视化

文章图片

怎么用,是不是很酷,赶紧去试试吧!
如有收获,可否在看、收藏、转发一下?感谢~
【逼真,特别逼真的决策树可视化】https://mp.weixin.qq.com/s/uIazCL9SjNDguu59up5KjA

    推荐阅读