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)
