train_test_split 与 StratifiedShuffleSplit 中的分层参数

stratify argument in train_test_split vs StratifiedShuffleSplit

在sklearn的train_test_split函数中使用stratify参数和StratifiedShuffleSplit函数有什么区别?他们不做同样的事情吗?

这两个模块执行不同的操作。

train_test_split,顾名思义,用于将数据拆分为单个训练和单个测试子集,stratify 参数允许以分层方式进行此操作。

另一方面,

StratifiedShuffleSplit 为交叉验证提供拆分;来自 docs:

Stratified ShuffleSplit cross-validator

Provides train/test indices to split data in train/test sets.

注意复数 sets(强调我的)。

因此,当我们想要确保 CV 拆分是分层的而不是替换 train_test_split.

时,是否可以使用 StratifiedShuffleSplit 而不是 KFold