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

 

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

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

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

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

  • Рекомендуйте клиентам элементы на основе предыдущих или связанных покупок

  • Найдите связанные события.

  • Определите отношения в наборах транзакций или через них.

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

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

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

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

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

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

    На данном этапе можно не учитывать входную панель.

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

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

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

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

  6. Щелкните Критерий или аргумент и введите следующий текст после имени таблицы: ,3

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

    [Association].[v Assoc Seq Line Items],3

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

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

Модель
Женские шорты Mountain
Фляга для воды
Touring-3000

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

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

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

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

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

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

  5. В модель интеллектуального анализа данных области, выберите вложенную таблицу vAssocSeqLineItems, и перетащите его в сетке в Критерий или аргумент поле для PredictAssociation функции. Тип ,3 после имени вложенной таблицы, как в предыдущей процедуре.

  6. В одноэлементного запроса диалоговом нажмите кнопку значение рядом с vAssoc Seq Line Items, а затем нажмите кнопку (...) кнопки.

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

  8. Щелкните результатов кнопки.

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

Модель
Камера для покрышки туристического велосипеда
Sport-100
Фляга для воды

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

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

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

  2. В одноэлементного запроса диалоговом нажмите кнопку значение рядом с vAssoc Seq Line Items, а затем нажмите кнопку (...) кнопки.

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

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

  5. В модель интеллектуального анализа данных области, выберите вложенную таблицу vAssocSeqLineItems, и перетащите его в сетке в Критерий или аргумент поле для PredictAssociation функции. Тип ,3 после имени вложенной таблицы, как в предыдущей процедуре.

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

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

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

    [Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

  8. Щелкните результатов кнопки.

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

Модель $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY
Sport-100 4334 0.291… 0.252…
Фляга для воды 2866 0.192… 0.175…
Ремонтный комплект 2113 0.142… 0.132

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

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

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

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

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

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

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

    SELECT FLATTENED  
      PredictAssociation([Association].[v Assoc Seq Line Items],INCLUDE_STATISTICS,3)  
    FROM  
      [Association]  
    NATURAL PREDICTION JOIN  
    (SELECT (SELECT 'Touring Tire' AS [Model]  
      UNION SELECT 'Touring Tire Tube' AS [Model]) AS [v Assoc Seq Line Items]) AS t  
    
  3. Щелкните результатов кнопку в верхнем углу построителя прогнозирующих запросов.

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

Создание нескольких прогнозов

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

Изменение метода ввода для прогнозирующего запроса

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

  2. Появится сообщение об ошибке, предупреждая о том, что одноэлементный запрос будет утерян. Нажмите кнопку Да.

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

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

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

  1. На панели «Модель интеллектуального анализа данных» выберите «Фильтруемые взаимосвязи».

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

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

    Таблица vAssocSeqOrders добавляется на панель.

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

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

    Таблица vAssocSeqLineItems добавляется на панель.

  6. В определение вложенного соединения диалоговое окно, перетащите поле из таблицы вариантов OrderNumber и перетащите поле OrderNumber вложенной таблицы.

    Можно также щелкнуть Добавить отношение и создать связь, выбрав столбцы из списка.

  7. В Укажите отношение диалогового окна убедитесь, что правильно сопоставлены полей OrderNumber и нажмите кнопку ОК.

  8. Щелкните ОК Закрыть определение вложенного соединения диалоговое окно.

    Таблица вариантов и вложенная таблица обновляются на панели конструирования для отображения соединений между столбцами внешних данных и столбцами модели. Если связи неправильные, можно правой кнопкой мыши линию соединения и выберите Изменить соединения для редактирования столбца сопоставление, или можно правой кнопкой мыши линию соединения и выберите Удаление Чтобы полностью удалить связь.

  9. Добавьте в сетку новую строку. Для источника, выберите таблицы vAssocSeqOrders. Для поля, выберите CustomerKey.

  10. Добавьте в сетку новую строку. Для источника, выберите таблицы vAssocSeqOrders. Для поля, выберите регион.

  11. Добавьте в сетку новую строку. Для источника, выберите Прогнозирующая функция, и для поля, выберите PredictAssociation.

  12. Перетащите vAssocSeqLineItems в Критерий или аргумент поле PredictAssociation строки. Щелкните в конце Критерий или аргумент и введите следующий текст: INCLUDE_STATISTICS 3

    Полный текст Критерий или аргумент должен иметь: [Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3

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

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

См. также:

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