Мне сказали, что полезно использовать стратифицированную перекрестную проверку, особенно когда классы ответов не сбалансированы. Если одна из целей перекрестной проверки состоит в том, чтобы помочь учесть случайность нашей исходной выборки обучающих данных, то, безусловно, создание одинакового распределения классов для каждого сгиба будет работать против этого, если вы не уверены, что в вашем исходном обучающем наборе было репрезентативное распределение классов.
Моя логика ошибочна?
РЕДАКТИРОВАТЬ Меня интересует, повредит ли этот метод пользе CV. Я понимаю, почему это необходимо, если у вас небольшая выборка / очень несбалансированные классы / оба, чтобы не иметь ни одного представителя младшего класса в сгибе.
В статье « Яблоки к яблокам в перекрестной валидации: ошибки в измерении эффективности классификатора» выдвигается аргументация в пользу стратификации, но все аргументы, по-видимому, сводятся к «Стратификации обеспечивает защиту и большую согласованность», но никакой защиты не потребуется, если достаточно данные.
Является ли ответ просто «Мы используем это по необходимости, поскольку у нас редко бывает достаточно данных». ?
источник
Возможно, вы можете думать об этом таким образом. Допустим, у вас есть набор данных, в котором 100 выборок, 90 в классе «А» и 10 в классе «В». В этом очень несбалансированном дизайне, если вы делаете обычные рандомизированные группы, вы можете в конечном итоге построить модели на очень немногих (или ДАЖЕ НЕТ!) Из класса 'B'. Если вы строите модель, которая обучается на данных, где так мало, или даже нет, данных другого класса, как вы могли бы ожидать, что она будет эффективно предсказывать более редкую группу? Стратифицированная перекрестная проверка допускает рандомизацию, но также гарантирует, что эти несбалансированные наборы данных имеют некоторые из обоих классов.
Чтобы успокоить опасения по поводу использования стратифицированного CV с более «сбалансированными» наборами данных, давайте рассмотрим пример с использованием кода R.
Как вы можете видеть, в хорошо сбалансированном наборе данных складки будут иметь аналогичное распределение по случайной случайности. Поэтому в этих обстоятельствах стратифицированное резюме является просто мерой доверия. Тем не менее, для устранения дисперсии вам нужно будет посмотреть распределение каждого сгиба. В некоторых случаях (даже начиная с 50-50) у вас могут быть случайные фолды со сплитами 30-70 (вы можете запустить приведенный выше код и увидеть, что это происходит на самом деле!). Это может привести к худшей производительности модели, поскольку у нее недостаточно одного класса для точного прогнозирования, что увеличивает общую вариацию CV. Это, очевидно, более важно, когда у вас есть «ограниченные» выборки, где вы, скорее всего, будете иметь очень большие различия в распределении.
Теперь с очень большими наборами данных стратификация может не потребоваться, потому что сгибы будут достаточно большими, чтобы все еще, вероятно, содержать, по крайней мере, хорошую долю «более редкого» класса. Тем не менее, на самом деле нет вычислительных потерь и нет реальной причины отказаться от стратификации, если ваши выборки не сбалансированы, независимо от того, сколько данных у вас есть, по моему личному мнению.
источник
stratifcation is generally a better scheme, both in terms of bias and variance, when compared to regular cross-validation
. Не существует идеальной схемы отбора проб, но в несбалансированных конструкциях стратификация является хорошим подходом.