【发布时间】:2016-08-07 00:51:46
【问题描述】:
这是关于该主题的错误消息。当我尝试运行 naive.bayes 分类器时出现此错误。这是我的火车数据的摘要:
'data.frame': 7269 obs. of 193 variables:
$ pid : int 2 4 5 7 10 11 14 18 25 31 ...
$ acquir : int 0 0 0 0 1 1 0 0 0 0 ...
$ addit : int 0 0 0 0 2 2 0 0 0 0 ...
$ agre : int 0 0 0 0 0 0 0 0 0 0 ...
$ agreement : int 0 0 0 0 0 0 0 0 0 0 ...
$ also : int 1 0 0 0 2 2 0 0 0 0 ...
$ american : int 0 0 0 0 0 0 0 0 0 0 ...
$ announc : int 0 0 0 0 0 0 0 0 0 0 ...
$ annual : int 0 0 0 0 0 0 0 0 2 0 ...
$ approv : int 0 3 0 0 0 0 0 0 0 0 ...
$ april : int 0 0 0 0 0 0 0 0 1 0 ...
$ bank : int 0 7 0 0 0 0 0 0 0 0 ...
$ base : int 0 0 0 0 0 0 0 0 0 0 ...
.
.
$... all of them are integer, except the class column
.
.
$ class : Factor w/ 10 levels "acq","corn","crude",..: 1 1 4 4 9 1 4 3 1 4 ...
这是naive.bayes() 行:
model <- naiveBayes(as.factor(class) ~ ., data = as.matrix(train), laplace = 3)
谁能告诉我为什么会这样?:
Error in sum(x) : invalid 'type' (character) of argument
【问题讨论】:
-
由于
as.matrix(train),最终您的数据将转换为字符。尝试model <- naiveBayes(class ~ ., data=train, laplace = 3)或最终model <- naiveBayes(train$class ~ ., data=train[, -c("class")], laplace = 3) -
@jogo 成功了!谢谢!我想接受你的回答,但如何?
-
我现在做了一个答案。第一个变体也起作用还是只有第二个?
-
我刚试过第一个。它奏效了。其他的没试过。
标签: r classification text-classification naivebayes document-classification