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
Vous devez vous connecter pour publier un commentaire.
Problème n'est pas dans la
predict()
fonction, mais dans votre définition du modèle.Fichier d'aide de
naiveBayes()
dit:Donc, les valeurs de y doit être catégorique, mais dans votre cas, ils sont numériques.
Solution est de convertir
flu
à la factor.predict
déterminer y==1 a effectivement une meilleure fonction de coût? où est la fonction de coût se trouvent et comment puis-je trouver les valeurs de la fonction de coût pour y=0 et y=1 dans R?Désolé, mais je ne vais pas être en mesure de répondre à cette question parce que je suis familier avec naiveBayes
OriginalL'auteur Didzis Elferts