在R中运行朴素贝叶斯分类器时,我遇到了错误。我使用以下代码-
mod1 <- naiveBayes(factor(X20) ~ factor(X1) + factor(X2) +factor(X3) +factor(X4)+factor(X5)+factor(X6)+factor(X7)
+factor(X8)+factor(X9)
+factor(X10)+factor(X11)+ factor(X12)+factor(X13)+factor(X14)
+factor(X15)
+factor(X16)+factor(X17)
+factor(X18)+factor(X19),data=intent.test)
res1 <- predict(mod1)$posterior
该代码的第一部分运行良好。但是,当它尝试预测后验概率时,会引发以下错误-
**Error in as.data.frame(newdata) :
argument "newdata" is missing, with no default**
我尝试运行类似以下的代码:
res1 <- predict(mod1,new_data=intent.test)$posterior
但这也会出现相同的错误。
newdata
,不带下划线(就像错误信息中所示),但它是一个可选参数:即使没有它,它也应该可以工作。你的数据集可能存在一些问题,但你没有提供任何相关信息。在数据框架中已经编码为因子的数据可能有所帮助。如果你正在尝试用其他列来预测最后一列,那么模型可以更简洁地写成X20 ~ .
。 - Vincent Zoonekynd