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

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

Введение

Как следует из названия, эта модель черпает вдохновение из дерева. Не за то, как это работает, а за то, как это выглядит. Есть узлы и ответвления.

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

Что ж, этим и объяснялось слово «дерево» в названии модели. Слово «Решение» в названии имеет то же значение, что и в английских словарях, то есть «вывод или решение, принятое после рассмотрения». Соображения здесь принимаются на основе данных. Вы можете представить корневой узел как одну из функций, задающую определенный вопрос входящим данным, а затем отправляющую его дальше одному из узлов, исходящих от него самого, в соответствии с ответом данных. То же самое произойдет и во внутреннем узле. Это будет еще одна функция, которая будет задавать другой вопрос, а затем направлять данные на другой узел. Это продолжается до тех пор, пока узел не достигнет какой-то «чистоты» (мы обсудим это позже). Наряду с вопросом каждый узел также обозначает класс или цель. Этот класс был назначен узлу в соответствии с вопросами, которые были заданы до сих пор (функции, используемые до узла). Видите ли, здесь каждый узел принимает решение, и каждое решение влияет на окончательное решение в конце.

Как построить дерево решений?

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

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

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

примесь Джини

Примесь Джини — это мера примеси или неоднородности набора данных. Он варьируется от 0 до 1, где 0 представляет полностью чистый класс (все элементы принадлежат к одному типу), а 1 представляет полностью нечистый набор (все классы встречаются с одинаковой вероятностью).

Чтобы вычислить примесь Джини, учитывая общее количество классов C и вероятность p(i) выбора точки данных с классом i, вы можете использовать следующую формулу:

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

Вероятность(да)=4/10; Вероятность(Нет)=6/10

Джини = 1-(0,4²+0,6²) = 0,48

Теперь для новых узлов мы вычисляем Джини для отдельных узлов, а затем добавляем их в соответствии с их весами. Рассмотрим первое дерево (Жанр).

Джини для левого узла = 1-(0,5²+0,5²) = 1–0,50 = 0,50

Джини для правого узла = 1-(0,25²+0,75²) = 0,38

Взвешенная сумма = 0,6*0,5+0,4*0,38 = 0,45

Следовательно, примесь для первого дерева (жанр) составляет 0,45, что ниже, чем примесь набора данных. Аналогично вычисляем примесь для следующих двух деревьев.

Примесь Джини для второго дерева (#pages) = 0,47

Примесь Джини для третьего дерева (рейтинг) = 0,40

Здесь третье дерево имеет наименьшую нечистоту из всех. Следовательно, мы будем создавать корневой узел с функцией рейтинга.

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

Энтропия

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

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

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

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

  1. CHAID (автоматический детектор взаимодействий хи-квадрат): CHAID — это алгоритм дерева решений, который может обрабатывать категориальные переменные-предикторы с более чем двумя категориями. Он использует статистические тесты хи-квадрат для определения наиболее значимых взаимодействий переменных.
  2. CRUISE (правило классификации с непредвзятым выбором и оценкой взаимодействия): CRUISE — это алгоритм дерева решений, который использует статистические тесты для выявления значительных взаимодействий между переменными. Он может обрабатывать как непрерывные, так и категориальные переменные-предикторы.
  3. M5: M5 – это алгоритм дерева решений, который может обрабатывать как непрерывные, так и категориальные переменные-предикторы. Он использует комбинацию линейной регрессии и деревьев решений для построения моделей, способных обрабатывать сложные наборы данных.
  4. QUEST (быстрое, беспристрастное и эффективное статистическое дерево): QUEST – это алгоритм дерева решений, который использует статистические тесты для выбора наилучшей переменной разделения. Он может обрабатывать как непрерывные, так и категориальные переменные-предикторы и может идентифицировать взаимодействия между переменными.

Деревья решений для регрессии

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

В регрессии дерева решений целевая переменная является непрерывной переменной, а не категориальной переменной. Цель состоит в том, чтобы предсказать значение целевой переменной на основе значений переменных-предикторов. Как и в случае с классификацией, набор данных разбивается на более мелкие подмножества на основе значений переменных-предикторов. Но вместо использования Джини/энтропии в качестве критерия разделения используется среднеквадратическая ошибка (MSE) или средняя абсолютная ошибка (MAE). После создания дерева каждый конечный узел имеет набор целевых значений из обучающих данных. Прогноз здесь делается путем вычисления среднего значения этих целевых точек данных.

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

  1. Биннинг равной ширины: этот метод делит диапазон значений на фиксированное количество интервалов одинаковой ширины. Например, если мы хотим разделить переменную на пять интервалов, мы должны разделить диапазон значений на пять интервалов одинаковой ширины.
  2. Разделение на равные частоты: этот метод делит диапазон значений на интервалы таким образом, чтобы каждый интервал содержал равное количество наблюдений. Этот метод может быть полезен для обработки асимметричных распределений.
  3. Методы на основе кластеризации: этот метод группирует схожие значения в один и тот же интервал на основе некоторой меры расстояния или сходства.

Подгонка склонных к переоснащению деревьев решений

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

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

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

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

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

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

Краткое содержание

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