Знаете ли вы, что дерево решений, наряду с бэггингом и бустингом, являются одними из наиболее широко используемых методов в науке о данных (за исключением глубокого обучения)? Дерево решений может решать как проблемы регрессии, так и проблемы классификации, что делает его универсальным инструментом для анализа данных.
По своей сути дерево решений начинается с исходных данных в качестве корневого узла и растет за счет создания узлов для группировки похожих выходных данных. Алгоритм использует такие показатели, как Джини, Прирост информации и Хи-квадрат, чтобы определить лучший способ разделения переменных. Давайте подробнее рассмотрим, как это работает как для классификации, так и для регрессионного моделирования.
В реальных ситуациях проблемы могут быть сложными, а классификация может зависеть от нескольких независимых переменных. Например, рассмотрите возможность использования Возраста, Пола и Местонахождения, чтобы определить, закончил ли кто-то выпускной. Хотя может показаться заманчивым разделить данные по полу, мы быстро понимаем, что нам необходимо дополнительно разделить данные по другим переменным, чтобы получить лучшую классификацию.
Поскольку мы продолжаем разделять данные, мы стремимся создать «идеальные разделения», в которых каждое ведро содержит только один тип выходных данных. Это называется стабильным состоянием, когда больше нет шансов стать более стабильным. Как только мы находим идеальное разделение, нам больше не нужно рассматривать другие переменные, поскольку одной переменной достаточно для классификации или прогнозирования выходных данных.
Понимая критерии разделения деревьев решений, мы можем принимать более обоснованные решения о том, как анализировать и интерпретировать наши данные.
Критерии разделения дерева решений:
Критерии разделения дерева решений — важнейший аспект анализа данных, требующий нашего полного внимания. Представьте себе: у вас есть четыре переменные, которые определяют целевую переменную, но сложно определить выходную классификацию, используя только одну переменную. Если есть переменная, которая может идеально классифицировать вывод, то другие переменные окажутся бесполезными. Однако реальный мир сложен, и классификация часто зависит от множества независимых переменных.
Например, давайте рассмотрим возраст, пол и местонахождение как независимые переменные, а выходными данными будет то, закончил ли человек выпускной или нет. Первоначально у вас может возникнуть соблазн разделить данные по полу. Однако при изучении вы поймете, что не существует двух отдельных сегментов, где в одном сегменте есть те, кто закончил учебу, а в другом — те, кто этого не сделал. Это отсутствие идеального разделения означает, что для лучшей классификации необходимо дальнейшее разделение по другим переменным.
Далее давайте рассмотрим разделение данных по возрасту. Предположим, мы обнаруживаем, что если возраст ‹22, никто не завершил обучение, а если возраст ›22, то все закончили обучение. Это то, что мы называем идеальным разделением, когда каждое ведро имеет только один тип продукции. Это совершенно стабильное состояние с нулевой энергией, а это означает, что больше нет шансов стать более стабильным. При таком идеальном разделении нам не нужно рассматривать другие переменные для классификации или прогнозирования выходных данных, поскольку достаточно одной переменной.
Понимание критериев разделения дерева решений имеет основополагающее значение для понимания сложных структур данных и принятия обоснованных решений на основе анализа данных.
Первый сплит по возрасту:
получаем Возраст ‹28 имеет 60 человек, из которых 40 не женаты и 20 женаты.
Для возраста => 28 лет насчитывается 40 человек, из которых 30 женаты и 10 неженаты.
Почему я взял возраст =28 в качестве границы для распространения? Приостановите этот вопрос на данный момент.
Теперь он точно высвободил какую-то энергию, иначе раскола быть не может. Теперь, если уровень энергии уменьшится до 70% (представьте себе), насколько именно он уменьшится, будет описано позже. Поскольку расщепление высвобождает энергию, нам становится легче предсказывать/классифицировать. Можно сказать, что вероятность предсказания поручительства возрастает. От 0,5 до 0,67 (40/60) для одного ковша и от 0,5 до 0,75 (30/40) для другого.
Опять же, разделение происходит по полу / местоположению в одном сегменте, а в другом — по полу или местоположению, это зависит от наборов данных. Эти разделения снова уменьшают энергию различных ведер. Энергия снова уменьшается до 50% (скажем). Если он расколется дальше, то, конечно, энергия уменьшится. Когда это расщепление прекратится, им можно будет управлять извне или, если не будет дано никакого ограничения, оно расщепится до такой степени, что после этого от расщепления не будет никакой пользы. (уменьшение смешанного производства)
Как решить, какая переменная будет разделена первой и в каком порядке:
Первое разделение произойдет с той переменной, которая имеет максимальную способность уменьшать энергию/уменьшать дисперсию/уменьшать сочетание выходных данных. Но насколько численно будет решаться, какой из них имеет максимальную способность снижать энергию, основан на 4 стандартных методах.
Если целевая переменная является категориальной, то методы: i) Джини ii) Получение информации iii) Хи-квадрат
Если целевая переменная непрерывна, то используется метод уменьшения дисперсии.
Давайте обсудим индекс Джини: он снова покажет численно сокращение энергии/уменьшение ассортимента продукции.
В этом методе мы будем вычислять Джини дочерних узлов после использования каждой переменной по одной, разделение будет происходить по переменной, которая имеет максимальный взвешенный индекс Джини.
Формула:
Джини =p²+q²
P=вероятность благоприятного исхода.
Q=вероятность неблагоприятного исхода.
Взвешенный: зависит от After Split, сколько данных содержится в каждом сегменте.
Рассчитаем Джини для нашего примера:
Ведро 1: возраст ‹28, 60 человек, из которых 40 неженаты и 20 женаты.
Сегмент 2: Возраст => 28 – 40 человек, из которых 30 состоят в браке, а 10 – неженаты.
Для ведра 1 p=1/3 и q=2/3, Джини =1/9+4/9=5/9.
Вес = 60/100=3/5
Взвешенный Джини = 3/5 * 5/9 = 1/3
Для ведра 2: p= ¾, q=1/4
Джини =9/16 +1/16=10/16
Вес = 40/100=4/5
Взвешенный индекс Джини = 4/5 * 10/16 = 1/2
Взвешенный коэффициент Джини для разделенного возраста = 0,5 + 0,33 = 0,83.
Точно так же взвешенный Джини рассчитывается для разделения для каждой переменной, и та, которая имеет максимальное взвешенное значение Джини, будет чемпионом, и ему будет разрешено сначала разделить набор данных.
Прирост информации: (концепция энтропии)
В термодинамике Энтропия означает случайность системы, чем больше Энтропия, тем больше случайность. В решении случайность дерева означает большую дисперсию целевой переменной или целевая переменная имеет лучшее сочетание различных категорий уровней/значений. Если после разделения ведро имеет ту же категорию значения/уровня, то случайность равна нулю, и, следовательно, энтропия также равна нулю.
Когда начинает происходить Первое Расщепление, тогда Энтропия говорит E, когда Расщепление происходит в двух или более сегментах (скажем, двух для простоты), это E1 и E2. Затем, согласно условию разделения, это взвешенное значение (E1+E2) должно быть меньше, чем E, иначе не будет точки разделения, когда энтропия системы увеличится. Теперь, что такое получение информации. Рассмотрим снова наш пример, где целевая переменная — это то, состоит ли человек в браке или нет. У нас есть 50 женатых и 50 неженатых. Это случай максимальной энтропии 1, потому что это равное сочетание обоих событий. Любое разделение происходит по возрасту, полу или местоположению только в том случае, если взвешенная сумма энтропии ведра разделения меньше, чем в родительском режиме.
Если энтропия родительского режима максимальна, т. е. равна 1, то больше шансов на разделение, при котором может быть уменьшено значительное количество энтропии. Эта разница взвешенной энтропии между родительским узлом и суммой дочерних узлов называется приростом информации. Это означает, что мы получили такой большой объем информации с конкретным Сплитом. Если разница в энтропии выше, мы получили больше информации.
Теперь давайте посмотрим с точки зрения системы термодинамики, когда случайность (энтропия) E системы до разделения равна E и когда содержимое системы распределено в двух отдельных системах с энтропиями E1 и E2. Если mE-(m1E1+m2E2)>0, то случайность двух отдельных систем меньше, чем у родителя, если энтропия системы уменьшается, мы достигаем более стабильного состояния (меньше случайности), что является нашей целью, а также верно для древовидное моделирование науки о данных.
Давайте посчитаем прирост информации в нашем примере:
Энтропия узла = -plog2p-qlog2q
Ведро 1: возраст ‹28, 60 человек, из которых 40 неженаты и 20 женаты.
Сегмент 2: Возраст => 28 – 40 человек, из которых 30 состоят в браке, а 10 – неженаты.
Энтропия для Bucket1:
P=4/6 q=2/6
Энтропия = -2/3*log2(2/3)-1/3*log2(1/3) =0,90
Взвешенная энтропия = 60/100 * (0,90) = 0,54
Энтропия для ведра 2:
P=3/4 , q=1/4
Энтропия = -3/4*log2(3/4) -1/4*log2(1/4) =0,81
Взвешенная энтропия = 40/100*(0,81)=0,324
Сумма энтропий = 0,54+0,32=0,86
И, следовательно, прирост информации = энтропия родительского узла,1 (что является идеальным сочетанием) - сумма энтропий
Давайте посчитаем энтропию родительского узла:
Родительский узел: 50 женатых и 50 неженатых
P=50/100, q=50/100
Энтропия = -0,5log2(0,5)-0,5log2(0,5)=1
Вышеуказанные два разделения предназначены для категориальных целевых переменных, для непрерывной целевой переменной два вышеуказанных метода не работают. Это основано на уменьшении дисперсии целевой переменной.
Теперь рассмотрим вышеприведенный пример Женатых и Неженатых и обработайте целевую переменную как непрерывную, т.е. Женатые имеют значение 1, а Неженатые имеют значение 0.
Снова рассмотрим то же разделение по возрасту и те же сегменты (узлы):
Ведро 1: возраст ‹28, 60 человек, из которых 40 неженаты и 20 женаты.
Сегмент 2: Возраст => 28 – 40 человек, из которых 30 состоят в браке, а 10 – неженаты.
Давайте посчитаем дисперсию родительского узла.
Среднее значение родительского узла = (50*1+50*0)/100 = 0,5
Дисперсия = (50*(1–0,5)²+50*(0–0,5)²)/100
Дисперсия = 0,25
Теперь дисперсия ведра 1:
Среднее = (40*0+20*1)/60=0,34
Дисперсия=(40(0–0,34)²+20(1–0,34)²)/600=0,22
Взвешенная дисперсия = 60/100 * (0,22) = 0,1336
Дисперсия ведра 2:
Среднее значение = 30*1+10*0/40=0,75
Дисперсия = (30*(1–0,75)²+10*(0–0,75)²)/40=0,1875
Взвешенная дисперсия = 40/100 * (0,1875) = 0,075
Сумма взвешенной дисперсии в каждом узле = 0,1336 + 0,075 = 0,2086.
Сумма дисперсии дочернего узла меньше, чем у родительского узла, этот алгоритм проверяет каждую переменную, и там, где сокращение переменной сокращается до максимума, набор данных будет разделен в этом узле. Чем больше происходит редукция переменной, тем стабильнее система, которая более желательна и уменьшает случайность.
Некоторые важные моменты дерева решений:
- Когда в категориальной переменной происходит разделение, последующие разделения не могут происходить по тому же пути, потому что все уровни переменной уже распределены по разным узлам. Таким образом, переменная теряет возможность дальнейшего расщепления.
- Если разделение происходит в непрерывной переменной, дальнейшие разделения могут происходить для той же переменной, но не последовательно. Это связано с тем, что алгоритм уже создал больше узлов в предыдущем разбиении, а другое разбиение на том же пути привело бы к избыточности. Следовательно, алгоритм будет искать альтернативные ветви для выполнения дальнейших расщеплений, если это необходимо.
Во время разделения на непрерывную переменную, как алгоритм использует границу для разделения:
Когда алгоритм дерева решений разделяет непрерывную переменную, он ищет наилучшую границу для разделения. Например, если переменной является возраст и алгоритм проверяет значение Джини, прирост информации, снижение дисперсии или хи-квадрат, он выберет граничное значение, удовлетворяющее всем этим критериям. В нашем примере алгоритм выбрал Age=28 как наилучшую границу для разделения на состоящих и не состоящих в браке лиц. Если алгоритм найдет другую желательную точку разделения, например, Age=18, он разделит дерево как на Age=28, так и на Age=18. Важно отметить, что алгоритм избегает последовательного разбиения одной и той же непрерывной переменной, так как это может привести к переоснащению.
Заключение
Понимание механизма разделения деревьев решений необходимо для построения точных и эффективных моделей машинного обучения. Выбирая наилучшую переменную для разделения и оптимальную границу для разделения, алгоритм может эффективно снизить энергию или дисперсию данных и повысить точность прогнозов. Кроме того, концепция энтропии в термодинамике дает полезную аналогию для понимания алгоритма дерева решений и процесса сокращения разнообразия выходных данных. Применяя эти концепции, мы можем построить мощные модели дерева решений, которые могут эффективно решать широкий спектр задач прогнозирования и классификации.