2017-03-15 5 views
2

posterior für Delta bekommen I LDA lief das R-Paket topicmodels mit und ich habe versucht, den Wert für Delta zu bekommen, die in meinem Verständnis ist der Parameter des Dirichlet für Worte über Themen. Ich konnte jedoch nicht auf den Wert zugreifen. Ich schaffte es nur den Anfangswert zu erhalten mitR LDA Topic Modell Wie

[email protected]@delta 

oder

slot([email protected],"delta") 

Ich weiß, wie (für Themen über Dokumente Parameter von Dir) für die spätere Verteilung alpha zu bekommen, die einfach slot(LDA,"alpha") ist aber Wie bekomme ich das Delta?

Vielen Dank!

Antwort

0

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 
Verwandte Themen