library(e1071)
iris <- read.table("iris.data", header=FALSE, sep=",", dec=".", strip.white=TRUE, encoding = 'UTF-8')

#Сгенерируем массив из 150 (по количеству цветков в наборе – nrow(data)) 
#случайных чисел 1 (с вероятностью 67%) и 2 (с вероятностью 33%)

ind <- sample(2, nrow(iris), replace=TRUE, prob=c(0.67, 0.33))

train_x = iris[ind==1,-5]
train_y = iris[ind==1,5]

test_x <- iris[ind==2,-5]
test_y <- iris[ind==2,5]

#Выполним обучение наивного Байесовского классификатора
#(обучение) по построенной обучающей выборке:
model <- naiveBayes(train_x, train_y)

#Теперь можно применить настроенный классификатор, проверить его работу на тестовой выборке:
pred <- predict(model, test_x)
table(pred, test_y)
##                  test_y
## pred              Iris-setosa Iris-versicolor Iris-virginica
##   Iris-setosa              19               0              0
##   Iris-versicolor           0              13              1
##   Iris-virginica            0               1             15
Acc <- mean(pred == test_y)
paste("Точность=", round(100*Acc, 2), "%", sep = "")
## [1] "Точность=95.92%"
library(ggplot2)
qplot(iris$V3, iris$V4,col=iris$V5)