А-Я деревьев решений

Часть 2: Прирост информации, индекс Джини, переоснащение и недостаточное оснащение

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

Получение информации: название вводит в заблуждение

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

IG атрибута A для образца S определяется следующим образом.

Значения (A) - это набор положительных значений для атрибута A. «Sv» - это подмножество S, для которого атрибут A имеет значение v. Давайте разберемся.

Давайте разделим наш образец (S) набора данных на 3 части на основе атрибута «Outlook». Если мы вычислим индивидуальные энтропии этих наборов данных, мы получим E = {0,97, 0, 0,97}.

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

(5/14 * 0,97) + (4/14 * 0) + (5/14 * 0,97) = 0,6928, где есть 5 точек в 1-м и 3-м наборе данных и 4 точки во втором наборе данных.

Теперь мы можем легко найти информационный прирост как (0,94–0,69 = 0,25). Обратитесь к Рис. 6 Части 1 этой статьи, чтобы проверить, как мы получили 0.94.

Важность получения информации

Теперь, если мы повторим это упражнение с другими атрибутами вместо внешнего вида, мы получим разные значения IG. Ниже приведен пример того же.

Очевидно, что существует значительный IG, если мы используем «Outlook» в качестве корневого узла и вырастаем дерево оттуда.

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

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

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

где C C - количество классов, а p (i) - вероятность случайного выбора элемента класса i .

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

Примесь Джини идеально разделенного набора данных составляет «0,5».

Построение дерева решений

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

✒︎ Поскольку на рисунке 2 показано, что атрибут «Outlook» имеет наивысший IG, мы разделим набор данных, используя его в качестве «корневого узла».

︎✒︎ На следующем этапе мы пересчитываем IG для всех оставшихся функций, за исключением той, которая используется в качестве корневого узла.

✒︎ Мы будем разделять данные таким образом, пока не достигнем явно установленного порогового значения точек (max_depth) или пока не дойдем только до конечных узлов.

Переобучение и max_depth

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

Когда DT достигнет max_depth, мы проведем большинство голосов по метке класса и придем к выводу.

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

Недостаточное оснащение и пень принятия решения

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

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

Дерево решений с max_depth = 1 называется пень принятия решения.

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

Сценарии использования деревьев решений

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

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

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

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

Использованная литература :