Дерево решений - волшебная палочка специалистов по данным для решения дилеммы Гамлета

Деревья решений относятся к семейству алгоритмов машинного обучения с учителем и считаются панацеей от всех проблем науки о данных. Специалист по анализу данных часто замечал такие остроумные замечания, как: «Если постановка задачи ставит вас перед дилеммой Гамлета, и вы не можете придумать какой-либо алгоритм (независимо от ситуации), используйте дерево решений!».

Чаще всего, будь то в промышленности или на соревнованиях kaggle, видно, что дерево решений или, по крайней мере, алгоритмы, которые развиваются на его основе (Bagging, Boosting ensemble), практикуются. религиозно.

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

Что еще можно пожелать от модели? Просто волшебство ✨

Деревья решений нарисованы в перевернутом виде, то есть корень находится наверху, а листья - внизу. В первую очередь дерево решений верит в правило «разделяй и властвуй».

Базовая терминология

Давайте посмотрим на основную терминологию, используемую в деревьях решений:

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

Интуиция

Существует два типа деревьев решений:

A. Деревья решений по классификации и B. Деревья решений по регрессии

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

Предположим, у нас есть две функции X и Y, и на правой панели вы можете увидеть несколько разбросанных точек данных. Зеленые и серые листы - это два класса в зависимой переменной. Итак, что в основном делает дерево решений, оно разрезает весь набор данных на части за несколько итераций. Как показано, есть разделение 1 при X = 0,5, разделение 2 при Y = 0,5 и разделение 3 при X = 0,25.

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

Математика алгоритма

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

Я. Индекс Джини

  • Согласно ему, если мы выбираем два элемента из совокупности случайным образом, то они должны быть одного класса, а вероятность равна 1, если совокупность чистая.
  • Это мера нечистоты. Следовательно, чем ниже значение индекса Джини, тем выше однородность.
  • Математически представлен как

Индекс Джини = 1 - [(P) ² + (1-P) ²]

где P - доля положительных образцов в этом узле.

  • Индекс Джини «0» указывает на то, что узел чистый. Это означает, что дальнейшее разделение не требуется.
  • Вовлеченные шаги -

Рассчитайте Джини для подузлов, используя формулу.

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

II. Хи-квадрат

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

Хи-квадрат = ((Фактическое - Ожидаемое) ² / Ожидаемое) ¹ / 2

  • Это мера чистоты. Следовательно, чем выше значение хи-квадрат, тем выше статистическая значимость различий между подузлом и родительским узлом.
  • Вовлеченные шаги -

Вычислите хи-квадрат для отдельного узла, рассчитав отклонение для обоих успехов и неудач.

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

III. Энтропия

  • Это мера случайности обрабатываемой информации.
  • Чем выше энтропия, тем труднее делать какие-либо выводы из этой информации.
  • Математически представлен как

Энтропия = -p * log (p) - q * log (q)

  • Здесь p и q - вероятность успеха и неудачи соответственно в этом узле.
  • Бревно берется по базе «2».
  • Вовлеченные шаги -

Вычислить энтропию родительского узла

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

IV. Уменьшение дисперсии

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

  • Вовлеченные шаги -

Рассчитайте дисперсию для каждого узла.

Рассчитайте дисперсию для каждого разделения как средневзвешенное значение дисперсии каждого узла.

Давайте возьмем дискретный пример и твердо возьмемся за тему.

Визуализация

Как утверждалось ранее, деревья решений интерпретируемы и могут быть визуализированы. Библиотека Graphviz пришла на помощь специалистам по данным при работе над python. ЗДЕСЬ - это руководство по загрузке Graphviz .

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

В чем подвох?

Что ж, наша волшебная пуля, безусловно, звучит как спаситель жизни, но это слишком хорошо, чтобы быть правдой, не так ли ?! Самая большая опасность при моделировании деревьев решений заключается в их склонности к переобучению. Если для дерева решений не установлен предел, это даст вам 100% точность обучающего набора, потому что в худшем случае будет получен 1 конечный узел для каждого наблюдения.

Таким образом, предотвращение переобучения имеет решающее значение при моделировании дерева решений, и это можно сделать двумя способами:

А. Установка ограничений на размер дерева ( Настройка гиперпараметров ) & Б. Обрезка деревьев

Дальнейшее чтение

Обратитесь к ссылкам ниже для более глубокого понимания концепции.

  1. Аналитика видхья
  2. Scikit Документация
  3. "Переполнение стека"

Поздравляем !! с освоением одного из старинных алгоритмов машинного обучения :)