Partilhar via


Lição 3: Processando a estrutura de mineração do Market Basket

Nesta lição, você usará a instrução INSERT INTO (DMX) e o vAssocSeqLineItems e vAssocSeqOrders do banco de dados de exemplo AdventureWorksDW2012 para processar as estruturas de mineração e os modelos de mineração criados na Lição 1: Criando a Estrutura de Mineração da Cesta de Mercado e a Lição 2: Adicionar Modelos de Mineração à Estrutura de Mineração da Cesta de Mercado.

Quando você processa uma estrutura de mineração, o Analysis Services lê os dados de origem e cria as estruturas que dão suporte a modelos de mineração. Quando você processa um modelo de mineração, os dados definidos pela estrutura de mineração são passados pelo algoritmo de mineração de dados escolhido. O algoritmo procura tendências e padrões e, depois, armazena as informações no modelo de mineração. Portanto, o modelo de mineração na verdade não contém os dados de origem, e sim as informações que foram descobertas pelo algoritmo. Para obter mais informações sobre como processar modelos de mineração, consulte Processando requisitos e considerações (mineração de dados).

Só será necessário reprocessar uma estrutura de mineração se houver alteração em uma coluna de estrutura ou nos dados de origem. Se você adicionar um modelo de mineração a uma estrutura de mineração que já foi processada, será possível usar a instrução INSERT INTO MINING MODEL para treinar o novo modelo de mineração nos dados existentes.

Como a estrutura de mineração da cesta básica contém uma tabela aninhada, você terá que definir as colunas de mineração a serem treinadas, utilizando a estrutura de tabelas aninhadas, e utilizar o comando SHAPE para definir as consultas que recebem dados de treinamento das tabelas de origem.

Instrução INSERT INTO

Para treinar a estrutura de mineração market basket e seus modelos de mineração associados, use a instrução INSERT INTO (DMX ). O código na instrução pode ser dividido nas seguintes partes.

  • Identificando a estrutura de mineração

  • Listando as colunas na estrutura de mineração

  • Definindo os dados de treinamento usando SHAPE

A seguir, um exemplo genérico da instrução INSERT INTO:

INSERT INTO MINING STRUCTURE [<mining structure name>]  
(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  
SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],'<nested SELECT statement>')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

A primeira linha do código identifica a estrutura de mineração a ser treinada:

INSERT INTO MINING STRUCTURE [<mining structure name>]  

As linhas seguintes do código especificam as colunas definidas pela estrutura de mineração. É preciso listar cada coluna na estrutura de mineração, e cada coluna deve mapear para uma coluna contida nos dados da consulta de origem. Você pode utilizar SKIP para ignorar colunas que existem nos dados de origem, mas não existem na estrutura de mineração. Para obter mais informações sobre como usar SKIP, consulte INSERT INTO (DMX).

(  
   <mining structure columns>  
   [<nested table>]  
   ( SKIP, <skipped column> )  
)  

As linhas finais do código definem os dados que serão usados para treinar a estrutura de mineração. Como os dados de origem estão contidos dentro de duas tabelas, você usará SHAPE para relacionar as tabelas.

SHAPE {  
  OPENQUERY([<datasource>],'<SELECT statement>') }  
APPEND  
(   
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')  
}  
RELATE [<case key>] TO [<foreign key>]  
) AS [<nested table>]  

Nesta lição, use OPENQUERY para definir os dados de origem. Para obter informações sobre outros métodos de definição de uma consulta nos dados de origem, consulte <consulta> de dados de origem.

Tarefas da lição

Você executará a seguinte tarefa nesta lição:

  • Processe a estrutura de mineração da cesta básica

Processando a estrutura de mineração da cesta básica

Para processar a estrutura de mineração utilizando INSERT INTO

  1. Em 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.

    O Editor de Consultas é exibido com uma consulta nova em branco.

  2. Copie o exemplo genérico da instrução INSERT INTO no campo em branco da consulta.

  3. Substitua o seguinte:

    [<mining structure>]  
    

    por:

    Market Basket  
    
  4. Substitua o seguinte:

    <mining structure columns>  
    [<nested table>]  
    ( SKIP, <skipped column> )  
    

    por:

    [OrderNumber],  
    [Products]   
    (SKIP, [Model])  
    

    Na instrução, Products se refere à tabela Produtos definida pela instrução SHAPE. SKIP é usado para ignorar a coluna Modelo, que existe nos dados de origem como uma chave, mas não é usada pela estrutura de mineração.

  5. Substitua o seguinte:

    SHAPE {  
      OPENQUERY([<datasource>],'<SELECT statement>') }  
    APPEND  
    (   
      {OPENQUERY([<datasource>],'<nested SELECT statement>')  
    }  
    RELATE [<case key>] TO [<foreign key>]  
    ) AS [<nested table>]  
    

    por:

    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    

    A consulta de origem faz referência à fonte de dados AdventureWorksDW2012 definida no projeto de exemplo AdventureWorksDW2012 . Ela usa esta fonte de dados para acessar as exibições vAssocSeqLineItems e vAssocSeqOrders. Essas exibições contêm os dados de origem que serão usados para treinar o modelo de mineração. Se você não criou este projeto ou essas exibições, consulte Tutorial básico de mineração de dados.

    Dentro do comando SHAPE, você usará OPENQUERY para definir duas consultas. A primeira consulta define a tabela pai, e a segunda consulta define a tabela aninhada. As duas tabelas estão relacionadas usando a coluna OrderNumber que existe em ambas as tabelas.

    A instrução completa agora deve ser:

    INSERT INTO MINING STRUCTURE [Market Basket]  
    (  
       [OrderNumber],[Products] (SKIP, [Model])  
    )  
    SHAPE {  
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber  
                FROM vAssocSeqOrders ORDER BY OrderNumber')}  
    APPEND  
    (   
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, Model FROM   
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')  
    }  
    RELATE OrderNumber to OrderNumber   
    ) AS [Products]  
    
  6. No menu Arquivo , clique em Salvar DMXQuery1.dmx As.

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

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

Após a conclusão da execução da consulta, você pode visualizar os padrões e os conjuntos de itens que foram encontrados, exibir associações ou filtrar por conjunto de itens, probabilidade ou importância. Para exibir essas informações, em SQL Server Management Studio, clique com o botão direito do mouse no nome do modelo de dados e clique em Procurar.

Na próxima lição, você criará várias previsões com base nos modelos de mineração que adicionou à estrutura da cesta básica.

Próxima lição

Lição 4: Executando previsões de Market Basket