如何在 R 中使用朴素贝叶斯进行多标签文本分类。
我尝试使用 e1071 库中的 naiveBayes() ,但似乎在训练时,它不接受多标签类变量。
我使用文本文档语料库创建了 TermDocumentMatrix,并尝试使用此矩阵和类变量(特定文档所属的主题列表)创建模型。下面是我使用的代码。
trainvector <- as.vector(traindata$bodyText)
trainsource <- VectorSource(trainvector)
traincorpus <- Corpus(trainsource)
trainmatrix <- t(TermDocumentMatrix(traincorpus))
model <- naiveBayes(as.matrix(trainmatrix), as.factor(traindata$topics))
最后一行给出以下错误:
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
您是否在列表中调用了“排序”?
我尝试使用
model <- naiveBayes(as.matrix(trainmatrix), as.factor(unlist(traindata$topics)))
但出现错误:
Error in tapply(var, y, mean, na.rm = TRUE) :
arguments must have same length