哪一个。max(Sappy,train_gibbs,logLik)错误
所以,我遵循Grun和Hornik()的10倍交叉验证方法,通过计算10倍训练和测试集的困惑度。但是我在创建test_gibbs时出错了,这在下面的代码末尾说明。有人能建议如何解决这个问题吗?提前谢谢哪一个。max(Sappy,train_gibbs,logLik)错误,r,cross-validation,topic-modeling,topicmodels,R,Cross Validation,Topic Modeling,Topicmodels,所以,我遵循Grun和Hornik()的10倍交叉验证方法,通过计算10倍训练和测试集的困惑度。但是我在创建test_gibbs时出错了,这在下面的代码末尾说明。有人能建议如何解决这个问题吗?提前谢谢 R> dim(dtm) [1] 546 1484 R> fold <- 1 R> range(col_sums(dtm)) [1] 1 192 R> set.seed(0908) R> folding <- + sample(rep(seq_len
R> dim(dtm)
[1] 546 1484
R> fold <- 1
R> range(col_sums(dtm))
[1] 1 192
R> set.seed(0908)
R> folding <-
+ sample(rep(seq_len(10),
+ ceiling(nrow(dtm)))[seq_len(nrow(dtm))])
R> testing <- which(folding == fold)
R> training <- which(folding != fold)
R> topics <- 10 * c(1:5, 10, 20)
R> train <- LDA(dtm[training,], k = k,
+ control = list(verbose = 100))
final e step document 491
R> test <- LDA(dtm[testing,], model = train,
+ control = list(estimate.beta = FALSE))
R> train_gibbs <- LDA(dtm[training,], k = k, method = "Gibbs",
+ control = list(burnin = 1000, thin = 100,
+ iter = 1000, best = FALSE))
R> # this is where the error occurs################
R> test_gibbs <- LDA(dtm[testing,],
+ model = train_gibbs[[which.max(sapply, train_gibbs, logLik)]],
+ control = list(estimate.beta = FALSE, burnin = 1000,
+ thin = 100, iter = 1000, best = FALSE))
R>dim(dtm)
[1] 546 1484
R> 折叠范围(列和(dtm))
[1] 1 192
R> 种子集(0908)
R> 折叠测试培训主题训练测试训练吉布斯这就是错误发生的地方################
R> test_gibbs哪个.max
只有一个参数。which.max(sappy,train\u gibbs,logLik)应该实现什么?我理解which.max(sappy,train\u gibbs,logLik)的主要目的是检索train\u gibbs的对数可能性最大的索引。如果您看到基于VEM方法创建的“测试”变量,那么模型就是简单的“训练”,因为VEM(我的理解可能是错误的)具有期望最大化的值。另一方面,使用gibbs采样,需要选择对数似然的最大值。我可能错了,请让我知道,如果我理解错了…嗯,这是错误的语法。你需要纠正它。