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


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

 

Применимо к: SQL Server 2016 Preview

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

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

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

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

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

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

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

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

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

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

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

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

    Примечание


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

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

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

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

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

$SEQUENCE Line Number Модель
1 Велосипед Mountain-200

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

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

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

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

  2. В одноэлементного запроса диалоговом нажмите кнопку значение поле для области, и выберите Европа.

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

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

  5. В одноэлементного запроса диалоговом нажмите кнопку значение поле для области, и выберите 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  

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

Если результаты содержат много вложенных таблиц, такие результаты можно преобразовать в плоский формат для более удобного просмотра. Чтобы сделать это, можно вручную изменить запрос и добавить СГЛАЖЕННЫЙ ключевое слово.

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

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

  2. После ВЫБЕРИТЕ ключевое слово, тип СГЛАЖЕННЫЙ.

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

    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. В одноэлементного запроса диалоговом нажмите кнопку значение поле для области, и выберите пустую строку, чтобы очистить входные данные для этого поля.

  3. В одноэлементного запроса диалоговом нажмите кнопку значение поле для vAssocSeqLineItems, а затем нажмите кнопку (...).

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

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

  6. Щелкните результат кнопку, чтобы просмотреть прогнозы.

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

$SEQUENCE Line Number Модель
1 Камера для покрышки туристического велосипеда
2 Sport-100
3 Кофта с длинными рукавами и эмблемой

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

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

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

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

  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. Щелкните результат кнопку, чтобы просмотреть прогнозы для каждого клиента.

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

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

После завершения всех разделов Intermediate Data Mining Tutorial ( Службы Analysis Services — Интеллектуальный анализ данных ), скорее всего, чтобы узнать, как использовать инструкции расширений интеллектуального анализа данных (DMX) для построения моделей и создания прогнозов. Дополнительные сведения см. в разделе Создание и запрос данных модели интеллектуального анализа данных с помощью расширений интеллектуального анализа данных: учебники и #40; Службы Analysis Services — Интеллектуальный анализ данных ).

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

См. также:

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