Compartilhar via


Conteúdo do modelo de mineração para modelos de árvore de decisão (Analysis Services – Mineração de dados)

Este tópico descreve o conteúdo do modelo de mineração específico para modelos que usam o algoritmo Árvores de Decisão da Microsoft. Para obter uma explicação geral do conteúdo do modelo de mineração para todos os tipos de modelo, consulte Conteúdo do Modelo de Mineração (Analysis Services – Mineração de Dados). É importante lembrar que o algoritmo Árvores de Decisão da Microsoft é um algoritmo híbrido que pode criar modelos com funções muito diferentes: uma árvore de decisão pode representar associações, regras ou até mesmo regressão linear. A estrutura da árvore é essencialmente a mesma, mas a maneira como você interpreta as informações dependerá da finalidade para a qual você criou o modelo.

Noções básicas sobre a estrutura de um modelo de árvores de decisão

Um modelo de árvores de decisão tem um único nó pai que representa o modelo e seus metadados. Abaixo do nó pai estão árvores independentes que representam os atributos previsíveis que você seleciona. Por exemplo, se você configurar seu modelo de árvore de decisão para prever se os clientes comprarão algo e fornecerão entradas para gênero e renda, o modelo criará uma única árvore para o atributo de compra, com muitas ramificações que se dividem em condições relacionadas a gênero e renda.

No entanto, se você adicionar um atributo previsível separado para participação em um programa de recompensas do cliente, o algoritmo criará duas árvores separadas sob o nó pai. Uma árvore contém a análise de compra, e outra árvore contém a análise do programa de recompensas do cliente. Se você usar o algoritmo Árvores de Decisão para criar um modelo de associação, o algoritmo criará uma árvore separada para cada produto que está sendo previsto e a árvore conterá todas as outras combinações de produtos que contribuem para a seleção do atributo de destino.

Observação

Se o modelo incluir várias árvores, você poderá exibir apenas uma árvore por vez no Microsoft Tree Viewer. No entanto, no Visualizador de Árvore de Conteúdo Genérico , todas as árvores no mesmo modelo são exibidas ao mesmo tempo.

estrutura do conteúdo do modelo para árvore de decisão

A árvore para cada atributo previsível contém informações que descrevem como as colunas de entrada escolhidas afetam o resultado desse atributo previsível específico. Cada árvore é encabeçada por um nó (NODE_TYPE = 9) que contém o atributo previsível, seguido por uma série de nós (NODE_TYPE = 10) que representam os atributos de entrada. Um atributo corresponde a uma coluna no nível de caso ou valores de colunas de tabela aninhadas, que geralmente são os valores na coluna Key da tabela aninhada.

Nódulos interiores e nós folha representam condições de divisão. Uma árvore pode ser dividida no mesmo atributo várias vezes. Por exemplo, o modelo TM_DecisionTree pode se dividir em [Renda Anual] e [Número de Filhos], e depois dividir novamente em [Renda Anual] mais abaixo na estrutura da árvore.

O algoritmo Árvores de Decisão da Microsoft também pode conter regressões lineares em toda ou parte da árvore. Se o atributo que você está modelando for um tipo de dados numérico contínuo, o modelo poderá criar um nó de árvore de regressão (NODE_TYPE = 25) onde quer que a relação entre os atributos possa ser modelada linearmente. Nesse caso, o nó contém uma fórmula de regressão.

No entanto, se o atributo previsível tiver valores discretos ou se valores numéricos tiverem sido agrupados ou discretizados, o modelo sempre criará uma árvore de classificação (node_type =2). Uma árvore de classificação pode ter vários ramos ou nós internos da árvore (NODE_TYPE =3) para cada valor do atributo. No entanto, a divisão não está necessariamente aplicada para cada valor do atributo.

O algoritmo Árvores de Decisão da Microsoft não permite tipos de dados contínuos como entradas; portanto, se qualquer coluna tiver um tipo de dados numérico contínuo, os valores serão discretos. O algoritmo executa sua própria discretização no ponto de uma divisão para todos os atributos contínuos.

Observação

O Analysis Services escolhe automaticamente um método para categorização de atributos contínuos; no entanto, você pode controlar como os valores contínuos nas entradas são discretizados definindo o tipo de conteúdo da coluna da estrutura de mineração como Discretized e depois configurando a propriedade DiscretizationBucketCount ou DiscretizationMethod.

Conteúdo do modelo para um modelo de árvores de decisão

Esta seção fornece detalhes e exemplos apenas para essas colunas no conteúdo do modelo de mineração que têm relevância específica para modelos de árvores de decisão. Para obter informações sobre colunas de uso geral no conjunto de linhas de esquema e explicações sobre a terminologia do modelo de mineração, consulte Conteúdo do Modelo de Mineração (Analysis Services – Mineração de Dados).

CATÁLOGO_DE_MODELOS
Nome do banco de dados em que o modelo é armazenado.

MODEL_NAME
Nome do modelo.

ATTRIBUTE_NAME
Nome do atributo que corresponde a esse nó.

NODE_NAME
Sempre igual a NODE_UNIQUE_NAME.

NOME_UNICO_DO_NÓ
Um identificador exclusivo para o nó dentro do modelo. Esse valor não pode ser alterado.

Para modelos de árvore de decisão, os nomes exclusivos seguem a seguinte convenção, que não se aplica a todos os algoritmos:

Os nós filhos de qualquer nó específico terão o mesmo prefixo hexadecimal, seguido por outro número hexadecimal que representa a sequência do nó filho dentro do nó pai. Você pode usar os prefixos para inferir um caminho.

NODE_TYPE
Em modelos de árvore de decisão, os seguintes tipos de nós são criados:

Tipo de nó Descrição
1 (Modelo) Nó raiz para o modelo.
2 (Árvore) Nó principal para árvores de classificação no modelo. Rotulado como "Todos".
3 (Interior) Cabeça de ramificação interior, encontrada em uma árvore de classificação ou árvore de regressão.
4 (Distribuição) Nó terminal, encontrado em uma árvore de classificação ou árvore de regressão.
25 (Árvore de regressão) Nó pai para árvore de regressão dentro do modelo. Rotulado como "Todos".

NODE_CAPTION
Um nome amigável para fins de exibição.

Quando você cria um modelo, o valor de NODE_UNIQUE_NAME é usado automaticamente como legenda. No entanto, você pode alterar o valor para NODE_CAPTION, para atualizar o nome de exibição do cluster, seja programaticamente ou usando o visualizador. A legenda é gerada automaticamente pelo modelo. O conteúdo da legenda depende do tipo de modelo e do tipo de nó.

Em um modelo de árvores de decisão, o NODE_CAPTION e o NODE_DESCRIPTION têm informações diferentes, dependendo do nível na árvore. Para obter mais informações e exemplos, consulte Legenda do Nó e Descrição do Nó.

CARDINALIDADE_DOS_FILHOS
Uma estimativa do número de filhos que o nó tem.

Nó Parental Indica o número de atributos previsíveis que foram modelados. Uma árvore é criada para cada atributo previsível.

Nó de árvore O nó Todos para cada árvore informa quantos valores foram usados para o atributo de destino.

  • Se o atributo de destino for discreto, o valor será igual ao número de valores distintos mais 1 para o Missing estado.

  • Se o atributo previsível for contínuo, o valor informará quantos buckets foram usados para modelar o atributo contínuo.

Nós folha Sempre 0.

NOME_ÚNICO_PAI
O nome exclusivo do pai do nó. NULL é retornado para quaisquer nós no nível raiz.

DESCRIÇÃO_DO_NODO
Uma descrição do nó.

Em um modelo de árvores de decisão, o NODE_CAPTION e o NODE_DESCRIPTION têm informações diferentes, dependendo do nível na árvore.

Para obter mais informações e exemplos, consulte Rótulo do Nó e Descrição do Nó.

NODE_RULE
Uma descrição em XML da regra que descreve o caminho para o nó atual a partir de seu nó pai imediato.

Para obter mais informações e exemplos, consulte Regra de Nó e Regra Marginal.

Regra Marginal
Uma descrição XML da regra que descreve o caminho do nó pai do modelo para o nó atual.

Para obter mais informações, consulte Regra de Nó e Regra Marginal.

PROBABILIDADE_DO_NÓ
A probabilidade associada a esse nó.

Para obter mais informações, consulte Probabilidade.

Probabilidade Marginal
A probabilidade de atingir o nó a partir do nó pai.

Para obter mais informações, consulte Probabilidade.

DISTRIBUIÇÃO_DE_NÓDULOS
Uma tabela que ilustra o histograma de probabilidade do nó. As informações nesta tabela diferem dependendo se o atributo previsível é uma variável contínua ou discreta.

Nó raiz do modelo Esta tabela está vazia.

(Todos) nós Contêm um resumo do modelo como um todo.

Nó interior Contém estatísticas agregadas para os seus nós finais.

Nó folha Contém suporte e probabilidade para os resultados previstos, considerando todas as condições no caminho que leva ao nó folha atual.

Nó de regressão Contém a fórmula de regressão que representa a relação entre as entradas e o atributo previsível.

Para obter mais informações, consulte Distribuição de Nós para Atributos Discretos e Distribuição de Nós para Atributos Contínuos.

NODE_SUPPORT
O número de casos que oferecem suporte a este nó.

MSOLAP_MODEL_COLUMN
Indica a coluna que contém o atributo previsível.

MSOLAP_NODE_SCORE
Exibe uma pontuação associada ao nó. Para obter mais informações, consulte Pontuação do Nó.

MSOLAP_NODE_SHORT_CAPTION
Um rótulo usado para fins de exibição.

Observações

Um modelo de árvores de decisão não tem um nó separado que armazena estatísticas para todo o modelo, ao contrário do nó de estatísticas marginais encontrados em um Naive Bayes ou modelo de rede neural. Em vez disso, o modelo cria uma árvore separada para cada atributo previsível, com um nó (Todos) na parte superior da árvore. Cada árvore é independente das outras. Se o modelo contiver apenas um atributo previsível, haverá apenas uma árvore e, portanto, apenas um nó (Todos).

Cada árvore que representa um atributo de saída é subdividida adicionalmente em ramificações interiores (NODE_TYPE = 3) que representam divisões. Cada uma dessas árvores contém estatísticas sobre a distribuição do atributo de destino. Além disso, cada nó terminal (NODE_TYPE = 4) contém estatísticas que descrevem atributos de entrada e seus valores, juntamente com o número de casos que apoiam cada par de atributo-valor. Portanto, em qualquer ramificação de uma árvore de decisão, você pode exibir as probabilidades ou a distribuição de dados facilmente sem precisar consultar os dados de origem. Cada nível da árvore representa necessariamente a soma de seus nós filhos imediatos.

Para obter exemplos de como recuperar essas estatísticas, consulte exemplos de consulta de modelo de árvores de decisão.

Exemplo de estrutura de árvore de decisão

Para entender como uma árvore de decisão funciona, considere um exemplo, como o cenário de comprador de bicicletas AdventureWorks. Supondo que o atributo previsível sejam as compras dos clientes, o algoritmo de árvores de decisão tenta encontrar uma coluna de dados, entre todas as entradas que você forneceu, que mais efetivamente detecta os clientes que provavelmente comprarão uma bicicleta e aqueles que provavelmente não comprarão uma bicicleta. Por exemplo, o modelo pode achar que Idade é o melhor indicador do comportamento de compra. Especificamente, que os clientes com mais de 30 anos são muito propensos a comprar uma bicicleta, e é improvável que todos os outros clientes façam uma compra. Nesse cenário, o modelo cria uma divisão no atributo Age. Isso significa que a árvore se divide em duas ramificações, uma contendo clientes com mais de 30 anos e a outra contendo clientes com menos de 30 anos. As novas ramificações são representadas na estrutura do modelo como duas novas árvores internas (NODE_TYPE = 3).

Para cada branch, o modelo continua procurando atributos adicionais a serem usados na diferenciação de clientes. Se não houver evidências suficientes nos dados para continuar criando subgrupos de clientes, o modelo interromperá a criação da árvore. O modelo também interromperá a criação da árvore sempre que o número de casos no nó for muito pequeno para continuar, independentemente de quão boa seja a divisão ou se o valor for nulo ou ausente. Ao parar o crescimento da árvore mais cedo, você impede que o modelo seja treinado excessivamente em um determinado conjunto de dados.

Cada nó de árvore interno contém nós folha que fornecem um detalhamento dos resultados, baseado nos resultados da classificação atual. Por exemplo, você pode ter um nó interno que representa Idade >= 30 e Gênero = Masculino. O nó deste grupo indica quantos clientes nesta categoria compraram ou não compraram alguma coisa. Por exemplo, a classificação pode conter as seguintes divisões de árvore:

Árvore interior Divisão
Idade >= 30 anos Idade >= 30 e Sexo = Masculino
Idade >= 30 e Sexo = Feminino
30 anos < Idade < 30 e Sexo = Masculino
Idade < 30 e Sexo = Feminino

Quando você usa um modelo de árvore de decisão para previsão, o modelo usa os atributos que você fornece a ele como argumentos e segue o caminho dos atributos pela árvore. Em geral, todas as previsões vão para uma folha e os nós interiores são usados apenas para classificação.

Um nó folha sempre tem um NODE_TYPE de 4 (Distribuição) e contém um histograma que informa a probabilidade de cada resultado (compra ou não compra) considerando os atributos fornecidos. Por exemplo, se você solicitar uma previsão para um novo cliente com mais de 60 anos, o modelo procurará o nó correspondente (Idade > 30 e Gênero = Masculino) e retornará a probabilidade para o resultado especificado. Essas probabilidades são armazenadas na tabela NODE_DISTRIBUTION do nó.

Se o atributo previsível for um número contínuo, o algoritmo tentará criar uma fórmula de regressão que modele a relação entre o atributo previsível e as entradas.

Título do nó e descrição do nó

Em um modelo de árvore de decisão, a legenda do nó e a descrição do nó contêm informações semelhantes. No entanto, a descrição do nó é mais completa e contém mais informações à medida que você se aproxima dos nós folha. A legenda do nó e a descrição do nó são cadeias de caracteres localizadas.

NODE_CAPTION Exibe o atributo que distingue esse nó específico em relação ao nó pai. A legenda do nó define um subsegmento da população com base na condição de divisão. Por exemplo, se a divisão foi em [Idade] e foi uma divisão de três vias, as legendas de nó para os três nós filhos podem ser "[Idade] < 40", "40 <= [Idade] < 50", "[Idade] >= 50".
NODE_DESCRIPTION Contém uma lista completa dos atributos que distinguem esse nó de outros nós, começando pelo nó pai do modelo. Por exemplo, Nome do produto = Apple e Cor = Vermelho.

Regra de nó e regra marginal

As colunas NODE_RULE e MARGINAL_RULE contêm as mesmas informações que as colunas NODE_CAPTION e NODE_DESCRIPTION, mas representam as informações como fragmentos XML. A regra do nó é uma versão XML do caminho completo, enquanto a regra de margem indica a divisão ocorrida mais recentemente.

O atributo representado pelo fragmento XML pode ser simples ou complexo. Um atributo simples contém o nome da coluna do modelo e o valor do atributo. Se a coluna de modelo contiver uma tabela aninhada, o atributo de tabela aninhada será representado como uma concatenação do nome da tabela, do valor da chave e do atributo.

Observação

O SQL Server Analysis Services dá suporte à versão 2.0 do padrão PMML, com extensões para dar suporte ao uso da tabela aninhada. Caso seus dados contenham tabelas aninhadas e você gere uma versão PMML do modelo, todos os elementos no modelo que incluem os predicados serão marcados como extensões.

Distribuição de nós para atributos discretos

Em um modelo de árvores de decisão, a tabela NODE_DISTRIBUTION contém estatísticas úteis. No entanto, o tipo de estatística depende se a árvore prevê um atributo discreto ou contínuo. Esta seção descreve o significado das estatísticas de distribuição de nós para atributos discretos.

Nome do atributo e valor do atributo

Em uma árvore de classificação, o nome do atributo sempre contém o nome da coluna previsível. Esse valor informa o que a árvore prevê. Como uma única árvore sempre representa um único atributo previsível, esse valor é repetido em toda a árvore.

Para um tipo de dados discreto, o campo de valor de atributo lista os valores possíveis da coluna previsível, mais o Missing valor.

Apoio

O valor de suporte para cada nó informa quantos casos estão incluídos neste nó. No nível (Todos), você deverá ver a contagem completa de casos que foram usados para treinar o modelo. Para cada divisão na árvore, o valor de suporte é a contagem de casos que foram agrupados nesse nó da árvore. A soma dos casos nos nós folha é necessariamente igual à contagem de casos no nó pai da árvore.

Para nós que representam atributos contínuos, a presença de nulos nos dados pode levar a alguns resultados contraintuitivos. Por exemplo, se houver casos m, um valor médio será calculado como soma(todos os casos)/n, em que n é um número menor que m e m-n indica a contagem de casos com valores ausentes. O suporte também é representado como n.

Probabilidade

A probabilidade associada a cada nó informa a probabilidade de que qualquer caso no conjunto de dados inteiro acabaria neste nó específico. As pontuações de probabilidade são computadas para a árvore como um todo e para a divisão imediata.

Por exemplo, a tabela a seguir mostra um modelo muito simples, com 100 casos.

Árvore interior Ocorrências Nó folha Ocorrências Probabilidade relativa ao nó pai Probabilidade em relação ao nó mais elevado
Idade >= 30 anos 60 Idade >= 30 e Sexo = Masculino 50 50/60 = 0,83 50/100 = .5
Idade >= 30 e Sexo = Feminino 10 10/60 = .16 10/100 = .10
30 anos < 40 Idade < 30 e Sexo = Masculino 30 30/40 = 0,75 30/100 = .30
Idade < 30 e Sexo = Feminino 10 40/10 = 0,25 10/100 = .10

Um pequeno ajuste é feito em todos os modelos para considerar possíveis valores ausentes. Para atributos contínuos, cada valor ou intervalo de valores é representado como um estado (por exemplo, Idade <30, Idade = 30 e Idade >30) e as probabilidades são calculadas da seguinte maneira: o estado existe (valor = 1), algum outro estado existe (valor = 0), o estado é Missing. Para obter mais informações sobre como as probabilidades são ajustadas para representar valores ausentes, consulte Valores Ausentes (Analysis Services – Mineração de Dados).

As probabilidades para cada nó são calculadas quase diretamente da distribuição, da seguinte maneira:

Probabilidade = (suporte para estado + suporte para estado anterior) / (suporte ao nó somado ao suporte do nó anterior)

O serviço Analysis Services usa as probabilidades de cada nó para comparar a probabilidade armazenada com a probabilidade prévia, a fim de determinar se o caminho do pai para o nó filho indica uma inferência forte.

Ao fazer previsões, é preciso equilibrar a probabilidade da distribuição com a do nó, para suavizar as probabilidades. Por exemplo, se uma divisão na árvore separa casos por uma relação de 9000/1000, a árvore é muito desbalanceada. Como resultado, uma previsão proveniente do pequeno branch não deve ter o mesmo peso que uma previsão proveniente de um branch com muitos casos.

Variação

Variância é uma medida de como os valores em uma amostra estão dispersos, dada uma distribuição esperada. Para valores discretos, a variação é 0 por definição.

Para obter informações sobre como a variação é calculada para valores contínuos, consulte Conteúdo do Modelo de Mineração para Modelos de Regressão Linear (Analysis Services – Mineração de Dados).

Tipo de valor

A coluna de tipo de valor fornece informações sobre o significado do valor numérico fornecido nas outras colunas na tabela NODE_DISTRIBUTION. Você pode usar o tipo de valor em consultas para recuperar linhas específicas das tabelas aninhadas. Para obter exemplos, consulte exemplos de consulta de modelo de árvores de decisão.

Dos tipos na MiningValueType enumeração, os seguintes são usados em árvores de classificação.

Tipo de valor Descrição
1 (Ausente) Indica uma contagem, probabilidade ou outra estatística relacionada a valores ausentes.
4 (Discreto) Indica uma contagem, probabilidade ou outra estatística relacionada a um valor discreto ou discretizado.

Se o modelo incluir um atributo previsível contínuo, a árvore também poderá conter tipos de valor exclusivos para fórmulas de regressão. Para obter uma lista dos tipos de valor usados em árvores de regressão, consulte o Conteúdo do Modelo de Mineração para Modelos de Regressão Linear (Analysis Services – Mineração de Dados).

Pontuação do Node

A pontuação do nó representa informações ligeiramente diferentes em cada nível da árvore. Em geral, a pontuação é um valor numérico que informa o quão boa uma divisão foi obtida dividindo-se na condição. O valor é representado como um duplo, em que um valor mais alto é melhor.

Por definição, o nó de modelo e todos os nós folha têm uma pontuação de nó igual a 0.

Para o nó (Todos) que representa a parte superior de cada árvore, a coluna MSOLAP_NODE_SCORE contém a melhor pontuação de divisão em toda a árvore.

Para todos os outros nós na árvore (exceto nós de folha), a pontuação de cada nó representa a melhor pontuação de divisão para o nó atual, menos a pontuação de divisão do nó pai. Normalmente, a pontuação de divisão de um nó pai deve ser sempre melhor do que a pontuação de divisão em qualquer um de seus nós filhos. Isso ocorre porque um modelo de árvores de decisão divide-se nos atributos mais importantes primeiro.

Há muitas maneiras de calcular uma pontuação para uma divisão, dependendo do parâmetro de algoritmo escolhido. Uma discussão sobre como as pontuações são calculadas para cada um dos métodos de pontuação está além do escopo deste tópico. Para obter mais informações, consulte "Learning Bayesian Networks: The Combination of Knowledge and Statistical Data", no site da Microsoft Research.

Observação

Se você criar um modelo de árvores de decisão que tenha atributos previsíveis contínuos e discretos, verá pontuações completamente diferentes nos nós (Todos) que representam cada tipo de árvore. Cada modelo deve ser considerado de forma independente e os métodos usados para regressão de pontuação são completamente diferentes daqueles usados para classificação de pontuação. Os valores de pontuação do nó não podem ser comparados.

Nós de regressão em um modelo de árvore de decisão

Se um modelo de árvores de decisão contiver um atributo previsível com dados numéricos contínuos, o algoritmo Árvores de Decisão da Microsoft buscará encontrar áreas nos dados em que a relação entre o estado previsto e as variáveis de entrada é linear. Se o algoritmo for bem-sucedido na localização de uma relação linear, ele criará uma árvore especial (NODE_TYPE = 25) que representa uma regressão linear. Esses nós de árvore de regressão são mais complexos do que nós que representam valores discretos.

Em geral, uma regressão mapeia as alterações no dependente contínuo (variável previsível) como uma função de alterações nas entradas. Se a variável dependente tiver entradas contínuas e a relação entre a entrada e o valor previsto for estável o suficiente para ser computada como um grafo de linha, o nó da regressão conterá uma fórmula.

No entanto, se a relação entre a entrada e o valor previsto for não linear, uma divisão será criada, assim como uma árvore de decisão padrão. Por exemplo, suponha que A seja o atributo previsível e B e C são as entradas, em que C é um tipo de valor contínuo. Se a relação entre A e C for bastante estável em partes dos dados, mas instável em outras, o algoritmo criará divisões para representar as diferentes áreas dos dados.

Condição de divisão Resultado em nó
se n < 5 A relação pode ser expressa como equação 1
se n entre 5 e 10 Nenhuma equação
se n > 10 A relação pode ser expressa como equação 2

Para obter mais informações sobre nós de regressão, consulte o Conteúdo do Modelo de Mineração para Modelos de Regressão Linear (Analysis Services – Mineração de Dados).

Consulte Também

Conteúdo do modelo de mineração (Analysis Services – Mineração de dados)
Visualizadores do modelo de Mineração de dados
Consultas de mineração de dados
O Algoritmo de Árvores de Decisão da Microsoft