如何设置Gibbs采样参数

时间:2017-08-02 19:25:02

标签: r parameters text-mining lda topic-modeling

我正在对我的几个推特账户收集的推文数据集进行LDA主题建模,这些推文包含9582个文档和预处理后的4144个术语。为了运行LDA功能,我必须定义参数值,以控制运行模型时绘制的Gibbs采样数。

fitted_many <- lapply(sequ, function(k) LDA(dtmTopicModeling, k = k,
method = "Gibbs",control = list(burnin = burnin, iter = iter, keep = keep) ))

如何为上述功能定义 burnin iter 保持的值?

2 个答案:

答案 0 :(得分:1)

您在这里不需要lapply的匿名功能,因为您所做的只是将k值传递给LDA。相反,你需要像:

fitted_many <- lapply(sequ,
                      LDA,
                      x = dtmTopicModeling,
                      method = "Gibbs",
                      control = list(burnin = burnin_value,
                                     iter = iter_value,
                                     keep = keep_value))

正如Oriol所提到的,...中的lapply参数将被传递给引用的函数。通过直接在LDA中引用lapply,您只需确保命名x参数,因为k值是LDA的第二个参数。

另一方面,如果每个burnin值需要iterkeepk的不同值,那么您需要传递多个不同的参数。有几种方法可以做到这一点,但我认为purrr::pmap是最直接的。

答案 1 :(得分:0)

lapply的签名是lapply(X, FUN, ...)。三个点指的是FUN的可选参数。所以你应该能够在函数之后提供用逗号分隔的那些参数。