Es ist die Fehlermeldung zum Thema. Ich bekomme diesen Fehler, wenn ich versuche, naive.bayes Klassifikator zu laufen. Hier ist die Zusammenfassung meiner Zugdaten:ungültiger 'Typ' (Zeichen) des Arguments
'data.frame': 7269 obs. of 193 variables:
$ pid : int 2 4 5 7 10 11 14 18 25 31 ...
$ acquir : int 0 0 0 0 1 1 0 0 0 0 ...
$ addit : int 0 0 0 0 2 2 0 0 0 0 ...
$ agre : int 0 0 0 0 0 0 0 0 0 0 ...
$ agreement : int 0 0 0 0 0 0 0 0 0 0 ...
$ also : int 1 0 0 0 2 2 0 0 0 0 ...
$ american : int 0 0 0 0 0 0 0 0 0 0 ...
$ announc : int 0 0 0 0 0 0 0 0 0 0 ...
$ annual : int 0 0 0 0 0 0 0 0 2 0 ...
$ approv : int 0 3 0 0 0 0 0 0 0 0 ...
$ april : int 0 0 0 0 0 0 0 0 1 0 ...
$ bank : int 0 7 0 0 0 0 0 0 0 0 ...
$ base : int 0 0 0 0 0 0 0 0 0 0 ...
.
.
$... all of them are integer, except the class column
.
.
$ class : Factor w/ 10 levels "acq","corn","crude",..: 1 1 4 4 9 1 4 3 1 4 ...
Und das ist die naive.bayes()
Linie:
model <- naiveBayes(as.factor(class) ~ ., data = as.matrix(train), laplace = 3)
Kann mir jemand sagen, warum es passiert ?:
Error in sum(x) : invalid 'type' (character) of argument
Schließlich werden Ihre Daten wegen 'as.matrix (train)' in Zeichen umgewandelt. Versuchen Sie 'Modell <- naiveBayes (Klasse ~., Daten = Zug, Laplace = 3)' oder schließlich 'Modell <- naiveBayes (Zug $ Klasse ~., Daten = Zug [, -c (" Klasse ")], Laplace = 3) ' – jogo
@jogo Es hat funktioniert! Vielen Dank! Ich möchte deine Antwort akzeptieren, aber wie? – Whcrs
Ich habe es jetzt eine Antwort gegeben. Hat auch die erste Variante funktioniert oder nur die zweite? – jogo