Я пытаюсь реализовать алгоритм ID3 или C4.5.ID3 двоичное дерево или небиновое дерево?
Согласно алгоритму ID3, информация усиления вычисляется следующим образом:
Для примера: обучение данных, как это:
credit age label
normal young yes
normal old yes
bad old no
excellent middle yes
ИГ кредита хотел бы это: IG(credit) = H(D) - P(credit==normal)H(D|credit==normal) - P(credit==bad)H(D|credit==bad) - P(credit==excellent)H(D|credit==excellent)
Когда я выбираю кредит как лучшую функцию для разделения, в следующей процедуре, я не буду снова рассмотрим атрибут «кредит».
Однако: Я также вижу, кто-то реализовано так: IG(credit=normal) = H(D) - P(credit==normal)H(D|credit==normal) - P(credit ~= normal)H(D|credit ~= normal)
Когда я выбираю кредит == нормальный, как лучшая особенность для разделения, в следующем порядке, я буду рассматривать атрибут «кредитный» снова, как кредит == «плохо».
Результирующее дерево различных вычислений расчета IG, одно - не двоичное дерево, другое - двоичное дерево.
Вопрос в том, эквивалентны ли два дерева? Когда я тестирую на двух деревьях, результаты всегда будут одинаковыми? Или один лучше другого? Или трудно сказать, что лучше, просто зависит от данных?