你好,这里是R数据课堂,我是一水。
上节课了解了聚类分析hclust的应用,这节课开始学习决策树:
理论概况
数据准备
数据训练预测和评估
模型图形化
01 理论概况
关于决策树,第六课已经说过分类决策树,这节课和下节课的内容是用于预测作用的决策树。这二者的主要不同是节点分支基础,分类决策树是entropy,预测决策树是统计量(比如方差、标准差或者绝对离差)。
02 数据准备
library(rpart)
library(rpart.plot)
wine
hist(wine$quality)
wine_train
wine_test
# 数据集是关于白葡萄酒的质量等级和可能的影响因素。分析需要读入rpart和rpart.plot包。hist用于查看变量的分布。这里用75%的数据作为训练集,25%的数据作为测试集,由于数据是随机排列的,所以不用抽样。
03 模型训练预测和评估
m.rpart
m.rpart$variable.importance
p.rpart
mse
return(sum(predict-actual)^2 / NROW(actual))}
mse(p.rpart,wine_test$quality)
# 这里首先用rpart函数进行模型训练,变量的重要性信息保存在训练结果的variable.importance属性。
#predict函数的默认分析结果是分类,这里新建一个mse函数用于评估模型的预测结果。
04 模型图形化
rpart.plot(m.rpart,digits=3,cex =0.8,type=4)
# 这里的模型图形化使用了3个参数:digits是小数位,cex是字体的大小,type是图形种类。其他参数有fallen.leaves(是否将叶节点全部显示在底部)、extra(图形的附加信息类型)等,具体可查阅rpart.plot函数。
小结
这节课了解回归决策树,虽然是这个名称,但是其实模型中并没有用到回归的方法,节点分裂的依据是寻找节点分裂前后的误差平方和的差值最大化的变量,即寻找节点分裂后的最小化的误差平方和。预测方法是根据以往的均值预测该类的数值,即最后叶节点的预测值是所有到达该点的数据的均值。下节课会对模型决策树进行说明和应用。
感谢阅读,今天的内容有任何操作问题,请留言。
领取专属 10元无门槛券
私享最新 技术干货