Hands-on Bayesian Classifier
1. Separate the data set into 70% / 30% for training and test set, respectively
library(DMwR)
## Loading required package: lattice
## Loading required package: grid
data(iris)
ind.train <- sample(1:nrow(iris),0.7*nrow(iris),replace=FALSE)
train <- iris[ind.train,]
test <- iris[-ind.train,]
2. Build a Bayesian Classifier for the data set
library(e1071)
nb <- naiveBayes(Species ~ ., train)
3. Calculate the Accuracy Metric
(mtrx <- table(predict(nb,test),test$Species))
##
## setosa versicolor virginica
## setosa 14 0 0
## versicolor 0 15 1
## virginica 0 0 15
(acc <- sum(diag(mtrx))/sum(mtrx))
## [1] 0.9777778
4. Rebuild the Bayesian Classifier with a Laplace Correction, and calculate the Accuracy metric once more.
nb <- naiveBayes(Species ~ ., train, laplace=1)
(mtrx <- table(predict(nb,test),test$Species))
##
## setosa versicolor virginica
## setosa 14 0 0
## versicolor 0 15 1
## virginica 0 0 15
(acc <- sum(diag(mtrx))/sum(mtrx))
## [1] 0.9777778