축소 된 Gibbs 샘플링을 사용하여 LDA 주제 모델을 최적화하려고합니다. 나는 케이 주제의 수를 최적화하기 위해 R의 ldatuning
패키지를 사용하고 있습니다 :Gibbs 샘플링 및 burnin + thin 옵션을 사용하여 LDA 주제 모델의 Python 구현?
controls_tm <- list(
burnin = 1000,
iter = 4000,
thin = 500,
nstart = 5,
seed = 0:4,
best = TRUE
)
num_cores <- max(parallel::detectCores() - 1, 1)
result <- FindTopicsNumber(my_dfm, topics = seq(40, 100, by = 5), metrics = c("Griffiths2004", "CaoJuan2009", "Arun2010", "Deveaud2014"), mc.cores = num_cores, control = controls_tm, verbose = TRUE)
이 모두 괜찮습니다. 이제 같은 컨트롤을 사용하여 주어진 k에 대해 R에서 topicmodels
을 실행할 수 있지만 27 코어가있는 HPC 클러스터에서도 모델 당 8 시간이 걸립니다. LDA 토픽 모델의 Python 구현을 찾고 있습니다. 동일한 컨트롤을 사용하여 실행할 수 있으므로 ldatuning
을 최적화하는 데 일관성을 갖지만 복잡성을 비교하기 위해 여러 모델을 실행해야하기 때문에 더 빠릅니다.
나는 깁스를 사용하는 Python에서 lda
라이브러리를보고 모델 당 1 시간은 < 걸린다. 그러나 내가 말할 수있는 한, 나는 그것을 타거나 얇은 매개 변수로 전달할 수 없다.
나는 또한 sklearn.decomposition.LatentDirichletAllocation
을 보았지만 Gibbs 대신 변이성 Bayes를 사용하고 있으며 어쨌든 burnin 또는 thin을 허용하지 않습니다. 동일은 gensim
(나는 생각한다 - 나는 그것에 익숙하지 않다)에 간다.
이것은 파이썬에 존재하지 않습니까? 또는 파이썬에서 Gibbs 샘플링과 원하는 매개 변수로 모델을 실행할 수있는 임시 해결책이 있습니까? 감사!
파이썬에는'method = "Gibss"와 같은 매개 변수가 없습니까? –
@HenryNavarro 나는 그렇게 생각하지 않지만, 파이썬에서 메서드를 선택할 수 없다는 것이 이상하다는 것을 알았다. 내가 뭔가를 놓친 것 같아서. http://scikit-learn.org/dev/modules/generated/sklearn.decomposition.LatentDirichletAllocation.html – leslieh