Ich verwende die NaiveBayes-Funktion im Paket "klaR" und aus irgendeinem Grund liest die Funktion meine Eingabeparameter nicht als Formel. Ich verstehe, dass die NaiveBayes-Funktion 2 Methoden hat, eine ist die "Standard" und eine andere für die Eingabeklasse von "Formel". Wenn ich die NaiveBayes-Funktion ausführe, liest sie meine Eingabeformel als Standardtyp und löst stattdessen Fehler aus. Mein Code ist wie folgt:R NaiveBayes Classifier liest den Typ nicht als "Formel"
trainData <- read.csv("train.txt")
trainNB <- NaiveBayes(Type~., data = trainData)
Der Fehler, dass ich nach dem Ausführen dieser Zeilen empfangen ist:
Error in NaiveBayes.default(X, Y, ...) :
grouping/classes object must be a factor
trainData Klasse ist Datenrahmen, und die ersten 10 Reihen von trainData ist wie folgt (ich habe insgesamt 83 Zeilen):
Area Perimeter Compactness Length Width Asymmetry Groove Type
1 14.80 14.52 0.8823 5.656 3.288 3.1120 5.309 1
2 14.79 14.52 0.8819 5.545 3.291 2.7040 5.111 1
3 14.99 14.56 0.8883 5.570 3.377 2.9580 5.175 1
4 19.14 16.61 0.8722 6.259 3.737 6.6820 6.053 0
5 15.69 14.75 0.9058 5.527 3.514 1.5990 5.046 1
6 14.11 14.26 0.8722 5.520 3.168 2.6880 5.219 1
7 13.16 13.55 0.9009 5.138 3.201 2.4610 4.783 1
8 16.16 15.33 0.8644 5.845 3.395 4.2660 5.795 0
9 15.01 14.76 0.8657 5.789 3.245 1.7910 5.001 1
10 14.11 14.10 0.8911 5.420 3.302 2.7000 5.000 1
Jede Hilfe würde sehr geschätzt werden. Vielen Dank!
Danke! Das funktioniert tatsächlich! In meinem Fall wird meine abhängige Variable in der letzten (8.) Spalte in meiner trainData-Variable gespeichert. Ich habe 'trainData [, 8] <- factor (trainData [, 8])' gemacht und die exakt gleiche 'trainNB'-Zeile ausgeführt, und es funktioniert gut! –