最近在看西瓜书中有关决策树的部分,就想用R语言建立简单的决策树模型,因为Python实在还不太会,哈。
这里为了方便,我就直接使用自带的数据集鸢尾花iris,用的R包有rpart和rpart.plot。rpart是一个专门用于做决策树模型的包,rpart.plot则用于绘制rpart模型。
为了方便理解和记忆,此处将模型的完整建立分成导入数据包/设置建模参数/数据切分/建模/调整模型参数并计算训练误差和测试误差这几个步骤。
以下是代码的具体实现部分。
首先加载需要的R包:
install.packages('rpart') install.packages('rpart.plot') library(rpart) library(rpart.plot) 1234
查看数据集,
iris str(iris) 12
主要要查看数据集的标签列的位置在哪一列,
还要注意标签列的数据类型必须为factor因子型,不然数据类型不对不好分类。
我们可以看到鸢尾花数据集的标签Species,类型为factor,因此不需要再转换数据类型。
对数据进行切分,随机分为训练集和测试集,
index <- sample(nrow(iris), 0.7*nrow(iris)) train <- iris[index, ] test <- iris[-index, ] 123
设置建模控制参数,参数的设置在一定程度上可以防止模型过拟合