首页 > 解决方案 > 如何在 R 中保存主题模型并在不同的数据上运行它

问题描述

我对主题模型相当陌生。我有两个文档语料库,想比较相同主题在不同语料库中出现的频率。我在两个语料库的文档组合样本上运行了一个包含 40 个主题的主题模型。我现在想保存模型并为两个语料库分别运行它。我正在使用主题模型包,并认为我必须填写 save = 1(见下文),但不确定。有谁知道如何做到这一点?

control_LDA_VEM <-
+    list(estimate.alpha = TRUE, alpha = 50/k, estimate.beta = TRUE,
+         verbose = 0, prefix = tempfile(), save = 1, keep = 0,
+         seed = as.integer(Sys.time()), nstart = 1, best = TRUE,
+         var = list(iter.max = 500, tol = 10^-6),
+         em = list(iter.max = 1000, tol = 10^-4),
+         initialize = "random")

标签: rlda

解决方案


save参数实际上用于保存/不保存中间结果,使用该prefix参数设置存储结果的位置(tempfile()为您生成系统位置)。

要使用已保存的 LDA 模型,您只需在下次LDA()调用中使用模型名称即可。您也可以使用调用更改控制参数。假设您将所需的 DTM 划分为训练集和测试集,想法如下:

lda.train <- LDA(train, k = 10, control = control_LDA_VEM)
lda.test <- LDA(test, model=lda.train, control = list(estimate.beta = FALSE)

链接可能对您有用。


推荐阅读