【发布时间】:2020-06-26 08:29:22
【问题描述】:
我是文本分析的新手,我正在尝试使用以下代码为来自quanteda 的数据集训练一个朴素贝叶斯分类器:
library("quanteda")
data(data_corpus_amicus, package = "quanteda.corpora")
# set training class
trainclass <- docvars(data_corpus_amicus, "trainclass")
amicus_train <- which(trainclass == "P" | trainclass == "R" )
# set test class
testclass <- docvars(data_corpus_amicus, "testclass")
amicus_test <- which(testclass == "AP" | testclass == "AR")
# create dfm from the data
amicus_dfm <- dfm(data_corpus_amicus, verbose = FALSE)
我想为 tf-idf 加权 dfm 训练分类器,所以我尝试了以下方法:
amicus_dfm_weight <- dfm_tfidf(amicus_dfm, scheme_tf = "count", scheme_df = "inverse")
weight_nb <-textmodel_nb(amicus_dfm_weight[amicus_train,], docvars(data_corpus_amicus, "trainclass")[amicus_train])
上面的代码给了我错误Error: will not group a weighted dfm; use force = TRUE to override,所以我也尝试了amicus_dfm_weight <- dfm_tfidf(amicus_dfm, scheme_tf = "count", scheme_df = "inverse", force = TRUE),但仍然出现同样的错误。
有谁知道这个错误是什么意思以及如何解决这个错误?
非常感谢!
【问题讨论】:
标签: r classification naivebayes quanteda