使用决策树建模时,我们需要将决策树输出出来,以直观的展示各决策节点,简单分享一下我的学习笔记。
1. 建立模型
# 导入库
from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
# 建立并训练模型
clf = tree.DecisionTreeClassifier(max_depth=3)
clf.fit(iris.data, iris.target)
2. 输出决策树
# 输出决策树文件.dot
tree.export_graphviz(clf, out_file='tree.dot')
然后需要将tree.dot 文件转化为tree.png。
转化方法:win+r,输入cmd,回车,打开命令输入窗 输入:dot -T png tree.dot -o tree.png,即可在同一文件夹下得到tree.png文件。
如下图:
上一步操作请确保电脑中已安装Graphviz,并已将Graphviz下的bin目录地址添加到了环境变量中。
Graphviz下载地址:https://graphviz.gitlab.io/_pages/Download/Download_windows.html,下载.msi文件双击安装。
环境变量的添加方法:参照:https://jingyan.baidu.com/article/a24b33cd7005d719fe002b09.html,例如我的Graphviz路径:C:\Program Files\Graphviz2.38\bin
3. 显示决策树
# 在Jupyter中显示出来
%pylab inline
from IPython.display import Image
Image('tree.png')
显示如下:
可以看到首要决策因素是X[3],将列名打印出来
iris.feature_names[3]
输出:'petal width (cm)',即花瓣的宽度。
还可以在Markdown中使用 ![title](tree.png) 命令在Jupyter中插入本地图片,但是这种方法在将.ipynb文件保存为.html文件时图片可能显示不出来(见附件)!!
感谢你长得这么好看还关注我的博客,^_^
转载请注明出处:
作者:胡湛鹏
博客:https://ask.hellobi.com/blog/okajun