Кто-то правильно сказал, что лучший способ предсказать будущее - это создать его. В этом блоге мы создаем дерево решений, чтобы предсказывать будущее. Ура !!! Итак, приступим к изучению этого замечательного алгоритма.

Что такое дерево решений?

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

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

Как работает дерево решений?

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

Набор данных радужной оболочки, который показан на изображении выше, имеет четыре входных объекта и метку с именем «Тип вида». Наша задача - предсказать правильный тип вида с учетом входных характеристик. Итак, давайте начнем…

В Дереве решений мы выберем функцию и сделаем ее корнем дерева, и значения этой функции будут действовать как ветви. Теперь в этом примере предположим, что если мы выберем длину чашелистника, то мы выберем, скажем, значение длины чашелистика менее 2 в качестве одной ветви. и от 2 до 5 как вторая ветвь и больше 5 как третья ветвь. Теперь, когда у нас есть разделение ветвей на основе длины Sepal, мы будем категоризировать вывод для каждой ветви, например, если у нас есть 10 экземпляров данных и 3 принадлежат Sepal Длина меньше 2, 4 принадлежит к длине чашелистика от 2 до 5, а остальные 3 имеют длину чашелистика больше 5.

Это будет выглядеть так:

Посмотрите на таблицу выше, для длины чашелистика менее 2 у нас есть 3 экземпляра данных, 2 экземпляра с типом 1 и 1 экземпляр с типом 2, и мы далее выберем новую функцию, и на основе этой функции мы будем делать расщепление.

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

Критерии остановки

Мы прекратим разбиение узлов, когда будет удовлетворен любой из следующих критериев:

a) Все образцы в узле имеют одинаковый ответ: если это произойдет, то это будет выходной узел ветви (как в приведенном выше случае для длины сепала от 2 до 5).

б) Не осталось функций для разделения: если это произойдет, мы будем прогнозировать результат на основе класса большинства.

Как выбрать функции

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

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

У нас есть два алгоритма выбора функций:

  1. Индекс Джини
  2. Получение информации

Я расскажу о них по очереди.

Индекс Джини

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

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

а) Если длина сепала меньше 2, индекс Джини будет 1 - ((2/3) ² + (1/3) ²).

б) Для длины сепала от 2 до 5 индекс Джини будет 1 - ((4/4) ²)

c) Для Sepal Length больше 5 индекс Джини равен 1 - ((1/3) ² + (1/3) ² + (1/3) ²).

Теперь добавим вес и просуммируем все эти значения, получим

(3/10)*a+(4/10)*b+(3/10)*c

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

Получение информации

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

Энтропия - это мера случайности в экземплярах данных. Если энтропия равна 0, то экземпляры данных считаются чистыми, а если значение Entrpy равно 1, то экземпляры данных считаются настолько случайными, насколько это возможно.

Мы рассмотрим тот же пример, чтобы прояснить, что делают эти формулы.

Взяв функцию длины сепала и сначала вычислив энтропию, она будет равна (здесь p равно вероятности типа вывода в этой ветви):

а) Для длины сепала менее 2 энтропия будет - ((2/3) * log (2/3) + (1/3) * log (1/3))

б) Для длины сепала от 2 до 5 энтропия будет - ((4/4) * log (4/4))

c) Для длины сепала больше 5 энтропия будет - ((1/3) * log (1/3) + (1/3) * log (1/3) + (1/3) * log (1 / 3))

Мы можем видеть, что для части b мы получаем энтропию, равную нулю, поскольку все четыре точки в этой ветви принадлежат одному и тому же выходному классу (здесь у нас есть логарифм по основанию 2).

Теперь, переходя к следующей части, мы рассчитаем информационное усиление, и функция с наибольшим информационным усилением будет выбрана следующей в дереве решений. Первоначально энтропия равна 1.

Информационное усиление для функции «Длина чаши»: 1 - ((3/10) * a + (4/10) * b + (3/10) * c)

Аналогичным образом мы можем рассчитать все характеристики.

ДЕРЕВО РЕШЕНИЙ РЕГРЕССОР

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

Что лучше: индекс Джини или информационный прирост

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

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

  1. Дисперсия дерева решений обычно выше, что приводит к переобучению дерева.

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

Несмотря на некоторые недостатки, деревья решений имеют много преимуществ.

  1. Их легко понять, и мы можем визуализировать это, чтобы понять расщепление.
  2. Для обучения им требуется очень мало данных.

3. Они недорогие в вычислительном отношении.

Конечные заметки

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

В случае каких-либо вопросов вы всегда можете связаться со мной по [email protected]