Compartilhar via


Exemplos de consulta de modelo naive Bayes

Ao criar uma consulta em relação a um modelo de mineração de dados, você pode criar uma consulta de conteúdo, que fornece detalhes sobre os padrões descobertos na análise, ou você pode criar uma consulta de previsão, que usa os padrões no modelo para fazer previsões para novos dados. Você também pode recuperar metadados sobre o modelo usando uma consulta no conjunto de linhas do esquema de mineração de dados. Esta seção explica como criar essas consultas para modelos baseados no algoritmo Microsoft Naive Bayes.

Consultas de conteúdo

Obtendo metadados de modelo usando DMX

Recuperando um resumo dos dados de treinamento

Encontrando mais informações sobre atributos

Usando procedimentos armazenados do sistema

Consultas de previsão

Prever resultados usando uma consulta singleton

Obtendo previsões com valores de probabilidade e suporte

Prever associações

Localizando informações sobre um modelo Naive Bayes

O conteúdo do modelo de um modelo naive Bayes fornece informações agregadas sobre a distribuição de valores nos dados de treinamento. Você também pode recuperar informações sobre os metadados do modelo criando consultas nos conjuntos de linhas de esquema de mineração de dados.

Consulta de exemplo 1: Obtendo metadados de modelo usando DMX

Consultando o conjunto de linhas do esquema de mineração de dados, você pode encontrar metadados para o modelo. Isso pode incluir quando o modelo foi criado, quando o modelo foi processado pela última vez, o nome da estrutura de mineração na qual o modelo se baseia e o nome das colunas usadas como o atributo previsível. Você também pode retornar os parâmetros que foram usados quando o modelo foi criado.

SELECT MODEL_CATALOG, MODEL_NAME, DATE_CREATED, LAST_PROCESSED,  
SERVICE_NAME, PREDICTION_ENTITY, FILTER  
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'TM_NaiveBayes_Filtered'  

Resultados de exemplo:

CATÁLOGO_DE_MODELOS AdventureWorks
MODEL_NAME TM_NaiveBayes_Filtered
DATE_CREATED 3/1/2008 19:15
Último_Processado 3/2/2008 20:00
SERVICE_NAME Microsoft_Naive_Bayes
PREDICTION_ENTITY Comprador de Bicicletas, Renda Anual
FILTRO [Região] = 'Europa' OU [Região] = 'América do Norte'

O modelo usado para este exemplo baseia-se no modelo Naive Bayes que você cria no Tutorial básico de mineração de dados, mas foi modificado adicionando um segundo atributo previsível e aplicando um filtro aos dados de treinamento.

Consulta de exemplo 2: recuperando um resumo dos dados de treinamento

Em um modelo de Naive Bayes, o nó de estatísticas marginais armazena informações agregadas sobre a distribuição de valores nos dados de treinamento. Este resumo é conveniente e salva você de ter que criar consultas SQL nos dados de treinamento para encontrar as mesmas informações.

O exemplo a seguir usa uma consulta de conteúdo DMX para recuperar os dados do nó (NODE_TYPE = 24). Como as estatísticas são armazenadas em uma tabela aninhada, a palavra-chave FLATTENED é usada para facilitar a exibição dos resultados.

SELECT FLATTENED MODEL_NAME,  
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE FROM NODE_DISTRIBUTION) AS t  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 26  

Observação

Você deve colocar entre colchetes o nome das colunas SUPPORT e PROBABILITY para distingui-las das palavras-chave reservadas MDX (Expressões Multidimensionais) dos mesmos nomes.

Resultados parciais:

MODEL_NAME t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILIDADE t.VALUETYPE
TM_NaiveBayes Comprador de Bicicletas Em falta 0 0 1
TM_NaiveBayes Comprador de Bicicletas 0 8869 0.507263784 4
TM_NaiveBayes Comprador de Bicicletas 1 8615 0.492736216 4
TM_NaiveBayes Gênero Em falta 0 0 1
TM_NaiveBayes Gênero F 8656 0.495081217 4
TM_NaiveBayes Gênero M 8828 0.504918783 4

Por exemplo, esses resultados informam o número de casos de treinamento para cada valor discreto (VALUETYPE = 4), juntamente com a probabilidade computada, ajustada para valores ausentes (VALUETYPE = 1).

Para obter uma definição dos valores fornecidos na tabela NODE_DISTRIBUTION em um modelo naive Bayes, consulte o Conteúdo do Modelo de Mineração para Modelos Naive Bayes (Analysis Services – Mineração de Dados). Para obter mais informações sobre como os cálculos de suporte e probabilidade são afetados por valores ausentes, consulte Valores Ausentes (Analysis Services – Mineração de Dados).

Consulta de exemplo 3: localizando mais informações sobre atributos

Como um modelo naive Bayes geralmente contém informações complexas sobre as relações entre diferentes atributos, a maneira mais fácil de ver essas relações é usar o Visualizador do Microsoft Naive Bayes. No entanto, você pode criar consultas DMX para retornar os dados.

O exemplo a seguir mostra como retornar informações do modelo sobre um atributo específico. Region

SELECT NODE_TYPE, NODE_CAPTION,   
NODE_PROBABILITY, NODE_SUPPORT, MSOLAP_NODE_SCORE  
FROM TM_NaiveBayes.CONTENT  
WHERE ATTRIBUTE_NAME = 'Region'  

Essa consulta retorna dois tipos de nós: o nó que representa o atributo de entrada (NODE_TYPE = 10) e nós para cada valor do atributo (NODE_TYPE = 11). O rótulo do nó é usado para identificar o nó, em vez do nome do nó, porque o rótulo mostra tanto o nome do atributo quanto o valor do atributo.

NODE_TYPE NODE_CAPTION PROBABILIDADE_DO_NÓ NODE_SUPPORT MSOLAP_NODE_SCORE NODE_TYPE
10 Comprador de Bicicletas –> Região 1 17484 84.51555875 10
11 Comprador de Bicicletas -> Região = Ausente 0 0 0 11
11 Comprador de Bicicletas -> Região = América do Norte 0.508236102 8886 0 11
11 Comprador de Bicicletas -> Região = Pacífico 0.193891558 3390 0 11
11 Comprador de Bicicletas -> Região = Europa 0.29787234 5208 0 11

Algumas das colunas armazenadas nos nós são as mesmas que você pode obter dos nós de estatísticas marginais, como a pontuação de probabilidade do nó e os valores de suporte do nó. No entanto, o MSOLAP_NODE_SCORE é um valor especial fornecido apenas para os nós de atributo de entrada e indica a importância relativa desse atributo no modelo. Você pode ver as mesmas informações no painel Rede de Dependências do visualizador; no entanto, o visualizador não fornece pontuações.

A consulta a seguir retorna as pontuações de importância de todos os atributos no modelo:

SELECT NODE_CAPTION, MSOLAP_NODE_SCORE  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 10  
ORDER BY MSOLAP_NODE_SCORE DESC  

Resultados de exemplo:

NODE_CAPTION MSOLAP_NODE_SCORE
Comprador de Bicicletas –> Total de Filhos 181.3654836
Comprador de Bicicletas –> Distância do Trajeto 179.8419482
Comprador de Bicicletas –> Educação Em Inglês 156.9841928
Comprador de bicicletas -> Número de crianças em casa 111.812.2599
Comprador de Bicicletas –> Região 84.51555875
Comprador de Bicicletas -> Estado Civil 23.13297354
Comprador de Bicicletas -> Ocupação em Inglês 2.832069191

Ao navegar pelo conteúdo do modelo no Visualizador de Árvore de Conteúdo Genérico da Microsoft, você terá uma ideia melhor de quais estatísticas podem ser interessantes. Alguns exemplos simples foram demonstrados aqui; com mais frequência, talvez seja necessário executar várias consultas ou armazenar os resultados e processá-los no cliente.

Consulta de exemplo 4: usando procedimentos armazenados do sistema

Além de escrever suas próprias consultas de conteúdo, você pode usar alguns procedimentos armazenados do sistema do Analysis Services para explorar os resultados. Para usar um procedimento armazenado do sistema, prefixe o nome do procedimento armazenado com a palavra-chave CALL:

CALL GetPredictableAttributes ('TM_NaiveBayes')  

Resultados parciais:

ATTRIBUTE_NAME NOME_UNICO_DO_NÓ
Comprador de Bicicletas 100000001

Observação

Esses procedimentos armazenados do sistema são para comunicação interna entre o servidor do Analysis Services e o cliente e só devem ser usados para conveniência ao desenvolver e testar modelos de mineração. Ao criar consultas para um sistema de produção, você sempre deve escrever suas próprias consultas usando DMX.

Para obter mais informações sobre procedimentos armazenados do sistema do Analysis Services, consulte Procedimentos armazenados de mineração de dados (Analysis Services – Mineração de Dados).

Usando um modelo Naive Bayes para fazer previsões

O algoritmo Microsoft Naive Bayes normalmente é usado menos para previsão do que para exploração de relações entre os atributos de entrada e previsíveis. No entanto, o modelo dá suporte ao uso de funções de previsão para previsão e associação.

Consulta de exemplo 5: Prever resultados usando uma consulta Singleton

A consulta a seguir usa uma consulta singleton para fornecer um novo valor e prever, com base no modelo, se um cliente com essas características provavelmente comprará uma bicicleta. A maneira mais fácil de criar uma consulta singleton em um modelo de regressão é usando a caixa de diálogo Entrada de Consulta Singleton . Por exemplo, você pode criar a seguinte consulta DMX selecionando o modelo TM_NaiveBayes, escolhendo Singleton Query e selecionando valores nas listas suspensas para [Commute Distance] e Gender.

SELECT  
  Predict([TM_NaiveBayes].[Bike Buyer])  
FROM  
  [TM_NaiveBayes]  
NATURAL PREDICTION JOIN  
(SELECT '5-10 Miles' AS [Commute Distance],  
  'F' AS [Gender]) AS t  

Resultados do exemplo:

Expressão
0

A função de previsão retorna o valor mais provável, nesse caso, 0, o que significa que é improvável que esse tipo de cliente compre uma bicicleta.

Consulta de exemplo 6: Obtendo previsões com valores de probabilidade e suporte

Além de prever um resultado, você geralmente deseja saber o quão forte é a previsão. A consulta a seguir usa a mesma consulta singleton do exemplo anterior, mas adiciona a função de previsão, PredictHistogram (DMX), para retornar uma tabela aninhada que contém estatísticas em suporte à previsão.

SELECT  
  Predict([TM_NaiveBayes].[Bike Buyer]),  
  PredictHistogram([TM_NaiveBayes].[Bike Buyer])  
FROM  
  [TM_NaiveBayes]  
NATURAL PREDICTION JOIN  
(SELECT '5-10 Miles' AS [Commute Distance],  
  'F' AS [Gender]) AS t  

Resultados do exemplo:

Comprador de Bicicletas $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0 10161.5714 0.581192599 0.010530981 0 0
1 7321.428768 0.418750215 0.008945684 0 0
0.999828444 5.72E-05 5.72E-05 0 0

A linha final na tabela mostra os ajustes para dar suporte e probabilidade para o valor ausente. Os valores de variação e desvio padrão são sempre 0, pois os modelos de Naive Bayes não podem modelar valores contínuos.

Consulta de exemplo 7: Prever associações

O algoritmo Microsoft Naive Bayes pode ser usado para análise de associação, se a estrutura de mineração contiver uma tabela aninhada com o atributo previsível como a chave. Por exemplo, você pode criar um modelo Naive Bayes usando a estrutura de mineração criada na Lição 3: Criando um cenário de cesta de mercado (Tutorial de mineração de dados intermediário) do tutorial de mineração de dados. O modelo usado neste exemplo foi modificado para adicionar informações sobre a renda e a região do cliente na tabela de casos.

O exemplo de consulta a seguir mostra uma consulta singleton que prevê produtos relacionados a compras do produto. 'Road Tire Tube' Você pode usar essas informações para recomendar produtos a um tipo específico de cliente.

SELECT   PredictAssociation([Association].[v Assoc Seq Line Items])  
FROM [Association_NB]  
NATURAL PREDICTION JOIN  
(SELECT 'High' AS [Income Group],  
  'Europe' AS [Region],  
  (SELECT 'Road Tire Tube' AS [Model])   
AS [v Assoc Seq Line Items])   
AS t  

Resultados parciais:

Modelo
Shorts femininos para atividades de montanha
Garrafa de água
Touring-3000
Touring-2000
Touring-1000

Lista de funções

Todos os algoritmos da Microsoft dão suporte a um conjunto comum de funções. No entanto, o algoritmo Microsoft Naive Bayes dá suporte às funções adicionais listadas na tabela a seguir.

Função de previsão Uso
IsDescendant (DMX) Determina se um nó é filho de outro nó no modelo.
Prever (DMX) Retorna um valor previsto ou um conjunto de valores para uma coluna especificada.
PredictAdjustedProbability (DMX) Retorna a probabilidade ponderada.
PredictAssociation (DMX) Prevê a associação em um conjunto de dados associativo.
PredictNodeId (DMX) Retorna o Node_ID para cada caso.
PredictProbability (DMX) Retorna a probabilidade para o valor previsto.
PredictSupport (DMX) Retorna o valor de suporte para um estado especificado.

Para ver a sintaxe de funções específicas, consulte a referência de função DMX (Extensões de Mineração de Dados).

Consulte Também

Referência técnica do algoritmo Microsoft Naive Bayes
Algoritmo Microsoft Naive Bayes
Conteúdo do modelo de mineração para Modelos Bayesianos Ingênuos (Serviços de Análise – Mineração de Dados)