Я использую пакет stm в R. Это метод моделирования тем.У меня возникли проблемы с выполнением 10-кратного шага перекрестной проверки.В других пакетах моделирования тем, таких как tm, есть опция недоумения, которая позволяет k-кратную перекрестную проверку.Хотя stm предлагает различные метрики проверки, он не включает опцию сворачивания проверки.
Я пытался использовать опцию недоумения, предлагаемую в пакете tm на модели stm, но безрезультатно.
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.