Я пытаюсь классифицировать твиты по 8 категориям (0-7), используя Наивный Байес в R. Но классификатор NB не работает хорошо.
Поэтому я сократил количество категорий до 2 (0 спама, 1 ветчина), чтобы понять, в чем может быть проблема. Но все же класс не работает должным образом.
После применения функций набор данных выглядит следующим образом
library (caret)
set.seed(32984)
indexes <- createDataPartition(final$Label, times = 1,
p = 0.7, list = FALSE)
train <- final[indexes,]
test <- final[-indexes,]
library(e1071)
classifier <- naiveBayes(train[,-1], train$Label)
prediction <- predict(classifier, test[,-1])
cm <- table(test$Label, prediction)
В результате таблица cm выглядит так для спама / ветчины
И так для 8 категорий
Я ожидаю, что данные будут классифицированы по крайней мере на хам / спам и на 8 категорий, но это не работает. Я применил SVM к тому же набору данных, и он работал лучше - он хорошо классифицировал спам / ветчину.
Не могли бы вы указать, где проблема может быть?