决策树的工作机制
决策树可以看成为一个 if-then 规则的集合,即由决策树的根节点到叶节点的每一条路径构建一条规则,路径上内部节点的特征对应着规则的条件,而叶节点的类对应于规则的结论。因此决策树就可以看作由条件 if(内部节点)和满足条件下对应的规则 then(边)组成。
决策树的工作方式是以一种贪婪(greedy)的方式迭代式地将数据分成不同的子集。其中回归树(regression tree)的目的是最小化所有子集中的 MSE(均方误差)或 MAE(平均绝对误差);而分类树(classification tree)则是对数据进行分割,以使得所得到的子集的熵或基尼不纯度(Gini impurity)最小。
结果得到的分类器可以将特征空间分成不同的子集。对某个观察的预测将取决于该观察所属的子集。
R语言实现方式
###构建、绘制、和评估——分类树
library(rpart)
library(rpart.plot)
library(caret)
bn <- read.csv("banknote-authentication.csv")
head(bn)
str(bn)
#创建数据分块
set.seed(1000)
table(bn$class)
train.idx <- createDataPartition(bn$class,p=0.7,list=FALSE)
#创建树
?rpart
mod <- rpart(class~.,data=bn[train.idx,],method='class',control=rpart.control(minsplit=20,cp=0.01))
#查看文