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

Dr.*_*uck 2 python lda topic-modeling

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

lda_model = LatentDirichletAllocation(n_components=25, random_state=100)
Run Code Online (Sandbox Code Playgroud)

我已经尝试过以下方法,但它说

AttributeError:“LatentDirichletAllocation”对象没有属性“save”

lda_model.save("xyz.model")
Run Code Online (Sandbox Code Playgroud)

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

dtr*_*ckd 5

模型在 scikit-learn 中是可序列化的,因此您可以使用以下命令保存它:

import pickle

pickle.dump(lda_model, 'lda_model.pk')
# then reload it with
lda_model = pickle.load('lda_model.pk')
Run Code Online (Sandbox Code Playgroud)

请注意,根据文档,您可能希望joblib模型包含大型估计量

import joblib

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

Run Code Online (Sandbox Code Playgroud)

正如 Michael Silverstein 所提到的,它已记录在此处