Contents

6.12.3. scikits.learn.cross_val.KFold

class scikits.learn.cross_val.KFold(n, k, indices=False)

K-Folds cross validation iterator

Provides train/test indices to split data in train test sets

__init__(n, k, indices=False)

K-Folds cross validation iterator

Provides train/test indices to split data in train test sets

Parameters :

n: int :

Total number of elements

k: int :

number of folds

indices: boolean, optional (default False) :

Return train/test split with integer indices or boolean mask. Integer indices are useful when dealing with sparse matrices that cannot be indexed by boolean masks.

Notes

All the folds have size trunc(n/k), the last one has the complementary

Examples

>>> from scikits.learn import cross_val
>>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
>>> y = np.array([1, 2, 3, 4])
>>> kf = cross_val.KFold(4, k=2)
>>> len(kf)
2
>>> print kf
scikits.learn.cross_val.KFold(n=4, k=2)
>>> for train_index, test_index in kf:
...    print "TRAIN:", train_index, "TEST:", test_index
...    X_train, X_test = X[train_index], X[test_index]
...    y_train, y_test = y[train_index], y[test_index]
TRAIN: [False False  True  True] TEST: [ True  True False False]
TRAIN: [ True  True False False] TEST: [False False  True  True]