Перекрестная проверка: k-clord по сравнению
-
16-10-2019 - |
Вопрос
Интересно, какой тип перекрестной проверки модели выбрать для задачи классификации: K-Cold или случайная подмножество (выборка начальной загрузки)?
Мое лучшее предположение - использовать 2/3 набора данных (который составляет ~ 1000 элементов) для обучения и 1/3 для проверки.
В этом случае k-fold дает только три итерации (складки), что недостаточно, чтобы увидеть стабильную среднюю ошибку.
С другой стороны, мне не нравится случайная функция подзампливания: что некоторые элементы никогда не будут выбраны для обучения/проверки, а некоторые будут использоваться более одного раза.
Используются алгоритмы классификации: случайная леса и логистическая регрессия.
Решение
Если у вас есть достаточное количество образцов и вы хотите использовать все данные, то K-образной перекрестной проверки-это путь. Наличие ~ 1500 кажется многое, но является ли оно адекватным для перекрестной проверки k-образной перекрестной проверки, также зависит от размерности данных (количество атрибутов и количество значений атрибутов). Например, если каждое наблюдение имеет 100 атрибутов, то 1500 наблюдений низкое.
Еще одним потенциальным недостатком K-сбалочной перекрестной проверки является возможность единого, экстремального выброса, искажающего результаты. Например, если у вас есть один экстремальный выброс, который может сильно склониться к вашему классификатору, то в 10-кратном перекрестной проверке будет затронуто 9 из 10 разделов (хотя для случайных лесов я не думаю, что у вас будет эта проблема )
Случайная подгруппа (например, выборка начальной загрузки) предпочтительнее, когда вы либо недостаточности, либо когда у вас есть ситуация выше, где вы не хотите, чтобы каждое наблюдение появлялось в сгибах K-1.
Другие советы
Я предполагаю, что вы говорите, что хотите использовать 3-кратную перекрестную проверку, потому что вы знаете что-то о своих данных (что использование k = 10 вызовет переосмысление? Мне любопытно по отношению к вашим рассуждениям). Я не уверен, что вы знаете это, если нет, то вы можете просто использовать больший k.
Если вы все еще думаете, что не можете использовать стандартную перекрестную проверку K-сбала, то вы можете немного изменить алгоритм: скажем, что разделите данные на 30 раз и каждый раз использовать 20 для обучения и 10 для оценки (а затем переключайте вверх Один из них и используйте первое и последнее 9 в качестве оценки, а остальное - в качестве обучения). Это означает, что вы можете использовать все свои данные.
Когда я использую перекрестную проверку k-clord, я обычно запускаю процесс несколько раз с другой рандомизацией, чтобы убедиться, что у меня есть достаточные данные, если вы этого не сделаете, вы увидите разные характеристики в зависимости от рандомизации. В таких случаях я бы предложил выборку. Хитрость состоит в том, чтобы делать это достаточно часто.