CV=integer 与 GridSearchCV 中的预定义拆分

CV=integer vs predefined splits in GridSearchCV

设置 CV=some integer 与 cv=PredefinedSplit(test_fold=your_test_fold) 有什么区别?

两者相比有什么优势吗? CV=some integer 是否随机设置分割?

指定一个整数将产生 kfold cross-validation 而不会洗牌,如 the documentation for sklearn.model_selection.KFold. Shuffling before splitting may or may not be preferred 中所述;如果您的数据已排序,则需要进行改组以随机化样本分布,而如果样本由于空间或时间采样效应而简单相关,则改组可能会提供乐观的性能视图。

我会避免使用 PredefinedSplit 除非您有充分的理由预定义拆分。还有其他 CV 生成器可能可以满足您的需求,例如 StratifiedKFold 如果您想维护 class 分布(例如。)