Я выполняю k-кратную проверку для нескольких наборов данных одновременно. Я использую KFold
из sklearn
, чтобы сделать 10-кратную проверку. В основном это разбивает набор данных на 10 частей и обучает классификатор на 9 из этих частей, затем проверяет результаты на оставшихся 10-х, затем выполняет ту же процедуру, но переключает набор тестирования на новый 10-й раздел со включенным старым набором тестирования. в тренировочном наборе. Я могу написать цикл for для одного набора данных, используя следующее:
for train, test in kfold.split(data):
print(train)
print(test)
Вывод этого следующий:
[1 2 3 4 5 6 7 8 9]
[0]
[0 2 3 4 5 6 7 8 9]
[1]
[0 1 3 4 5 6 7 8 9]
[2]
[0 1 2 4 5 6 7 8 9]
[3]
[0 1 2 3 5 6 7 8 9]
[4]
[0 1 2 3 4 6 7 8 9]
[5]
[0 1 2 3 4 5 7 8 9]
[6]
[0 1 2 3 4 5 6 8 9]
[7]
[0 1 2 3 4 5 6 7 9]
[8]
[0 1 2 3 4 5 6 7 8]
[9]
, где первый массив - это индексы для обучениянабор для использования из исходного массива наборов данных, а второй массив - это индекс для тестового набора. Я могу получить это, чтобы правильно перебрать один набор данных. Тем не менее, как бы я выполнил это для нескольких наборов данных одновременно? Например, если я хотел создать классификатор, используя определенные сгибы из нескольких наборов. Я пробовал следующее:
for train0, test0, train1, test1 in kfold.split(data0), kfold.split(data1):
# code
Но я получаю следующую ошибку: ValueError: too many values to unpack (expected 4)