После использования cross_validation.KFold(n, n_folds = folds) я хотел бы получить доступ к индексам для обучения и тестирования одиночной складки, вместо того чтобы проходить через все складки.
Итак, давайте возьмем пример кода:
from sklearn import cross_validation
X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
y = np.array([1, 2, 3, 4])
kf = cross_validation.KFold(4, n_folds=2)
>>> print(kf)
sklearn.cross_validation.KFold(n=4, n_folds=2, shuffle=False,
random_state=None)
>>> for train_index, test_index in kf:
Я хотел бы получить доступ к первой раз в kf, как это (вместо цикла):
train_index, test_index in kf[0]
Это должно возвращать только первую сгиб, но вместо этого я получаю ошибку: "TypeError: объект" KFold "не поддерживает индексирование"
Что я хочу в качестве вывода:
>>> train_index, test_index in kf[0]
>>> print("TRAIN:", train_index, "TEST:", test_index)
TRAIN: [2 3] TEST: [0 1]
Ссылка: http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.KFold.html
Вопрос
Как получить индексы для тренировки и теста только для одной складки, не пройдя весь цикл цикла?