Наивные байесовские вероятностные классификаторы обычно используются при классификации по текстам. Основная идея состоит в том, чтобы использовать совместные вероятности слов и категорий для оценки вероятностей категорий данного документа. Наивной частью такой модели является предположение о независимости слова. Простота этого предположения делает вычисление наивного байесовского классификатора гораздо более эффективным, чем экспоненциальная сложность не наивных байесовских подходов, поскольку он не использует словосочетание в качестве предикторов.
Если задача состоит в том, чтобы классифицировать тестовый документ в один класс, то выбирается класс с наибольшей апостериорной вероятностью.
Вот одна ссылка:
[1] Том Митчелл, «Машинное обучение», McGraw-Hill, 1997. (Раздел 6.10)
Если вы принимаете каждую категорию вопросов в качестве текстового типа, вы можете использовать текстовую категоризацию.
Наивный байесовский классификатор основан на теореме Байеса, где вы предполагаете, что все признаки (или атрибут) независимы.
Это очень легко реализовать. Вы можете найти много программного пакета с реализацией. Пакет e1071 в R реализует это. Вот пример кода в R, который использует наивный байесовский классификатор:
<code>
N <- nrow(data)
Ntrain <- round(N*0.7)
data <- data[sample(1:N),]
train <- data[1:Ntrain,]
test <- data[(Ntrain+1):N,]
y<-as.factor(train[,13])
x<-train[,3:12]
y_test <- as.factor(test[,13])
x_test <- test[,3:12]
library(e1071)
m <- naiveBayes(x, y)
pred_test <- predict(m,x_test, type = "class")
pred <- predict(m,x, type = "class")