train中的分层k-折叠插入符号中的控制

uelo1irk  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(112)

我可以看到方法'createDataPartition'可以根据outcome变量拆分数据:
https://topepo.github.io/caret/data-splitting.html#outcome
我认为这同样适用于“createFolds”。
但是我尝试使用分层的k-折叠(折叠是通过保留目标中每个类的样本百分比来实现的),当用'cv'方法调用'trainControl'时。我没有看到一个参数来指定这一点。有可能将折叠索引作为参数,但我认为这不应该与'repeatedcv'一起工作(因为,在每次重复中,它需要/创建新的折叠)
它默认使用分层k折叠吗?如果我需要shuffle呢?
谢谢

ajsxfq5m

ajsxfq5m1#

最后,我得到了解决方案,感谢我的ML老师,他引导我得到了这个答案:)
如下所述:
Caret Package: Stratified Cross Validation in Train Function
您可以使用createFolds创建折叠索引。如果您需要使用'repeatedcv',则必须使用createMultiFolds创建索引。
重要提示:在trainControl中设置索引会使repeats/numbers参数https://github.com/topepo/caret/issues/584无效

相关问题