Инструменты |
Дерево принятия решенийДеревья принятия решений обычно используются для решения задач классификации данных или, иначе говоря, для задачи аппроксимации заданной булевой функции. Ситуация, в которой стоит применять деревья принятия решений, обычно выглядит так: есть много случаев, каждый из которых описывается некоторым конечным набором дискретных атрибутов, и в каждом из случаев дано значение некоторой (неизвестной) булевой функции, зависящей от этих атрибутов. Задача — создать достаточно экономичную конструкцию, которая бы описывала эту функцию и позволяла классифицировать новые, поступающие извне данные. Дерево принятия решений — это дерево, на ребрах которого записаны атрибуты, от которых зависит целевая функция, в листьях записаны значения целевой функции, а в остальных узлах — атрибуты, по которым различаются случаи. Чтобы классифицировать новый случай, надо спуститься по дереву до листа и выдать соответствующее значение.
[править] Пример задачиПредположим, что нас интересует, выиграет ли наша любимая футбольная команда следующий матч. Мы знаем, что это зависит от ряда параметров; перечислять их все — задача безнадежная, поэтому ограничимся основными:
У нас есть некоторая статистика на этот счет:
Хочется понять, выиграет ли наша команда в очередной игре. Один из вариантов дерева принятия решений для этой задачи приведен на рис. 1. Изображение:DecisionTreeSample1.jpg
Рис. 1. Дерево принятия решений
[править] Алгоритмы построения дереваОбщая схема построения дерева принятия решений по тестовым примерам выглядит следующим образом:
Основной вопрос: как выбирать очередной атрибут? Есть различные способы выбирать очередной атрибут:
На практике в результате работы этих алгоритмов часто получаются слишком детализированные деревья, которые при их дальнейшем применении дают много ошибок. Это связано с явлением оверфиттинга. [править] См. также[править] Ссылки
[править] Литература
|