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

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

Общие сведения о структуре модели деревьев принятия решений

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

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

Замечание

Если модель включает несколько деревьев, вы можете просматривать только одно дерево одновременно в средстве просмотра деревьев Майкрософт. Однако в средстве просмотра дерева универсального содержимого все деревья в одной модели отображаются одновременно.

Структура содержимого модели для дерева решений

Дерево для каждого прогнозируемого атрибута содержит сведения, описывающие, как входные столбцы, которые вы выбираете, влияют на результат конкретного прогнозируемого атрибута. Каждое дерево возглавляется узлом (NODE_TYPE = 9), который содержит прогнозируемый атрибут, за которым следует ряд узлов (NODE_TYPE = 10), представляющих входные атрибуты. Атрибут соответствует столбцу уровня регистра или значениям вложенных столбцов таблицы, которые обычно являются значениями в Key столбце вложенной таблицы.

Внутренние узлы и листья означают условия разделения. Дерево может разделиться на один и тот же атрибут несколько раз. Например, модель TM_DecisionTree может разделиться на [Годовой доход] и [Число детей], а затем снова разделить на [Годовой доход] дальше вниз по дереву.

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

Однако если прогнозируемый атрибут имеет дискретные значения или если числовые значения были сегментированы или дискретизированы, модель всегда создает дерево классификации (NODE_TYPE =2). Дерево классификации может иметь несколько ветвей или внутренних узлов дерева (NODE_TYPE =3) для каждого значения атрибута. Однако разделение не обязательно зависит от каждого значения атрибута.

Алгоритм деревьев принятия решений Майкрософт не разрешает непрерывные типы данных в качестве входных данных; Таким образом, если какие-либо столбцы имеют непрерывный числовый тип данных, значения дискретизированы. Алгоритм выполняет собственную дискретизацию в точке разделения для всех непрерывных атрибутов.

Замечание

Службы анализа автоматически выбирают метод для разбивки на группы непрерывных атрибутов; однако можно управлять дискретизацией непрерывных значений во входных данных, задав тип содержимого столбца Discretized структуры данных, а затем установив свойство DiscretizationBucketCount или DiscretizationMethod.

Содержимое модели для модели деревьев принятия решений

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

Каталог моделей
Имя базы данных, в которой хранится модель.

MODEL_NAME
Имя модели.

ИМЯ_АТРИБУТА
Имя атрибута, соответствующего этому узлу.

NODE_NAME
Всегда совпадает с NODE_UNIQUE_NAME.

УЗЕЛ_УНИКАЛЬНОЕ_ИМЯ
Уникальный идентификатор узла в модели. Это значение невозможно изменить.

Для моделей дерева принятия решений уникальные имена соответствуют следующему соглашению, которое не применяется ко всем алгоритмам:

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

ТИП_УЗЛА
В моделях дерева принятия решений создаются следующие типы узлов:

Тип узла Описание
1 (модель) Корневой узел модели.
2 (дерево) Родительский узел для классификационных деревьев в модели. Помечено как "Все".
3 (интерьер) Глава внутренней ветви, найденной в дереве классификации или дереве регрессии.
4 (распределение) Конечный узел, найденный в дереве классификации или дереве регрессии.
25 (дерево регрессии) Родительский узел для дерева регрессии в модели. Помечен как "Все".

NODE_CAPTION
Удобное имя для отображения.

При создании модели значение NODE_UNIQUE_NAME автоматически используется в качестве заголовка. Однако можно изменить значение для NODE_CAPTION, чтобы обновить отображаемое имя кластера программным способом или с помощью средства просмотра. Подпись автоматически создается моделью. Содержимое заголовка зависит от типа модели и типа узла.

В модели деревьев принятия решений NODE_CAPTION и NODE_DESCRIPTION имеют разные сведения в зависимости от уровня дерева. Дополнительные сведения и примеры см. в разделе "Заголовок узла" и "Описание узла".

КАРДИНАЛЬНОСТЬ_ДЕТЕЙ
Оценка количества дочерних элементов, которые имеет узел.

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

Узел дереваУзел "Все " для каждого дерева указывает, сколько значений использовалось для целевого атрибута.

  • Если целевой атрибут дискретен, значение равно числу уникальных значений плюс 1 для Missing состояния.

  • Если прогнозируемый атрибут является непрерывным, значение сообщает, сколько контейнеров использовалось для моделирования непрерывного атрибута.

Конечные узлы всегда равны 0.

УНИКАЛЬНОЕ_ИМЯ_РОДИТЕЛЯ
Уникальное имя узла-родителя. Значение NULL возвращается для любых узлов на корневом уровне.

ОПИСАНИЕ_УЗЛА
Описание узла.

В модели деревьев принятия решений NODE_CAPTION и NODE_DESCRIPTION имеют разные сведения в зависимости от уровня дерева.

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

ПРАВИЛО УЗЛА
XML-описание правила, описывающего путь к текущему узлу из его непосредственного родительского узла.

Дополнительные сведения и примеры см. в разделе "Правило узла" и "Маргинальное правило".

ПРАВИЛО_НА_КРАЮ
XML-описание правила, описывающего путь от родительского узла модели к текущему узлу.

Дополнительные сведения см. в разделе "Правило узла" и "Маргинальное правило".

УЗЕЛ_ВЕРОЯТНОСТЬ
Вероятность, связанная с этим узлом.

Дополнительные сведения см. в разделе "Вероятность".

маргинальная вероятность
Вероятность достижения узла из родительского узла.

Дополнительные сведения см. в разделе "Вероятность".

РАСПРЕДЕЛЕНИЕ_УЗЛОВ
Таблица, содержащая гистограмму вероятности узла. Сведения в этой таблице отличаются в зависимости от того, является ли прогнозируемый атрибут непрерывным или дискретным переменной.

Корневой узел модели Эта таблица пуста.

(Все) узлы содержат сводку модели в целом.

Внутренний узел содержит агрегированные данные для своих окончательных узлов.

Листовой узел содержит поддерживающую информацию и вероятность прогнозируемых результатов с учетом всех условий в пути, ведущем к текущему листовому узлу.

Узел регрессии Содержит формулу регрессии, представляющую связь между входными данными и прогнозируемым атрибутом.

Дополнительные сведения см. в разделе "Распределение узлов" для дискретных атрибутов и распределения узлов для непрерывных атрибутов.

поддержка узла
Количество случаев, поддерживающих этот узел.

MSOLAP_MODEL_COLUMN
Указывает столбец, содержащий прогнозируемый атрибут.

MSOLAP_NODE_SCORE
Отображает оценку, связанную с узлом. Дополнительные сведения см. в разделе "Оценка узлов".

MSOLAP_NODE_SHORT_CAPTION
Этикетка, предназначенная для отображения.

Замечания

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

Каждое дерево, представляющее выходной атрибут, дополнительно разделено на внутренние ветви (NODE_TYPE = 3), которые представляют разделение. Каждое из этих деревьев содержит статистику о распределении целевого атрибута. Кроме того, каждый конечный узел (NODE_TYPE = 4) содержит статистику, описывающую входные атрибуты и их значения, а также количество вариантов, поддерживающих каждую пару атрибут-значение. Таким образом, в любой ветви дерева принятия решений можно просматривать вероятности или распределение данных без необходимости запрашивать исходные данные. Каждый уровень дерева обязательно представляет сумму его непосредственных дочерних узлов.

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

Пример структуры дерева принятия решений

Чтобы понять, как работает дерево принятия решений, рассмотрим пример, например сценарий покупателя велосипедов AdventureWorks. Предположим, что прогнозируемый атрибут - это покупки клиентов. Алгоритм деревьев решений пытается найти один столбец данных среди всех предоставленных входных данных, который наиболее эффективно определяет клиентов, которые, скорее всего, приобретут велосипед, и тех, кто вряд ли будет его покупать. Например, модель может найти, что возраст является лучшим показателем поведения покупки. В частности, клиенты старше 30 лет с высокой вероятностью купят велосипед, тогда как все остальные клиенты, скорее всего, не совершат покупку. В этом сценарии модель создает разделение атрибута Age. Это означает, что дерево делится на две ветви: одна из них содержит клиентов старше 30 лет, а другая — клиентов младше 30 лет. Новые ветви представлены в структуре модели как два новых дерева интерьера (NODE_TYPE = 3).

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

Каждый внутренний узел дерева содержит листовые узлы, которые предоставляют разбивку результатов по имеющимся результатам классификации. Например, у вас может быть внутренний узел, представляющий возраст >= 30 и пол = мужчина. Узел этой группы показывает, сколько клиентов в данной категории совершили покупки и сколько не совершили. Например, классификация может содержать следующие разделения дерева:

Внутреннее дерево Разделение
Возраст >= 30 Возраст >= 30 и пол = мужской
Возраст >= 30 и пол = женщина
Возраст < 30 Возраст < 30 и пол = мужской
Возраст < 30 и пол = женщина

При использовании модели дерева принятия решений для прогнозирования модель принимает атрибуты, предоставляемые ему в качестве аргументов, и следует пути атрибутов вниз по дереву. Как правило, все прогнозы переходят на лист, а внутренние узлы используются только для классификации.

Конечный узел всегда имеет Тип_узла 4 (Распределение) и содержит гистограмму, которая описывает вероятность каждого исхода (покупки или отказа от покупки) с заданными атрибутами. Например, если вы запрашиваете прогноз для нового клиента, который является мужчиной более 60, модель будет искать соответствующий узел (возраст > 30 лет и пол = мужской) и вернуть вероятность для указанного результата. Эти вероятности хранятся в таблице NODE_DISTRIBUTION узла.

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

Подпись узла и описание узла

В модели дерева принятия решений заголовок узла и описание узла содержат аналогичные сведения. Однако описание узла становится более полным, и содержит больше информации по мере приближения к конечным узлам. Как заголовок узла, так и описание узла являются локализованными строками.

NODE_CAPTION Отображает атрибут, который отличает этот конкретный узел относительно родительского узла. Заголовок узла определяет подсегмент населения на основе условия разделения. Например, если разбиение было на [возраст] и было трехзначное, заголовки узлов для трех дочерних узлов могут иметь значение "[возраст] < 40", "40 <= [возраст] < 50", "[возраст] >= 50".
NODE_DESCRIPTION Содержит полный список атрибутов, которые отличают этот узел от других узлов, начиная с родительского узла модели. Например, название продукта = Apple и Color = Red.

Правило узла и маргинальное правило

Столбцы NODE_RULE и MARGINAL_RULE содержат те же сведения, что и столбцы NODE_CAPTION и NODE_DESCRIPTION, но представляют информацию как фрагменты XML. Правило узла представляет собой XML-версию полного пути, в то время как маргинальное правило указывает на последнее разделение.

Атрибут, представленный фрагментом XML, может быть простым или сложным. Простой атрибут содержит имя столбца модели и значение атрибута. Если столбец модели содержит вложенную таблицу, атрибут вложенной таблицы представлен как объединение имени таблицы, значения ключа и атрибута.

Замечание

Службы SQL Server Analysis Services поддерживают версию 2.0 стандарта PMML с расширениями для поддержки использования вложенной таблицы. Если данные содержат вложенные таблицы и создаете версию PMML модели, все элементы в модели, включающие предикаты, помечены как расширение.

Распределение узлов для дискретных атрибутов

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

Имя атрибута и значение атрибута

В дереве классификации имя атрибута всегда содержит имя прогнозируемого столбца. Это значение указывает, что дерево прогнозирует. Так как одно дерево всегда представляет один прогнозируемый атрибут, это значение повторяется во всем дереве.

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

Поддержка

Значение поддержки для каждого узла указывает, сколько случаев включены в этот узел. На уровне (все) вы увидите полное количество случаев, которые использовались для обучения модели. Для каждого разбиения в дереве значение поддержки — это количество случаев, сгруппированных в этот узел дерева. Сумма случаев на листьевых узлах обязательно равна числу случаев в родительском узле дерева.

Для узлов, представляющих непрерывные атрибуты, наличие значений NULL в данных может привести к некоторым контринтуитивным результатам. Например, если имеются случаи m, среднее значение будет вычисляться как sum(all cases)/n, где n равно числу меньше m, а m-n указывает количество случаев с отсутствующими значениями. Поддержка также представлена как n.

Вероятность

Вероятность, связанная с каждым узлом, указывает вероятность того, что любой случай в целом наборе данных будет в конечном итоге в этом конкретном узле. Оценки вероятности вычисляются как для дерева в целом, так и для немедленного разделения.

Например, в следующей таблице показана очень простая модель с 100 случаями.

Внутреннее дерево Случаи Конечный узел Случаи Вероятность относительно родительского узла Вероятность относительно верхнего узла
Возраст >= 30 шестьдесят Возраст >= 30 и пол = мужской 50 50/60 = .83 50/100 = .5
Возраст >= 30 и пол = женщина 10 10/60 = .16 10/100 = .10
Возраст < 30 40 Возраст < 30 и пол = мужской 30 30/40 = .75 30/100 = .30
Возраст < 30 и пол = женщина 10 10/40 = .25 10/100 = .10

Небольшая корректировка выполняется во всех моделях для учета возможных отсутствующих значений. Для непрерывных атрибутов каждое значение или диапазон значений представлено как состояние (например, возраст 30, возраст <= 30 и >возраст 30), а вероятности вычисляются следующим образом: состояние существует (значение = 1), другое состояние существует (значение = 0), состояние равно Missing. Дополнительные сведения о корректировке вероятностей для представления отсутствующих значений см. в разделе "Отсутствующие значения" (службы анализа — интеллектуальный анализ данных).

Вероятности для каждого узла вычисляются почти непосредственно из распределения, как показано ниже.

Вероятность = (поддержка состояния плюс поддержка предыдущего состояния) / (поддержка узлов плюс поддержка предыдущих узлов)

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

При создании прогнозов вероятность распределения должна быть сбалансирована с вероятностью узла, чтобы сгладить вероятности. Например, если дерево разделяет случаи по соотношению 9000/1000, оно очень несбалансировано. В результате прогноз, поступающий из небольшой ветви, не должен нести тот же вес, что и прогноз, поступающий из ветви со многими случаями.

Дисперсия

Дисперсия — это мера того, насколько разбросаны значения в образце относительно ожидаемого распределения. Для дискретных величин дисперсия равна 0 по определению.

Сведения о том, как вычисляется дисперсия для непрерывных значений, см. в разделе "Содержимое модели интеллектуального анализа данных" для моделей линейной регрессии (службы Analysis Services — интеллектуальный анализ данных).

Тип значения

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

Среди типов перечисления MiningValueType, следующие используются в деревах классификации.

Тип значения Описание
1 (отсутствует) Указывает количество, вероятность или другую статистику, связанную с отсутствующими значениями.
4 (дискретный) Указывает количество, вероятность или другую статистику, связанную с дискретным или дискретизованным значением.

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

Оценка узла

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

По определению, модельный узел и все конечные узлы имеют оценку узла, равную 0.

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

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

Существует множество способов вычисления оценки для разделения в зависимости от выбранного параметра алгоритма. Обсуждение того, как вычисляются оценки для каждого из методов оценки, выходит за рамки этой статьи. Дополнительные сведения см. в статье "Обучение Байезианских сетей: сочетание знаний и статистических данных" на веб-сайте Microsoft Research.

Замечание

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

Узлы регрессии в модели дерева принятия решений

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

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

Однако если связь между входным и прогнозируемым значением нелинейна, вместо этого создается разделение, как и стандартное дерево принятия решений. Например, предположим, что A является прогнозируемым атрибутом, а B и C — входными данными, где C является непрерывным типом значения. Если связь между A и C является довольно стабильной в частях данных, но нестабильной в других, алгоритм создаст разделение для представления различных областей данных.

Условие разделения Результат узла
если n < 5 Связь может быть выражена как уравнение 1
Если n в пределах от 5 до 10 Нет уравнения
Если n > 10 Связь может быть выражена как уравнение 2

Дополнительные сведения о узлах регрессии см. в разделе "Содержимое модели интеллектуального анализа данных" для моделей линейной регрессии (службы Analysis Services — интеллектуальный анализ данных).

См. также

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