topicmodels
verwendet eine Liste von Steuerparametern für die Probennahmeverfahren, hier Probenahme Gibbs. Durch die Standardwerte von alpha = 50/k
und delta = 0.1
sind in control_LDA_Gibbs
angenommen - Sie können natürlich auch andere Werte angeben. Vielleicht haben Sie Ihre Kontrollen nicht richtig angegeben. Auf jeden Fall hier ein kurzes Beispiel Code, der Informationen über die deltaprior in der Ausgabe sollte. Ich hoffe, das hilft und löst Ihr Problem.
library(text2vec)
library(topicmodels)
library(slam) #to convert dtm to simple triplet matrix for topicmodels
ntopics <- 10
alphaprior <- 0.1
deltaprior <- 0.001
niter <- 1000
seedpar <- 0
docssubset <- 1:500
docs <- movie_review$review[docssubset]
#Generate document term matrix with text2vec
tokens = docs %>%
tolower %>%
word_tokenizer
it = itoken(tokens, ids = movie_review$id[docssubset], progressbar = FALSE)
vocab = create_vocabulary(it) %>%
prune_vocabulary(term_count_min = 10, doc_proportion_max = 0.2)
vectorizer = vocab_vectorizer(vocab)
dtm = create_dtm(it, vectorizer, type = "dgTMatrix")
control_Gibbs_topicmodels <- list(
alpha = alphaprior
,delta = deltaprior
,iter = niter
,burnin = 100
,keep = 50
,nstart = 1
,best = TRUE
,seed = seedpar
)
ldatopicmodels <- LDA(as.simple_triplet_matrix(dtm)
,k = ntopics
,method = "Gibbs"
,control = control_Gibbs_topicmodels
)
str(ldatopicmodels)
[email protected]@delta