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


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

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

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

Создание прогнозов для региональной модели

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

Создание одноэлементного запроса к модели кластеризации последовательностей

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

  2. В меню столбца Модель интеллектуального анализа данных выберите пункт Одноэлементный запрос.

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

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

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

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

  5. В сетке щелкните пустую ячейку в столбце Источник и выберите пункт Прогнозирующая функция. В ячейке столбца Поле выберите PredictSequence.

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

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

  6. На панели Модель интеллектуального анализа данных выберите вложенную таблицу v Assoc Seq Line Items и перетащите ее в сетку в поле Критерий или аргумент для функции PredictSequence.

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

  7. Нажмите кнопку Результат в верхнем углу построителя прогнозирующих запросов.

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

$SEQUENCE

Line Number

Model

1

  

Велосипед Mountain-200

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

Добавление входных данных к одноэлементному прогнозирующему запросу

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

Создание прогнозов для определенной группы клиентов

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

  2. В диалоговом окне Ввод одноэлементного запроса щелкните поле Значение столбца Region и выберите пункт Europe.

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

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

  5. В диалоговом окне Ввод одноэлементного запроса щелкните поле Значение столбца Region и выберите пункт North America.

  6. Нажмите кнопку Результат, чтобы просмотреть прогнозы для клиентов в Северной Америке.

Добавление вероятностей с помощью пользовательского выражения

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

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

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

  2. В сетке щелкните в столбце Источник новую строку и выберите пункт Пользовательское выражение.

  3. Оставьте поле в столбце Поле пустым.

  4. В столбце Псевдоним введите t.

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

    (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))
    
  6. Нажмите кнопку Результат, чтобы просмотреть прогнозы для клиентов в Европе.

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

SELECT
  PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),
  ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]
FROM
  [Sequence Clustering with Region]
NATURAL PREDICTION JOIN
(SELECT 'Europe' AS [Region]) AS t

Работа с результатами

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

Преобразование вложенных наборов строк в плоский формат в прогнозирующем запросе

  1. Нажмите кнопку Запрос в углу построителя прогнозирующих запросов.

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

  2. После ключевого слова SELECT введите FLATTENED.

    Полный текст запроса должен быть аналогичен следующему:

    SELECT FLATTENED
      PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]),
      ( (SELECT PredictProbability([Model]) FROM PredictSequence([Sequence Clustering with Region].[v Assoc Seq Line Items]))) as [t]
    FROM
      [Sequence Clustering with Region]
    NATURAL PREDICTION JOIN
    (SELECT 'Europe' AS [Region]) AS t
    
  3. Нажмите кнопку Результаты в верхнем углу построителя прогнозирующих запросов.

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

Создание прогнозов для связанной модели

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

Использование столбцов вложенной таблицы в качестве входных данных

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

Использование вложенной таблицы в качестве входных данных для прогноза

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

  2. В диалоговом окне Ввод одноэлементного запроса щелкните поле Значение столбца Region и выберите пустую строку, чтобы очистить входные данные этого поля.

  3. В диалоговом окне Ввод одноэлементного запроса щелкните поле Значение таблицы vAssocSeqLineItems и нажмите кнопку (…).

  4. В диалоговом окне Ввод вложенной таблицы нажмите кнопку Добавить.

  5. В новой строке щелкните поле в столбце Model и в списке выберите пункт Touring Tire. Нажмите кнопку ОК.

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

Модель рекомендует следующие элементы, перечисленные ниже, для всех клиентов, выбравших в качестве первого элемента шину для велосипеда (Touring Tire). В результате изучения модели уже становится известно, что товары Touring Tire и Touring Tire Tube часто приобретаются клиентами вместе. Следовательно, эти рекомендации вполне обоснованы.

$SEQUENCE

Line Number

Модель

1

  

Камера для покрышки туристического велосипеда

2

  

Sport-100

3

  

Кофта с длинными рукавами и эмблемой

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

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

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

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

  1. На панели Модель интеллектуального анализа данных выберите модель Sequence Clustering, если она еще не была выбрана.

  2. В диалоговом окне Выбор входных таблиц нажмите кнопку Выбрать таблицу вариантов.

  3. В диалоговом окне Выбор таблицы в списке «Источник данных» выберите Orders. В списке Имя таблицы или представления выберите таблицу vAssocSeqOrders и нажмите кнопку ОК.

  4. В диалоговом окне Выбор входных таблиц нажмите кнопку Выбрать вложенную таблицу.

  5. В диалоговом окне Выбор таблицы в списке Источник данных выберите Orders. В списке Имя таблицы или представления выберите таблицу vAssocSeqLineItems и нажмите кнопку ОК.

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

  6. Добавьте в сетку новую строку. В столбце Источник выберите элемент vAssocSeqOrders, а в столбце Поле — элемент CustomerKey.

  7. Добавьте в сетку новую строку. В столбце Источник выберите Прогнозирующая функция, а в столбце Поле — PredictSequence.

  8. Перетащите таблицу vAssocSeqLineItems в поле Критерий/аргумент. Щелкните в конце поля Критерий или аргумент и введите следующие аргументы: 2.

    Полный текст поля Критерий или аргумент должен иметь следующий вид: [Sequence Clustering].[v Assoc Seq Line Items],2

  9. Нажмите кнопку Результат, чтобы просмотреть прогнозы для каждого клиента.

Учебник по моделям кластеризации последовательностей завершен.

Следующие шаги

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

Пользователи, которым знакомы основные понятия программирования, также могут использовать объекты AMO для работы с объектами интеллектуального анализа данных программным путем. Дополнительные сведения см. в разделе Классы интеллектуального анализа данных объектов AMO.

См. также

Справочник

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

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

Примеры запросов к модели кластеризации последовательностей