Флаги моделирования (интеллектуальный анализ данных)

Флаги моделирования можно использовать в службах SQL Server 2008 Analysis Services (SSAS), чтобы включить в алгоритм интеллектуального анализа данных дополнительные сведения о данных, которые определены в таблице вариантов. Алгоритм может использовать эти сведения для создания более точной модели интеллектуального анализа данных.

Для определения флагов моделирования программным путем можно использовать расширения интеллектуального анализа данных или можно определить эти флаги в конструкторе интеллектуального анализа данных в среде Business Intelligence Development Studio. Дополнительные сведения о том, как определять эти флаги, см. в разделе Столбцы модели интеллектуального анализа данных.

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

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

  • NOT NULL
    Указывает, что значения столбца атрибутов не должны включать значение NULL. Если службы Analysis Services найдут значение NULL в данном столбце атрибутов в процессе обучения модели, будет выдана ошибка.

  • MODEL_EXISTENCE_ONLY
    Указывает, что столбец должен рассматриваться как имеющий два состояния: Missing и Existing. Если значение составляет NULL, оно рассматривается как недостающее.

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

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

    Этот флаг моделирования, как правило, используется для обозначения атрибутов, в которых состояние NULL имеет неявный смысл, а явно заданное значение состояния NOT NULL может не быть столь важным, как факт, что этот столбец имеет некоторое значение. Например, в столбце [DateContractSigned] может присутствовать значение NULL, если контракт не подписан, и значение NOT NULL, если контракт подписан. Поэтому, если назначение модели состоит в прогнозировании того, что контракт будет подписан, можно использовать флаг MODEL_EXISTENCE_ONLY для пропуска точного значения даты в вариантах со значением NOT NULL и проведения различия только между вариантами, в которых значение составляет Missing или Existing.

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

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

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

Просмотр и смена флагов модели

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

Просмотр или изменение флага модели для столбца структуры или столбца модели

  1. В окне обозревателя решений среды BI Development Studio дважды щелкните структуру интеллектуального анализа данных.

  2. Чтобы задать флаг модели NOT NULL, откройте вкладку Структура интеллектуального анализа данных.

    Чтобы задать флаги REGRESSOR или MODEL_EXISTENCE_ONLY, откройте вкладку Модель интеллектуального анализа данных.

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

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

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

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

    После изменения флага модели необходимо повторно обработать модель.

Возможность изменения флагов модели, используемых в существующей модели и структуре интеллектуального анализа данных, с помощью расширения интеллектуального анализа данных не предусмотрена. Необходимо создать новую модель интеллектуального анализа данных с использованием синтаксиса ALTER MINING STRUCTURE….ADD MINING MODEL.

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

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_STRUCTURE_COLUMNS
WHERE STRUCTURE_NAME = '<structure name>'

Использование флага модели REGRESSOR

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

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

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

SELECT COLUMN_NAME, MODELING_FLAG
FROM $system.DMSCHEMA_MINING_columnS
WHERE MODEL_NAME = '<model name>'

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

Регрессоры в моделях линейной регрессии

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

Необходимость указывать, что непрерывный столбец представляет регрессор, отсутствует. Алгоритм дерева принятия решений (Майкрософт) секционирует набор данных на области со значимыми шаблонами, даже если для столбца не задан флаг REGRESSOR. Различие между указанными случаями состоит в том, что если пользователем задан флаг модели, то в алгоритме предпринимается попытка найти регрессионные уравнения в форме a*C1 + b*C2 + ... для подгонки шаблонов к узлам дерева. Вычисляется сумма остатков, и, если отклонение слишком велико, принудительно выполняется разбиение дерева.

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

Можно применить параметр FORCED_REGRESSOR для обеспечения того, чтобы в алгоритме использовался конкретный регрессор. Этот параметр может применяться с алгоритмом дерева принятия решений и алгоритмом линейной регрессии.

См. также

Справочник

Основные понятия

Другие ресурсы