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