R语言 各种组合算法一览表

一、决策树(rpart包)

library(rpart)
mod.tree <- rpart(Species~.,data=iris,method="class")
pre.tree <- predict(mod.tree,data=iris,type="class")
table(pre.tree,iris$Species)

结果
pre.tree     setosa versicolor virginica
  setosa         50          0         0
  versicolor      0         49         5
  virginica       0          1        45


二、bagging(组合算法,ipred包)

library(ipred)
help(bagging)
mod <- bagging(Species~.,data=iris,coob=T)
print(mod)
pre.bagging <- predict(mod,iris)
table(pre.bagging,iris$Species)

结果
Bagging classification trees with 25 bootstrap replications
Call: bagging.data.frame(formula = Species ~ ., data = iris, coob = T)
Out-of-bag estimate of misclassification error:  0.0667
pre.bagging  setosa versicolor virginica
  setosa         50          0         0
  versicolor      0         50         0
  virginica       0          0        50


三、adaboosting(提升算法adabag包)

library(adabag)
help(boosting)

iris.adaboost <- boosting(Species~., data=iris, boos=TRUE, mfinal=10)
pre.adaboost <- predict(iris.adaboost,iris)
pre.adaboost

结果
               Observed Class
Predicted Class setosa versicolor virginica
     setosa         50          0         0
     versicolor      0         50         0
     virginica       0          0        50

四、随机森林

library(randomForest)
mod.forest <- randomForest(Species~.,data=iris)
pre.forest <- predict(mod.forest,iris)
table(pre.forest,iris$Species)

结果
pre.forest   setosa versicolor virginica
  setosa         50          0         0
  versicolor      0         50         0
  virginica       0          0        50



五、决策树作图(rpart.plot)

fit <- rpart(Kyphosis~Age + Number + Start,  
    data=kyphosis, method="class",control=ct,  
    parms = list(prior = c(0.65,0.35), split = "information"));  
      
## 第一种  
par(mfrow=c(1,3));  
plot(fit);  
text(fit,use.n=T,all=T,cex=0.9);  
      
## 第二种,这种会更漂亮一些  
library(rpart.plot);  
rpart.plot(fit, branch=1, branch.type=2, type=1, extra=102,  
          shadow.col="gray", box.col="green",  
           border.col="blue", split.col="red",  
           split.cex=1.2, main="Kyphosis决策树");


你可能感兴趣的:(R语言 各种组合算法一览表)