美化决策树的多种方法
作者 | 二缺叶枫
来源 | R友舍
最近在做一些特征提取的工作,过程中因为要展现一些决策树的逻辑规则,所以就简单的绘制了生成的树。BUT!plot画出来的风格简直不能忍,于是乎就去查找了各种美化方法,今天要说的就是我是怎么美化一颗树的。
先来看看最初画出来的图!要画的数据集大概是这个样子的。
head(kyphosis)
Kyphosis Age Number Start
1 absent 71 3 5
2 absent 158 3 14
3 present 128 4 5
4 absent 2 5 1
5 absent 1 4 15
6 absent 1 2 16
kyphosis数据集,是从儿童接受外科脊柱矫正手术中来的,数据集有4列、81行。
1.kyphosis:采取手术后依然出现脊柱后凸(驼背)
2.Age:单位是“月”
3.Number:代表进行手术的脊柱椎骨的数目
4.Start:在脊柱上从上往下数、参与手术的第一节椎骨所在的序号
现在来画图:
library(rpart)
fit <- rpart(Kyphosis ~ Age + Start, data = kyphosis)
par(mar = rep(0.1, 4))
plot(fit, branch = 1)
text(fit, use.n = TRUE)
感觉太单调了,不够美观!瞬间对树没有任何研究的兴趣了。稍微变化一下看看。
调用rpart.plot包进行绘图。
library(rpart.plot)
rpart.plot(fit,type=4,extra=1)
这个好看多了,再试试rattle包的fancyRpartPlot函数。
library(rattle)
fancyRpartPlot(fit)
总的来说fancyRpartPlot函数与rpart.plot函数画出来的效果相差不大,但是每个节点图还是稍微有修改,包含的信息量更佳丰富,同时图形作了阴影修饰。
最后看看决策树生成的逻辑:
fit
n= 81
node), split, n, loss, yval, (yprob)
* denotes terminal node
1) root 81 17 absent (0.79012346 0.20987654)
2) Start>=8.5 62 6 absent (0.90322581 0.09677419)
4) Start>=14.5 29 0 absent (1.00000000 0.00000000) *
5) Start< 14.5 33 6 absent (0.81818182 0.18181818)
10) Age< 55 12 0 absent (1.00000000 0.00000000) *
11) Age>=55 21 6 absent (0.71428571 0.28571429)
22) Age>=111 14 2 absent (0.85714286 0.14285714) *
23) Age< 111 7 3 present (0.42857143 0.57142857) *
3) Start< 8.5 19 8 present (0.42105263 0.57894737) *
虽然也能看出个所以然来,BUT!还是不够高逼格,再来改改!
幸运的是rattle包自带规则解析函数(rattle确实好用),asRules()。
asRules(fit)
Rule number: 3 [Kyphosis=present cover=19 (23%) prob=0.58]
Start< 8.5
Rule number: 23 [Kyphosis=present cover=7 (9%) prob=0.57]
Start>=8.5
Start< 14.5
Age>=55
Age< 111
Rule number: 22 [Kyphosis=absent cover=14 (17%) prob=0.14]
Start>=8.5
Start< 14.5
Age>=55
Age>=111
Rule number: 10 [Kyphosis=absent cover=12 (15%) prob=0.00]
Start>=8.5
Start< 14.5
Age< 55
Rule number: 4 [Kyphosis=absent cover=29 (36%) prob=0.00]
Start>=8.5
Start>=14.5
直接解析出好看的规则格式,一目了然,爱不释手。
—————————————
往期精彩:
美国“实体清单”再度升级,我国超级计算机今日起或面临“断供”!
我造的假我自己打,Adobe推出“反PS”
中国诚信全球垫底?讲讲《Science》现在的论文有多不靠谱
相关知识
决策树算法简介
决策树完成鸢尾花分类
9.决策树
决策树对鸢尾花数据的处理实践
基于决策树构建鸢尾花数据的分类模型并绘制决策树模型
分类算法3:决策树及R语言实现
决策树可视化:鸢尾花数据集分类(附代码数据集)
决策树模型
【机器学习小实验5】基于决策树和随机森林的鸢尾花种类预测
决策树之鸢尾花卉实例解析
网址: 美化决策树的多种方法 https://www.huajiangbk.com/newsview1356806.html
上一篇: Html在线美化压缩、转js |
下一篇: 计算器界面美化与功能改进 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039