RでnaiveBayesを試してみる

お次はナイーブベイズ分類器です.やり方は変わらないのでガンガン行きましょう.

iris実行コード&結果

もう,どれも同じに見えてきた...

library(e1071)

train <- seq.int(1, 150, by=2)
test <- setdiff(1:150, train)

iris.bayes <- naiveBayes(Species~., data=iris[train,])
iris.pred <- predict(iris.bayes, iris[test,])
table(iris[test,5], iris.pred)

結構いいですね.SVMと同じ96%の正答率となっています.

 要求されたパッケージ class をロード中です 
            iris.pred
             setosa versicolor virginica
  setosa         25          0         0
  versicolor      0         24         1
  virginica       0          2        23

同様にbreast cancerも

コードと

library(e1071)

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.bayes <- naiveBayes(Class~., data=bcdata[train,])
breast.pred <- predict(breast.bayes, bcdata[test,])
table(bcdata[test,10], breast.pred)

実行結果.

 要求されたパッケージ class をロード中です 
           breast.pred
            benign malignant
  benign       220        11
  malignant      3       115