Занятие 4: Выполнение прогнозов потребительской корзины

 

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

На этом занятии будет использовать DMX ВЫБЕРИТЕ инструкции для создания прогнозов на основе связи моделей, созданных в Урок 2: Добавление модели интеллектуального анализа данных к структуре интеллектуального анализа «Потребительская корзина». Прогнозирующий запрос создается с помощью расширений интеллектуального анализа данных ВЫБЕРИТЕ инструкции и добавление PREDICTION JOIN предложения. Дополнительные сведения о синтаксисе прогнозируемого соединения см. в разделе SELECT FROM < модель > ПРОГНОЗИРУЕМОЕ соединение ( расширений интеллектуального анализа данных ).

SELECT FROM PREDICTION JOIN форму ВЫБЕРИТЕ оператор состоит из трех частей:

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

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

  • Сопоставление столбцов модели интеллектуального анализа данных с исходными данными. Если имена столбцов совпадают, можно использовать NATURAL PREDICTION JOIN синтаксис и пропустить процесс сопоставления столбцов.

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

Для создания прогнозирующих запросов можно также использовать построитель прогнозирующих запросов среды SQL Server Data Tools (SSDT).

Одноэлементная инструкция PREDICTION JOIN

Первым шагом является создание одноэлементного запроса с помощью SELECT FROM PREDICTION JOIN синтаксис и предоставляя один набор значений в качестве входного. В следующем фрагменте показан общий пример одноэлементной инструкции:

SELECT <select list>  
    FROM [<mining model>]   
[NATURAL] PREDICTION JOIN  
(SELECT '<value>' AS [<column>],   
    (SELECT 'value' AS [<nested column>] UNION  
        SELECT 'value' AS [<nested column>] ...)   
    AS [<nested table>])  
AS [<input alias>]  

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

SELECT <select list> FROM [<mining model>]   

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

[NATURAL] PREDICTION JOIN  

Следующие строки кода определяют товар в корзине покупателя, на основе которого будет сформирован прогноз относительно следующих покупок данного клиента:

(SELECT '<value>' AS [<column>],   
    (SELECT 'value' AS [<nested column>] UNION  
        SELECT 'value' AS [<nested column>] ...)   
    AS [<nested table>])  

Задачи занятия

На этом занятии будут выполнены следующие задачи.

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

  • Создание запроса для прогнозирования последующих возможных покупок клиента на основе данных о позициях товара, уже находящихся в его корзине. Этот запрос основан на другой модели, в котором MINIMUM_PROBABILITY значение 0,01. Так как значение по умолчанию для MINIMUM_PROBABILITY в моделях взаимосвязей равно 0,3, запрос на этой модели должен возвращать число возможных элементов, чем запрос к модели по умолчанию.

Формирование прогноза с помощью модели со значением свойства MINIMUM_PROBABILITY по умолчанию

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

  1. В обозревателя объектов, щелкните правой кнопкой мыши экземпляр Службы Analysis Services, пункты новый запрос, а затем нажмите кнопку расширений интеллектуального анализа данных Откройте редактор запросов.

  2. Скопируйте общий пример PREDICTION JOIN инструкции в пустой запрос.

  3. Вместо

    <select list>   
    

    вставьте

    PREDICT([Default Association].[Products],INCLUDE_STATISTICS,3)  
    

    Было бы включить только имя столбца [Products], но с помощью Predict ( расширений интеллектуального анализа данных ) функции, можно ограничить количество позиций товара, возвращаемых алгоритмом, до трех. Можно также использовать INCLUDE_STATISTICS, который возвращает поддержка, вероятность и скорректированное значение вероятности для каждого продукта. Такие статистические данные позволяют оценить точность прогнозирования.

  4. Вместо

    [<mining model>]   
    

    вставьте

    [Default Association]  
    
  5. Вместо

    (SELECT '<value>' AS [<column>],   
        (SELECT 'value' AS [<nested column>] UNION  
            SELECT 'value' AS [<nested column>] ...)   
        AS [<nested table>])  
    

    вставьте

    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]  
      UNION SELECT 'Mountain Tire Tube' AS [Model]  
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t  
    

    Эта инструкция использует ОБЪЕДИНЕНИЕ инструкцию, чтобы указать три продукта, которые должны быть включены в корзину вместе с прогнозируемыми товарами. Столбец модели в ВЫБЕРИТЕ инструкции соответствует столбцу модели, содержащаяся в вложенной таблице товаров.

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

    SELECT  
      PREDICT([Default Association].[Products],INCLUDE_STATISTICS,3)  
    From  
      [Default Association]  
    NATURAL PREDICTION JOIN  
    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]  
      UNION SELECT 'Mountain Tire Tube' AS [Model]  
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t  
    
  6. В меню Файл щелкните Сохранить DMXQuery1.dmx как.

  7. В Сохранить как диалоговом перейдите к соответствующей папке и присвойте файлу имя Association Prediction.dmx.

  8. На панели инструментов нажмите кнопку Выполнить .

    Запрос возвращает таблицу, содержащую три продукта: HL Mountain Tire, Fender Set - Mountain и ML Mountain Tire. В таблице эти продукты перечислены в порядке их вероятности. Возвращаемый продукт, который имеет наибольшую вероятность попасть в один и тот же список покупок с тремя продуктами, перечисленными в запросе, отображается в верхней части таблицы. Два продукта, расположенные ниже, — следующие по вероятности включения в список покупок. Кроме этого, в таблице содержатся статистические данные, описывающие точность прогноза.

Формирование прогноза с помощью модели со значением 0,01 у свойства MINIMUM_PROBABILITY

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

  1. В обозревателя объектов, щелкните правой кнопкой мыши экземпляр Службы Analysis Services, пункты новый запрос, а затем нажмите кнопку расширений интеллектуального анализа данныхОткройте редактор запросов.

  2. Скопируйте общий пример PREDICTION JOIN инструкции в пустой запрос.

  3. Вместо

    <select list>   
    

    вставьте

    PREDICT([Modified Association].[Products],INCLUDE_STATISTICS,3)  
    
  4. Вместо

    [<mining model>]   
    

    вставьте

    [Modified Association]  
    
  5. Вместо

    (SELECT '<value>' AS [<column>],   
        (SELECT 'value' AS [<nested column>] UNION  
            SELECT 'value' AS [<nested column>] ...)   
        AS [<nested table>])  
    

    вставьте

    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]  
      UNION SELECT 'Mountain Tire Tube' AS [Model]  
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t  
    

    Эта инструкция использует ОБЪЕДИНЕНИЕ инструкцию, чтобы указать три продукта, которые должны быть включены в корзину вместе с прогнозируемыми товарами. [Model] Столбца в ВЫБЕРИТЕ инструкции соответствует столбцу в вложенной таблице товаров.

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

    SELECT  
      PREDICT([Modified Association].[Products],INCLUDE_STATISTICS,3)  
    From  
      [Modified Association]  
    NATURAL PREDICTION JOIN  
    (SELECT (SELECT 'Mountain Bottle Cage' AS [Model]  
      UNION SELECT 'Mountain Tire Tube' AS [Model]  
      UNION SELECT 'Mountain-200' AS [Model]) AS [Products]) AS t  
    
  6. В меню Файл щелкните Сохранить DMXQuery1.dmx как.

  7. В Сохранить как диалоговом перейдите к соответствующей папке и присвойте файлу имя Modified Association Prediction.dmx.

  8. На панели инструментов нажмите кнопку Выполнить .

    Запрос возвращает таблицу, содержащую три продукта: HL Mountain Tire, Water Bottle и Fender Set - Mountain. В таблице эти продукты перечислены в порядке их вероятности. Продукт, который имеет наибольшую вероятность попасть в один и тот же список покупок с тремя продуктами, перечисленными в запросе, отображается в верхней части таблицы. Продукты, расположенные ниже, — следующие по вероятности включения в список покупок. Кроме этого, в таблице содержатся статистические данные, описывающие точность прогноза.

    Можно увидеть из результатов этого запроса, значение MINIMUM_PROBABILITY параметр влияет на результаты, возвращаемые запросом.

Это было последним этапом учебника «Потребительская корзина». Созданный набор моделей может быть использован для прогнозирования товаров, которые клиент обычно покупает одновременно.

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

См. также:

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