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

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

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

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

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

  • Эксперименты с моделями путем создания и тестирования различного группирования одинаковых данных, например возраста 20-30 лет по сравнению с возрастом 20-40 лет и 20-25 лет.

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

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

Создание фильтров моделей

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

  • Создание условий с помощью диалоговых окон редактора фильтров на вкладке Модели интеллектуального анализа данных в конструкторе интеллектуального анализа данных.

  • Ввод критериев фильтра непосредственно в свойстве Фильтр модели интеллектуального анализа данных.

  • Программная настройка условий фильтра в модели с помощью объектов AMO.

Создание фильтров моделей с помощью конструктора интеллектуального анализа данных

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

Есть два диалоговых окна фильтра. В первом создаются условия, применяемые к таблице вариантов. Если источник данных содержит несколько таблиц, то сначала нужно выбрать таблицу, затем столбец, после чего следует указать операторы и условия, которые должны к нему применяться. Несколько условий связываются с помощью операторов AND или OR. Операторы, доступные в качестве определяемых значений, зависят от значений в столбце: дискретных или непрерывных. Например, в случае непрерывных значений можно использовать операторы greater than и less than. Однако для дискретных значений можно использовать только операторы = (equal to), != (not equal to) и is null.

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

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

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

Создание фильтров во вложенных таблицах

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

Например, если таблица вариантов связана с покупателями, а во вложенной таблице показаны продукты, приобретенные покупателями, то можно создать фильтр для покупателей, которые приобрели определенные товары. Это можно сделать с помощью приведенного синтаксиса в фильтре вложенной таблицы: [ProductName]=’Water Bottle’ OR ProductName=’Water Bottle Cage'.

Кроме того, можно отфильтровать данные по существованию определенного значения во вложенной таблице с помощью ключевых слов EXISTS или NOT EXISTS и вложенного запроса. Это позволяет создавать такие условия, как EXISTS (SELECT * FROM Products WHERE ProductName=’Water Bottle’). Условие EXISTS SELECT(<subquery>) возвращает значение true, если вложенная таблица содержит хотя бы одну строку, включающую значение Water Bottle.

Можно сочетать условия в таблице вариантов с условиями во вложенной таблице. Например, в показанном ниже синтаксисе приведены условие в таблице вариантов (Age > 30), вложенный запрос к вложенной таблице (EXISTS (SELECT * FROM Products)), а также несколько условий к вложенной таблице (WHERE ProductName=’Milk’ AND Quantity>2).

(Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’  AND Quantity>2) )

Когда построение фильтра завершено, текст фильтра вычисляется службами Службы Analysis Services, переводится в DMX-выражение и после этого сохраняется в модели.

Инструкции по применению диалоговых окон фильтра в среде Business Intelligence Development Studio см. в разделе Как применить фильтр к модели интеллектуального анализа данных.

Управление фильтрами моделей интеллектуального анализа данных

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

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

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

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

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

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

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