Прогноз взаимосвязей (учебник по интеллектуальному анализу данных — средний уровень)
После обработки моделей для создания прогнозов можно использовать сведения о взаимосвязях, хранящиеся в модели. В последней задаче этого занятия предстоит изучить, как создавать прогнозирующие запросы к созданным моделям взаимосвязей. В этом занятии предполагается, что вы знакомы с работой построителя прогнозирующих запросов и хотите научиться создавать прогнозирующие запросы к моделям взаимосвязей. Дополнительные сведения об использовании построителя прогнозирующих запросов см. в разделе Интерфейсы запросов интеллектуального анализа данных.
Создание одноэлементных прогнозирующих запросов
Прогнозирующие запросы для модели взаимосвязей могут быть весьма полезными:
Рекомендуйте клиентам элементы на основе предыдущих или связанных покупок
Найдите связанные события.
Определите отношения в наборах транзакций или через них.
Чтобы создать прогнозирующий запрос, сначала необходимо выбрать модель взаимосвязей, которая будет использоваться, а затем указать входные данные. Входные данные могут поступать из внешнего источника данных, например из списка значений, или можно создать одноэлементный запрос и предоставить значения по ходу выполнения операции.
В этом сценарии сначала будет создано несколько одноэлементных прогнозирующих запросов, чтобы получить представление о том, как работает прогнозирование. Затем будет создан запрос для пакетных прогнозов, которые можно использовать для предоставления рекомендаций на основании текущих покупок клиента.
Создание прогнозирующего запроса для модели взаимосвязей
Перейдите на вкладку Прогнозирование модели интеллектуального анализа данных Designer интеллектуального анализа данных.
В области Модель интеллектуального анализа данных щелкните Выбрать модель. (Если нужная модель уже выбрана, этот и следующий шаги можно пропустить.)
В диалоговом окне Выбор модели интеллектуального анализа данных разверните узел, представляющий связь структуры интеллектуального анализа данных, и выберите сопоставление модели. Нажмите кнопку ОК.
На данном этапе можно не учитывать входную панель.
В сетке щелкните пустую ячейку в разделе Источник и выберите Функция прогнозирования. В ячейке в разделе Поле выберите
PredictAssociation
.Для прогнозирования связей можно также использовать функцию Predict . В этом случае обязательно выберите версию функции Predict , которая принимает столбец таблицы в качестве аргумента.
В области Модель интеллектуального анализа данных выберите вложенную таблицу
vAssocSeqLineItems
и перетащите ее в сетку в поле Условия или аргумент дляPredictAssociation
функции.Путем перетаскивания имен таблиц и столбцов можно создавать сложные инструкции без синтаксических ошибок. Однако он заменяет текущее содержимое ячейки, включающее другие необязательные аргументы для
PredictAssociation
функции. Чтобы просмотреть другие аргументы, можно на время добавить в сетку второй экземпляр функции и использовать его для справки.Щелкните поле Условие или аргумент и введите следующий текст после имени таблицы:
,3
Полный текст в поле Условия/Аргумент должен выглядеть следующим образом:
[Association].[v Assoc Seq Line Items],3
Нажмите кнопку Результаты в верхнем углу построителя прогнозирующих запросов.
Ожидаемые результаты содержат один столбец с заголовком Выражение. Столбец Expression содержит вложенную таблицу с одним столбцом и следующими тремя строками. Поскольку входное значение не было указано, эти прогнозы представляют наиболее вероятные взаимосвязи продуктов для модели в целом.
Моделирование |
---|
Женские шорты Mountain |
Фляга для воды |
Touring-3000 |
Далее вы будете использовать панель Входные данные одноэлементного запроса , чтобы указать продукт в качестве входных данных для запроса и просмотреть продукты, которые, скорее всего, связаны с этим элементом.
Создание одноэлементного прогнозирующего запроса с входными данными вложенной таблицы
Нажмите кнопку Конструктор в углу построителя прогнозирующих запросов, чтобы вернуться к сетке построения запроса.
В меню Модель интеллектуального анализа данных выберите Одноэлементный запрос.
В диалоговом окне Модель интеллектуального анализа данных выберите модель сопоставления .
В сетке щелкните пустую ячейку в разделе Источник и выберите Функция прогнозирования. В ячейке в разделе Поле выберите
PredictAssociation
.В области Модель интеллектуального анализа данных выберите вложенную таблицу
vAssocSeqLineItems
и перетащите ее в сетку в поле Условия или аргумент дляPredictAssociation
функции. Введите,3
после имени вложенной таблицы, как в предыдущей процедуре.В диалоговом окне Входные данные одноэлементного запроса щелкните поле Значение рядом с пунктом Элементы строки vAssoc Seq и нажмите кнопку (...).
В диалоговом окне Входные данные вложенной таблицы выберите
Touring Tire
в области Ключевой столбец и нажмите кнопку Добавить.Нажмите кнопку Результаты .
Теперь в результатах отображаются прогнозы для продуктов, которые с наибольшей вероятностью связаны с шинами для туристических велосипедов.
Моделирование |
---|
Камера для покрышки туристического велосипеда |
Sport-100 |
Фляга для воды |
В результате изучения модели уже становится известно, что камера шины для велосипеда часто приобретается вместе с шиной. Теперь вас больше интересует то, какие продукты можно порекомендовать клиентам, купившим оба этих элемента. Запрос необходимо изменить таким образом, чтобы спрогнозировать связанные продукты на основании двух элементов в корзине. Также в запрос нужно добавить степень вероятности для каждого прогнозируемого продукта.
Добавление входных данных и вероятностей в одноэлементный прогнозирующий запрос
Нажмите кнопку Конструктор в углу построителя прогнозирующих запросов, чтобы вернуться к сетке построения запроса.
В диалоговом окне Входные данные одноэлементного запроса щелкните поле Значение рядом с пунктом Элементы строки vAssoc Seq и нажмите кнопку (...).
В области Ключевой столбец выберите
Touring Tire
и нажмите кнопку Добавить.В сетке щелкните пустую ячейку в разделе Источник и выберите Функция прогнозирования. В ячейке в разделе Поле выберите
PredictAssociation
.В области Модель интеллектуального анализа данных выберите вложенную таблицу
vAssocSeqLineItems
и перетащите ее в сетку в поле Условия или аргумент дляPredictAssociation
функции. Введите,3
после имени вложенной таблицы, как в предыдущей процедуре.В диалоговом окне Входные данные вложенной таблицы выберите
Touring Tire Tube
в области Ключевой столбец и нажмите кнопку Добавить.В сетке в строке
PredictAssociation
для функции щелкните поле Условие/Аргумент и измените аргументы, чтобы добавить аргумент, INCLUDE_STATISTICS.Полный текст в поле Условия/Аргумент должен выглядеть следующим образом:
[Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3
Нажмите кнопку Результаты .
Результаты во вложенной таблице меняются, отображая прогнозы вместе с поддержкой и вероятностью. Дополнительные сведения о том, как интерпретировать эти значения, см. в разделе Содержимое модели интеллектуального анализа данных для моделей взаимосвязей (службы Analysis Services — интеллектуальный анализ данных).
Моделирование | $SUPPORT | $PROBABILITY | $ADJUSTEDPROBABILITY |
---|---|---|---|
Sport-100 | 4334 | 0.291... | 0.252... |
Фляга для воды | 2866 | 0.192... | 0.175... |
Ремонтный комплект | 2113 | 0.142... | 0.132 |
Работа с результатами
Если результаты содержат много вложенных таблиц, такие результаты можно преобразовать в плоский формат для более удобного просмотра. С этой целью можно вручную изменить запрос и добавить ключевое слово FLATTENED
.
Преобразование вложенных наборов строк в плоский формат в прогнозирующем запросе
Нажмите кнопку SQL в углу построителя прогнозирующих запросов.
Сетка будет преобразована в открытую панель, в которой можно просмотреть и изменить инструкцию DMX, созданную построителем прогнозирующих запросов.
После ключевого слова
SELECT
введитеFLATTENED
.Полный текст запроса должен иметь следующий вид:
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
Нажмите кнопку Результаты в верхнем углу построителя прогнозирующих запросов.
Следует отметить, что после редактирования запроса вручную нельзя вернуться в конструктор, не потеряв изменения. Чтобы сохранить запрос, созданную инструкцию DMX можно вручную скопировать в текстовый файл. При возврате в конструктор в нем восстанавливается последняя версия запроса, имевшаяся до выхода из него.
Создание нескольких прогнозов
Предположим, необходимо получить наилучшие прогнозы для отдельных клиентов на основании их прошлых покупок. Можно использовать внешние данные в качестве входных данных для прогнозирующего запроса, например таблицы, содержащие идентификаторы клиентов и их последние покупки товаров. При этом требуется, чтобы таблицы данных уже были определены как представление источника данных служб Analysis Services. Кроме того, входные данные должны содержать таблицы вариантов и вложенные таблицы наподобие тех, которые используются в модели. Им не обязательно иметь одинаковые имена, но структура должна быть сходной. В целях этого учебника будут использоваться исходные таблицы, которые применялись для обучения модели.
Изменение метода ввода для прогнозирующего запроса
В меню Модель интеллектуального анализа данных снова выберите Одноэлементный запрос, чтобы очистить метку проверка.
Появится сообщение об ошибке, предупреждая о том, что одноэлементный запрос будет утерян. Нажмите кнопку Да.
Имя входного диалогового окна изменится на Выбор входных таблиц.
Поскольку необходимо создать прогнозирующий запрос, предоставляющий идентификатор клиента и список продуктов в качестве входных данных, потребуется добавить таблицу клиентов в качестве таблицы вариантов и таблицу покупок в качестве вложенной таблицы. Затем нужно добавить прогнозирующие функции для создания рекомендаций.
Создание прогнозирующего запроса с использованием входных данных вложенной таблицы
На панели «Модель интеллектуального анализа данных» выберите «Фильтруемые взаимосвязи».
В диалоговом окне Выбор входных таблиц щелкните Выбрать таблицу вариантов.
В диалоговом окне Выбор таблицы в поле Источник данных выберите AdventureWorksDW2008. В списке Имя таблицы или представления выберите vAssocSeqOrders и нажмите кнопку ОК.
Таблица vAssocSeqOrders добавляется на панель.
В диалоговом окне Выбор входных таблиц щелкните Выбрать вложенную таблицу.
В диалоговом окне Выбор таблицы в поле Источник данных выберите AdventureWorksDW2008. В списке Имя таблицы или представления выберите vAssocSeqLineItems и нажмите кнопку ОК.
Таблица vAssocSeqLineItems добавляется на панель.
В диалоговом окне Указание вложенного соединения перетащите поле OrderNumber из таблицы вариантов и перетащите его в поле OrderNumber во вложенной таблице.
Вы также можете нажать кнопку Добавить связь и создать связь, выбрав столбцы из списка.
В диалоговом окне Указание связи убедитесь, что поля OrderNumber сопоставлены правильно, и нажмите кнопку ОК.
Нажмите кнопку ОК , чтобы закрыть диалоговое окно Указание вложенного соединения .
Таблица вариантов и вложенная таблица обновляются на панели конструирования для отображения соединений между столбцами внешних данных и столбцами модели. Если связи неправильные, можно щелкнуть правой кнопкой мыши строку соединения и выбрать Изменить подключения , чтобы изменить сопоставление столбцов, или щелкнуть правой кнопкой мыши строку соединения и выбрать Удалить , чтобы полностью удалить связь.
Добавьте в сетку новую строку. В поле Источник выберите таблицу vAssocSeqOrders. В поле Поле выберите CustomerKey.
Добавьте в сетку новую строку. В поле Источник выберите таблицу vAssocSeqOrders. В поле Поле выберите Регион.
Добавьте в сетку новую строку. В поле Источник выберите Функция прогнозирования, а в поле Поле выберите
PredictAssociation
.Перетащите vAssocSeqLineItems в поле
PredictAssociation
Условия или Аргумент строки. Щелкните в конце поля Условия или Аргумент и введите следующий текст:INCLUDE_STATISTICS,3
Полный текст в поле Условия или аргумент должен быть следующим:
[Association].[v Assoc Seq Line Items], INCLUDE_STATISTICS, 3
Нажмите кнопку Результат , чтобы просмотреть прогнозы для каждого клиента.
Можно попытаться создать подобный прогнозирующий запрос для нескольких моделей и узнать, изменятся ли результаты прогнозов после фильтрации. Дополнительные сведения о создании прогнозов и других типов запросов см. в разделе Примеры запросов модели взаимосвязей.
См. также:
Содержимое моделей интеллектуального анализа данных для моделей взаимосвязей (службы Analysis Services — интеллектуальный анализ данных)
PredictAssociation (расширения интеллектуального анализа данных)
Создание прогнозирующего запроса с помощью построителя прогнозирующих запросов