直接上图: 由上图可见,KFold和ShuffleSplit的最大不同就是,KFold进行的n_split划分,每次的划分数据都不会重复,而ShuffleSplit的会有重复的;
进一步展开的说:
KFold 和ShuffleSplit都是分层抽样,都可以进行n次split(上例中都是4次)以便用于交叉验证,都可以在split之前把数据“洗洗牌”打乱;不同点是KFold,在shuffle=True的设定下,别管split几次,都是shuffle一次;之后的split得到的测试数据都不重复,最后数据集的每个部分都做过一次测试数据集;ShuffleSplit是split的次数和shuffle的次数一样多,每次split的时候就是test_size或者train_size的比例进行随机抽样,最后数据集里的样本会多次出现在测试集中;