Сравнение деревьев решений и случайных лесов: что лучше для вашего проекта?

При построении конвейера машинного обучения для классификации или регрессии одним из самых ранних вариантов, с которым вы сталкиваетесь, является алгоритм использования. Деревья решений и случайные леса являются двумя наиболее широко применяемыми моделями, каждая из которых имеет длинный послужной список успеха в различных отраслях от финансов до здравоохранения. Несмотря на их общую основу на основе деревьев, они принципиально отличаются по сложности, интерпретируемости и производительности. Это расширенное руководство обеспечивает тщательное сравнение, исследует их внутреннюю работу и предлагает практические рекомендации, которые помогут вам выбрать правильный инструмент для вашего проекта.

Что такое дерево решений?

Дерево решений — это контролируемый алгоритм обучения, который моделирует решения и их возможные последствия как древовидную структуру. Он рекурсивно разделяет набор данных на подмножества на основе значений входных признаков, причем каждый внутренний узел представляет тест на признаке, каждая ветвь представляет результат теста, а каждый листовой узел содержит предсказанную ярлык класса (классификация) или непрерывное значение (регрессия). Цель состоит в том, чтобы создать разделы, которые являются как можно более чистыми по отношению к целевой переменной.

Деревья решений ценятся за их прозрачность. Можно буквально проследить путь от корня до листа, чтобы понять, почему был сделан тот или иной прогноз. Эта интерпретируемость неоценима в областях, где соблюдение нормативных требований или доверие заинтересованных сторон требует четких рассуждений, таких как кредитный рейтинг или медицинский диагноз. Однако та же гибкость, которая делает их интерпретируемыми, также делает их склонными к высокой дисперсии - небольшие изменения в данных обучения могут привести к очень разным деревьям, что приводит к переоборудованию.

Как деревья принимают решения

Процесс построения дерева состоит из выбора наилучшей функции для разделения на каждом узле. Общие критерии выбора разбиений включают Gini примеси (для классификации) и энтропию (получение информации), в то время как деревья регрессии обычно используют среднее квадратное уменьшение ошибок. Алгоритм оценивает каждую возможную точку разбиения для каждой функции и выбирает ту, которая максимизирует сокращение примесей. Этот жадный, нисходящий подход известен как рекурсивное разделение.

Например, в задаче классификации, предсказывающей отток клиента, корневой узел может разделиться на «длину контракта ≤ 12 месяцев». Если это разделение отделяет от шурнеров от не-шурнеров лучше, чем любая другая функция, это становится первым решением. Процесс повторяется рекурсивно на каждом узле ребенка до тех пор, пока не будет выполнено условие остановки, например, достижение максимальной глубины, наличие меньшего количества образцов на лист или отсутствие дальнейшего сокращения примесей.

Общие гиперпараметры

Практические реализации дерева решений, такие как в scikit-learn, выявляют несколько гиперпараметров, которые контролируют рост дерева и уменьшают переобучение:

Настройка этих параметров имеет важное значение для балансировки смещения и дисперсии. Без ограничений дерево решений может отлично запоминать данные обучения, что приводит к плохой производительности тестового набора.

Сильные и слабые стороны деревьев решений

Сильные стороны:

Слабости:

Что такое случайный лес?

Случайный лес — это метод обучения ансамблей, который строит коллекцию деревьев решений и объединяет их результаты для повышения точности и надежности. Он опирается на два ключевых метода рандомизации: bagging (агрегирование бутстрапа) и случайный метод подпространства. Каждое дерево обучается на различном образце бутстрапа (случайный образец с заменой) исходных данных, и при каждом разделении рассматривается только случайное подмножество признаков. Это уравновешивает деревья, уменьшая дисперсию без значительного увеличения смещения. Окончательным прогнозом является средний голос (классификация) или среднее (регрессия) всех отдельных деревьев.

Сила случайных лесов исходит из закона больших чисел: по мере добавления большего количества деревьев ошибка обобщения сходится к пределу. Они удивительно устойчивы к переоборудованию и могут обрабатывать большие наборы данных с высокой размерностью, отсутствующими значениями и выбросами. Однако эта ансамблевая природа жертвует прямой интерпретацией одного дерева. Вы все еще можете извлекать оценки значимости признаков, но вы не можете проследить один путь решения для конкретного прогноза.

Механика случайных лесов

Обучение случайному лесу включает в себя три шага:

  1. Бутерброс:Создать n estimators пробы бутстрапа из тренировочного набора.Каждый образец имеет тот же размер, что и оригинальный, но содержит дублирующие строки, исключая при этом около 37% данных (пробы из пакета).
  2. Построение деревьев: Для каждого образца бутстрапа вырастить дерево решений без обрезки. На каждом узле выберите max features случайные признаки (обычно sqrt(p) для классификации, p/3 для регрессии) и выберите лучший раскол между ними.
  3. Агрегация: Для классификации, проголосуйте большинством за деревья. Для регрессии, усредните выходы.

Ошибка out-of-bag (OOB) является беспристрастной оценкой ошибки обобщения, вычисленной из образцов, не используемых при обучении каждого дерева.

Настройка гиперпараметра

Ключевые гиперпараметры в случайных лесах (реализация скикит-учеба) включают:

Случайные леса относительно легко настроить, потому что они менее чувствительны к гиперпараметрам, чем отдельные деревья. разумной отправной точкой является и , а затем настроить на основе ошибки OOB или перекрестной проверки.

Когда использовать случайный лес

Рассмотрите случайные леса, когда:

Сравнение деревьев решений и случайных лесов

Следующее сравнение подчеркивает критические различия между двумя алгоритмами по нескольким измерениям, относящимся к проектным решениям.

Интерпретируемость

Дерево решений: Полностью интерпретируемое. Вы можете визуализировать дерево и вывести явные правила. Случайный лес: Плохая интерпретируемость в целом. Вы можете осмотреть отдельные деревья, но решение ансамбля является агрегатным. Важность характеристики доступна, но не объяснение на уровне экземпляра.

Точность и обобщение

Случайные леса последовательно превосходят деревья единичных решений по точности на большинстве реальных наборов данных. Ансамбль уменьшает дисперсию, что приводит к лучшему обобщению. Деревья решений часто неэффективны на невидимых данных из-за переобучения, особенно при глубоком выращивании.

Переобучение и разнообразие

Деревья принятия решений являются моделями с высокой дисперсией: небольшое изменение данных обучения может привести к появлению совершенно другого дерева. Случайные леса уменьшают дисперсию, усредняя многие деревья, связанные с декором, что делает их гораздо более прочными. На самом деле случайные леса редко переобучаются, когда вы добавляете больше деревьев; ошибка имеет тенденцию стабилизироваться.

Расчетные затраты

Обучение одного дерева решений быстро. Случайные леса требуют обучения n деревьев, каждое из которых может быть вычислительно дорогим. Однако обучение деревьев параллелизуемо, и современное оборудование делает случайные леса возможными даже для больших наборов данных. Время прогнозирования также медленнее для случайных лесов, потому что каждое дерево должно оценивать вход.

Обработка недостающих данных

Деревья решений могут в некоторой степени обрабатывать недостающие значения, используя суррогатные расколы (сцикит-учеба не реализует это изначально; многие реализации рассматривают недостающие как отдельную категорию). Случайные леса также могут обрабатывать недостающие данные, но обычно рекомендуется вычисление. Обе модели устойчивы к недостающим значениям по сравнению с линейными моделями.

Особенность важности

Обе модели могут обеспечить оценку значимости признаков. Для деревьев принятия решений важность основана на общем сокращении примесей, вносимых каждой особенностью. Случайные леса обеспечивают более стабильную и надежную меру путем усреднения по многим деревьям. Значения свойств случайных лесов широко используются для выбора признаков.

Стабильность и надежность

Деревья решений неустойчивы — небольшие возмущения в данных приводят к разным расколам. Случайные леса стабильны; прогнозы ансамбля нечувствительны к случайности в процессе обучения. Это делает случайные леса более безопасным выбором для производственных систем.

Масштабируемость

Деревья решений плохо масштабируются до очень больших наборов данных, если они растут глубоко (использование памяти растет). Случайные леса хорошо масштабируются из-за параллельного обучения, но память может стать узким местом при хранении многих деревьев. Оба могут обрабатывать данные высокой размерности, но случайные леса имеют явное преимущество в точности на измерение.

Что вы должны использовать? Рамки решений

Выбор между деревом решений и случайным лесом зависит от приоритетов вашего проекта.

Практические советы по внедрению

Вот несколько практических рекомендаций по использованию этих алгоритмов в рабочем процессе науки о данных (приведенные примеры).

Заключение

Деревья решений и случайные леса являются мощными инструментами, но они служат различным потребностям. Деревья решений предлагают беспрецедентную прозрачность и простоту, что делает их идеальными для исследовательского анализа и сценариев, где понимание каждого прогноза имеет решающее значение. Случайные леса жертвуют некоторой интерпретацией в обмен на значительно более высокую точность, надежность и устойчивость к переоборудованию. Для большинства реальных проектов, особенно с сложными, большими наборами данных, случайный лес является более безопасным и эффективным выбором. Однако всегда начинайте с простой модели, такой как дерево решений, чтобы установить базовый уровень. Как только вы поймете проблему и данные, вы можете уверенно перейти к случайному лесу, если точность оправдывает дополнительную сложность.

Для дальнейшего чтения, обратитесь к официальной документации по выбору деревьев , и , а также к основополагающим документам Бреймана , Рэндом Форестс , 2001] и , википедии, в записи об обучении деревьев решений .