Алгоритм дерева принятия решений (Майкрософт)

Применимо к: SQL Server 2019 и более ранних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Важно!

Интеллектуальный анализ данных не рекомендуется использовать в службах SQL Server 2017 Analysis Services, а в SQL Server 2022 Analysis Services его поддержка прекращена. Документация не обновляется для устаревших и неподдерживаемых функций. Дополнительные сведения см. в статье об обратной совместимости служб Analysis Services.

Алгоритм дерева принятия решений (Майкрософт) — это алгоритм классификации и регрессии для использования в прогнозном моделировании как дискретных, так и непрерывных атрибутов.

Для дискретных атрибутов алгоритм осуществляет прогнозирования на основе связи между входными столбцами в наборе данных. Он использует значения этих столбцов (известные как состояния) для прогнозирования состояний столбца, который обозначается как прогнозируемый. Алгоритм идентифицирует входные столбцы, которые коррелированы с прогнозируемым столбцом. Например, в сценарии для прогнозирования того, какие заказчики, скорее всего, приобретут велосипед, если девять из десяти молодых заказчиков покупают велосипед, но только двое из более старших заказчиков делают это, то алгоритм заключает, что возраст является хорошим прогнозом приобретения велосипеда. Дерево решений осуществляет прогнозирование на основе этой тенденции в направлении конкретного результата.

Для непрерывных атрибутов алгоритм использует линейную регрессию для определения места разбиения дерева решений.

Если несколько столбцов установлены как прогнозируемые или если входные данные содержат вложенную таблицу, которая задана как прогнозируемая, то алгоритм строит отдельное дерево решений для каждого прогнозируемого столбца

Пример

Отдел маркетинга компании Adventure Works Cycles хочет определить характеристики предыдущих клиентов, которые могут указать, будут ли эти клиенты покупать продукт в будущем. В базе данных AdventureWorks2012 хранятся демографические сведения, описывающие предыдущих клиентов. Используя алгоритм деревьев принятия решений Майкрософт для анализа этой информации, отдел маркетинга может создать модель, которая прогнозирует, будет ли конкретный клиент приобретать продукты, на основе состояния известных столбцов об этом клиенте, таких как демографические данные или прошлые шаблоны покупок.

Принцип работы алгоритма

Алгоритм Дерева принятия решений (Майкрософт) создает модель интеллектуального анализа данных, создавая ряд разбиений в дереве. Эти разбиения представлены как узлы. Алгоритм добавляет узел к модели каждый раз, когда выясняется, что входной столбец имеет значительную корреляцию с прогнозируемым столбцом. Способ, которым алгоритм определяет разбиение, отличается в зависимости от того, прогнозирует ли он непрерывный столбец или дискретный столбец.

Алгоритм дерева принятия решений (Майкрософт) использует выбор признаков для выбора наиболее полезных атрибутов. Выбор признаков используется всеми алгоритмами интеллектуального анализа данных SQL Server для повышения производительности и качества анализа. Выбор компонентов играет важную роль в предотвращении использования процессорного времени малозначительными атрибутами. Если при разработке модели интеллектуального анализа данных в нее было добавлено слишком много входных или прогнозируемых атрибутов, то ее обработка может занять очень много времени или даже привести к нехватке памяти. Методы, используемые для определения того, следует ли разделять дерево, включают стандартные отраслевые метрики для энтропии и байесовских сетей*.* Дополнительные сведения о методах, используемых для выбора значимых атрибутов, а затем оценки и ранжирования атрибутов, см. в разделе Выбор признаков (интеллектуальный анализ данных).

Одной из часто встречающихся проблем в моделях интеллектуального анализа данных является чрезмерная чувствительность к небольшим различиям в обучающих данных; в таких случаях модель называется чрезмерно оснащенной или чрезмерно обученной. Чрезмерно оснащенную модель нельзя свести к другим наборам данных. Чтобы избежать переобученности по какому-либо определенному набору данных, алгоритм Дерева принятия решений Майкрософт использует методы управления ростом дерева. Более подробное описание работы алгоритма деревьев принятия решений Майкрософт см. в техническом справочнике по алгоритму деревьев принятия решений Майкрософт.

Прогнозирование дискретных столбцов

То, как алгоритм дерева принятия решений (Майкрософт) создает дерево для дискретного прогнозируемого столбца, можно продемонстрировать с помощью гистограммы. На следующей диаграмме показана гистограмма, на которой построен прогнозируемый столбец «Покупатели велосипедов» в сравнении с входным столбцом «Возраст». Гистограмма «Б» показывает, что возраст человека помогает определить, купит ли этот человек велосипед.

Гистограмма из алгоритма деревьев принятия решений Майкрософт

Корреляция, показанная на схеме, приведет к тому, что алгоритм Дерева принятия решений (Майкрософт) создаст новый узел в модели.

Узел дерева принятия решений

Добавление алгоритмом новых узлов к модели приводит к созданию древовидной структуры. Верхний узел дерева описывает разбиение прогнозируемого столбца для всех заказчиков. При продолжении роста модели алгоритм рассматривает все столбцы.

Прогнозирование непрерывных столбцов

Когда алгоритм дерева принятия решений (Майкрософт) создает дерево на основе непрерывно прогнозируемого столбца, каждый узел содержит формулу регрессии. Разбиение осуществляется в точке нелинейности в этой регрессионной формуле. Например, рассмотрим следующую диаграмму.

Несколько линий регрессии, показывающих нелинейность

В стандартной модели регрессии обычно предпринимается попытка получить одну формулу, представляющую тенденции и связи для данных в целом. Однако отдельная формула может неудовлетворительно отражать неоднородность сложных данных. Вместо этого алгоритм Дерева принятия решений (Майкрософт) ищет сегменты дерева, которые являются в основном линейными, и создает отдельные формулы для этих сегментов. Разбиение данных на несколько сегментов обеспечивает гораздо более точное их приближение.

Следующая диаграмма представляет собой дерево для модели, представленной на точечной диаграмме выше. Для прогнозирования результата эта модель предоставляет две разных формулы: одну для левой ветви (y = 0,5x x 5) и одну для правой (y = 0,25x + 8,75). Точка соединения этих двух линий на точечной диаграмме является точкой нелинейности и представляет собой точку, в которой разобьется узел в модели дерева решений.

Уравнение, представляющее точку нелинейности

Это простая модель всего с двумя линейными уравнениями. Разбиение в дереве находится сразу после узла All (Все). Однако разбиение может произойти на любом уровне дерева. Это означает, что в дереве, содержащем несколько уровней и узлов, где каждый узел характеризуется отдельной коллекцией атрибутов, формула может совместно использоваться для нескольких узлов или применяться только к одному узлу. Например, можно получить одну формулу для узла, обозначенного как "возраст и доход клиентов", и другую для узла, представленного как "клиенты, которыми приходится ездить на большие расстояния". Чтобы просмотреть формулу для отдельного узла или сегмента, просто щелкните узел.

Данные, необходимые для моделей дерева принятия решений

При подготовке данных для использования в модели дерева принятия решений необходимо понимать требования определенных алгоритмов (например, необходимое количество данных и метод использования данных).

Далее приводятся требования для модели дерева принятия решений:

  • Единичный ключевой столбец Каждая модель должна содержать один числовой или текстовый столбец, который уникальным образом определяет каждую запись. Составные ключи не допускаются.

  • Прогнозируемый столбец Необходимо наличие по крайней мере одного прогнозируемого столбца. В модель можно включить несколько прогнозируемых атрибутов; они могут иметь различные типы (числовые или дискретные). Однако с увеличением количества прогнозируемых атрибутов увеличивается и время обработки.

  • Входные столбцы . Необходимо наличие входных столбцов, которые могут быть дискретными или непрерывными. Увеличение числа входных атрибутов влияет на время обработки.

Дополнительные сведения о типах содержимого и типах данных, поддерживаемых моделями дерева принятия решений, см. в разделе "Требования" статьи Технический справочник по алгоритму дерева принятия решений (Майкрософт).

Просмотр модели дерева принятия решений

Чтобы исследовать модель, можно использовать средство просмотра деревьев (Майкрософт). Если в модели формируется несколько деревьев, то можно выделить одно из них, и средство просмотра отобразит разбиение категоризации вариантов для каждого прогнозируемого атрибута. Также можно осуществить просмотр взаимодействия между деревьями с помощью средства просмотра сети зависимостей. Дополнительные сведения см. в разделе Просмотр модели с помощью средства просмотра деревьев (Майкрософт).

Если необходимо получить более подробные сведения о любой ветке или узле в дереве, то модель также можно просматривать с помощью средства просмотра деревьев содержимого общего вида (Майкрософт). В модели хранится следующее содержимое: распространения для всех значений в каждом узле, вероятности на каждом уровне дерева и формулы регрессии для непрерывных атрибутов. Дополнительные сведения см. в разделе Содержимое модели интеллектуального анализа данных для моделей дерева принятия решений (службы Analysis Services — интеллектуальный анализ данных).

Создание прогнозов

После обработки модели результаты хранятся в виде набора закономерностей и статистики, которые можно использовать для исследования связей или для выполнения прогнозов.

Примеры запросов, применимых в модели дерева принятия решений, см. в разделе Примеры запросов к модели дерева принятия решений.

Общие сведения о создании запросов к моделям интеллектуального анализа см. в разделе Запросы интеллектуального анализа данных.

Комментарии

  • Поддерживается использование языка разметки прогнозирующих моделей (PMML) для создания моделей интеллектуального анализа данных.

  • Поддерживается детализация.

  • Поддерживается использование моделей интеллектуального анализа OLAP и создание измерений интеллектуального анализа данных.

См. также:

Алгоритмы интеллектуального анализа данных (службы Analysis Services — интеллектуальный анализ данных)
Технический справочник по алгоритму дерева принятия решений (Майкрософт)
Примеры запросов к модели дерева принятия решений
Содержимое моделей интеллектуального анализа данных для моделей дерева принятия решений (службы Analysis Services — интеллектуальный анализ данных)