执行困惑度函数评估LDA模型时出错

时间:2018-07-28 00:03:51

标签: text lda topic-modeling perplexity

我正在尝试评估主题建模(LDA)。执行困惑性函数时遇到错误,例如:错误(函数(类,fdef,mtable):无法为签名“ LDA_Gibbs”,“数字”找到函数“困惑性”的继承方法,请帮助解决此问题。

1 个答案:

答案 0 :(得分:0)

由于您没有提供任何代码示例,因此很难知道确切的问题是什么。但是,当我遇到相同的错误时,我发现了这个问题,因此我将在此提供我遇到的问题和解决方案,以希望对其他人有所帮助。

topicmodels包中,当使用Gibbs拟合时,perplexity()函数要求newdata以文档术语格式提供。如果您给它其他东西,则会出现此错误。根据您的错误消息,您可能会给它一些numeric而不是dtm。

这是一个有效的示例,使用来自lda包的新闻组数据转换为dtm格式:

library(topicmodels)

# load the required data from lda package
data("newsgroup.train.documents", "newsgroup.test.documents", "newsgroup.vocab", package="lda")


# create document-term matrix using newsgroups training data
dtm <- ldaformat2dtm(documents = newsgroup.train.documents, vocab = newsgroup.vocab)

# fit LDA model using Gibbs sampler
fit <- LDA(x = dtm, k = 20, method="Gibbs")

# create document-term matrix using newsgroups test data
testdtm <- ldaformat2dtm(documents = newsgroup.test.documents, vocab = newsgroup.vocab)

# calculate perplexity
perplexity(fit, newdata = testdtm)