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

在模型构建部分,二分类模型与回归模型大致相似,主要在rpart函数中多了parms参数可以设置,其值是一个list,其中可以指定分裂规则,将其设定为gini则构建CART决策树,将其设定为information则构建ID3决策树;还可以指定损失函数的权重,这个在遇到训练集样本不平衡的情况时比较有用,具体可以看下帮助文档。

初始决策树构建好之后,后剪枝、输出变量重要性、树形图的操作均与回归部分类似。

得到最后的决策树二分类模型之后,先预测训练集样本的概率,然后计算ROC,绘制ROC曲线,并依据约登法则确定最佳概率分界点,然后依据预测概率和分界点即可得到预测类别,最后实际类别和预测类别比较即可得到混淆矩阵。后续用于测试集可以得到预测概率和预测类别。

关于依据约登法则得到最佳概率分界点的步骤,可以跳过,即直接用0.5作为分界点;也可以用单独的验证集来确定。实际操作中,各种都有,大家自行把握。

# 构建模型
set.seed(42) # 固定交叉验证结果
fit_dt_cls <- rpart(
  form_cls,
  data = traindata,
  method = "class", # 分类模型
  parms = list(split = "gini"), # 分裂规则
  control = rpart.control(cp = 0.001) # 复杂度参数
)
# 原始分类树
fit_dt_cls
# 复杂度相关数据
printcp(fit_dt_cls)
plotcp(fit_dt_cls, upper = "splits")
# 后剪枝
fit_dt_cls_pruned <- prune(

你可能感兴趣的:(R语言大学作业,机器学习,决策树,r语言)