如何通过使用朴素贝叶斯来预测每个类别的概率?

时间:2019-01-28 02:03:27

标签: r bayesian naivebayes

我的问题是关于贝叶斯理论的。 我想通过朴素的贝叶斯来预测每个班级的概率。 在我的情况下,类别为3(是,否,未知),并且先验概率几乎相同(0.33、0.33.0.34)。 但是,数据不包含一个类(未知)。 我可以通过使用朴素贝叶斯获得后验概率吗? 我不知道我的想法是错误的还是代码错误。 请教我。

这是我的示例代码。

library(e1071)
library(naivebayes)

random<-floor(abs(rnorm(1000,mean=0,sd=50)))%%2+1
class<-c('YES','NO','UNKNOWN')
random<-class[random]
randmat<-as.data.frame(matrix(rnorm(4000,mean=0,sd=1),nrow=1000))
dataset<-cbind(randmat,random)
dataset$random<-factor(dataset$random,levels=c(levels(dataset$random),'UNKNOWN'))
Naive_Bayes_Model<-naive_bayes(random~., data=dataset,prior=c(0.33,0.33,0.34))
NB_Predictions<-predict(Naive_Bayes_Model,dataset,type='prob')

head(NB_Predictions)

0 个答案:

没有答案