1

我正在试验这种naiveBayes方法。

我首先将这样的数据集构建为矩阵/数组:

new<-cbind(c(rep(1,10),rep(2,10)),rbinom(20,1,0.5),rbinom(20,1,0.5))     
colNames(new)=c('var1','var2','var3')

现在,如果我运行naiveBayes(var1~., data=new)它不起作用,我得到了这个:

Naive Bayes Classifier for Discrete Predictors

Call:
naiveBayes.formula(formula = var1 ~ ., data = new)

A-priori probabilities:
[1] 1

Conditional probabilities:

但是,如果我将它们转换为数据框,例如:

new1<-as.data.frame(new)
naiveBayes(var1~.,new)

我得到了数字数据应该发生的平均值和标准差。

如果我将因子数据框中的新矩阵转换为:

new2<-as.data.frame(matrix(as.factor(new),20,3))
naiveBayes(V1~.,new2)

那么它也可以正常工作。

所以我的主要查询是如何正确地将数组传递给naiveBayes函数。

4

0 回答 0