RでrandomForestを試してみる
最後に,ランダムフォレストを試してみます.
こいつはe1071に入ってはいないので,別途インストールが必要です.
インストール
やっぱりこれだけ...簡単すぎる.
> install.packages('randomForest')
iris実行コード&結果
これまでのコードとほぼ同じで,特にrandomForest用のパラメータを加えなくても動作します.
チューニング云々は別の機会に.
library(randomForest) train <- seq.int(1, 150, by=2) test <- setdiff(1:150, train) iris.rf <- randomForest(Species~., data=iris[train,]) iris.pred <- predict(iris.rf, iris[test,]) table(iris[test,5], iris.pred)
結果はこのとおり.SVMやナイーブベイズと同等の正答率になっています.
randomForest 4.6-6 Type rfNews() to see new features/changes/bug fixes. iris.pred setosa versicolor virginica setosa 25 0 0 versicolor 0 24 1 virginica 0 2 23
breast-cancer data
以下,コード.
library(randomForest) bcdata <- subset(read.csv('~/Downloads/breast-cancer-wisconsin.data', head=TRUE), select=-Samplecodenumber) train <- seq.int(1, 699, by=2) test <- setdiff(1:699, train) breast.rf <- randomForest(Class~., data=bcdata[train,]) breast.pred <- predict(breast.rf, bcdata[test,]) table(bcdata[test,10], breast.pred)
実行結果.こちらはちょっとイマイチ.
チューニングで結果は変わるかもしれないので,いずれ見直します.
randomForest 4.6-6 Type rfNews() to see new features/changes/bug fixes. breast.pred benign malignant benign 223 8 malignant 8 110