Поделиться через


ALTER MINING STRUCTURE (расширения интеллектуального анализа данных)

Создает новую модель интеллектуального анализа данных, основанную на уже существующей структуре интеллектуального анализа данных. При использовании инструкции ALTER MINING STRUCTURE для построения новой модели интеллектуального анализа данных, соответствующая структура должна уже существовать. В противоположность этому при использовании инструкции CREATE MINING MODEL (расширения интеллектуального анализа данных) создается модель и автоматически формируется лежащая в ее основе структура интеллектуального анализа данных.

Синтаксис

ALTER MINING STRUCTURE <structure>
ADD MINING MODEL <model>
(
    <column definition list>
  [(<nested column definition list>) [WITH FILTER (<nested filter criteria>)]]
)
USING <algorithm> [(<parameter list>)] 
[WITH DRILLTHROUGH]
[,FILTER(<filter criteria>)]

Аргументы

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

  • model
    Уникальное имя модели интеллектуального анализа данных.

  • column definition list
    Список определений столбцов с разделителями-запятыми.

  • nested column definition list
    Список с разделителями-запятыми столбцов вложенной таблицы, если применимо.

  • nested filter criteria
    Критерий фильтра, применяющийся к столбцам вложенной таблицы.

  • algorithm
    Имя алгоритма интеллектуального анализа данных, определенное поставщиком.

    ПримечаниеПримечание

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

  • parameter list
    (Необязательный аргумент.) Список параметров, определенных поставщиком для алгоритма и разделенный запятыми.

  • filter criteria
    Критерий фильтра, применяющийся к столбцам таблицы вариантов.

Замечания

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

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

В предложении WITH, применяемом к таблице вариантов, можно задать как параметры детализации, так и параметры фильтра.

  • Добавьте ключевое слово FILTER и условия фильтра. Фильтр применяется к вариантам модели интеллектуального анализа данных.

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

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

WITH DRILLTHROUGH, FILTER(Gender = 'Male')

Список определений столбца

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

  • имя (обязательно);

  • псевдоним (необязательно);

  • флаги моделирования;

  • прогнозирующий запрос, указывающий алгоритму, что данный столбец содержит прогнозируемую величину. Этот запрос определяется предложением PREDICT или PREDICT_ONLY.

Чтобы определить один столбец, используйте следующий синтаксис для списка определений столбца.

<structure column name>  [AS <model column name>]  [<modeling flags>]    [<prediction>]

Имя и псевдоним столбца

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

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

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

Флаги моделирования

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

ПримечаниеПримечание

Флаг моделирования NOT_NULL применяется к столбцу структуры интеллектуального анализа данных. Дополнительные сведения см. в разделе CREATE MINING STRUCTURE (расширения интеллектуального анализа данных).

Ссылка

Определение

REGRESSOR

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

MODEL_EXISTENCE_ONLY

Указывает, что само присутствие атрибута важнее, чем значения столбца атрибута.

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

Прогнозирующее предложение

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

PREDICT

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

PREDICT_ONLY

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

Выражения условия фильтра

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

Выражения условия фильтра представляют собой упрощенные предикаты расширений интеллектуального анализа данных, подобные предложению WHERE. Выражения условий фильтра представляют собой формулы, в которых допускаются только основные математические операторы, скалярные величины и имена столбцов. Исключение представляет собой оператор EXISTS, который возвращает значение true, если вложенный запрос вернул хотя бы одну строку. Предикаты можно сочетать между собой с помощью распространенных логических операторов: AND, OR и NOT.

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

ПримечаниеПримечание

Столбцы фильтра должны быть столбцами структуры интеллектуального анализа данных. Нельзя создавать фильтры для столбцов модели или псевдонимов столбцов.

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

Список определений параметров

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

Синтаксис списка параметров следующий:

[<parameter> = <value>, <parameter> = <value>,…]

Пример 1. Добавление модели интеллектуального анализа данных к структуре

В следующем примере модель интеллектуального анализа данных упрощенного алгоритма Байеса добавляется к структуре интеллектуального анализа данных New Mailing, и указывается, что максимальное количество состояний атрибута равно 50.

ALTER MINING STRUCTURE [New Mailing]
ADD MINING MODEL [Naive Bayes]
(
    CustomerKey, 
    Gender,
    [Number Cars Owned],
    [Bike Buyer] PREDICT
)
USING Microsoft_Naive_Bayes (MAXIMUM_STATES = 50)

Пример 2. Добавление к структуре модели интеллектуального анализа данных с фильтрованием

В следующем примере модель интеллектуального анализа данных Naive Bayes Women добавляется к структуре интеллектуального анализа данных New Mailing. У новой модели та же базовая структура, что и у модели интеллектуального анализа данных, добавленной в примере 1; однако эта модель ограничивается только теми вариантами из структуры интеллектуального анализа данных, в которых клиентами являются женщины старше 50 лет.

ALTER MINING STRUCTURE [New Mailing]
ADD MINING MODEL [Naive Bayes Women]
(
    CustomerKey, 
    Gender,
    [Number Cars Owned],
    [Bike Buyer] PREDICT
)
USING Microsoft_Naive_Bayes
WITH FILTER([Gender] = 'F' AND [Age] >50)

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

В следующем примере модель интеллектуального анализа данных добавляется к измененной версии структуры интеллектуального анализа данных Market Basket. К структуре интеллектуального анализа данных, использованной в данном примере, добавлены столбцы Region для региона клиента и Income Group, подразделяющий клиентов по уровню дохода с помощью значений High, Moderate и Low.

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

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

ALTER MINING STRUCTURE [Market Basket with Region and Income]
ADD MINING MODEL [Decision Trees]
(
    CustomerKey, 
    Region,
    [Income Group],
    [Product] PREDICT (Model) 
WITH FILTER (EXISTS (SELECT * FROM [v Assoc Seq Line Items] WHERE 
 [Model] = 'HL Road Tire' OR
 [Model] = 'LL Road Tire' OR
 [Model] = 'ML Road Tire' )
)
) WITH FILTER ([Income Group] = 'High' AND [Region] = 'Europe')
USING Microsoft_Decision Trees