Random Forest работает как с классификацией, так и с регрессией как с постановкой задачи.

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

если вы не знаете о блогах DT 1, 2.

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

для регрессии Random Forest берет среднее значение каждого числового вывода.

Почему Random Forest называется Random Forest и зачем он нам нужен?

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

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

RF использует деревья решений для прогнозирования. если там так много деревьев, то это называется Лес. поэтому есть лес.

Итак, в дереве решений есть проблема, называемая переоснащением, чтобы решить эту проблему, мы используем RF.

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

Гиперпараметры для RF

  1. n_estimators: общее количество деревьев решений в RF. по умолчанию = 100
  2. критерий: для измерения качества разделения
  • {"джини", "энтропия"}, по умолчанию = "джини"

3. max_features: количество функций, которые следует учитывать при поиске наилучшего разделения.

  • {"auto", "sqrt", "log2"}, int или float, по умолчанию = "auto"
  • Если int, то учитывайте max_features признаков при каждом разделении.
  • Если с плавающей запятой, то max_features является дробью, а round(max_features * n_features) объектов учитываются при каждом разделении.
  • Если «авто», то max_features=sqrt(n_features).
  • Если «sqrt», то max_features=sqrt(n_features) (то же, что и «авто»).
  • Если «log2», то max_features=log2(n_features).
  • Если нет, то max_features=n_features.

n_feature означает количество функций.

Плюсы

уменьшить переоснащение DT и помогает повысить точность.

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

нормализация данных не требуется

Минусы

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

требуется много времени, так как он объединяет так много деревьев.

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

Совет:- вы можете использовать другой алгоритм, а не DT для построения базовой модели в RF. (Википедия)

Итак, у меня есть некоторые вопросы относительно РФ. если вы знаете, пожалуйста, дайте мне знать в разделе комментариев,

q) предположим, что у нас есть проблема классификации (вывод да/нет) и в RF мы используем 10 DT. если 5 DT дали ответ «да», а еще 5 DT дали ответ «Нет». Теперь классификатор RF выбирает, какой из них будет выходным?

Спасибо, что читаете этот блог :)