R言語各種組合せアルゴリズム一覧表

2245 ワード

一、意思決定ツリー(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)

結果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 ClassPredicted Class setosa versicolor virginica setosa 50 0 versicolor 0 50 virginica 0 50
四、ランダム森林
library(randomForest)
mod.forest <- randomForest(Species~.,data=iris)
pre.forest <- predict(mod.forest,iris)
table(pre.forest,iris$Species)

結果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   ");