KFold将提供训练/测试索引,以在训练和测试集中拆分数据。它将数据集分成k
连续的折叠(默认情况下不进行混洗),然后每个折叠使用一次验证集,而k - 1
其余的折叠则组成训练集(来源)。
假设您有一些从1到10的数据索引。如果使用n_fold=k
,则在第一次迭代中,您将获得i
‘th(i<=k)
fold作为测试索引,其余的(k-1)
折叠(没有i
“ th fold”)一起成为火车索引。
一个例子
import numpy as np
from sklearn.cross_validation import KFold
x = [1,2,3,4,5,6,7,8,9,10,11,12]
kf = KFold(12, n_folds=3)
for train_index, test_index in kf:
print (train_index, test_index)
输出量
折1:[4 5 6 7 8 9 10 11] [0 1 2 3]
折2:[0 1 2 3 8 9 10 11] [4 5 6 7]
折3:[0 1 2 3 4 5 6 7] [8 9 10 11]
KFold对象已移至sklearn.model_selection
0.20版中的模块。要在sklearn 0.20+中导入KFold,请使用from sklearn.model_selection import KFold
。KFold当前文档来源