NaiveBayes in R Nicht Vorhersagen - Faktor(0) Level:

Ich habe einen Datensatz der wie folgt 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

Warum predict Funktion gibt mir nichts?

# 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:

Versuchte ich nach den Beispielen in der Hilfe-Handbuch in der naiveBayes und es funktioniert für mich. Ich bin nicht sicher was ist falsch mit meinem Ansatz. Vielen Dank!

Ich denke, es könnte etwas falsch mit dem Daten-Typ vor der Anwendung des naivebayes-Modell, ich habe versucht zu ändern, alle Variablen zu einem Faktor über as.factor und es scheint für mich arbeiten. Aber ich bin immer noch super verwirrt, was ist das 'Wie' und 'Warum' hinter der Szene.

InformationsquelleAutor B.Mr.W. | 2013-11-13
Schreibe einen Kommentar