我正在尝试评估主题建模(LDA)。退出perplexity函数时出现错误,如下所示: error in (function (classes,fdef,mtable):找不到用于签名‘“LDA_Gibbs”,“numeric”’的函数‘perplexity’的继承方法。请帮助解决此问题。
发布于 2019-02-19 06:21:51
由于您没有提供任何代码示例,因此很难知道您的确切问题是什么。然而,当我面对同样的错误时,我发现了这个问题,所以我将在这里提供我面临的问题和解决方案,希望它能对其他人有所帮助。
在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)https://stackoverflow.com/questions/51566896
复制相似问题