【问题标题】:Different results of LDA using R(topicmodels)使用 R(topicmodels) 的 LDA 的不同结果
【发布时间】:2015-10-22 21:32:11
【问题描述】:

我正在使用 R topicmodels 从一个小型语料库中训练一个 LDA 模型,但我发现每次重复相同的代码时,它都有不同的结果(不同的主题和不同的主题术语) 我的问题是为什么相同的条件和相同的语料每次都有不同的结果,我应该怎么做才能稳定结果? 这是我的代码:

library(tm)
library(topicmodels)
cname<-file.path(".","corpus","train")
docs<-Corpus(DirSource(cname))
toSpace<-content_transformer(function(x,pattern) gsub(pattern,"",x))
docs<-tm_map(docs,toSpace,"/")
docs<-tm_map(docs,toSpace,"@")
docs<-tm_map(docs,toSpace,"#")
docs<-tm_map(docs,toSpace,"\\|")
docs<-tm_map(docs,toSpace,"&")
docs<-tm_map(docs,content_transformer(tolower))
docs<-tm_map(docs,removeNumbers)
docs<-tm_map(docs,removePunctuation)
docs<-tm_map(docs,removeWords,stopwords("english"))
docs<-tm_map(docs,removeWords,c("amp"))
docs<-tm_map(docs,stripWhitespace)
dtm<-DocumentTermMatrix(docs)
dtm_LDA<-LDA(dtm,5)
get_terms(dtm_LDA,10)

我尝试了set.seed,但它似乎不起作用。我发现类似的问题LDA model generates different topics every time I train on the same corpus,但它是一个python问题。

【问题讨论】:

    标签: r lda topicmodels


    【解决方案1】:

    对于那些遇到同样问题的人。您可以尝试通过在 LDA 函数中指定控制属性来将随机种子的值设置为固定值,如下所示。查找更多信息here

    lda <- LDA(AssociatedPress[1:20, ], control=list(seed=0), k=2)
    

    【讨论】:

      猜你喜欢
      • 2014-05-02
      • 2017-09-17
      • 2023-04-04
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 2021-05-19
      相关资源
      最近更新 更多