如何保存 Gensim LDA 模型列表?

Posted

技术标签:

【中文标题】如何保存 Gensim LDA 模型列表?【英文标题】:How to save a list of Gensim LDA models? 【发布时间】:2019-06-27 15:05:26 【问题描述】:

我有不同的 LDA 模型(在相同的文本上,但都具有不同的#topics)存储在一个列表中。现在,我想将这个包含所有模型的列表保存到我的磁盘中。但是,我不确定这是如何工作的。我应该将 is 视为列表还是 LDA 模型?

在gensim website我找到了如下代码:

from gensim.test.utils import datapath
>>>
>>> # Save model to disk.
>>> temp_file = datapath("model")
>>> lda.save(temp_file)

但是,这适用于单独的 LDA 模型,不适用于具有多个模型的列表。保存我的模型列表的最佳方法是什么?

【问题讨论】:

用不同的文件名保存? 【参考方案1】:

trained_models是你的LDA模型列表:

trained_models = 
[<gensim.models.ldamodel.LdaModel at 0x1f321825668>,
 <gensim.models.ldamodel.LdaModel at 0x1f32181ffd0>]

您可以使用 for 循环和计数器一次保存多个文件:

i = 1
for model in trained_models:
    model.save("model.gensim".format(i))
    i += 1

我不知道执行此操作的 gensim 函数,但如果有更有效的方法来执行此操作,我也很想知道。

【讨论】:

【参考方案2】:

您可以查看 pickle 以保存模型或 sklearn joblib 就循环效率而言,我认为这是最多的。 :)

【讨论】:

以上是关于如何保存 Gensim LDA 模型列表?的主要内容,如果未能解决你的问题,请参考以下文章

Python Gensim:如何使用 LDA 模型计算文档相似度?

使用 Gensim 获得 LDA 模型的最佳主题数量的最佳方法是啥?

初试主题模型LDA-基于python的gensim包

What is Gensim?

Gensim-LDA实践

LDA 主题模型效果度量