Так вот в чем дело.Я применяю бинарный классификатор для 5 пациентов (P1, P2, ... P5).у каждого пациента есть 100 выборок данных, и результат равен либо 0, либо 1.
Поэтому я отложил одного пациента (скажем, P5) в качестве данных тестирования и использовал оставшихся для проверки и обучения.Но я также хочу найти оптимальное количество гиперпараметров для классификатора (скажем, SVM), поэтому я также использую 4-кратную перекрестную проверку.
Однако я хочу убедиться, что я разделил обучениеданные для перекрестного тестирования и перекрестного тестирования, так что все выборки одного пациента остаются в перекрестном тестировании.Я не хочу, чтобы это было перетасовано, потому что у меня были бы данные о пациенте как в тестировании, так и во время обучения, что не очень хорошо.
Я использую GridSearchCV в python для разделения данных, но я понятия не имею, какчтобы настроить его таким образом, чтобы у нас было: 100 образцов p1 в тестовом сгибе и все 300 образцов p2, p3, p4 в тренировочном сгибе .......... 100 образцов p4 в тестовом сгибе и все 300 образцовр1, р2, р3 в тренировочной складке.
Другими словами, я хочу создать индикатор пациента, чтобы gridasearchCv разделял данные в соответствии с этим.
У нас есть пакет для этого или я должен попробовать написать его вручную, не используя GridSearchCV или что-то еще?такой природы?