NaiveBayes in R können nicht vorhergesagt werden - Faktor (0)

Ich habe einen Datensatz, der so aussieht:

data.flu <- data.frame(chills = c(1,1,1,0,0,0,0,1), runnyNose = c(0,1,0,1,0,1,1,1), headache = c("M", "N", "S", "M", "N", "S", "S", "M"), fever = c(1,0,1,1,0,1,0,1), flu = c(0,1,1,1,0,1,0,1) )
> data.flu
   chills runnyNose headache fever flu
1      1         0        M     1   0
2      1         1        N     0   1
3      1         0        S     1   1
4      0         1        M     1   1
5      0         0        N     0   0
6      0         1        S     1   1
7      0         1        S     0   0
8      1         1        M     1   1

> str(data.flu)
'data.frame':   8 obs. of  5 variables:
 $ chills   : num  1 1 1 0 0 0 0 1
 $ runnyNose: num  0 1 0 1 0 1 1 1
 $ headache : Factor w/ 3 levels "M","N","S": 1 2 3 1 2 3 3 1
 $ fever    : num  1 0 1 1 0 1 0 1
 $ flu      : num  0 1 1 1 0 1 0 1

Warumpredict Funktion gibt mir nichts zurück?

# I can see the model has been successfully created.
model <- naiveBayes(flu~., data=data.flu)
# I created a new data 
patient <- data.frame(chills = c(1), runnyNose = c(0), headache = c("M"), fever = c(1))
> predict(model, patient)
factor(0)
Levels:
# I tried with the training data, still won't work
> predict(model, data.flu[,-5])
factor(0)
Levels:

Ich habe versucht, den Beispielen im Hilfehandbuch in naiveBayes zu folgen, und es funktioniert für mich. Ich bin mir nicht sicher, was an meiner Herangehensweise falsch ist. Danke vielmals!

Ich glaube, vor der Anwendung des Naivebayes-Modells ist möglicherweise etwas mit dem Datentyp nicht in Ordnung. Ich habe versucht, alle Variablen so zu ändern, dass der Faktor verwendet wirdas.factor und es scheint für mich zu arbeiten. Aber ich bin immer noch super verwirrt, was das "Wie" und "Warum" hinter den Kulissen ist.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage