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

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

Это важно

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

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

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

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

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

Замечание

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

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

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

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

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

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

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

Замечание

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

Top

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

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

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

MODEL_NAME
Имя модели.

ATTRIBUTE_NAME
Имя атрибута, соответствующего этому узлу.

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

NODE_UNIQUE_NAME
Уникальный идентификатор узла в модели. Это значение невозможно изменить.

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

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

NODE_TYPE
В моделях дерева принятия решений создаются следующие типы узлов:

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

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

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

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

CHILDREN_CARDINALITY
Оценка количества дочерних элементов, которые имеет узел.

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

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

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

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

Листовые узлы Всегда 0.

PARENT_UNIQUE_NAME
Уникальное имя родительского узла. Значение NULL возвращается для всех узлов на корневом уровне.

NODE_DESCRIPTION
Описание узла.

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

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

NODE_RULE
XML-описание правила, описывающего путь к текущему узлу из его непосредственного родительского узла.

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

MARGINAL_RULE
XML-описание правила, описывающего путь от родительского узла модели к текущему узлу.

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

NODE_PROBABILITY
Вероятность, связанная с этим узлом.

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

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

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

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

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

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

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

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

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

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

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

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

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

MSOLAP_NODE_SHORT_CAPTION
Метка, используемая для отображения.

Замечания

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

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

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

Top

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

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

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

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

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

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

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

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

Top

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

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

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

Top

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

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

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

Замечание

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

Top

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

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

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

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

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

Support

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

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

Вероятность

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

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

Внутреннее дерево Случаях Конечный узел Случаях Вероятность относительно родительского узла Вероятность относительно верхнего узла
Возраст >= 30 60 Возраст >= 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), состояние отсутствует. Дополнительные сведения о том, как вероятности корректируются для представления отсутствующих значений, см. в разделе «Отсутствующие значения» (Analysis Services - Data Mining).

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

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

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

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

Дисперсия

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

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

Тип значения

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

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

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

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

Оценка узла

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

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

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

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

Замечание

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

Top

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

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

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

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

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

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

См. также

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