Как рассчитать растерянность для 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
0 ответов
Нужен еще один параметр "timate_theta",
используйте код ниже:
perplexity(ldaOut, newdata = dtm,estimate_theta=FALSE)