决策树-R (转)

决策树算法 :https://www.cnblogs.com/wkslearner/p/6287128.html

决策树及R语言实现 : https://www.cnblogs.com/karlpearson/p/6224148.html

基于R软件rpart包的分类与回归树应用 : https://wenku.baidu.com/view/7b01d69c51e79b8968022679.html

R语言 决策树--预测模型 : https://blog.csdn.net/gdyflxw/article/details/55805892

实例:

R 决策树 : https://blog.csdn.net/F_yuqi/article/details/54090237

r语言做决策树模型(少废话版本):https://blog.csdn.net/li603060971/article/details/57080802

library(rpart)
library(rpart.plot)
library(rattle)

data("iris")


## 构建训练集,测试集; 70%作为训练集,30%作为测试集,用sample函数随机采样
set.seed(1000)
data.index = sample(c(1,2), nrow(iris), replace = T, prob = c(0.7, 0.3))
data.train = iris[which(data.index == 1),]
data.test = iris[which(data.index == 2),]


### CRAT算法用训练集建模,构建决策树
iris.mod = rpart(Species ~ . , data = data.train, method = "class")
summary(iris.mod)
iris.mod$variable.importance    ##变量重要性
printcp(iris.mod)   ##每次分割对应的复杂度系数

### 画决策树
rpart.plot(iris.mod)
prediction = predict(iris.mod, newdata = data.test, type = "class")
table(prediction, data.test$Species)   ## 混合矩阵查看变异情况


###剪枝 使用具有最小交叉验证误差的cp来建立回归树
cp.xerror = iris.mod$cptable[which.min(iris.mod$cptable[,"xerror"]), "CP"]
iris.prune = prune(iris.mod, cp=cp.xerror)

### 重新画决策树
rpart.plot(iris.prune)
prediction2 = predict(iris.prune, newdata = data.test, type = "class")
table(prediction2, data.test$Species)   ## 混合矩阵查看变异情况



 

猜你喜欢

转载自blog.csdn.net/rojyang/article/details/85260954