R语言实战应用精讲50篇(三十一)-R语言实现决策树(附R语言代码)
【摘要】
决策树回归
首先采用rpart包的rpart函数训练决策树模型,需要指定公式、数据集,将模型设定为回归模型,也就是将method设定为anova,最后是控制参数,主要是一些控制决策树生长的预剪枝参数,包括设定树的深度、叶子节点样本量、复杂度参数等,具体可以查阅函数帮助文档。
其次输出前述模型的结果,即初始树,同时输出复杂度相关表...
决策树回归
首先采用rpart包的rpart函数训练决策树模型,需要指定公式、数据集,将模型设定为回归模型,也就是将method设定为anova,最后是控制参数,主要是一些控制决策树生长的预剪枝参数,包括设定树的深度、叶子节点样本量、复杂度参数等,具体可以查阅函数帮助文档。
其次输出前述模型的结果,即初始树,同时输出复杂度相关表格和图形。依据这些表格和图形可以确定一个最佳的cp值,进而进行下一步后剪枝。经过后剪枝的决策树,也就是我们最后确定下来的决策树模型,用于后续的输出和预测。
最后输出决策树相关的图形,包括变量重要性条形图、树形图。
-
# 训练模型
-
# rpart参考文档
-
set.seed(42) # 固定交叉验证结果
-
fit_dt_reg <- rpart(
-
form_reg, # formula
-
data = traindata,
-
method = "anova", # 回归
-
# 回归模型无parms参数
-
control = rpart.control(cp = 0.005)
-
)
-
# 原始回归树
-
fit_dt_reg
-
# 复杂度相关数据
-
printcp(fit_dt_reg)
-
plotcp(fit_dt_reg)
-
-
# 后剪枝
-
fit_dt_reg_pruned <- prune(fit_dt_reg, cp = cp1SE)
-
print(fit_dt_reg_pruned)
-
summary(fit_dt_reg_pruned)
-
-
# 变量重要性数值
-
fit_dt_reg_pruned$variable.importance
-
# 变量重要性图示
-
varimpdata <-
-
data.frame(importance = fit_dt_reg_pruned$variable.importance)
-
g
文章来源: wenyusuran.blog.csdn.net,作者:文宇肃然,版权归原作者所有,如需转载,请联系作者。
原文链接:wenyusuran.blog.csdn.net/article/details/122415567
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)