簡體   English   中英

使用 ldamulticore 確定 log_perplexity 以獲得最佳主題數

[英]Determining log_perplexity using ldamulticore for optimum number of topics

我正在嘗試使用 python 中的日志困惑來確定我的 LDA 模型的最佳主題數。 也就是說,我正在繪制一系列主題的日志困惑度並確定最小困惑度。 但是,我獲得的圖表對 log perplexity 具有負值,當它應該具有介於 0 和 1 之間的正值時。

#calculating the log perplexity per word as obtained by gensim code 
##https://radimrehurek.com/gensim/models/atmodel.html
#parameters: pass in trained corpus
#return: graph of perplexity per word for varying number of topics
parameter_list = range(1, 500, 100)
grid ={}

for parameter_value in parameter_list:
model = models.LdaMulticore(corpus=corpus, workers=None, id2word=None, 
                            num_topics=parameter_value, iterations=10)
grid[parameter_value]=[]

perplex=model.log_perplexity(corpus, total_docs=len(corpus))
grid[parameter_value].append(perplex)


df = pd.DataFrame(grid)
ax = plt.figure(figsize=(7, 4), dpi=300).add_subplot(111)
df.iloc[0].transpose().plot(ax=ax,  color="#254F09")
plt.xlim(parameter_list[0], parameter_list[-1])
plt.ylabel('Perplexity')
plt.xlabel('topics')
plt.show()     

困惑度必須介於 0 和 1 之間。您正在計算的是對困惑度。 它是負數,因為 (0,1) 范圍內的數字的對數低於零。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM