Partilhar via


Exemplos de consulta de modelo de regressão logística

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 pode criar uma consulta de previsão, que usa os padrões no modelo para fazer previsões usando novos dados.

Esta seção explica como criar consultas para modelos baseados no algoritmo regressão logística da Microsoft.

Consultas de conteúdo

Recuperando parâmetros de modelo usando o conjunto de linhas de esquema de mineração de dados

Localizando detalhes adicionais sobre o modelo usando DMX

Consultas de previsão

Fazendo previsões para um valor contínuo

Fazendo previsões para um valor discreto

Obtendo informações sobre o modelo de regressão logística

Os modelos de regressão logística são criados usando o algoritmo Rede Neural da Microsoft com um conjunto especial de parâmetros; portanto, um modelo de regressão logística tem algumas das mesmas informações que um modelo de redes neurais, mas é menos complexo. Para entender a estrutura do conteúdo do modelo e quais tipos de nó armazenam que tipo de informação, consulte o Conteúdo do Modelo de Mineração para Modelos de Regressão Logística (Analysis Services – Mineração de Dados).

Para acompanhar os cenários de consulta, você pode criar um modelo de regressão logística, conforme descrito na seção a seguir do Tutorial de Mineração de Dados Intermediário: Lição 5: Criação de Modelos de Regressão Logística e Rede Neural (Tutorial de Mineração de Dados Intermediário).

Você também pode usar a estrutura de mineração, Endereçamento Direcionado, no Tutorial Básico de Mineração de Dados.

ALTER MINING STRUCTURE [Targeted Mailing]  
ADD MINING MODEL [TM_Logistic Regression]  
([Customer Key],  
[Age],  
[Bike Buyer] PREDICT,  
[Yearly Income] PREDICT,  
[Commute Distance],  
[English Education],  
Gender,  
[House Owner Flag],  
[Marital Status],  
[Number Cars Owned],  
[Number Children At Home],  
[Region],  
[Total Children]  
)  
USING Microsoft_Logistic_Regression  

Consulta de exemplo 1: Recuperando parâmetros do modelo usando o conjunto de linhas do esquema de mineração de dados

Consultando o conjunto de linhas do esquema de mineração de dados, você pode encontrar metadados sobre o modelo, como quando ele 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 da coluna usada como atributo previsível. O exemplo a seguir retorna os parâmetros que foram usados quando o modelo foi criado pela primeira vez, juntamente com o nome e o tipo do modelo e a data em que ele foi criado.

SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS   
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Call Center_LR'  

Resultados de exemplo:

MODEL_NAME SERVICE_NAME DATE_CREATED PARÂMETROS_DE_MINERAÇÃO
Call Center_LR Microsoft_Regressão_Logística 04/07/2009 20:38:33 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000

Consulta de exemplo 2: localizando detalhes adicionais sobre o modelo usando DMX

A consulta a seguir retorna algumas informações básicas sobre o modelo de regressão logística. Um modelo de regressão logística é semelhante a um modelo de rede neural de várias maneiras, incluindo a presença de um nó de estatística marginal (NODE_TYPE = 24) que descreve os valores usados como entradas. Esta consulta de exemplo usa o modelo de Endereçamento Direcionado e obtém os valores de todas as entradas recuperando-as da tabela aninhada, NODE_DISTRIBUTION.

SELECT FLATTENED NODE_DISTRIBUTION AS t  
FROM [TM_Logistic Regression].CONTENT   

Resultados parciais:

t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.Suporte t.PROBABILIDADE t.VARIÂNCIA t.VALUETYPE
Idade Em falta 0 0 0 1
Idade 45.43491192 17484 1 126.9544114 3
Comprador de Bicicletas Em falta 0 0 0 1
Comprador de Bicicletas 0 8869 0.507263784 0 4
Comprador de Bicicletas 1 8615 0.492736216 0 4
Distância do trajeto Em falta 0 0 0 1
Distância do trajeto 5-10 Milhas 3033 0.173472889 0 4

A consulta real retorna muito mais linhas; no entanto, este exemplo ilustra o tipo de informação fornecida sobre as entradas. Para entradas discretas, cada valor possível é listado na tabela. Para entradas de valor contínuo, como Idade, uma listagem completa é impossível, portanto, a entrada é discreta como uma média. Para obter mais informações sobre como usar as informações no nó de estatísticas marginais, consulte o Conteúdo do Modelo de Mineração para Modelos de Regressão Logística (Analysis Services – Mineração de Dados).

Observação

Os resultados foram simplificados para facilitar a exibição, mas você pode retornar a tabela aninhada em uma única coluna se o suporte do provedor permitir conjuntos de linhas hierárquicas.

Consultas de previsão em um modelo de regressão logística

Você pode usar a função Predict (DMX) com todos os tipos de modelo de mineração para fornecer novos dados ao modelo e fazer previsões com base nos novos valores. Você também pode usar funções para retornar informações adicionais sobre a previsão, como a probabilidade de que uma previsão esteja correta. Esta seção fornece alguns exemplos de consultas de previsão em um modelo de regressão logística.

Consulta de exemplo 3: fazendo predições de um valor contínuo

Como a regressão logística dá suporte ao uso de atributos contínuos para entrada e previsão, é fácil criar modelos que correlacionam vários fatores em seus dados. Você pode usar consultas de previsão para explorar a relação entre esses fatores.

O exemplo de consulta a seguir baseia-se no modelo do Call Center, no Tutorial Intermediário, e cria uma consulta única que prevê o nível de serviço para o turno de sexta-feira de manhã. A função PredictHistogram (DMX) retorna uma tabela aninhada que fornece estatísticas relevantes para entender a validade do valor previsto.

SELECT  
  Predict([Call Center_LR].[Service Grade]) as Predicted ServiceGrade,  
  PredictHistogram([Call Center_LR].[Service Grade]) as [Results],  
FROM  
  [Call Center_LR]  
NATURAL PREDICTION JOIN  
(SELECT 'Friday' AS [Day Of Week],  
  'AM' AS [Shift]) AS t  

Resultados de exemplo:

Grau de serviço previsto: 0,102601830123659

Resultados

Grau de Serviço $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0.102601830123659 83.0232558139535 0.988372093023256 0 0.00120552660600087 0.034720694203902
0.976744186046512 0.0116279069767442 0.0116279069767442 0 0

Para obter mais informações sobre os valores de probabilidade, suporte e desvio padrão na tabela aninhada NODE_DISTRIBUTION, consulte o Conteúdo do Modelo de Mineração para Modelos de Regressão Logística (Analysis Services – Mineração de Dados).

Consulta de exemplo 4: fazendo previsões para um valor discreto

A regressão logística normalmente é usada em cenários em que você deseja analisar os fatores que contribuem para um resultado binário. Embora o modelo usado no tutorial preveja um valor contínuo, ServiceGrade, em um cenário da vida real, talvez você queira configurar o modelo para prever se o nível de serviço atingiu algum valor de destino discreto. Como alternativa, você pode gerar as previsões usando um valor contínuo, mas posteriormente agrupar os resultados previstos em Bom, Justo ou Ruim.

O exemplo a seguir ilustra como alterar a forma como o atributo previsível é agrupado. Para fazer isso, crie uma cópia da estrutura de mineração e altere o método de discretização da coluna de destino para que os valores sejam agrupados em vez de contínuos.

O procedimento a seguir descreve como alterar o agrupamento de valores de Nível de Serviço nos dados do Call Center.

Para criar uma versão discreta da estrutura e modelos de mineração do Call Center
  1. No SSDT (SQL Server Data Tools), no Gerenciador de Soluções, expanda estruturas de mineração.

  2. Clique com o botão direito do mouse em Call Center.dmm e selecione Copiar.

  3. Clique com o botão direito do mouse em Estruturas de Mineração e selecione Colar. Uma nova estrutura de mineração é adicionada, chamada Call Center 1.

  4. Clique com o botão direito do mouse na nova estrutura de mineração e selecione Renomear. Digite o novo nome, Call Center Discretized.

  5. Clique duas vezes na nova estrutura de mineração para abri-la no designer. Observe que os modelos de mineração também foram copiados e todos têm a extensão 1. Deixe os nomes como estão por enquanto.

  6. Na guia Estrutura de Mineração , clique com o botão direito do mouse na coluna de Grau de Serviço e selecione Propriedades.

  7. Altere a Content propriedade de Contínua para Discretizada. Altere a DiscretizationMethod propriedade para Clusters. Para Discretization BucketCount, digite 3.

    Observação

    Esses parâmetros são usados apenas para ilustrar o processo e não necessariamente produzem um modelo válido,

  8. No menu Modelo de Mineração , selecione Estrutura de processo e todos os modelos.

A consulta de exemplo a seguir baseia-se nesse modelo discreto e prevê o nível de serviço para o dia especificado da semana, juntamente com as probabilidades para cada resultado previsto.

SELECT  
  (PredictHistogram([Call Center_LR 1].[Service Grade])) as [Predictions]  
FROM  
  [Call Center_LR 1]  
NATURAL PREDICTION JOIN  
(SELECT 'Saturday' AS [Day Of Week]) AS t    

Resultados esperados:

Previsões

Grau de Serviço $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0.10872718383125 35.7246504770641 0,425293458060287 0.0170168360030293 0 0
0.05855769230625 31.7098880800703 0.377498667619885 0.020882020060454 0 0
0.170169491525 15.610.9159883202 0.185844237956192 0.0661386571386049 0 0
0.954545454545455 0.0113636363636364 0.0113636363636364 0 0

Observe que os resultados previstos foram agrupados em três categorias, conforme especificado; no entanto, esses agrupamentos são baseados no clustering de valores reais nos dados, não em valores arbitrários que você pode definir como metas de negócios.

Lista de funções de previsão

Todos os algoritmos da Microsoft dão suporte a um conjunto comum de funções. No entanto, o algoritmo regressão logística da Microsoft 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.
PredictAdjustedProbability (DMX) Retorna a probabilidade ajustada de um estado especificado.
PredictHistogram (DMX) Retorna um valor previsto ou um conjunto de valores para uma coluna especificada.
PredictProbability (DMX) Retorna a probabilidade de um estado especificado.
PredictStdev (DMX) Retorna o desvio padrão para o valor previsto.
PredictSupport (DMX) Retorna o valor de suporte para um estado especificado.
PredictVariance (DMX) Retorna a variação de uma coluna especificada.

Para obter uma lista das funções comuns a todos os algoritmos da Microsoft, consulte DMX (Funções de Previsão Geral). Para obter a sintaxe de funções específicas, consulte Referência de função DMX (Extensões de Mineração de Dados).

Observação

Para modelos de regressão logística e de rede neural, a função PredictSupport (DMX) retorna um único valor que representa o tamanho do conjunto de treinamento para todo o modelo.

Consulte Também

Consultas de mineração de dados
Algoritmo de regressão logística da Microsoft
Referência técnica do algoritmo de regressão logística da Microsoft
Conteúdo do modelo de mineração para modelos de regressão logística (Analysis Services – Mineração de dados)
Lição 5: Criando modelos de regressão logística e de rede neural (Tutorial de mineração de dados intermediário)