Введение:

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

Работает:

Случайный лес работает с бэггингом, который является частью техники ансамбля.

Упаковка:

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

Пакетирование, также известное как Bootstrap Aggregation, представляет собой метод ансамбля, используемый случайным лесом. Бэггинг выбирает случайную выборку из набора данных. Следовательно, каждая модель создается из выборок (образцов начальной загрузки), предоставленных исходными данными, с заменой, известной как выборка строк. Этот этап выборки строк с заменой называется начальной загрузкой. Теперь каждая модель обучается независимо, что дает результаты. Окончательный результат основан на голосовании большинства после объединения результатов всех моделей. Этот шаг, который включает в себя объединение всех результатов и создание выходных данных на основе голосования большинства, известен как агрегация.

Этапы, связанные с (бэггингом) алгоритмом Random Forest:

Шаг 1: В случайном лесу n случайных записей берется из набора данных, содержащего k записей.

Шаг 2: Для каждой выборки строятся отдельные деревья решений.

Шаг 3: Каждое дерево решений будет генерировать выходные данные.

Шаг 4: Окончательный результат рассматривается на основе голосования большинства или усреднения для классификации и регрессии соответственно.

Гиперпараметры:

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

Следующие гиперпараметры увеличивают прогностическую силу:

1. n_estimators — количество деревьев, которые алгоритм строит перед усреднением прогнозов.

2. max_features — максимальное количество функций, которые случайный лес рассматривает при разделении узла.

3. min_sample_leaf — определяет минимальное количество листьев, необходимое для разделения внутреннего узла.

Следующие гиперпараметры увеличивают скорость:

1. n_jobs — сообщает движку, сколько процессоров ему разрешено использовать. Если значение равно 1, он может использовать только один процессор, но если значение равно -1, ограничений нет.

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

3. oob_score — OOB означает «из коробки». Это метод перекрестной проверки случайного леса. В этом треть выборки не используется для обучения данных, а используется для оценки ее производительности. Эти образцы называются образцами из мешка.

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

Преимущества:

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

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

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

4. Random Forest может автоматически обрабатывать пропущенные значения.

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

6. Эффективно обрабатывает нелинейные параметры: нелинейные параметры не влияют на производительность случайного леса, в отличие от алгоритмов на основе кривых. Таким образом, если существует высокая нелинейность между независимыми переменными, Random Forest может превзойти другие алгоритмы на основе кривых.

7. Random Forest может автоматически обрабатывать пропущенные значения.

8. Random Forest обычно устойчив к выбросам и может обрабатывать их автоматически.

9. Алгоритм Random Forest очень стабилен. Даже если в набор данных вводится новая точка данных, общий алгоритм не сильно пострадает, поскольку новые данные могут повлиять на одно дерево, но им очень сложно повлиять на все деревья.

10. Random Forest сравнительно меньше подвержен шуму.

Недостатки:

1. Сложность: случайный лес создает множество деревьев (в отличие от одного дерева в случае дерева решений) и объединяет их результаты. По умолчанию он создает 100 деревьев в библиотеке Python sklearn. Для этого этот алгоритм требует гораздо больше вычислительной мощности и ресурсов. С другой стороны, дерево решений простое и не требует больших вычислительных ресурсов.

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

Конец Примечание:

Спасибо за прочтение!!