Python “a”和“a”之间有什么区别;“正常”;使用shuffle=True的k-折叠交叉验证和重复的k-折叠交叉验证?

Python “a”和“a”之间有什么区别;“正常”;使用shuffle=True的k-折叠交叉验证和重复的k-折叠交叉验证?,python,scikit-learn,cross-validation,shuffle,k-fold,Python,Scikit Learn,Cross Validation,Shuffle,K Fold,有人能解释一下使用洗牌功能的“正常”k折叠交叉验证之间的区别吗 kf = KFold(n_splits = 5, shuffle = True) 和重复的k-折叠交叉验证?他们不应该返回相同的结果吗 很难理解其中的区别 任何暗示都是值得赞赏的。顾名思义,都是重复的。 它执行它n\u重复次。当n_repeats=1时,前者的性能与shuffle=True时后者的性能完全相同。 它们不会返回相同的拆分,因为默认情况下,random\u state=None,也就是说,您没有指定它。 因此,他们使用

有人能解释一下使用洗牌功能的“正常”k折叠交叉验证之间的区别吗

kf = KFold(n_splits = 5, shuffle = True)
和重复的k-折叠交叉验证?他们不应该返回相同的结果吗

很难理解其中的区别

任何暗示都是值得赞赏的。

顾名思义,都是重复的。 它执行它
n\u重复
次。当
n_repeats=1
时,前者的性能与
shuffle=True
时后者的性能完全相同。 它们不会返回相同的拆分,因为默认情况下,
random\u state=None
,也就是说,您没有指定它。 因此,他们使用不同的种子(伪)随机地洗牌数据

当它们具有相同的
random_state
且重复一次时,则两者导致相同的拆分。要深入了解,请尝试以下方法:

TRAIN: [1 3 5 7 8] TEST: [0 2 4 6 9]
TRAIN: [0 2 4 6 9] TEST: [1 3 5 7 8]

TRAIN: [1 3 5 7 8] TEST: [0 2 4 6 9]
TRAIN: [0 2 4 6 9] TEST: [1 3 5 7 8]
将熊猫作为pd导入
从sklearn.model_选择导入KFold,重复KFold
data=pd.DataFrame([['红色','草莓'],#颜色,水果
[“红色”、“草莓色”],
[“红色”、“草莓色”],
[“红色”、“草莓色”],
[“红色”、“草莓色”],
[‘黄色’、‘香蕉’],
[‘黄色’、‘香蕉’],
[‘黄色’、‘香蕉’],
[‘黄色’、‘香蕉’],
[‘黄色’、‘香蕉’]]
X=数据[0]
#肯福尔德
对于序列索引,测试KFold中的索引(n\u splits=2,shuffle=True,random\u state=1)。split(X):
打印(“列车:,列车索引,测试:,测试索引)
#重复折叠
对于列车索引,在RepeatedKFold中测试索引(n_分割=2,n_重复=1,随机状态=1)。分割(X):
打印(“列车:,列车索引,测试:,测试索引)
您应获得以下信息:

TRAIN: [1 3 5 7 8] TEST: [0 2 4 6 9]
TRAIN: [0 2 4 6 9] TEST: [1 3 5 7 8]

TRAIN: [1 3 5 7 8] TEST: [0 2 4 6 9]
TRAIN: [0 2 4 6 9] TEST: [1 3 5 7 8]