如何保存 LDA 模型 - python 中的 LatentDirichletAllocation

How to save LDA model - LatentDirichletAllocation in python

我已经使用以下命令训练了一个 LDA 模型,需要了解如何保存它。

lda_model = LatentDirichletAllocation(n_components=25, random_state=100)

我已经尝试了下面的方法,但是它说

AttributeError: 'LatentDirichletAllocation' 对象没有属性 'save'

lda_model.save("xyz.model")

训练模型用了 16 个小时。重新创建它将非常耗时。任何建议将不胜感激!

模型在 scikit-learn 中是可序列化的,因此您可以将其保存为:

import pickle

pickle.dump(lda_model, 'lda_model.pk')
# then reload it with
lda_model = pickle.load('lda_model.pk')

请注意,根据文档,当模型包含较大的估计量

时,您可能希望选择 joblib
import joblib

joblib.dump(lda_model, 'lda_model.jl')
# then reload it with
lda_model = joblib.load('lda_model.jl')

正如 Michael Silverstein 所提到的,它被记录在案 here