Compartilhar via


Consultando um modelo de associação (Analysis Services - Mineração de dados)

Ao criar uma consulta para um modelo de mineração de dados, você pode criar uma consulta de conteúdo, que fornece detalhes sobre as regras e os conjuntos de itens descobertos durante a análise ou pode criar uma consulta de previsão, que usa as associações descobertas nos dados para fazer previsões. Para um modelo de associação, normalmente, as previsões baseiam-se em regras e pode ser usadas para fazer recomendações, enquanto as consultas em conteúdo geralmente exploram a relação entre os conjuntos de itens. Você também pode recuperar metadados sobre o modelo.

Esta seção explica como criar os tipos de consultas a seguir para modelos que se baseiam no algoritmo Regras de Associação da Microsoft.

  • Consultas de conteúdo

    Obtendo metadados do modelo usando DMX

    Obtendo metadados do conjunto de linhas de esquema

    Recuperando uma lista de conjuntos de itens e produtos

    Recuperando parâmetros de modelo

    Recuperando os 10 principais conjuntos de itens

  • Consultas de previsão

    Prevendo itens associados

    Determinando a confiança dos conjuntos de itens relacionados

Localizando informações sobre o modelo

Todos os modelos de mineração expõem o conteúdo captado pelo algoritmo de acordo com um esquema padronizado, o conjunto de linhas de esquema de modelo de mineração. Você pode criar consultas para o conjunto de linhas do esquema do modelo de mineração usando instruções DMX (Data Mining Extensions) ou procedimentos armazenados do Analysis Services. No SQL Server 2008, os conjuntos de linhas do esquema são exibidos como tabelas do sistema, para que você possa consultá-las usando uma sintaxe como a Transact-SQL.

Voltar ao início

Exemplo de consulta 1: Obtendo metadados do modelo usando DMX

A consulta a seguir retorna os metadados básicos sobre o modelo de associação, Association, como o nome do modelo, o banco de dados onde o modelo é armazenado e o número de nós filho do modelo. Esta consulta usa uma consulta de conteúdo DMX para recuperar os metadados do nó pai do modelo:

SELECT MODEL_CATALOG, MODEL_NAME, NODE_CAPTION, 
NODE_SUPPORT, [CHILDREN_CARDINALITY], NODE_DESCRIPTION
FROM Association.CONTENT
WHERE NODE_TYPE = 1
ObservaçãoObservação

É necessário colocar o nome da coluna, CHILDREN_CARDINALITY, entre colchetes para diferenciá-lo da palavra-chave reservada MDX do mesmo nome.

Resultados do exemplo:

MODEL_CATALOG

Association Test

MODEL_NAME

Association

NODE_CAPTION

Association Rules Model

NODE_SUPPORT

14879

CHILDREN_CARDINALITY

942

NODE_DESCRIPTION

Association Rules Model; ITEMSET_COUNT=679; RULE_COUNT=263; MIN_SUPPORT=14; MAX_SUPPORT=4334; MIN_ITEMSET_SIZE=0; MAX_ITEMSET_SIZE=3; MIN_PROBABILITY=0.400390625; MAX_PROBABILITY=1; MIN_LIFT=0.14309369632511; MAX_LIFT=1.95758227647523

Para obter uma definição do que essas colunas significam em um modelo de associação, consulte Conteúdo do modelo de mineração para modelos de associação (Analysis Services – Mineração de Dados).

Voltar ao início

Exemplo de consulta 2: Obtendo metadados adicionais a partir do conjunto de linhas de esquema

É possível consultar o conjunto de linhas de esquema de mineração de dados para encontrar as mesmas informações retornadas em uma consulta de conteúdo DMX. No entanto, o conjunto de linhas de esquema fornece algumas colunas adicionais, como a data em que o modelo foi processado, a estrutura de mineração e o nome da coluna usada como atributo previsível.

SELECT MODEL_CATALOG, MODEL_NAME, SERVICE_NAME, PREDICTION_ENTITY, 
MINING_STRUCTURE, LAST_PROCESSED
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Association'

Resultados do exemplo:

MODEL_CATALOG

AdventureWorks DW

MODEL_NAME

Association

SERVICE_NAME

Association Rules Model

PREDICTION_ENTITY

v Assoc Seq Line Items

MINING_STRUCTURE

Association

LAST_PROCESSED

9/29/2007 10:21:24 PM

Voltar ao início

Exemplo de consulta 3: Recuperando parâmetros originais do modelo

A consulta a seguir retorna uma única coluna que contém detalhes sobre as configurações de parâmetros que foram usados na criação do modelo.

SELECT MINING_PARAMETERS 
from $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Association'

Resultados do exemplo:

MAXIMUM_ITEMSET_COUNT=200000,MAXIMUM_ITEMSET_SIZE=3,MAXIMUM_SUPPORT=1,MINIMUM_SUPPORT=9.40923449156529E-04,MINIMUM_IMPORTANCE=-999999999,MINIMUM_ITEMSET_SIZE=0,MINIMUM_PROBABILITY=0.4

Localizando informações sobre regras e conjuntos de itens

Existem dois usos comuns para um modelo de associação: descobrir informações sobre conjuntos de itens freqüentes e extrair detalhes sobre regras e conjuntos de itens em particular. Por exemplo, convém extrair uma lista de regras cuja pontuação indicou serem especialmente interessantes ou criar uma lista dos conjuntos de itens mais comuns. Para recuperar essas informações, use uma consulta de conteúdo DMX. Você também procura essas informações usando o Visualizador de Associação da Microsoft.

Voltar ao início

Exemplo de consulta 4: Recuperando uma lista de conjuntos de itens e produtos

A consulta a seguir recupera todos os conjuntos de itens, junto com uma tabela aninhada que lista os produtos incluídos em cada conjunto de itens. A coluna NODE_NAME contém a ID exclusiva do conjunto de itens do modelo, enquanto NODE_CAPTION fornece um texto que descreve os itens. Nesse exemplo, a tabela aninhada é simplificada, de modo que o conjunto de itens que contém dois produtos irá gerar duas linhas nos resultados. É possível omitir a palavra-chave FLATTENED se o cliente oferecer suporte a dados hierárquicos.

SELECT FLATTENED NODE_NAME, NODE_CAPTION,
NODE_PROBABILITY, NODE_SUPPORT,
(SELECT ATTRIBUTE_NAME FROM NODE_DISTRIBUTION) as PurchasedProducts
FROM Association.CONTENT
WHERE NODE_TYPE = 7

Resultados do exemplo:

NODE_NAME

37

NODE_CAPTION

Sport-100 = Existing

NODE_PROBABILITY

0.291283016331743

NODE_SUPPORT

4334

PURCHASEDPRODUCTS.ATTRIBUTE_NAME

v Assoc Seq Line Items(Sport-100)

Voltar ao início

Exemplo de consulta 5: Retornando os 10 principais conjuntos de itens

Este exemplo demonstra como usar parte das funções de agrupamento e ordenação que o DMX fornece por padrão. A consulta retorna os 10 principais conjuntos de itens quando ordenada pelo suporte de cada nó. Observe que não é necessário agrupar explicitamente os resultados como se fosse o Transact-SQL; no entanto, você pode usar apenas uma função de agregação em cada consulta.

SELECT TOP 10 (NODE_SUPPORT),NODE_NAME, NODE_CAPTION
FROM Association.CONTENT
WHERE NODE_TYPE = 7

Resultados do exemplo:

NODE_SUPPORT

4334

NODE_NAME

37

NODE_CAPTION

Sport-100 = Existing

Usando o modelo para fazer previsões

Um modelo de regras de associação é usado freqüentemente para gerar recomendações que se baseiam em correlações descobertas no conjuntos de itens. Portanto, quando você criar uma consulta de previsão com base em um modelo de regras de associação, normalmente usará as regras do modelo para criar palpites com base nos novos dados. PredictAssociation (DMX) é a função que retorna recomendações e possui diversos argumentos que você pode usar para personalizar os resultados da consulta.

Outro exemplo de onde as consultas em um modelo de associação podem ser úteis é para retornar a confiança de várias regras e conjuntos de itens para que você possa comparar a eficiência de estratégias diferentes de venda cruzada. Os exemplos a seguir ilustram como criar essas consultas.

Voltar ao início

Exemplo de consulta 6: Prevendo itens associados

Este exemplo usa o modelo de associação criado no Tutorial de Mineração de Dados Básico. Ele demonstra como criar uma consulta de previsão que informa quais produtos recomendar para um cliente que comprou um determinado produto. Esse tipo de consulta, em que você fornece valores para o modelo em uma instrução SELECT…UNION, é chamada de consulta singleton. Como a coluna de modelo previsível que corresponde aos novos valores é uma tabela aninhada, use uma cláusula SELECT para mapear o novo valor à coluna da tabela aninhada, [Model], e outra cláusula SELECT para mapear a coluna da tabela aninhada à coluna de nível de caso, [v Assoc Seq Line Items]. Adicionar a palavra-chave INCLUDE-STATISTICS à consulta permitirá que você veja a probabilidade e o suporte das recomendações.

SELECT PredictAssociation([Association].[vAssocSeqLineItems],INCLUDE_STATISTICS, 3)
FROM [Association]
NATURAL PREDICTION JOIN 
(SELECT
(SELECT 'Classic Vest' as [Model])
AS [v Assoc Seq Line Items])
AS t

Resultados do exemplo:

Modelo

$SUPPORT

$PROBABILITY

$ADJUSTEDPROBABILITY

Sport-100

4334

0.291283

0.252696

Water Bottle

2866

0.19262

0.175205

Patch kit

2113

0.142012

0.132389

Voltar ao início

Exemplo de consulta 7: Determinando a confiança dos conjuntos de itens relacionados

Embora as regras sejam úteis para gerar recomendações, os conjuntos de itens são mais interessantes para uma análise mais profunda dos padrões no conjunto de dados. Por exemplo, se você não ficar satisfeito com a recomendação retornada pelo exemplo de consulta anterior, pode examinar outros conjuntos de itens que contêm Product A para poder ter uma idéia melhor se Product A é um acessório que as pessoas tendem a comprar com todos os tipos de produtos ou se A é fortemente correlacionado às compras de determinados produtos. A forma mais fácil de explorar essas relações é filtrando os conjuntos de itens no Visualizador de Associação da Microsoft; no entanto, é possível recuperar as mesmas informações com um consulta.

O exemplo de consulta a seguir retorna todos os conjuntos de itens que incluem o item Water Bottle, inclusive o item único Water Bottle.

SELECT TOP 100 FROM 
(
SELECT FLATTENED NODE_CAPTION, NODE_SUPPORT, 
(SELECT ATTRIBUTE_NAME from NODE_DISTRIBUTION
WHERE ATTRIBUTE_NAME = 'v Assoc Seq Line Items(Water Bottle)') as D
FROM Association.CONTENT
WHERE NODE_TYPE = 7
) AS Items
WHERE [D.ATTRIBUTE_NAME] <> NULL
ORDER BY NODE_SUPPORT DESC

Resultados do exemplo:

NODE_CAPTION

NODE_SUPPORT

D.ATTRIBUTE_NAME

Water Bottle = Existing

2866

v Assoc Seq Line Items(Water Bottle)

Mountain Bottle Cage = Existing, Water Bottle = Existing

1136

v Assoc Seq Line Items(Water Bottle)

Road Bottle Cage = Existing, Water Bottle = Existing

1068

v Assoc Seq Line Items(Water Bottle)

Water Bottle = Existing, Sport-100 = Existing

734

v Assoc Seq Line Items(Water Bottle)

Quando você cria uma consulta que inclui uma tabela aninhada, a consulta retorna não só as linhas da tabela aninhada que correspondem aos critérios, mas também todas as linhas da tabela de casos ou externa. Portanto, neste exemplo adicionamos uma cláusula WHERE para eliminar as linhas da tabela de casos que tenham um valor nulo para o nome do atributo de destino.

Lista de funções

Todos os algoritmos Microsoft fornecem suporte a um conjunto comum de funções. Entretanto, o algoritmo Associação da Microsoft oferece suporte para as funções adicionais listadas na tabela a seguir.

Histórico de alterações

Conteúdo atualizado

Adicionados links no tópico para facilitar a revisão de exemplos de consultas.