Часто возникает вопрос: почему в одних задачах выигрывает Random Forest, а в других — Gradient Boosting? Всё дело в их «внутренней архитектуре» и подходе к обучению 💀 Random Forest (и Extra Trees) Это «коллективный разум». Мы строим много деревьев независимо друг от друга и усредняем их предсказания
— Принцип: Уменьшение дисперсии (variance) — Плюс: Очень трудно переобучить. Работает стабильно даже с шумными данными — Когда брать: Если данных мало или вы хотите получить адекватный результат без долгой настройки гиперпараметров
🤨 Gradient Boosting (XGBoost, CatBoost, LightGBM) Это «работа над ошибками». Мы строим деревья последовательно. Каждое следующее дерево пытается исправить ошибки всей предыдущей цепочки
— Принцип: Уменьшение смещения (bias) — Плюс: Позволяет достичь экстремально высокой точности — Когда брать: Если данных много, зависимости сложные и вам нужна максимальная метрика (например, в соревнованиях)
😶 Что выбрать? Если модель переобучается — смотрим в сторону лесов (или их экстремальной версии — Extra Trees, про которые я писала в LinkedIn)
Если модель недообучается (слишком простая) — берем бустинг