機械学習(単純ベイズ編)
R言語での単純ベイズモデルでの機械学習
irisのデータを用いて分類の問題を復習します。
まずパッケージの読み込みです
library(e1071)
library(kernlab)
irisデータの読み込みます
data(iris)
教師データと評価データに分けます(半分づつ)
n<-seq(1,nrow(iris),by=2)
iris.train<-iris[n,]
iris.test<-iris[-n,]
単純ベイズで分類モデルを作成します
nb.model<-naiveBayes(Species~.,data=iris.train)
単純ベイズで作成した分類モデルを確認します
nb.model
Naive Bayes Classifier for Discrete Predictors
Call:
naiveBayes.default(x = X, y = Y, laplace = laplace)
A-priori probabilities:
単純ベイズで作成した分類モデルを評価データに適応していきます
nb.pred<-predict(nb.model,iris.test)
単純ベイズによる予測結果を確認します。
head(nb.pred)
[1] setosa setosa setosa setosa setosa setosa
Levels: setosa versicolor virginica
予測の正誤をまとめた表を作成します
nb.tab<-table(iris.test$Species,nb.pred)
setosa versicolor virginica
setosa 25 0 0
versicolor 0 24 1
virginica 0 2 23
予測精度の確認します
sum(diag(nb.tab))/sum(nb.tab)
[1] 0.96
まあまあの精度が出ています。
この記事が気に入ったらサポートをしてみませんか?