Итак, у меня есть набор данных с объектами из 4 классов. Я использую классификатор Naive Bayes для классификации новых объектов. Можно ли определить, действительно ли новый объект не должен принадлежать ни одному классу (= как-то вставить новый класс «Unclassified»)?Naive Bayes in R: Как классифицировать объект в новый класс «Неклассифицированный»
convert_counts <- function(x) {
x <- ifelse(x > 0, 1, 0)
x <- factor(x, levels = c(0, 1), labels = c("No", "Yes"))
return(x)
}
sntcs_train1 <- apply(sntcs_train1, MARGIN = 2, convert_counts)
sntcs_test1 <- apply(sntcs_test1, MARGIN = 2, convert_counts)
library(e1071)
sntcs_classifier <- naiveBayes(sntcs_train1, sntcs_train$Author)
sntcs_test_pred <- predict(sntcs_classifier, sntcs_test1)
Простым подходом было бы получить некоторые примеры данных, которые должны быть «неклассифицированы», и подавать их на «naiveBayes» (поэтому у вас будет 5 классов вместо 4). Вы могли бы также подумать о способе получения вероятностей алгоритмом с 4 классами и установить критерий каким-то образом ==> однако это было бы действительно произвольным. Приветствия. – lrnzcig