在插入符号:: trainControl()

时间:2018-12-10 11:41:48

标签: r r-caret knn seed

根据trainControl文档:

  

...列表中应包含B + 1个元素,其中B是重采样数,除非方法是“ boot632”,在这种情况下B是重采样数加1。列表的前B个元素应该是向量长度为M的整数,其中M为要评估的模型数。列表的最后一个元素只需要是一个整数(对于最终模型)。请参阅下面的示例部分和详细信息部分。

     

手动设置种子时,需要评估的模型数量。这可能并不明显,因为Train对某些模型做了一些优化。例如,在PLS模型上进行调整时,唯一适合的模型是组件数量最多的模型。因此,如果要在1:10上通过comp调整模型,则唯一的模型拟合为ncomp =10。但是,如果种子参数中使用的整数向量长于实际需要的长度,则不会引发错误。

我假设the number of models being evaluatedtuneLengthtuneGrid行数。但是,在示例部分中,它们是不同的(22 vs 12):

knn

是否故意提供22个?

然后,如果我们已经通过set.seed(123) seeds <- vector(mode = "list", length = 51) for(i in 1:50) seeds[[i]] <- sample.int(1000, 22) # this 22 ## For the last model: seeds[[51]] <- sample.int(1000, 1) ctrl <- trainControl(method = "repeatedcv", repeats = 5, seeds = seeds) set.seed(1) mod <- train(Species ~ ., data = iris, method = "knn", tuneLength = 12, # this 12 trControl = ctrl) 提供了种子,那么设置第二个种子(set.seed(1))的意义何在?

0 个答案:

没有答案