Ada Boost для классификации

Импортировать модули и выполнять алгоритм Ada boost с помощью кода Python довольно просто, но очень важно знать, как работает алгоритм? Итак, вот простое объяснение…

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

Рабочий процесс:
Для каждой записи назначается вес выборки[w=1/n], создается новый столбец с именем выборка веса[(n → Общее количество записей)]
Здесь базовые учащиеся деревья решений (DT), которые присутствуют в Ada Boost, создаются DT только с одной глубиной (известные как пни) [только 1 корневой узел + 2 конечных узла]. Первоначально для каждой функции, присутствующей в наборе данных, создается одно DT и, наконец, дерево с низким индексом Джини (или) энтропией считается базовым учеником 1.

что такое индекс Джини ???
В классификации мы используем коэффициент ошибок классификации, индекс Джини (или) перекрестную энтропию [все в порядке]
Предположим, что всего 10 студентов, и мы классифицируем их на две группы (пройдено или не пройдено) в зависимости от общего количества часов, которые они изучили, пусть есть 5 студентов, которые учились более 5 часов, из которых 4 сдали и один не сдал, поэтому назначьте пропуск этой группе, из 5 других студентов 3 неудачно и 2 успешно, поэтому назначьте fail (F) этой группе, следовательно, частота ошибок классификации составляет 30%. [1 неудачно + 2 успешно -> которые неправильно классифицированы].

Следовательно,
индекс Джини и кросс-энтропия означают чистоту узла, а формулы таковы:
G = ΣP(1-P) (например: если у нас есть два класса, то формула ΣP1(1-P1 ) + ΣP2(1-P2)) [Это значение должно быть низким для высокой чистоты, для описанной выше проблемы классификации P=4/5 в области прохода] И D[Энтропия]= -ΣP(log P). На практике предпочтение отдается индексу Джини или кросс-энтропии.

Вернемся к нашему рабочему процессу,

Теперь рассмотрим, что всего имеется 7 записей, т.е. n=7 и 1 запись ошибочно классифицирована базовым культем, тогда ее [сумма весов выборки] рассматривается как [Общая ошибка (TE)].
Тогда мы найдем производительность пня с использованием формулы.
Определение общей ошибки: Общая ошибка для пня представляет собой сумму весов, связанных с неправильно классифицированными образцами.

ПРОИЗВОДИТЕЛЬНОСТЬ ПЕНЯ = 1/2 * log (основание e) [1-TE/TE]

Теперь нам нужно обновить вес выборки неправильно классифицированных записей и правильно классифицированных записей с помощью следующих формул:

  • вес старого образца * e в степени производительности пня.
  • вес старой выборки * e в степени -(Производительность пня).[Отрицательная степень] Таким образом, новые веса выборки правильно классифицированных записей будут уменьшены, а веса выборки неправильно классифицированных записей будут увеличены. Но это не окончательный обновленный вес, теперь разделите каждый вес на общую сумму новых весов (чтобы мы получили нормализованные веса).

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

ЭТО ПРОЦЕСС ПРОДОЛЖАЕТСЯ……………………..

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