Все, что вам нужно знать об оптимизации алгоритма случайного леса

Опубликовано: 2020-12-22

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

Существует три метода улучшения модели машинного обучения для улучшения результатов программы машинного обучения:

  • Улучшение качества входных данных и разработка функций
  • Гиперпараметрическая настройка алгоритма
  • Использование разных алгоритмов

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

Прежде чем мы углубимся в настройку гиперпараметров случайного леса , давайте сначала рассмотрим гиперпараметры и настройку гиперпараметров в целом.

Оглавление

Что такое гиперпараметры?

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

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

Что такое настройка гиперпараметров?

Настройка гиперпараметров — это процесс поиска идеального набора гиперпараметров для задачи машинного обучения.

Теперь, когда мы увидели, что такое гиперпараметры и настройка гиперпараметров, давайте посмотрим на гиперпараметры в случайном лесу и настройку гиперпараметров случайного леса .

Читайте: Вопросы интервью по дереву принятия решений

Что такое настройка гиперпараметров случайного леса?

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

Гиперпараметр 1: max_depth

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

Гиперпараметр 2: max_terminal_nodes

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

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

Связанное Чтение: Классификация дерева решений

Гиперпараметр 3: n_оценщиков

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

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

Гиперпараметр 4: max_features

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

Гиперпараметр 5: min_samples_split

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

Как выполнить настройку гиперпараметров случайного леса?

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

Например, предположим, что вам нужно настроить количество оценщиков и минимальное разделение дерева в алгоритме случайного леса. Поэтому вы можете использовать следующую команду для настройки гиперпараметров:

лес = RandomForestClassifier (random_state = 1, n_estimators = 20, min_samples_split = 2)

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

Заключение

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

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

Если вам интересно узнать больше о деревьях решений и машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и заданий. , статус выпускника IIIT-B, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

Зачем использовать алгоритм случайного леса?

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

В чем разница между деревом решений и случайным лесом?

Алгоритм дерева решений — это метод контролируемого обучения в машинном обучении, который моделирует одно дерево, представляющее собой серию последующих решений, которые приводят к определенному результату. Дерево решений просто интерпретировать и понимать. Но часто этого недостаточно для решения более сложных задач. Именно здесь становится полезным алгоритм случайного леса — он использует несколько деревьев решений для решения конкретных проблем. Другими словами, алгоритм случайного леса случайным образом генерирует несколько деревьев решений и объединяет их результаты для получения окончательного результата. Хотя случайный лес труднее интерпретировать, чем дерево решений, он дает точные результаты, когда задействованы огромные объемы данных.

Каковы преимущества использования алгоритма случайного леса?

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