R语言实战应用精讲50篇(三十一)-R语言实现决策树(附R语言代码)

举报
格图洛书 发表于 2022/05/20 01:17:13 2022/05/20
【摘要】 决策树回归 首先采用rpart包的rpart函数训练决策树模型,需要指定公式、数据集,将模型设定为回归模型,也就是将method设定为anova,最后是控制参数,主要是一些控制决策树生长的预剪枝参数,包括设定树的深度、叶子节点样本量、复杂度参数等,具体可以查阅函数帮助文档。 其次输出前述模型的结果,即初始树,同时输出复杂度相关表...

决策树回归

首先采用rpart包的rpart函数训练决策树模型,需要指定公式、数据集,将模型设定为回归模型,也就是将method设定为anova,最后是控制参数,主要是一些控制决策树生长的预剪枝参数,包括设定树的深度、叶子节点样本量、复杂度参数等,具体可以查阅函数帮助文档。

其次输出前述模型的结果,即初始树,同时输出复杂度相关表格和图形。依据这些表格和图形可以确定一个最佳的cp值,进而进行下一步后剪枝。经过后剪枝的决策树,也就是我们最后确定下来的决策树模型,用于后续的输出和预测。

最后输出决策树相关的图形,包括变量重要性条形图、树形图。


  
  1. # 训练模型
  2. # rpart参考文档
  3. set.seed(42) # 固定交叉验证结果
  4. fit_dt_reg <- rpart(
  5.   form_reg, # formula
  6.   data = traindata,
  7.   method = "anova", # 回归
  8.   # 回归模型无parms参数
  9.   control = rpart.control(cp = 0.005)
  10. )
  11. # 原始回归树
  12. fit_dt_reg
  13. # 复杂度相关数据
  14. printcp(fit_dt_reg)
  15. plotcp(fit_dt_reg)
  16. # 后剪枝
  17. fit_dt_reg_pruned <- prune(fit_dt_reg, cp = cp1SE)
  18. print(fit_dt_reg_pruned)
  19. summary(fit_dt_reg_pruned)
  20. # 变量重要性数值
  21. fit_dt_reg_pruned$variable.importance
  22. # 变量重要性图示
  23. varimpdata <-
  24.   data.frame(importance = fit_dt_reg_pruned$variable.importance)
  25. g

文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。

原文链接:wenyusuran.blog.csdn.net/article/details/122415567

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。