我们以iris为例:
from sklearn import tree
from sklearn.datasets import load_iris
iris = load_iris()
clf = tree.DecisionTreeClassifier()
** 生成如下决策树:**
第一步:去官网下载graphviz
建议安装到 自己的anaconda下的 \Lib\site-packages\ 里面去
下载连接:Download | Graphviz
第二步:改名字
比如我刚刚安装到了自己的anaconda下的 \Lib\site-packages\ 里面,文件名默认是大写的Graphviz,为了方便,我们改为graphviz。
第三步:配置环境变量
在系统、用户环境变量中添加路径:C:\Anaconda01\Lib\site-packages\graphviz\bin
当然如果你在安装时把那个添加环境变量打勾了就不用管了。
第三步:在对应的python环境下下载graphviz
pip install graphviz
此时,C:\Anaconda01\Lib\site-packages\graphviz 这个文件发生变化了,里面多了些python文件。
第四步:简单演示
以一组英雄联盟胜负数据为例:连接这里有
from sklearn import tree
from graphviz import sources
DT = tree.DecisionTreeClassifier(criterion='entropy',max_depth=4,min_samples_split=500)
DT = DT.fit(x_train,y_train)
# export_graphviz 还支持各种美化,包括通过他们的类着色节点(或回归值),
# 如果需要,还能使用显式变量和类名。Jupyter notebook也可以自动内联式渲染这些绘制节点:
dot_data = tree.export_graphviz(DT, out_file=None, feature_names=feature_names, class_names=['lose','win'], filled=True, rounded=True, special_characters=True)
graph = sources.Source(dot_data)
graph.render("DT") # 保存成pdf
graph
可以看到,左边蓝色方都输了,右边都赢了,中间有输有赢。
此外 graphviz 还有多种用法,可以自己设置节点等,感兴趣的可以自己进行查阅。
版权归原作者 老师我作业忘带了 所有, 如有侵权,请联系我们删除。