决策树2|数据挖掘

# R语言中的决策树实现
# 安装数据包
# 安装rpart、rpart.plot、rattle三个数据包
# rpart:用于分类与回归分析
# rpart.plot:用于绘制数据模型
# rattle:提供R语言数据挖掘图形界面
# 安装语句:
install.packages("rpart")
install.packages("rpart.plot")
install.packages("rattle")
# 步骤1:生成训练集和测试集
# 以iris数据集为例:
data("iris")
summary(iris)  # 查看数据基本信息
str(iris)
# 训练集:
iris.train=iris[2*(1:75)-1,] 
# 返回原数据集1、3、5、7、9、......、149奇数行行所有列的数据
# 测试集:
iris.test= iris[2*(1:75),] 
# 返回原数据集2、4、6、8、10、......、150偶数行所有列的数据
# 步骤2:生成决策树模型
# 加载rpart包:
library("rpart")
model <- rpart(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, data = iris.train,  method="class")
# rpart参数解释:
# rpart(formula, data, method, parms, ...)
# formula是回归方程的形式,y~x1+x2+…,
# iris一共有5个变量,因变量是Species,自变量是其余四个变量,所以formula可以省略为Species~.
# data是所要学习的数据集
# method根据因变量的数据类型有如下几种选择:anova(连续型),poisson(计数型),class(离散型),exp(生存型),因为我们的因变量是花的种类,属于离散型,所以method选择class
# parms可以设置纯度的度量方法,有gini(默认)和information(信息增益)两种。
# 步骤3:绘制决策树
install.packages('rpart.plot')
library("rpart.plot")
rpart.plot(model)
# 步骤4:对测试集进行预测
iris.rp3=predict(model, iris.test[,-5], type="class")