Как сравнить Random Forest с другими моделями
Я новичок в машинном обучении, и я пытаюсь разобраться с ошибкой "вне сумки" в случайных лесах и ее использованием.
Допустим, у нас есть набор данных. Сначала мы используем весь набор данных (не разделяя его), чтобы получить случайный лес и его ошибку Out of Bag. Затем мы разделяем набор данных, обучаем нейронную сеть на обучающей части и тестируем ее на тестовой части набора данных.
Могу ли я выбирать между двумя моделями, сравнивая ошибку Out of Bag случайного леса с общей ошибкой теста нейронной сети? Имеет ли это смысл ?
Ответы
Обычно мы полагаемся на выборку для проверки результата нашей модели.
Мы проводим обучение / тестирование, чтобы протестировать модель на отдельном невидимом наборе данных.
Если мы выполняем настройку гиперпараметров, мы сохраняем другой набор в качестве набора для проверки, чтобы проверить результат новых гиперпараметров.
Случайный лес строит каждое новое дерево по образцу Bagged из исходного образца (данные поезда).
Пакетирование означает, что выборка выполняется с заменой, то есть вы выбираете одну точку данных, кладете ее обратно, а затем выбираете следующую .
В этом процессе выполняется выборка многих дублированных данных, а выборка многих точек данных не производится.
Выбрано ~ 63% точек данных Прочтите здесь
Остальные "невыбранные" 37% точек данных называются образцами Out of Bag.
Следовательно, способ разработки Bagging и RF дает нам еще один набор данных для проверки. Это возможность сделать уровень валидации с этими образцами.
Что это значит,
- Вы получаете 37% точек данных для проверки вашей модели
- Но OOB не выполняется с полноценным ансамблем. Это делается с использованием всех деревьев в ансамбле случайных лесов, для которых конкретная точка данных была пропущена во время обучения. Читать здесь
- Это не эквивалент K-Fold или Train / test на полностью построенном RF, но дает хорошее представление о предстоящей ошибке проверки.