如何在 GridSearchCV 中提供预定义的 k-folds

How to feed predefined k-folds in GridSearchCV

我想使用 GridSearchCV 对我拥有的 10 个预定义的选定数据折叠(作为数据索引列表列表)进行参数调整和评估。

有谁知道如何在 scikit 中为 GridSearchCV 提供 10 个预定义测试折叠列表?

splits=[ [0,10,9,1,2,..] ,[3,5,7,..],[23,4,34,..]] #len(split)=10

greed_search = GridSearchCV(estimator, param_grid=parameters, cv=splits,scoring=scoring, refit=score, error_score=0, n_jobs=n_jobs)

我认为你需要像这样预处理你的折叠:

new_splits = []

for i in range(len(splits)):
    train = [j for i in splits[:i] + splits[i + 1:] for j in i]
    test = splits[i]
    new_splits.append([train, test])

不仅要在迭代中获取测试部分,还要训练部分