← Вернуться к неделе 13

Дерево решений на ирисах Фишера

150 цветков трёх видов, по четыре измерения у каждого. Дерево делит выборку вопросами вида «признак ≤ порог». Раскрывайте уровни по одному, нажимайте на узлы — и смотрите, какие цветки в них попали и почему выбран именно этот порог.

Критерий
Признаки для дерева
setosaversicolorvirginicaВетвь «да» — влево, «нет» — вправо. Нажмите на узел, чтобы разобрать его.

Цветки на плоскости двух признаков

Узел

Что происходит на каждом уровне

Проверьте свой цветок

Путь цветка по дереву подсвечен, сам цветок отмечен на графике ромбом.

Как дерево выбирает разбиение

В каждом узле дерево перебирает все признаки и все возможные пороги (середины между соседними значениями) и выбирает тот вопрос, после которого дочерние узлы становятся «чище» всего. Чистоту измеряют примесью: у узла, где все цветки одного вида, она равна 0.

Джини: G = 1 − Σk pk2    Энтропия: H = − Σk pk log2 pk

Качество разбиения — примесь после него, взвешенная по размерам детей: nлев/n·Gлев + nправ/n·Gправ. Разница с примесью родителя называется выигрышем (для энтропии — приростом информации). Дерево жадное: оно смотрит только на один шаг вперёд и не пересматривает уже сделанные разбиения.

Узел перестаёт делиться, когда он чистый, когда достигнута максимальная глубина или когда ни одно разбиение не даёт выигрыша. Ответ листа — самый частый вид среди его цветков.

На ирисах видно две вещи. Setosa отделяется одним вопросом про лепесток — граница проходит по пустому промежутку между видами. А versicolor и virginica перекрываются: чтобы разделить несколько «пограничных» цветков, дереву нужны всё новые пороги, и глубокое дерево начинает подстраиваться под отдельные точки — это и есть переобучение. Сравните границы на графике при глубине 2 и 5.