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

Но что, если бы мы могли комбинировать различные типы моделей и получить ансамблевую модель, которая учитывает слабые стороны одной модели?

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

Методы ансамбля

Согласно Википедии, давайте сначала разберемся со значением ансамбля,

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

Дерева решений

Хотя в этой статье предполагается предварительное знание деревьев решений, давайте все же формально определим деревья решений.

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

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

Случайные леса

Случайный лес — это алгоритм обучения с учителем, состоящий из множества деревьев решений.

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

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

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

Как создается отдельное дерево в случайном лесу?

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

Упаковка

Bootstrap Aggregation (или для краткости Bagging) — это простой и очень мощный ансамблевый метод. Это метод выбора случайных выборок наблюдений из набора данных. Каждый из этих образцов затем используется для обучения каждого дерева в лесу.

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

Мы обучаем ряд деревьев решений из начальной (случайной) выборки вашего обучающего набора. После того, как мы создали M различных моделей, мы используем совокупный вывод M различных моделей в качестве вывода нашего ансамбля.

Разнообразие и приемлемость

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

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

Ансамбли избегают введения в заблуждение предположениями, сделанными отдельными моделями.

В задаче бинарной классификации ансамбль принимает решения, набирая большинство голосов. Это означает, что если в ансамбле n моделей и более половины из них дают вам правильные ответы, вы примете правильное решение; если более чем n/2 ошибочно, вы примете неверное решение. В аналогии с подбрасыванием монеты правильное предсказание соответствует орлу, а неправильное предсказание соответствует решке.

Преимущества случайного леса

Это уменьшает переобучение в деревьях решений и помогает повысить точность.

Случайный лес имеет меньшую дисперсию модели, чем обычное отдельное дерево.

Он гибок как для задач классификации, так и для регрессии.

Он хорошо работает как с категориальными, так и с непрерывными значениями.

Он автоматизирует отсутствующие значения, присутствующие в данных.

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

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

Распараллеливание: для создания леса требуется несколько деревьев. Поскольку два дерева независимо строятся на разных данных и атрибутах, их можно построить отдельно. Это означает, что вы можете в полной мере использовать свой многоядерный процессор для создания случайных лесов. Предположим, нужно построить 4 ядра и 100 деревьев; каждое ядро ​​может построить 25 деревьев, чтобы получился лес

Недостатки случайного леса

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

Он также требует много времени для обучения, так как объединяет множество деревьев решений для определения класса.

Из-за ансамбля деревьев решений он также страдает интерпретируемостью и не может определить значимость каждой переменной.

Возьмите немного кода — внедрите случайные леса

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

https://github.com/online-ssoni/Random-Forest-Article/blob/main/Random_Forest_example.ipynb