На этом шаге мы приведем общие сведения об этих деревьях.
Деревья принятия решений (decision trees) - интуитивный инструмент для вашего набора инструментов машинного обучения. Он обладает большими
возможностями. Важное преимущество деревьев принятия решений в том, что, в отличие от многих других методик машинного обучения, деревья удобны для
непосредственного восприятия человеком. Вы можете легко обучить дерево принятия решений и показать его своему начальству, которому не нужно знать
ничего о машинном обучении, чтобы понять, что делает модель. Особенно это удобно для исследователей данных, которым часто приходится демонстрировать
свои результаты перед руководством и защищать их. На этом шаге мы покажем, как использовать деревья принятия решений с помощью одной строки кода Python.
В отличие от многих алгоритмов машинного обучения, идеи деревьев принятия решений, вероятно, знакомы вам из жизненного опыта. Это просто структурированный способ принятия решений. Каждое решение приводит к дальнейшему ветвлению. Ответив на серию вопросов, вы в конечном итоге приходите к желаемой рекомендации. На рисунке 1 приведен пример.
Рис.1. Упрощенное дерево принятия решений для рекомендаций изучаемых предметов
Деревья принятия решений используются для задач классификации наподобие "Какой предмет мне изучать в зависимости от моих интересов?". Начинается принятие решения сверху, после чего последовательно даются ответы на вопросы и выбираются варианты, лучше всего описывающие имеющиеся признаки. Наконец, достигается лист дерева - вершина, у которой отсутствуют потомки. Она и будет классом, рекомендуемым в соответствии с выбранными признаками.
У обучения на основе деревьев принятия решений есть множество нюансов. В предыдущем примере вес первого вопроса существенно превышает вес последнего. Если вам нравится математика, то дерево принятия решений никогда не порекомендует вам изучать искусства или лингвистику. Это удобно, ведь некоторые признаки могут быть важнее для классификации, чем другие. Например, система классификации, предсказывающая текущее состояние здоровья, может использовать пол (признак) для исключения многих болезней (классов).
Следовательно, порядок вершин дерева можно использовать для оптимизации работы системы: признаки, сильнее всего влияющие на итоговую классификацию, нужно помещать сверху. При обучении на основе деревьев принятия решений это позволяет затем агрегировать вопросы, слабо влияющие на итоговую классификацию, как показано на рисунке 2.
Рис.2. Усечение ветвей повышает эффективность обучения на основе деревьев принятия решений
Пусть полное дерево принятия решений выглядит так, как показано слева на рисунке 2. Для любого сочетания признаков есть отдельный итог классификации (лист дерева). Однако некоторые признаки могут не давать никакой дополнительной информации относительно задачи классификации (например, первая вершина "Язык" в нашем примере). Обучение на основе деревьев принятия решений позволяет избавиться от этих вершин из соображений эффективности - процесс так называемого усечения ветвей (pruning).
На следующем шаге мы закончим изучение этого вопроса.