Algoritmo de Árvores de Decisão da Microsoft

Aplica-se a: SQL Server 2019 e versões anteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

A mineração de dados foi preterida no SQL Server 2017 Analysis Services e agora descontinuada no SQL Server 2022 Analysis Services. A documentação não é atualizada para recursos preteridos e descontinuados. Para saber mais, consulte a compatibilidade com versões anteriores do Analysis Services.

O algoritmo árvores de decisão Microsoft é um algoritmo de classificação e regressão para uso na modelagem preditiva de atributos discretos e contínuos.

Para atributos discretos, o algoritmo faz previsões com base nas relações entre colunas de entrada em um conjunto de dados. O algoritmo usa os valores ou estados dessas colunas para prever os estados de uma coluna que você designa como previsível. Especificamente, o algoritmo identifica as colunas de entrada correlacionadas com a coluna previsível.

Por exemplo, em um cenário para prever quais clientes provavelmente comprarão uma bicicleta, se nove em cada dez clientes mais jovens, mas apenas dois em cada dez clientes mais velhos comprarem uma bicicleta, o algoritmo infere que a idade é um bom preditor da compra de bicicletas. A árvore de decisão faz previsões com base nessa tendência para um resultado específico.

Para atributos contínuos, o algoritmo usa regressão linear para determinar onde uma árvore de decisão é dividida.

Se mais de uma coluna for definida como previsível ou se os dados de entrada contiverem uma tabela aninhada definida como previsível, o algoritmo criará uma árvore de decisão separada para cada coluna previsível.

Example

O departamento de marketing da empresa Adventure Works Cycles deseja identificar as características dos clientes anteriores que podem indicar se esses clientes provavelmente comprarão um produto no futuro. O banco de dados AdventureWorks2012 armazena informações demográficas que descrevem clientes anteriores. Usando o algoritmo árvores de decisão Microsoft para analisar essas informações, o departamento de marketing pode criar um modelo que prevê se um cliente específico comprará produtos, com base nos estados de colunas conhecidas sobre esse cliente, como dados demográficos ou padrões de compra anteriores.

Como o algoritmo funciona

O algoritmo árvores de decisão Microsoft cria um modelo de mineração de dados criando uma série de divisões na árvore. Essas divisões são representadas como nós. O algoritmo adiciona um nó ao modelo sempre que encontra uma coluna de entrada significativamente correlacionada com a coluna previsível. A maneira como o algoritmo determina uma divisão é diferente dependendo se ele está prevendo uma coluna contínua ou uma coluna discreta.

O algoritmo árvores de decisão Microsoft usa a seleção de recursos para orientar a seleção dos atributos mais úteis. Todos os algoritmos de mineração de dados SQL Server usam a seleção de recursos para melhorar o desempenho e a qualidade da análise e impedir que atributos não importantes usem o tempo do processador. Se você usar muitos atributos de entrada ou previsíveis ao criar um modelo de mineração de dados, o modelo poderá levar muito tempo para processar ou ficar sem memória. Os métodos usados para determinar se a árvore deve ser dividida incluem métricas padrão do setor para redes de entropia e bayesianas. Para obter mais informações sobre os métodos usados para selecionar atributos significativos e, em seguida, pontuar e classificar os atributos, consulte Seleção de Recursos (Mineração de Dados).

Um problema comum em modelos de mineração de dados é que o modelo está se tornando muito sensível a pequenas diferenças nos dados de treinamento, que são chamados de sobreajustados ou sobretreinados. Um modelo sobreajustado não pode ser generalizado para outros conjuntos de dados. Para evitar o sobreajuste em um determinado conjunto de dados, o Algoritmo Microsoft Decision Trees usa técnicas para controlar o crescimento da árvore. Para obter uma explicação detalhada de como o algoritmo árvores de decisão Microsoft funciona, consulte Microsoft Referência técnica do algoritmo Árvores de Decisão.

Prevendo colunas discretas

O Algoritmo Microsoft Decision Trees cria uma árvore para uma coluna previsível discreta com base em um histograma. O diagrama a seguir mostra um histograma que plota uma coluna previsível, Compradores de Bicicleta, em relação a uma coluna de entrada, Age. O histograma mostra que a idade de uma pessoa ajuda a distinguir se essa pessoa compra uma bicicleta.

Captura de tela de um histograma do algoritmo Árvores de Decisão da Microsoft.

A correlação mostrada no diagrama faz com que o algoritmo árvores de decisão Microsoft crie um novo nó no modelo.

Captura de tela de um nó de árvore de decisão.

À medida que o algoritmo adiciona novos nós a um modelo, ele cria uma estrutura de árvore. O nó superior da árvore indica a divisão da coluna previsível para a média da população de clientes. À medida que o modelo continua a crescer, o algoritmo considera todas as colunas.

Predizendo colunas contínuas

Quando o Algoritmo Microsoft Decision Trees cria uma árvore com base em uma coluna previsível contínua, cada nó contém uma fórmula de regressão. Uma divisão ocorre em um ponto de não linearidade na fórmula de regressão. Por exemplo, considere o diagrama a seguir.

Captura de tela de várias linhas de regressão mostrando não linearidade.

Um modelo de regressão padrão tenta derivar uma única fórmula que representa a tendência e as relações dos dados como um todo. No entanto, uma única fórmula pode fazer um trabalho ruim de capturar a descontinuidade em dados complexos. Em vez disso, o algoritmo árvores de decisão Microsoft procura segmentos da árvore que são em grande parte lineares e cria fórmulas separadas para esses segmentos. Ao dividir os dados em segmentos diferentes, o modelo pode fazer um trabalho melhor de aproximação dos dados.

O diagrama a seguir representa o diagrama de árvore para o modelo no gráfico de dispersão anterior. Para prever o resultado, o modelo fornece duas fórmulas diferentes: uma para o branch esquerdo com a fórmula y = .5x x 5 e outra para o branch direito com a fórmula y = .25x + 8,75. O ponto em que as duas linhas se encontram no gráfico de dispersão é o ponto de não linearidade onde ocorre a divisão de um nó em um modelo de árvore de decisão.

Captura de tela de uma equação que representa um ponto de não linearidade.

Esse modelo é simples, com apenas duas equações lineares; portanto, a divisão na árvore é imediatamente após o nó Todos. No entanto, uma divisão pode ocorrer em qualquer nível da árvore. Em uma árvore que contém vários níveis e nós em que cada nó é caracterizado por uma coleção diferente de atributos, uma fórmula pode ser compartilhada entre vários nós ou aplicar apenas a um único nó.

Por exemplo, você pode obter uma fórmula para um nó definido como "clientes com mais de uma determinada idade e renda" e outra em um nó que representa "clientes que se deslocam longas distâncias". Para ver a fórmula de um nó ou segmento individual, selecione o nó.

Dados necessários para modelos de árvore de decisão

Ao preparar dados para uso em um modelo de árvore de decisão, entenda os requisitos para o algoritmo específico, incluindo a quantidade de dados necessária e como ele usa os dados.

Os requisitos para um modelo de árvore de decisão são os seguintes:

  • Uma única coluna-chave. Cada modelo deve conter uma coluna numérica ou de texto que identifique exclusivamente cada registro. Chaves compostas não são permitidas.

  • Uma coluna previsível. O modelo requer pelo menos uma coluna previsível. Você pode incluir vários atributos previsíveis em um modelo e os atributos previsíveis podem ser de tipos diferentes, numéricos ou discretos. Aumentar o número de atributos previsíveis pode aumentar o tempo de processamento.

  • Colunas de entrada. O modelo requer colunas de entrada, que podem ser discretas ou contínuas. Aumentar o número de atributos de entrada afeta o tempo de processamento.

Para obter informações detalhadas sobre os tipos de conteúdo e tipos de dados com suporte para modelos de árvore de decisão, consulte a seção Requisitos da Referência Técnica do Algoritmo de Árvores de Decisão Microsoft.

Exibindo um modelo de árvore de decisão

Para explorar o modelo, use o Visualizador de Árvore Microsoft. Se o modelo gerar várias árvores, você poderá selecionar uma árvore e ver um detalhamento de como os casos são categorizados para cada atributo previsível. Você também pode exibir a interação das árvores usando o visualizador de rede de dependência. Para obter mais informações, consulte Procurar um modelo usando o Microsoft Tree Viewer.

Para obter mais detalhes sobre qualquer ramificação ou nó na árvore, você também pode navegar pelo modelo usando o Microsoft Generic Content Tree Viewer. O conteúdo armazenado para o modelo inclui a distribuição de todos os valores em cada nó, probabilidades em cada nível da árvore e fórmulas de regressão para atributos contínuos. Para obter mais informações, consulte o Conteúdo do Modelo de Mineração para Modelos de Árvore de Decisão (Analysis Services – Mineração de Dados).

Criando previsões

Depois que o modelo é processado, ele armazena os resultados como um conjunto de padrões e estatísticas. Use esses resultados para explorar relações ou fazer previsões.

Para obter exemplos de consultas a serem usadas com um modelo de árvore de decisão, consulte Exemplos de consulta de modelo de árvores de decisão.

Para obter informações gerais sobre como criar consultas em modelos de mineração, consulte Consultas de mineração de dados.

Observações

  • Dá suporte ao uso da PMML (Predictive Model Markup Language) para criar modelos de mineração.

  • Dá suporte ao detalhamento.

  • Dá suporte ao uso de modelos de mineração OLAP e à criação de dimensões de mineração de dados.

Consulte também

Algoritmos de mineração de dados (Analysis Services – Mineração de dados)
Referência técnica do algoritmo Árvores de Decisão da Microsoft
Exemplos de consulta de modelo de árvores de decisão
Conteúdo do modelo de mineração para modelos de árvore de decisão (Analysis Services – Mineração de dados)