这两个模块执行不同的操作。正如其名称所示,train_test_split 用于将数据拆分为单个训练和测试子集,并且 stratify 参数允许以分层方式进行拆分。另一方面,StratifiedShuffleSplit 提供了交叉验证的拆分;来自 docs:引用: “分层随机洗牌交叉验证器” “提供训练/测试索引以将数据分割为训练/测试集。”请注意集的复数形式(强调我的)。因此,当我们想要确保 CV 拆分是分层的时,应该使用 StratifiedShuffleSplit 而不是 KFold,而不是替换 train_test_split。
StratifiedShuffleSplit
中将n_splits=1
设置为1,那么如果使用相同的random_state
,我期望得到与stratify
和train_test_split
相同的结果,但我得到了不同的结果。有什么想法吗? - LazyEval