So habe ich Datensatz mit Objekten von 4 Klassen. Ich benutze den Naive Bayes Klassifikator, um neue Objekte zu klassifizieren. Ist es möglich festzustellen, ob ein neues Objekt wirklich keiner Klasse angehören sollte (= irgendwie neue Klasse "Nicht klassifiziert" einfügen)?Naive Bayes in R: Wie klassifiziere Objekt in neue "Nicht klassifiziert" Klasse
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)
Der direkte Ansatz wäre, einige Beispiele von Daten zu erhalten, die "Nicht klassifiziert" sein sollten, und sie an "naiveBayes" zu füttern (so dass Sie 5 statt 4 Klassen haben). Sie können sich auch einen Weg vorstellen, die Wahrscheinlichkeiten durch den Algorithmus mit 4 Klassen zu erhalten und ein Kriterium irgendwie zu erstellen ==> das wäre aber wirklich beliebig. Prost. – lrnzcig