Как рассчитать недоумение для LDA с выборкой Гиббса

Я использую тематическую модель LDA в R для коллекции из 200+ документов (всего 65 тыс. Слов). Документы прошли предварительную обработку и сохранены в матрице "документ-термин" dtm. Теоретически я должен ожидать найти 5 отдельных тем в корпусе, но я хотел бы вычислить оценку недоумения и посмотреть, как модель соответствует изменениям с количеством тем. Ниже приведен код, который я использую. Проблема в том, что это дает мне ошибку, когда я пытаюсь вычислить оценку сложности, и я не уверен, как ее исправить (я новичок в R). Ошибка в последней строке кода. Буду признателен за любую помощь.

burnin <- 4000  #burn-in parameter
iter <- 2000    # #of iteration after burn-in
thin <- 500     #take every 500th iteration for further use to avoid correlations between samples
seed <-list(2003,10,100,10005,765)
nstart <- 5     #use 5 different starting points
best <- TRUE    #return results of the run with the highest posterior probability

#Number of topics (run the algorithm for different values of k and make a choice based by inspecting the results)
k <- 5

#Run LDA using Gibbs sampling
ldaOut <-LDA(dtm,k, method="Gibbs", 
             control=list(nstart=nstart, seed = seed, best=best, 
                          burnin = burnin, iter = iter, thin=thin))

 perplexity(ldaOut, newdata = dtm)

Error in method(x, k, control, model, mycall, ...) : Need 1 seeds

person Michael    schedule 09.07.2018    source источник


Ответы (1)


Нужен еще один параметр «оценка_тета»,

используйте код ниже:

perplexity(ldaOut, newdata = dtm,estimate_theta=FALSE)
person user10769109    schedule 10.12.2018