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

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

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

Запросы прогнозирования для модели сопоставления могут быть очень полезными:

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

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

  • Определение связей в наборах транзакций или между ними.

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

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

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

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

  2. В области "Модель Майнинга" нажмите "Выбрать модель". (Этот шаг можно пропустить и следующий шаг, если выбрана правильная модель.)

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

    Теперь можно игнорировать область ввода.

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

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

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

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

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

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

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

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

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

Модель
Женские горные шорты
Бутылка для воды
Туринг-3000

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

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

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

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

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

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

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

  6. В диалоговом окне "Ввод одноэлементных запросов" щелкните поле "Значение" рядом с элементами строк vAssoc Seq и нажмите кнопку (...).

  7. В диалоговом окне "Входные данные вложенной таблицы " выберите Touring Tire в области "Ключевой столбец " и нажмите кнопку "Добавить".

  8. Нажмите кнопку "Результаты ".

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

Модель
Камера для дорожных шин
Спорт-100
Бутылка для воды

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

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

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

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

  3. В области "Ключевой столбец" выберите Touring Tireи нажмите кнопку "Добавить".

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

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

  6. В диалоговом окне "Входные данные вложенной таблицы " выберите Touring Tire Tube в области "Ключевой столбец " и нажмите кнопку "Добавить".

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

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

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

  8. Нажмите кнопку "Результаты ".

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

Модель $ПОДДЕРЖКА $PROBABILITY $ADJUSTEDPROBABILITY
Спорт-100 4334 0.291... 0.252...
Бутылка для воды 2866 0.192... 0.175...
Пакет исправлений 2113 0.142... 0.132

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

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

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

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

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

  2. После ключевого 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  
    
  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 (DMX)
Создание запроса прогнозирования с помощью построителя прогнозов