如何在R中为tf-idf加权dfm训练朴素贝叶斯分类器?

问题描述 投票:0回答:1

我是文本分析的新手,我正在尝试使用以下代码为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
1个回答
0
投票

是:安装最新的quanteda.textmodels

© www.soinside.com 2019 - 2024. All rights reserved.