R语言机器学习系列-决策树回归代码

首先采用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)
ggplot(varimpdata, 
       aes(x &#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mrrunsen

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

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

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

打赏作者

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

抵扣说明:

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

余额充值