Машинное обучение — дерево решений — часть I

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

Проще говоря: -

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

Например, вы можете начать с вопроса: «Это млекопитающее?» Если ваш друг говорит «да», вы знаете, что животное принадлежит к группе млекопитающих, а если ваш друг говорит «нет», вы знаете, что это не млекопитающее, поэтому оно должно быть в другой группе.

Затем вы можете спросить: «У него есть крылья?» Если ваш друг скажет «да», вы можете сузить выбор до животных с крыльями. Если ваш друг говорит «нет», вы знаете, что это не животное с крыльями, поэтому оно должно быть в другой группе.

Вы продолжаете задавать эти вопросы, и с каждым ответом вы делите животных на все меньшие и меньшие группы, пока, наконец, не найдете одно животное, которое соответствует всем ответам. Это ваше предположение!

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

Например, если он пытается определить, является ли электронное письмо спамом, он может начать с вопроса: «Содержит ли электронное письмо определенные слова, обычно встречающиеся в спам-сообщениях?» Если ответ да, он знает, что письмо может быть спамом. Если ответ отрицательный, он знает, что это, вероятно, не спам.

Затем он может спросить: «Пришло ли электронное письмо от отправителя, которого вы знаете?» Если ответ положительный, это может быть менее вероятно, что это спам. Если ответ отрицательный, скорее всего, это спам.

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

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

Основная идея:

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

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

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

Разделение. Выбранный атрибут используется для разделения данных на подмножества (дочерние узлы) на основе возможных значений атрибута. Каждое подмножество представляет собой ветвь дерева.

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

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

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

Ссылки:

1. https://en.wikipedia.org/wiki/Decision_tree_learning

2. https://wiki.pathmind.com/decision-tree

3. https://scikit-learn.org/stable/modules/tree.html