Aprendizagem de árvore de decisão

Origem: Wikipédia, a enciclopédia livre.

O aprendizado de árvore de decisão ou indução de árvores de decisão é uma das abordagens de modelagem preditiva usadas em estatística, mineração de dados e aprendizado de máquina. Ele usa uma árvore de decisão (como um modelo preditivo) para ir de observações sobre um item (representado nos ramos) para conclusões sobre o valor alvo do item (representado nas folhas). Os modelos de árvore em que a variável de destino pode assumir um conjunto discreto de valores são chamados de árvores de classificação; nessas estruturas de árvore, as folhas representam rótulos de classe e os ramos representam conjunções de características que levam a esses rótulos de classe. As árvores de decisão em que a variável de destino pode assumir valores contínuos (normalmente números reais) são chamadas de árvores de regressão. As árvores de decisão estão entre os algoritmo de aprendizado de máquina mais populares devido à sua inteligibilidade e simplicidade.[1]

Na análise de decisão, uma árvore de decisão pode ser usada para representar visualmente e explicitamente as decisões e a tomada de decisão. Na mineração de dados, uma árvore de decisão descreve os dados (mas a árvore de classificação resultante pode ser uma entrada para a tomada de decisão). Esta página trata das árvores de decisão na mineração de dados.

Visão geral[editar | editar código-fonte]

Uma árvore que mostra a sobrevivência dos passageiros do Titanic ("sibsp" é o número de cônjuges ou irmãos a bordo). Os valores sob as folhas mostram a probabilidade de sobrevivência e a porcentagem de observações na folha. Resumindo: Suas chances de sobrevivência eram boas se você fosse (i) uma mulher ou (ii) um homem com menos de 9,5 anos e com um número de irmãos estritamente menor do que 3.

A aprendizagem de árvore de decisão é um método comumente usado na mineração de dados.[2] O objetivo é criar um modelo que preveja o valor de uma variável de destino com base em várias variáveis de entrada.

Uma árvore de decisão é uma representação simples para classificar exemplos. Para esta seção, suponha que todas as características de entrada tenham domínios discretos finitos e que haja uma única característica alvo denominada "classificação". Cada elemento do domínio da classificação é denominado classe. Uma árvore de decisão ou uma árvore de classificação é uma árvore na qual cada nó interno (não folha) é rotulado com uma característica de entrada. Os arcos vindos de um nó rotulado com um recurso de entrada são rotulados com cada um dos valores possíveis da característica de destino ou o arco leva a um nó de decisão subordinado em uma característica de entrada diferente. Cada folha da árvore é rotulada com uma classe ou distribuição de probabilidade sobre as classes, o que significa que o conjunto de dados foi classificado pela árvore em uma classe específica ou em uma distribuição de probabilidade específica (que, se a árvore de decisão estiver bem construída, é inclinada para certos subconjuntos de classes).

Uma árvore é construída dividindo o conjunto de origem, que constitui o nó raiz da árvore, em subconjuntos - que constituem os filhos sucessores. A divisão é baseada em um conjunto de regras de divisão que levam em conta características de classificação.[3] Esse processo é repetido em cada subconjunto derivado de uma maneira recursiva chamada de particionamento recursivo. A recursão é concluída quando o subconjunto em um nó tem todos os mesmos valores da variável de destino ou quando a divisão não agrega mais valor às previsões. Este processo de indução de cima para baixo de árvores de decisão (TDIDT)[4] é um exemplo de algoritmo guloso e é de longe a estratégia mais comum para aprender árvores de decisão a partir de dados.[carece de fontes?]

Na mineração de dados, as árvores de decisão também podem ser descritas como a combinação de técnicas matemáticas e computacionais para auxiliar na descrição, categorização e generalização de um determinado conjunto de dados.

Os dados vêm em registros da forma:

A variável dependente, , é a variável de destino que estamos tentando entender, classificar ou generalizar. O vetor é composto pelas características, etc., que são usadas para essa tarefa.

Three different representations of a regression tree of kyphosis data
Um exemplo de árvore que estima a probabilidade de cifose após cirurgia espinhal, dada a idade do paciente e a vértebra em que a cirurgia foi iniciada. A mesma árvore é mostrada de três maneiras diferentes. À esquerda, as folhas coloridas mostram a probabilidade de cifose após cirurgia espinhal e a porcentagem de pacientes na folha. No centro, a árvore é vista como um gráfico em perspectiva. À direita, vista aérea do gráfico do centro. A probabilidade de cifose após a cirurgia é maior nas áreas mais escuras. (Nota: O tratamento da cifose avançou consideravelmente desde que este pequeno conjunto de dados foi coletado.[carece de fontes?])

Tipos de árvore de decisão[editar | editar código-fonte]

As árvores de decisão usadas na mineração de dados são de dois tipos principais:

  • A análise de árvore de classificação é quando o resultado previsto é a classe (discreta) à qual os dados pertencem.
  • A análise de árvore de regressão ocorre quando o resultado previsto pode ser considerado um número real (por exemplo, o preço de uma casa ou o tempo de permanência de um paciente em um hospital).

A expressão análise de árvore de classificação e regressão (CART) é um termo abrangente usado para se referir a ambos os procedimentos acima, introduzido pela primeira vez por Breiman et al. em 1984.[5] As árvores usadas para regressão e árvores usadas para classificação têm algumas semelhanças - mas também algumas diferenças, como o procedimento usado para determinar onde dividir.[5]

Algumas técnicas, muitas vezes chamadas de métodos de conjunto, constroem mais de uma árvore de decisão:

  • Árvores aumentadas: construindo incrementalmente um conjunto, treinando cada nova instância para enfatizar as instâncias de treinamento previamente modeladas incorretamente. Um exemplo típico é AdaBoostAdaBoost. Elas podem ser usadas para problemas do tipo regressão e do tipo classificação.[6][7]
  • Árvores de decisão agregadas por bootstrap, um método de conjunto antigo, constrói várias árvores de decisão reamostrando repetidamente os dados de treinamento com substituição e votando nas árvores para uma previsão de consenso.[8]
    • Um classificador de floresta aleatória é um tipo específico de agregação por bootstrap.
  • Floresta de rotação - na qual cada árvore de decisão é treinada aplicando primeiro a análise de componente principal (PCA) em um subconjunto aleatório das características de entrada.[9]

Um caso especial de árvore de decisão é uma lista de decisão,[10] que é uma árvore de decisão unilateral, de modo que cada nó interno tem exatamente 1 nó folha e exatamente 1 nó interno como filho (exceto para o nó inferior, cujo único filho é um único nó folha). Embora menos expressivas, as listas de decisão são indiscutivelmente mais fáceis de entender do que as árvores de decisão gerais devido à sua dispersão adicional, permitem métodos de aprendizagem não gananciosos[11] e a imposição de restrições monotônicas.[12]

Os algoritmos de árvore de decisão notáveis incluem:

  • ID3 (dicotomizador iterativo 3)
  • C4.5 (sucessor de ID3)
  • CART (árvore de classificação e regressão) [5]
  • Detecção de interação automática qui-quadrado (CHAID). Executa divisões de vários níveis ao calcular árvores de classificação.[13]
  • MARS: estende as árvores de decisão para lidar melhor com os dados numéricos.
  • Árvores de inferência condicional. Abordagem baseada em estatísticas que usa testes não paramétricos como critérios de divisão, corrigidos para testes múltiplos para evitar sobreajuste. Esta abordagem resulta em seleção de preditor imparcial e não requer poda.[14][15]

ID3 e CART foram inventados de forma independente na mesma época (entre 1970 e 1980),[carece de fontes?] mas seguem uma abordagem semelhante para aprender uma árvore de decisão a partir de tuplas de treinamento.

Também foi proposto tirar vantagem de conceitos da teoria de conjuntos fuzzy para a definição de uma versão especial de árvore de decisão, conhecida como Fuzzy Decision Tree (FDT).[16] Neste tipo de classificação difusa, geralmente um vetor de entrada está associado a várias classes, cada uma com um valor de confiança diferente. Conjuntos impulsionados de FDTs também foram recentemente investigados e mostraram desempenhos comparáveis aos de outros classificadores fuzzy muito eficientes.[17]

Métricas[editar | editar código-fonte]

Os algoritmos para construir árvores de decisão geralmente funcionam de cima para baixo, escolhendo em cada etapa uma variável que melhor divide o conjunto de itens.[18] Diferentes algoritmos usam diferentes métricas para medir o "melhor". Geralmente medem a homogeneidade da variável de destino dentro dos subconjuntos. Alguns exemplos são fornecidos a seguir. Essas métricas são aplicadas a cada subconjunto candidato e os valores resultantes são combinados (por exemplo, média) para fornecer uma medida da qualidade da divisão.

Impureza de Gini[editar | editar código-fonte]

 Nota: Não confundir com Coeficiente de Gini.

Usado pelo algoritmo CART (árvore de classificação e regressão) para árvores de classificação, a impureza de Gini (em homenagem ao matemático italiano Corrado Gini) é uma medida de quantas vezes um elemento escolhido aleatoriamente do conjunto seria rotulado incorretamente se fosse rotulado aleatoriamente de acordo com o distribuição de rótulos no subconjunto. A impureza Gini pode ser calculada somando a probabilidade de um item com etiqueta ser escolhido vezes a probabilidade de um erro na categorização desse item. Ele atinge seu mínimo (zero) quando todos os casos no nó caem em uma única categoria de destino.

A impureza de Gini também é uma medida da teoria da informação e corresponde à entropia de Tsallis com coeficiente de deformação , que em física está associada à falta de informação em sistemas fora do equilíbrio, não expansíveis, dissipativos e quânticos. Para o limite recupera-se a entropia usual de Boltzmann-Gibbs ou Shannon. Nesse sentido, a impureza de Gini é apenas uma variação da medida usual de entropia para árvores de decisão.

Para calcular a impureza Gini para um conjunto de itens com classes, suponha , e considere a fração de itens rotulados com classe no conjunto.

Ganho de informação[editar | editar código-fonte]

Usada pelos algoritmos de geração de árvore ID3, C4.5 e C5.0. O ganho de informação é baseado no conceito de entropia e conteúdo da informação na teoria da informação.

A entropia é definida da seguinte forma:

em que são frações que somam 1 e representam a porcentagem de cada classe presente no nó filho que resulta de uma divisão na árvore.[19]

Calculando a média sobre os valores possíveis de ,

isto é, o ganho de informação esperado é a informação mútua, ou seja, em média, a redução na entropia de T é a informação mútua.

O ganho de informação é usado para decidir em que característica dividir em cada etapa da construção da árvore. Simplicidade é o melhor, então queremos manter nossa árvore pequena. Para fazer isso, em cada etapa devemos escolher a divisão que resulta nos nós filhos mais consistentes. Uma medida comumente usada de consistência é chamada de informação que é medida em bits. Para cada nó da árvore, o valor da informação “representa a quantidade esperada de informação que seria necessária para especificar se uma nova instância deveria ser classificada como sim ou não, visto que o exemplo atingiu aquele nó”.[19]

Considere um exemplo de conjunto de dados com quatro atributos: clima (ensolarado, nublado, chuvoso), temperatura (quente, ameno, frio), umidade (alta, normal) e ventoso (verdadeiro, falso), com uma variável alvo binária (sim ou não), jogar, e 14 pontos de dados. Para construir uma árvore de decisão com base nesses dados, precisamos comparar o ganho de informação de cada uma de quatro árvores, cada uma dividida em uma dos quatro características. A divisão com o maior ganho de informação será considerada a primeira divisão e o processo continuará até que todos os nós filhos tenham dados consistentes ou até que o ganho de informação seja 0.

Para encontrar o ganho de informação da divisão usando windy, devemos primeiro calcular a informação nos dados antes da divisão. Os dados originais continham nove sim e cinco não.

A divisão usando a característica ventoso resulta em dois nós filhos, um para um valor ventoso verdadeiro e um para um valor ventoso falso. Neste conjunto de dados, existem seis pontos de dados com um valor ventoso verdadeiro, três dos quais têm um valor de jogar (onde o jogar é a variável alvo) sim e três com um valor de jogo de não. Os oito pontos de dados restantes com um valor de ventoso falso contêm dois não e seis sim. A informação do nó ventoso = verdadeiro é calculada usando a equação de entropia acima. Uma vez que há um número igual de sim e não neste nó, temos

Para o nó em que ventoso = falso, havia oito pontos de dados, seis sim e dois não. Assim, tem-se

Para encontrar a informação da divisão, pega-se a média ponderada desses dois números com base em quantas observações caíram em cada nó.

Agora pode-se calcular o ganho de informação obtido pela divisão na característica ventoso.

Para construir a árvore, o ganho de informação de cada possível primeira divisão precisaria ser calculado. A melhor primeira divisão é aquela que fornece o maior ganho de informação. Este processo é repetido para cada nó impuro até que a árvore seja concluída. Este exemplo é adaptado do exemplo que aparece em Witten et al.[19]

Redução da variância[editar | editar código-fonte]

Introduzida no CART,[5] a redução da variância é frequentemente empregada em casos em que a variável alvo é contínua (árvore de regressão), o que significa que o uso de muitas outras métricas exigiria primeiro uma discretização antes de ser aplicada. A redução da variância de um nó N é definida como a redução total da variância da variável de destino Y devido à divisão neste nó:

em que , , e são o conjunto de índices da amostra antes da divisão, o conjunto de índices da amostra para os quais o teste da divisão é verdadeiro e o conjunto de índices da amostra para os quais o teste da divisão é falso, respectivamente. Cada uma das somas acima são de fato estimativas de variância, porém, escritas de uma forma que não faz referência à média diretamente.

Medida de "bondade"[editar | editar código-fonte]

Usada pela CART em 1984,[20] a medida de "bondade" é uma função que busca otimizar o equilíbrio da capacidade de uma candidata a divisão de criar filhos puros com sua capacidade de criar filhos de tamanhos iguais. Este processo é repetido para cada nó impuro até que a árvore seja concluída. A função , em que é uma candidata a divisão no nó , é definida como abaixo

em que e são os filhos esquerdo e direito do nó usando a divisão , respectivamente; e são as proporções de registros de em e , respectivamente; e e são as proporções de registros da classe em e , respectivamente.

Considere um exemplo de conjunto de dados com três atributos: poupança (baixo, médio, alto), ativos (baixo, médio, alto), renda (valor numérico) e um risco de crédito de variável alvo binário (bom, ruim) e 8 pontos de dados.[20] Os dados completos são apresentados na tabela abaixo. Para iniciar uma árvore de decisão, vamos calcular o valor máximo de usando cada característica para descobrir qual irá dividir o nó raiz. Este processo continuará até que todos os filhos sejam puros ou todos os valores estejam abaixo de um limite definido.

Cliente Poupança Ativos Renda ($ 1000s) Risco de crédito
1 Médio Alto 75 Bom
2 Baixo Baixo 50 Ruim
3 Alto Médio 25 Ruim
4 Médio Médio 50 Bom
5 Baixo Médio 100 Bom
6 Alto Alto 25 Bom
7 Baixo Baixo 25 Ruim
8 Médio Médio 75 Bom

Para encontrar da característica economia, é preciso observar a quantidade de cada valor. Os dados originais continham três baixos, três médios e dois altos. Dos baixos, um tinha um bom risco de crédito, enquanto que entre os médios e altos, 4 tinham um bom risco de crédito. Suponha uma candidata a divisão de forma que os registros com uma poupança baixa sejam colocados no filho da esquerda e todos os outros registros sejam colocados no filho da direita.

Para construir a árvore, é preciso calcular a "bondade" de todas as divisões candidatas para o nó raiz. A candidata com o valor máximo dividirá o nó raiz e o processo continuará para cada nó impuro até que a árvore seja concluída.

Em comparação com outras métricas, como ganho de informação, a medida de "bondade" tentará criar uma árvore mais equilibrada, levando a um tempo de decisão mais consistente. No entanto, ele sacrifica alguma prioridade para a criação de filhos puros, o que pode levar a divisões adicionais que não estão presentes com outras métricas.

Usos[editar | editar código-fonte]

Vantagens[editar | editar código-fonte]

Entre outros métodos de mineração de dados, as árvores de decisão têm várias vantagens:

  • Simples de entender e interpretar. As pessoas são capazes de entender os modelos de árvore de decisão após uma breve explicação. As árvores também podem ser exibidas graficamente de uma maneira que não especialistas podem interpretar com facilidade.[21]
  • Capaz de lidar com dados numéricos e categóricos.[21] Outras técnicas geralmente são especializadas na análise de conjuntos de dados que possuem apenas um tipo de variável. (Por exemplo, as regras de relação podem ser usadas apenas com variáveis nominais, enquanto as redes neurais podem ser usadas apenas com variáveis numéricas ou categóricas convertidas para valores 0-1.) As árvores de decisão iniciais eram capazes de lidar apenas com variáveis categóricas, mas as versões mais recentes, como C4.5, não têm essa limitação.[2]
  • Requer pouca preparação de dados. Outras técnicas geralmente requerem normalização de dados. Uma vez que as árvores podem lidar com preditores qualitativos, não há necessidade de criar variáveis fictícias.[21]
  • Usa um modelo de caixa branca ou caixa-aberta.[2] Se uma dada situação é observável em um modelo, a justificativa para a condição é facilmente explicada por lógica booleana. Por outro lado, em um modelo de caixa preta, a justificativa para os resultados é normalmente difícil de entender, por exemplo, com uma rede neural artificial.
  • Possível validar um modelo por meio de testes estatísticos. Isso torna possível contabilizar a confiabilidade do modelo.
  • Abordagem não paramétrica que não faz suposições sobre os dados de treinamento ou resíduos de predição; por exemplo, nenhuma suposição de distribuição, independência ou variância constante
  • Apresenta bom desempenho com grandes conjuntos de dados. Grandes quantidades de dados podem ser analisados usando recursos de computação padrão em um tempo razoável.
  • Espelha a tomada de decisão humana mais de perto do que outras abordagens.[21] Isso pode ser útil ao modelar decisões/comportamento humano.
  • Robusto contra colinearidade, especialmente impulsionando
  • Seleção de características integrada. Características irrelevantes adicionais serão menos usadas então podem ser removidas em execuções subsequentes. A hierarquia de atributos em uma árvore de decisão reflete a importância dos atributos.[22] Isso significa que as característica na parte superior são as mais informativas.[23]
  • As árvores de decisão podem aproximar de qualquer função booleana, por exemplo XOR.[24]

Limitações[editar | editar código-fonte]

  • As árvores podem ser muito não robustas. Uma pequena mudança nos dados de treinamento pode resultar em uma grande mudança na árvore e, consequentemente, nas previsões finais.[21]
  • O problema de aprender uma árvore de decisão ótima é conhecido como NP-completo sob vários aspectos da otimidade e até mesmo para conceitos simples.[25][26] Consequentemente, algoritmos de aprendizagem de árvore de decisão práticos são baseados em heurísticas, como o algoritmo guloso, no qual decisões ótimas localmente são feitas em cada nó. Esses algoritmos não podem garantir o retorno da árvore de decisão globalmente ótima. Para reduzir o efeito guloso da otimização local, foram propostos alguns métodos, como a árvore de distâncias duplas de informações (DID).[27]
  • Os aprendizes da árvore de decisão podem criar árvores excessivamente complexas que não generalizam bem a partir dos dados de treinamento. (Isso é conhecido como sobreajuste.[28]) Mecanismos como a poda são necessários para evitar esse problema (com exceção de alguns algoritmos, como a abordagem de inferência condicional, que não requer a poda).[14][15]
  • A profundidade média da árvore, que é definida pelo número de nós ou testes até a classificação, não é garantida como mínima ou pequena sob vários critérios de divisão.[29]
  • Para dados que incluem variáveis categóricas com diferentes números de níveis, o ganho de informação nas árvores de decisão é tendencioso em favor de atributos com mais níveis.[30] No entanto, a questão da seleção de preditor com viés é evitada pela abordagem de inferência condicional,[14] uma abordagem de dois estágios[31] ou uma seleção adaptativa de características do tipo "deixar um de fora".[32]

Implementações[editar | editar código-fonte]

Muitos pacotes de software de mineração de dados fornecem implementações de um ou mais algoritmos de árvore de decisão.

Exemplos incluem:

  • Salford Systems CART (que licenciou o código proprietário dos autores originais de CART),[5]
  • IBM SPSS Modeler,
  • RapidMiner,
  • SAS Enterprise Miner,
  • Matlab,
  • R (um ambiente de software de código aberto para computação estatística, que inclui várias implementações CART, como as dos pacotes rpart, party e randomForest),
  • Weka (um pacote de mineração de dados gratuito e de código aberto, contém muitos algoritmos de árvore de decisão),
  • Orange,
  • KNIME,
  • Microsoft SQL Server[33], e
  • Scikit-learn (uma biblioteca de aprendizado de máquina gratuita e de código aberto para a linguagem de programação Python).

Extensões[editar | editar código-fonte]

Grafos de decisão[editar | editar código-fonte]

Em uma árvore de decisão, todos os caminhos do nó raiz ao nó folha prosseguem por meio de conjunções, ou E. Em um grafo de decisão, é possível usar disjunções (OUs) para unir dois ou mais caminhos usando comprimento mínimo de mensagem (MML).[34] Os grafos de decisão foram estendidos ainda mais para permitir que novos atributos não declarados anteriormente sejam aprendidos dinamicamente e usados em diferentes locais do grafo.[35] O esquema de codificação mais geral resulta em melhor precisão preditiva e pontuação probabilística de perda de log.[carece de fontes?] Em geral, os grafos de decisão inferem modelos com menos folhas do que as árvores de decisão.

Métodos de busca alternativos[editar | editar código-fonte]

Algoritmos evolutivos têm sido usados para evitar decisões ótimas locais e pesquisar o espaço das árvores de decisão com pouco viés a priori.[36][37]

Também é possível amostrar uma árvore usando MCMC.[38]

A árvore pode ser pesquisada de baixo para cima.[39] Ou várias árvores podem ser construídas paralelamente para reduzir o número esperado de testes até a classificação.[29]

Ver também[editar | editar código-fonte]

Referências[editar | editar código-fonte]

  1. Wu, Xindong; Kumar, Vipin; Ross Quinlan, J.; Ghosh, Joydeep; Yang, Qiang; Motoda, Hiroshi; McLachlan, Geoffrey J.; Ng, Angus; Liu, Bing (1 de janeiro de 2008). «Top 10 algorithms in data mining». Knowledge and Information Systems (em inglês). 14: 1–37. ISSN 0219-3116. doi:10.1007/s10115-007-0114-2 
  2. a b c Rokach, Lior; Maimon, O. (2008). Data mining with decision trees: theory and applications. [S.l.]: World Scientific Pub Co Inc. ISBN 978-9812771711 
  3. Shalev-Shwartz, Shai; Ben-David, Shai (2014). «18. Decision Trees». Understanding Machine Learning. [S.l.]: Cambridge University Press 
  4. Quinlan, J. R. (1986). «Induction of decision trees» (PDF). Machine Learning. 1: 81–106. doi:10.1007/BF00116251 
  5. a b c d e Breiman, Leo; Friedman, J. H.; Olshen, R. A.; Stone, C. J. (1984). Classification and regression trees. Monterey, CA: Wadsworth & Brooks/Cole Advanced Books & Software. ISBN 978-0-412-04841-8 
  6. Friedman, J. H. (1999). Stochastic gradient boosting. Stanford University.
  7. Hastie, T., Tibshirani, R., Friedman, J. H. (2001). The elements of statistical learning : Data mining, inference, and prediction. New York: Springer Verlag.
  8. Breiman, L. (1996). «Bagging Predictors». Machine Learning. 24: 123–140. doi:10.1007/BF00058655 
  9. Rodriguez, J. J.; Kuncheva, L. I.; Alonso, C. J. (2006). «Rotation forest: A new classifier ensemble method». IEEE Transactions on Pattern Analysis and Machine Intelligence. 28: 1619–1630. CiteSeerX 10.1.1.156.8277Acessível livremente. PMID 16986543. doi:10.1109/TPAMI.2006.211 
  10. Rivest, Ron (novembro de 1987). «Learning Decision Lists» (PDF). Machine Learning. 3: 229–246. doi:10.1023/A:1022607331053 
  11. Letham, Ben; Rudin, Cynthia; McCormick, Tyler; Madigan, David (2015). «Interpretable Classifiers Using Rules And Bayesian Analysis: Building A Better Stroke Prediction Model». Annals of Applied Statistics. 9: 1350–1371. arXiv:1511.01644Acessível livremente. doi:10.1214/15-AOAS848 
  12. Wang, Fulton; Rudin, Cynthia (2015). «Falling Rule Lists» (PDF). Journal of Machine Learning Research. 38 
  13. Kass, G. V. (1980). «An exploratory technique for investigating large quantities of categorical data». Applied Statistics. 29: 119–127. JSTOR 2986296. doi:10.2307/2986296 
  14. a b c Hothorn, T.; Hornik, K.; Zeileis, A. (2006). «Unbiased Recursive Partitioning: A Conditional Inference Framework». Journal of Computational and Graphical Statistics. 15: 651–674. CiteSeerX 10.1.1.527.2935Acessível livremente. JSTOR 27594202. doi:10.1198/106186006X133933 
  15. a b Strobl, C.; Malley, J.; Tutz, G. (2009). «An Introduction to Recursive Partitioning: Rationale, Application and Characteristics of Classification and Regression Trees, Bagging and Random Forests». Psychological Methods. 14: 323–348. PMC 2927982Acessível livremente. PMID 19968396. doi:10.1037/a0016973 
  16. Janikow, C. Z. (1998). «Fuzzy decision trees: issues and methods». IEEE Transactions on Systems, Man and Cybernetics, Part B (Cybernetics). 28: 1–14. PMID 18255917. doi:10.1109/3477.658573 
  17. Barsacchi, M.; Bechini, A.; Marcelloni, F. (2020). «An analysis of boosted ensembles of binary fuzzy decision trees». Expert Systems with Applications. 154: 113436. doi:10.1016/j.eswa.2020.113436 
  18. Rokach, L.; Maimon, O. (2005). «Top-down induction of decision trees classifiers-a survey». IEEE Transactions on Systems, Man, and Cybernetics - Part C: Applications and Reviews. 35: 476–487. CiteSeerX 10.1.1.458.7031Acessível livremente. doi:10.1109/TSMCC.2004.843247 
  19. a b c Witten, Ian; Frank, Eibe; Hall, Mark (2011). Data Mining. Burlington, MA: Morgan Kaufmann. pp. 102–103. ISBN 978-0-12-374856-0 
  20. a b Larose, Daniel T.; Larose, Chantal D. (2014). Discovering knowledge in data: an introduction to data mining. Hoboken, NJ: John Wiley & Sons, Inc. ISBN 9781118874059 
  21. a b c d e Gareth, James; Witten, Daniela; Hastie, Trevor; Tibshirani, Robert (2015). An Introduction to Statistical Learning. New York: Springer. pp. 315. ISBN 978-1-4614-7137-0 
  22. Provost, Foster, 1964- (2013). Data science for business : [what you need to know about data mining and data-analytic thinking] 1st ed. Sebastopol, Calif.: O'Reilly. ISBN 978-1-4493-6132-7. OCLC 844460899 
  23. Piryonesi S. Madeh; El-Diraby Tamer E. (1 de junho de 2020). «Role of Data Analytics in Infrastructure Asset Management: Overcoming Data Size and Quality Problems». Journal of Transportation Engineering, Part B: Pavements. 146. 04020022 páginas. doi:10.1061/JPEODX.0000175 
  24. Mehtaa, Dinesh; Raghavan, Vijay (2002). «Decision tree approximations of Boolean functions». Theoretical Computer Science. 270: 609–623. doi:10.1016/S0304-3975(01)00011-1 
  25. Hyafil, Laurent; Rivest, RL (1976). «Constructing Optimal Binary Decision Trees is NP-complete». Information Processing Letters. 5: 15–17. doi:10.1016/0020-0190(76)90095-8 
  26. Murthy S. (1998). "Automatic construction of decision trees from data: A multidisciplinary survey". Data Mining and Knowledge Discovery
  27. Ben-Gal I. Dana A., Shkolnik N. and Singer (2014). «Efficient Construction of Decision Trees by the Dual Information Distance Method» (PDF). Quality Technology & Quantitative Management. 11: 133–147. doi:10.1080/16843703.2014.11673330 
  28. Principles of Data Mining. [S.l.: s.n.] 2007. ISBN 978-1-84628-765-7. doi:10.1007/978-1-84628-766-4 
  29. a b Ben-Gal I. and Trister C. (2015). «Parallel Construction of Decision Trees with Consistently Non Increasing Expected Number of Tests» (PDF). Applied Stochastic Models in Business and Industry, Vol. 31(1) 64-78 
  30. Deng, H.; Runger, G.; Tuv, E. (2011). Bias of importance measures for multi-valued attributes and solutions. Proceedings of the 21st International Conference on Artificial Neural Networks (ICANN). pp. 293–300 
  31. Brandmaier, Andreas M.; Oertzen, Timo von; McArdle, John J.; Lindenberger, Ulman (2012). «Structural equation model trees.». Psychological Methods (em inglês). 18: 71–86. PMC 4386908Acessível livremente. PMID 22984789. doi:10.1037/a0030001 
  32. Painsky, Amichai; Rosset, Saharon (2017). «Cross-Validated Variable Selection in Tree-Based Methods Improves Predictive Performance». IEEE Transactions on Pattern Analysis and Machine Intelligence. 39: 2142–2153. PMID 28114007. arXiv:1512.03444Acessível livremente. doi:10.1109/TPAMI.2016.2636831 
  33. Minewiskan. «Microsoft Decision Trees Algorithm Technical Reference». docs.microsoft.com (em inglês). Consultado em 17 de agosto de 2022 
  34. «CiteSeerX» 
  35. Tan & Dowe (2003)
  36. Papagelis, A.; Kalles, D. (2001). «Breeding Decision Trees Using Evolutionary Techniques». Proceedings of the Eighteenth International Conference on Machine Learning, June 28–July 1, 2001. [S.l.: s.n.] pp. 393–400 
  37. Barros, Rodrigo C.; Basgalupp, M. P.; Carvalho, A. C. P. L. F.; Freitas, Alex A. (2012). «A Survey of Evolutionary Algorithms for Decision-Tree Induction». IEEE Transactions on Systems, Man and Cybernetics. Part C: Applications and Reviews. 42: 291–312. CiteSeerX 10.1.1.308.9068Acessível livremente. doi:10.1109/TSMCC.2011.2157494 
  38. Chipman, Hugh A.; George, Edward I.; McCulloch, Robert E. (1998). «Bayesian CART model search». Journal of the American Statistical Association. 93: 935–948. CiteSeerX 10.1.1.211.5573Acessível livremente. doi:10.1080/01621459.1998.10473750 
  39. Barros, R. C.; Cerri, R.; Jaskowiak, P. A.; Carvalho, A. C. P. L. F. (2011). «A bottom-up oblique decision tree induction algorithm». Proceedings of the 11th International Conference on Intelligent Systems Design and Applications (ISDA 2011). [S.l.: s.n.] pp. 450–456. ISBN 978-1-4577-1676-8. doi:10.1109/ISDA.2011.6121697 

Leitura complementar[editar | editar código-fonte]

  • James, Gareth; Witten, Daniela; Hastie, Trevor; Tibshirani, Robert (2017). «Tree-Based Methods». An Introduction to Statistical Learning: with Applications in R. New York: Springer. pp. 303–336. ISBN 978-1-4614-7137-0 

Ligações externas[editar | editar código-fonte]