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

Деревья решений (DT) - это непараметрический (фиксированное количество параметров) контролируемый метод обучения, используемый для классификации и регрессии. Цель состоит в том, чтобы создать модель, которая предсказывает значение целевой переменной, изучая простые правила принятия решений, выведенные из характеристик данных.

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

Математическая реализация: -

Важная терминология:

1.Корневой узел: он представляет всю генеральную совокупность или выборку, которая в дальнейшем делится на два или более однородных набора.
2.Разделение: это процесс разделение узла на два или более подузлов.
3. Узел принятия решения: когда подузел разделяется на следующие подузлы, он называется узлом решения. < br /> 4.Leaf / Terminal Node: узлы не разделяются, это называется Leaf или Terminal node.
5.Pruning: когда мы удаляем подузлы узла принятия решения , этот процесс называется сокращением. Вы можете сказать противоположный процесс разделения.
6. Ветвь / Поддерево: Подраздел всего дерева называется ветвью или поддеревом.
7. Родитель и Дочерний элемент. Узел: узел, который разделен на подузлы, называется родительским узлом подузлов, где подузлы являются дочерними по отношению к родительскому узлу.

Как это работает?

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

Как мы видим ниже, это диаграмма рассеяния набора данных, в которой все точки данных отмечены на плоскости, где x1 и x2 - независимые переменные, а Y - зависимая переменная, которую мы хотим предсказать (поскольку это двухмерный график ось y не видна).

Итак, как мы узнаем, какова оптимальная точка разделения на каждом узле?

Начиная с корня, данные разделяются по функциям, что дает наибольший сбор информации (IG). Затем в итеративном процессе мы повторяем эту процедуру разделения на каждом дочернем узле до тех пор, пока листья не станут чистыми, то есть все образцы на каждом узле принадлежат одному и тому же классу.

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

Максимальное получение информации

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

Здесь f - это функция для выполнения разделения, Dp, Dleft и Dright - это наборы данных родительский и дочерний узлы, I - мера примеси, Np - общее количество выборок в родительском узле, а Nleft и Nright - количество выборок в дочерних узлах.

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

В приведенной выше задаче x1, x2 - это две функции, которые позволяют нам делать прогнозы для целевой переменной y, задавая вопросы True / False. Для каждого ответа True и False есть отдельные ветви. Независимо от ответов на вопросы, мы в конечном итоге достигаем предсказания (листовой узел). Начните с корневого узла наверху и продвигайтесь по дереву, отвечая на вопросы по пути. Итак, учитывая любую пару X1, X2. Для прогнозирования значения Y мы берем среднее значение всех точек в этом листе, поскольку это будет наше прогнозируемое значение Y.

Заключение:

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