NaiveBayes dans la R Ne peut pas Prédire le facteur(0) Niveaux:

J'ai un dataset ressemble à ceci:

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

Pourquoi predict fonction me renvoie rien?

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

J'ai essayé de suivre les exemples dans le manuel d'aide en naiveBayes et cela fonctionne pour moi. Je ne suis pas sûr de ce qui est mal avec mon approche. Merci beaucoup!

Je pense qu'il pourrait y avoir quelque chose de mal avec le type de données avant d'appliquer la naivebayes modèle, j'ai essayé de modifier toutes les variables de facteur à l'aide de as.factor et il semble que de travailler pour moi. Mais je suis toujours super confus qu'est-ce que le "Comment" et "Pourquoi" derrière la scène.

OriginalL'auteur B.Mr.W. | 2013-11-13