Развлечения

Энтропия и прирост информации онлайн: корень дерева решений (ID3)

Коротко

Вставьте таблицу с целевым столбцом — калькулятор посчитает энтропию Шеннона H(S), для каждого признака построит разбиение, найдёт условную энтропию H(S|A) и прирост информации IG(A) = H(S) − H(S|A). Признак с максимальным приростом и есть корень дерева по ID3: в примере «пойду гулять или нет» это погода с приростом 0,247 против 0,048 у ветра. Каждая строчка идёт с подстановкой ваших частот — решение не стыдно сдать в лабораторной по машинному обучению.

Инструмент

Считаем энтропию бит и прирост по каждому признаку.

Энтропия набора H(S)0,9403 бит

Корнем дерева решений (ID3) станет «Погода» — максимальный прирост информации.

Признак Разбиение H(S|A) Прирост информации
Погода солнечно: 5 · пасмурно: 4 · дождь: 5 0,6935 0,2467
Температура жарко: 4 · комфортно: 6 · прохладно: 4 0,9111 0,0292
Влажность высокая: 7 · нормальная: 7 0,9242 0,0161
Ветер слабый: 8 · сильный: 6 0,9389 0,0013
  1. Всего объектов 14; классы: 9׫да», 5׫нет». H(S) = −Σ pᵢ·log₂ pᵢ = −(-0,4098 + -0,5305) = 0,9403 бит
  2. Признак «Погода»: разбиение [солнечно]5 ⊔ [пасмурно]4 ⊔ [дождь]5, Σ (|Sᵥ|/|S|)·H(Sᵥ) = 0,3571·0,9710 + 0,2857·0,0000 + 0,3571·0,9710 = 0,6935; IG = 0,9403 − 0,6935 = 0,2467
  3. Признак «Температура»: разбиение [жарко]4 ⊔ [комфортно]6 ⊔ [прохладно]4, Σ (|Sᵥ|/|S|)·H(Sᵥ) = 0,2857·0,8113 + 0,4286·0,9183 + 0,2857·1,0000 = 0,9111; IG = 0,9403 − 0,9111 = 0,0292
  4. Признак «Влажность»: разбиение [высокая]7 ⊔ [нормальная]7, Σ (|Sᵥ|/|S|)·H(Sᵥ) = 0,5000·0,9852 + 0,5000·0,8631 = 0,9242; IG = 0,9403 − 0,9242 = 0,0161
  5. Корнем дерева по ID3 станет «Погода» — максимальный прирост информации.

Почему прирост информации, а не просто точность разбиения

Возьмите признак «номер студента»: каждый его подкласс состоит из одного объекта, энтропия нулевая, а прирост равен H(S) — идеально и бесполезно, дерево запомнит таблицу вместо того чтобы учиться. В C4.5 против этого принимают нормированный прирост — прирост, поделённый на энтропию самого разбиения. Это часто спрашивают на защите лабораторной.

Покрываемые вопросы

На этой странице также отвечаем на вопросы: «information gain калькулятор», «энтропия decision tree онлайн», «прирост информации калькулятор», «посчитать энтропию набора данных онлайн», «id3 алгоритм онлайн калькулятор», «дерево решений построить онлайн», «энтропия формула пример решение», «information gain пример решения».

Как считаем

H(S) = −Σ pᵢ·log₂ pᵢ по классам целевого столбца (0·log 0 считаем нулём); для признака A со значениями v: H(S|A) = Σ (|Sᵥ|/|S|)·H(Sᵥ); IG(A) = H(S) − H(S|A). Корень ID3 — признак с максимальным приростом. Все логарифмы двоичные, ответ в битах.

Ограничения и допущения

  • Все признаки считаются категориальными; непрерывные нужно сначала дискретизовать — иначе каждое значение станет отдельной категорией.
  • ID3 — жадный алгоритм: он выбирает только корень, а всё дерево строить ему не поручали (это следующий шаг лабы).
  • Прирост информации любит признаки с кучей мелких значений — на них дерево переобучается; лекарство от этого — нормированный прирост (C4.5).
Полная методика, шаги и источники

Частые вопросы

как посчитать энтропию по таблице
Найдите доли классов: 9 «да» и 5 «нет» дают вероятности 9/14 и 5/14, тогда H = −(9/14)·log₂(9/14) − (5/14)·log₂(5/14) = 0,940 бит. В инструменте эта подстановка развёрнута для вашей таблицы.
прирост информации бывает отрицательным
Нет: условная энтропия разбиения не может превышать H(S), поэтому прирост не меньше нуля. Нулевой прирост означает, что признак о классе не говорит вообще ничего.
как выбрать корень дерева id3
Считают прирост информации по каждому свободному признаку и берут максимальный — он сильнее всех уменьшает неопределённость. Дальше то же самое рекурсивно в каждой ветке, но на экзамене обычно просят только первый шаг.

Ещё на сайте