Compartilhar via


Lição 4: Executando previsões de cesta de mercado

Nesta lição, você usará a instrução DMX SELECT para criar previsões com base nos modelos de associação criados na Lição 2: Adicionando Modelos de Mineração à Estrutura de Mineração da Cesta de Mercado. Uma consulta de previsão é criada usando a instrução DMX SELECT e adicionando uma PREDICTION JOIN cláusula. Para obter mais informações sobre a sintaxe de uma junção de previsão, consulte SELECT FROM <model> PREDICTION JOIN (DMX).

O formulário SELECT FROM <model> PREDICTION JOIN da SELECT instrução contém três partes:

  • Uma lista das colunas do modelo de mineração e funções de previsão que são retornadas no conjunto de resultados. Essa lista também pode conter colunas de entrada dos dados de origem.

  • Uma consulta de origem que define os dados que estão sendo usados para criar uma previsão. Por exemplo, se você estiver criando muitas previsões em um lote, a consulta de origem poderá recuperar uma lista de clientes.

  • Um mapeamento entre as colunas do modelo de mineração e os dados de origem. Se os nomes das colunas corresponderem, você poderá usar a NATURAL PREDICTION JOIN sintaxe e omitir os mapeamentos de coluna.

Você pode aprimorar a consulta usando funções de previsão. As funções de previsão fornecem informações adicionais, como a probabilidade de uma previsão ocorrer ou o suporte para uma previsão no conjunto de dados de treinamento. Para obter mais informações sobre funções de previsão, consulte Functions (DMX).

Você também pode usar o construtor de consultas de previsão no SSDT (SQL Server Data Tools) para criar consultas de previsão.

Instrução SINGLETON PREDICTION JOIN

A primeira etapa é criar uma consulta singleton usando a sintaxe SELECT FROM <model> PREDICTION JOIN e fornecendo um único conjunto de valores como entrada. A seguir está um exemplo genérico de declaração singleton:

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>]  

A primeira linha do código define as colunas do modelo de mineração que a consulta retorna e especifica o nome do modelo de mineração usado para gerar a previsão:

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

A próxima linha do código indica a operação a ser executada. Como você especificará valores para cada uma das colunas e digitará os nomes de coluna exatamente para corresponder ao modelo, você pode usar a NATURAL PREDICTION JOIN sintaxe. No entanto, se os nomes das colunas fossem diferentes, você teria que especificar mapeamentos entre as colunas no modelo e as colunas nos novos dados adicionando uma ON cláusula.

[NATURAL] PREDICTION JOIN  

As próximas linhas do código definem os produtos no carrinho de compras que serão usados para prever produtos adicionais que um cliente adicionará:

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

Tarefas da lição

Você executará as seguintes tarefas nesta lição:

  • Crie uma consulta que preveja quais outros itens um cliente provavelmente comprará, com base em itens já existentes em seu carrinho de compras. Você criará essa consulta usando o modelo de mineração com o MINIMUM_PROBABILITY padrão.

  • Crie uma consulta que preveja quais outros itens um cliente provavelmente comprará com base em itens já existentes em seu carrinho de compras. Essa consulta é baseada em um modelo diferente, no qual MINIMUM_PROBABILITY foi definido como 0,01. Como o valor padrão para MINIMUM_PROBABILITY em modelos de associação é 0,3, a consulta nesse modelo deve retornar mais itens possíveis do que a consulta no modelo padrão.

Criar uma previsão usando um modelo com o MINIMUM_PROBABILITY padrão

Para criar uma consulta de associação

  1. No Pesquisador de Objetos, clique com o botão direito do mouse na instância do Analysis Services, aponte para Nova Consulta e clique em DMX para abrir o Editor de Consultas.

  2. Copie o exemplo genérico da instrução PREDICTION JOIN na consulta em branco.

  3. Substitua o seguinte:

    <select list>   
    

    por:

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

    Você pode apenas incluir o nome da coluna [Produtos], mas usando a função Predict (DMX), você pode limitar o número de produtos retornados pelo algoritmo para três. Você também pode usar INCLUDE_STATISTICS, que retorna o suporte, a probabilidade e a probabilidade ajustada para cada produto. Essas estatísticas ajudam você a avaliar a precisão da previsão.

  4. Substitua o seguinte:

    [<mining model>]   
    

    por:

    [Default Association]  
    
  5. Substitua o seguinte:

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

    por:

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

    Esta instrução usa a declaração UNION para especificar três produtos que devem ser incluídos no carrinho de compras juntamente com os produtos previstos. A coluna Modelo na instrução SELECT corresponde à coluna de modelo contida na tabela de produtos aninhados.

    A instrução completa agora deve ser a seguinte:

    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. No menu Arquivo , clique em Salvar DMXQuery1.dmx Como.

  7. Na caixa de diálogo Salvar como , navegue até a pasta apropriada e nomeie o arquivo Association Prediction.dmx.

  8. Na barra de ferramentas, clique no botão Executar .

    A consulta retorna uma tabela que contém três produtos: HL Mountain Tire, Fender Set - Mountain e ML Mountain Tire. A tabela lista esses produtos retornados em ordem de probabilidade. O produto retornado que provavelmente será incluído no mesmo carrinho de compras que os três produtos especificados na consulta aparece na parte superior da tabela. Os dois produtos a seguir são os próximos mais propensos a serem incluídos no carrinho de compras. A tabela também contém estatísticas que descrevem a precisão da previsão.

Criar uma previsão usando um modelo com um MINIMUM_PROBABILITY de 0,01

Para criar uma consulta de associação

  1. No Pesquisador de Objetos, clique com o botão direito do mouse na instância do Analysis Services, aponte para Nova Consulta e clique em DMX para abrir o Editor de Consultas.

  2. Copie o exemplo genérico da declaração PREDICTION JOIN na consulta em branco.

  3. Substitua o seguinte:

    <select list>   
    

    por:

    PREDICT([Modified Association].[Products],INCLUDE_STATISTICS,3)  
    
  4. Substitua o seguinte:

    [<mining model>]   
    

    por:

    [Modified Association]  
    
  5. Substitua o seguinte:

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

    por:

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

    Esta declaração utiliza a instrução UNION para especificar três produtos que precisam ser incluídos no carrinho de compras juntamente com os produtos preditos. A coluna [Model] na declaração SELECT corresponde à coluna na tabela de produtos aninhados.

    A instrução completa agora deve ser a seguinte:

    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. No menu Arquivo , clique em Salvar DMXQuery1.dmx Como.

  7. Na caixa de diálogo Salvar como , navegue até a pasta apropriada e nomeie o arquivo Modified Association Prediction.dmx.

  8. Na barra de ferramentas, clique no botão Executar .

    A consulta retorna uma tabela que contém três produtos: HL Mountain Tire, Water Bottle e Fender Set - Mountain. A tabela lista esses produtos em ordem de probabilidade. O produto que aparece na parte superior da tabela é o produto que provavelmente será incluído no mesmo carrinho de compras que os três produtos especificados na consulta. Os produtos restantes são os próximos mais propensos a serem incluídos no carrinho de compras. A tabela também contém estatísticas que descrevem a precisão da previsão.

    Você pode ver nos resultados dessa consulta que o valor do parâmetro MINIMUM_PROBABILITY afeta os resultados retornados pela consulta.

Esta é a última etapa no tutorial da Cesta de Mercado. Agora você tem um conjunto de modelos que você pode usar para prever os produtos que os clientes podem comprar ao mesmo tempo.

Para saber como usar o DMX em outro cenário preditivo, consulte o Tutorial DMX do Bike Buyer.

Consulte Também

Exemplos de consulta de modelo de associação
Interfaces de consulta de mineração de dados