Алгоритм случайного леса: когда использовать и как использовать? [С плюсами и минусами]
Опубликовано: 2020-12-24Наука о данных включает в себя широкий спектр алгоритмов, способных решать проблемы, связанные с классификацией. Случайный лес обычно находится на вершине иерархии классификации. Другие алгоритмы включают в себя машину опорных векторов, классификатор наивного смещения и деревья решений.
Прежде чем узнать об алгоритме случайного леса, давайте сначала разберемся с основной работой деревьев решений и тем, как их можно комбинировать для формирования случайного леса.
Оглавление
Деревья решений
Алгоритм дерева решений относится к категории контролируемых алгоритмов обучения. Целью дерева решений является предсказание класса или значения целевой переменной на основе правил, разработанных в процессе обучения. Начиная с корня дерева, мы сравниваем значение корневого атрибута с точкой данных, которую хотим классифицировать, и на основе сравнения переходим к следующему узлу.
Двигаясь дальше, давайте обсудим некоторые важные термины и их значение при работе с деревьями решений.
- Корневой узел : это самый верхний узел дерева, из которого происходит деление для формирования более однородных узлов.
- Разделение точек данных: точки данных разделяются таким образом, чтобы уменьшить стандартное отклонение после разделения.
- Прирост информации: прирост информации — это уменьшение стандартного отклонения, которого мы хотим достичь после разделения. Большее уменьшение стандартного отклонения означает более однородные узлы.
- Энтропия : Энтропия - это неравномерность, присутствующая в узле после того, как произошло разделение. Больше однородности в узле означает меньше энтропии.
Читайте: Вопросы интервью по дереву принятия решений
Потребность в алгоритме случайного леса
Алгоритм дерева решений склонен к переоснащению, т. е. к высокой точности обучающих данных и низкой производительности к тестовым данным. Двумя популярными методами предотвращения переобучения данных являются сокращение и случайный лес. Обрезка относится к уменьшению размера дерева, не влияя на общую точность дерева.

Теперь давайте обсудим алгоритм случайного леса.
Одним из основных преимуществ случайного леса является его способность использоваться как в задачах классификации, так и в задачах регрессии.
Как следует из названия, лес образуется путем объединения нескольких деревьев. Точно так же алгоритм случайного леса объединяет несколько алгоритмов машинного обучения (деревьев решений) для повышения точности. Это также называется ансамблевым обучением. Здесь низкая корреляция между моделями помогает обеспечить более высокую точность, чем любой из отдельных прогнозов. Даже если некоторые деревья генерируют ложные прогнозы, большинство из них будут давать верные прогнозы, поэтому общая точность модели увеличивается.
Алгоритмы случайного леса могут быть реализованы как в Python, так и в R, как и другие алгоритмы машинного обучения.
Когда использовать случайный лес, а когда другие модели?
Прежде всего, нам нужно решить, является ли задача линейной или нелинейной. Затем, если проблема линейная, мы должны использовать простую линейную регрессию в случае, если присутствует только одна функция, а если у нас есть несколько функций, мы должны использовать множественную линейную регрессию. Однако, если проблема нелинейна, мы должны использовать полиномиальную регрессию, SVR, дерево решений или случайную выборку.
Лес. Затем, используя очень важные методы, которые оценивают производительность модели, такие как перекрестная проверка k-Fold, поиск по сетке или XGBoost, мы можем выбрать правильную модель, которая решает нашу проблему.
Как узнать, сколько деревьев я должен использовать?
Любому новичку я бы посоветовал определить количество необходимых деревьев опытным путем. Обычно это занимает меньше времени, чем реальное использование методов, чтобы определить наилучшее значение путем настройки и настройки вашей модели. Экспериментируя с несколькими значениями гиперпараметров, таких как количество деревьев. Тем не менее, можно использовать такие методы, как кросс-валидация покрытия k-Fold и поиск по сетке, которые являются мощными методами для определения оптимального значения гиперпараметра, такого как здесь количество деревьев.

Можно ли использовать p-значение для случайного леса?
Здесь значение p будет незначительным в случае случайного леса, поскольку они являются нелинейными моделями.
Бэгинг
Деревья решений очень чувствительны к данным, на которых они обучаются, поэтому подвержены переобучению. Однако случайный лес использует эту проблему и позволяет каждому дереву случайным образом выбирать из набора данных для получения различных древовидных структур. Этот процесс известен как бэггинг.
Бэггинг не означает создание подмножества обучающих данных. Это просто означает, что мы по-прежнему снабжаем дерево обучающими данными, но размером N. Вместо исходных данных мы берем выборку размера N (N точек данных) с заменой.
Важность функции
Алгоритмы случайного леса позволяют нам определить важность данной функции и ее влияние на прогноз. Он вычисляет оценку для каждой функции после обучения и масштабирует их таким образом, что их суммирование дает единицу. Это дает нам представление о том, какую функцию следует удалить, поскольку они не влияют на весь процесс прогнозирования. С меньшими функциями модель с меньшей вероятностью станет жертвой переобучения.
Гиперпараметры
Использование гиперпараметров либо увеличивает прогностическую способность модели, либо делает модель быстрее.
Начнем с того, что параметр n_estimator — это количество деревьев, которые алгоритм строит перед получением среднего прогноза. Высокое значение n_estimator означает повышенную производительность с высоким прогнозированием. Однако его высокое значение также сокращает время расчета модели.
Еще один гиперпараметр — max_features, который представляет собой общее количество функций, которые модель рассматривает перед разделением на последующие узлы.

Кроме того, min_sample_leaf — это минимальное количество листьев, необходимое для разделения внутреннего узла.
Наконец, random_state используется для получения фиксированного вывода, когда выбирается определенное значение random_state вместе с теми же гиперпараметрами и обучающими данными.
Преимущества и недостатки алгоритма случайного леса
- Случайный лес — очень универсальный алгоритм, способный решать как задачи классификации, так и регрессии.
- Кроме того, задействованные гиперпараметры легко понять, и обычно их значения по умолчанию дают хороший прогноз.
- Случайный лес решает проблему переобучения, возникающую в деревьях решений.
- Одним из ограничений случайного леса является то, что слишком много деревьев может замедлить обработку алгоритма, что сделает его неэффективным для прогнозирования данных в реальном времени.
Читайте также: Типы алгоритмов классификации
Заключение
Алгоритм случайного леса — очень мощный алгоритм с высокой точностью. Его реальное применение в области инвестиционно-банковских услуг, фондового рынка и веб-сайтов электронной коммерции делает их очень мощным алгоритмом для использования. Однако лучшей производительности можно добиться с помощью алгоритмов нейронных сетей, но эти алгоритмы иногда усложняются и требуют больше времени для разработки.
Если вам интересно узнать больше о дереве решений, машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и задания, статус выпускника IIIT-B, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.
Каковы недостатки использования алгоритмов случайного леса?
Random Forest — это сложный алгоритм машинного обучения. Он требует много ресурсов обработки, так как он генерирует много деревьев, чтобы найти результат. Кроме того, по сравнению с другими алгоритмами, такими как метод дерева решений, этот метод требует много времени на обучение. Когда предоставленные данные являются линейными, регрессия случайного леса работает плохо.
Как работает алгоритм случайного леса?
Случайный лес состоит из множества различных деревьев решений, подобно тому, как лес состоит из множества деревьев. Результаты метода случайного леса фактически определяются предсказаниями деревьев решений. Метод случайного леса также снижает вероятность переобучения данных. Классификация случайного леса использует стратегию ансамбля для получения желаемого результата. Различные деревья решений обучаются с использованием обучающих данных. Этот набор данных содержит наблюдения и характеристики, которые выбираются случайным образом после разделения узлов.
Чем дерево решений отличается от случайного леса?
Случайный лес — это не что иное, как набор деревьев решений, что усложняет его понимание. Случайный лес труднее читать, чем дерево решений. По сравнению с деревьями решений случайный лес требует большего времени обучения. Однако при работе с огромным набором данных предпочтение отдается случайному лесу. Переобучение чаще встречается в деревьях решений. Переобучение менее вероятно в случайных лесах, поскольку они используют множество деревьев.