前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超级炫酷的决策树可视化R包

超级炫酷的决策树可视化R包

作者头像
医学和生信笔记
发布2023-08-30 11:37:59
2560
发布2023-08-30 11:37:59
举报
文章被收录于专栏:医学和生信笔记

决策树的可视化我们之前介绍过,主要是使用rpart.plot包,视觉效果还是不错的:

今天再给大家介绍一个更加花里胡哨的R包:treeheatr

安装

代码语言:javascript
复制
install.packages('treeheatr')

# install.packages('remotes') # uncomment to install devtools
remotes::install_github('trangdata/treeheatr')

使用

可以直接提供数据框,它会自动帮你进行条件推断树,并画出结果:

代码语言:javascript
复制
library(treeheatr)

heat_tree(penguins, target_lab = 'species')

plot of chunk unnamed-chunk-2

非常多的参数可以自定义,真的是太花里胡哨了!非常强!我喜欢!

代码语言:javascript
复制
heat_tree(
  penguins, target_lab = 'species',
  par_node_vars = list(
    label.size = 0.2,
    label.padding = ggplot2::unit(0.1, 'lines'),
    line_list = list(
      ggplot2::aes(label = paste('Node', id)),
      ggplot2::aes(label = splitvar),
      ggplot2::aes(label = paste('p =', formatC(p.value, format = 'e', digits = 2)))),
    line_gpar = list(
      list(size = 8),
      list(size = 8),
      list(size = 6)),
    id = 'inner'),
  # terminal_vars = list(size = 0),
  cont_legend = TRUE, cate_legend = TRUE,
  edge_vars = list(size = 1, color = 'grey'))

plot of chunk unnamed-chunk-3

当然也是支持你自己先把树做好,然后提供给它,不过此时需要是a 'party' or 'partynode' object

代码语言:javascript
复制
# build tree using rpart:
x <- partykit::as.party(rpart::rpart(Outcome ~ ., data = train_covid))

heat_tree(x = x, label_map = c(`1` = 'Deceased', `0` = 'Survived'))

plot of chunk unnamed-chunk-4

而且,支持支持在测试集中使用,顺滑又流畅,做演示用非常炫酷!

代码语言:javascript
复制
heat_tree(
  x = x,
  data_test = test_covid, # 测试集
  target_lab = 'Outcome',
  label_map = c(`1` = 'Death', `0` = 'Survival'),
  lev_fac = 3)

plot of chunk unnamed-chunk-5

更多细节大家去官网学习:https://trang1618.github.io/treeheatr/index.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 医学和生信笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 使用
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档