随机森林可视化

今天看到别人的文章,说到了随机森林可视化,于是尝试了下。

window安装

windows版本安装:
1.在下面去下载window的exe安装包,安装graphviz。

http://www.graphviz.org/download/
在路径选项,点击add path to computer,然后后面全部点确定就行。安装好以后,打开powershell,输入dot -version,就可以看到安装成功了。
2.安装pygraphviz和pybaobabdt

# 安装pygraphviz
conda install --channel conda-forge pygraphviz
# 安装pybaobabdt
pip install pybaobabdt
pybaobabdt.drawTree(decisionTreeClassifier, features=[], model=[], colormap='viridis', size=15, dpi=300, ratio=1, classes=[], maxdepth=-1, ax=-1)

linux安装

sudo apt-get install graphviz graphviz-dev
vim ~/.bashrc

conda install --channel conda-forge pygraphviz
pip install pybaobabdt

主要是使用Pybaobabdt来绘制决策树。

展示

下面这个是官网作者的图
在这里插入图片描述
这是我的数据的图:
在这里插入图片描述
不得不说,,,这个图也太丑了点,虽然用的是默认的决策树超参数。。。

DecisionTree( criterion=‘gini’, splitter=‘best’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, class_weight=None, ccp_alpha=0.0)

max_depth = 10max_depth = 3
在这里插入图片描述
在这里插入图片描述

我这个数据由于特征值太小,所以默认的决策树生长到5层就不生长了。所以max_depth参数只在1-5之间才有用。这加深了我对树类模型的调参认识。

from matplotlib.colors import ListedColormap
colors = ["gray", "purple"]
colormap = ListedColormap(colors)
pybaobabdt.drawTree(clf, size=10, dpi=72, features=features, colormap=colormap)

在这里插入图片描述

Usage

pybaobabdt.drawTree(decisionTreeClassifier, features=[], model=[], colormap='viridis', size=15, dpi=300, ratio=1, classes=[], maxdepth=-1, ax=-1)

这个ratio用来控制字符显示大小,maxdepth用来控制树的显示,可以选择只显示顶端5行。

随机森林用法

随机森林可以选择只显示其中一棵树

clf = RandomForestClassifier(n_estimators=20).fit(data, label)
pybaobabdt.drawTree(clf.estimators_[0], size=10, dpi=300, features=features)
  • 22
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clancy_wu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值