我正在R中使用stm包。这是一种主题建模方法。我在执行10倍交叉验证步骤时遇到麻烦。其他主题建模程序包(例如tm)具有启用k折叠交叉验证的困惑选项。尽管stm提供了多种验证指标,但其中不包含用于折叠验证的选项。
我试图使用stm模型上tm包中提供的困惑选项无济于事。
set.seed(100)
topics <- c(10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
seed <- 2
D <- length(filenames) # number docs
folding <-sample(rep(seq_len(10), ceiling(D))[seq_len(D)])
table(folding)
perp_by_col <- vector()
for (k in topics) {
perp_by_row <- vector()
for (chain in seq_len(10)) {
training <- LettersPrevFit <- stm(documents = out$documents[folding != chain,], vocab =out$vocab, K = k,
prevalence =~ covariate,
max.em.its = 75, data = out$meta,
init.type = "Spectral")
testing <- LettersPrevFit <- stm(documents = out$documents[folding == chain,], vocab =out$vocab, K = k,
prevalence =~ covariate,
max.em.its = 75, data = out$meta,
init.type = "Spectral")
perp_by_row <- rbind(perp_by_row, perplexity(testing))
}
perp_by_col <- cbind(perp_by_col,perp_by_row)
}
问题是在这种情况下困惑不起作用,因此功能失败。我希望看到stm模型在这些不同的支持组中运行,并检查它们如何在10-100个主题范围内工作。