Uma Decision Tree é um algoritmo de aprendizado supervisionado não paramétrico e utilizado para tarefas de classificação e regressão. Tem estrutura hierárquica em árvore, que consiste em um nó raiz, ramificações, nós internos e nós de folha.
Como você pode ver no diagrama abaixo, uma Decision Tree começa com um nó raiz, que não possui nenhuma ramificação de entrada. Os ramos de saída do nó raiz então alimentam os nós internos, também conhecidos como nós de decisão. Com base nos recursos disponíveis, ambos os tipos de nós conduzem avaliações para formar subconjuntos homogêneos denotados por nós folha ou nós terminais. Os nós folha representam todos os resultados possíveis dentro do conjunto de dados.
Como exemplo, vamos imaginar que você estivesse tentando avaliar se deveria ou não surfar. Você pode usar as seguintes regras de decisão para fazer uma escolha:
Esse tipo de estrutura de fluxograma também cria uma representação fácil de digerir da tomada de decisões, possibilitando que diversos grupos em uma organização entendam melhor por que uma decisão foi tomada.
O aprendizado de Decision Tree emprega a estratégia dividir para conquistar, conduzindo uma pesquisa ambiciosa para identificar os pontos de divisão ideais em uma árvore. Esse processo de divisão é então repetido de maneira descendente e recursiva até que todos, ou a maioria dos registros tenham sido classificados em rótulos de classe específicos.
A classificação ou não de todos os pontos de dados como conjuntos homogêneos depende em grande parte da complexidade da decision tree. Árvores menores atingem com maior facilidade nós de folha puros, ou sejam, pontos de dados em uma única classe. No entanto, à medida que uma árvore cresce, torna-se cada vez mais difícil manter essa pureza, e isso geralmente resulta em poucos dados dentro de uma determinada subárvore. Quando isso ocorre, é conhecido como fragmentação de dados e, muitas vezes, pode levar ao sobreajuste.
Como resultado, as Decision Trees têm preferência por árvores pequenas, o que é consistente com o princípio da parcimônia na Navalha de Occam; ou seja, "as entidades não devem ser multiplicadas além do necessário". Dito de outra forma, as Decision Trees devem adicionar complexidade apenas se necessário, já que a explicação mais simples geralmente é a melhor. Para reduzir a complexidade e evitar o sobreajuste, a poda geralmente é empregada; este é um processo que remove ramificações que se dividem em recursos com baixa importância. O ajuste do modelo pode então ser avaliado por meio do processo de validação cruzada.
Outra maneira pela qual as decision trees podem manter a precisão é formando um conjunto por meio de um algoritmo de floresta aleatória; esse classificador prevê resultados mais precisos, especialmente quando as árvores individuais não estão correlacionadas entre si.
O algoritmo de Hunt, desenvolvido na década de 1960 para modelar o aprendizado humano em psicologia, é a base de muitos algoritmos populares de decision tree, como os seguintes:
- ID3: Ross Quinlan é creditado no desenvolvimento do ID3, abreviação de "Iterative Dichotomiser 3". Esse algoritmo utiliza a entropia e o ganho de informações como métricas para avaliar as divisões de candidatos. Há algumas das pesquisas de Quinlan sobre esse algoritmo de 1986 disponíveis aqui.
- C4.5: Esse algoritmo é considerado uma iteração posterior do ID3, que também foi desenvolvido por Quinlan. Pode utilizar ganho de informação ou taxas de ganho para avaliar pontos de divisão dentro das decision trees.
- CART: O termo CART é uma abreviação de "árvores de classificação e regressão" e foi introduzido por Leo Breiman. Este algoritmo normalmente utiliza impureza de Gini para identificar o atributo ideal para divisão. A impureza Gini mede a frequência com que um atributo escolhido aleatoriamente é classificado incorretamente. Ao avaliar usando a impureza de Gini, um valor menor é mais ideal.
Embora haja várias maneiras de selecionar o melhor atributo em cada nó, dois métodos, ganho de informação e impureza de Gini, atuam como critério de divisão popular para modelos de decision tree. Eles ajudam a avaliar a qualidade de cada condição de teste e quão bem ela será capaz de classificar as amostras em uma classe.
É difícil explicar o ganho de informação sem antes discutir entropia. Entropia é um conceito que deriva da teoria da informação, que mede a impureza dos valores da amostra. É definido pela seguinte fórmula, onde:
Os valores de entropia podem cair entre 0 e 1. Se todas as amostras no conjunto de dados, S, pertencerem a uma classe, a entropia será igual a zero. Se metade das amostras for classificada como uma classe e a outra metade estiver em outra classe, a entropia será mais alta em 1. Para selecionar o melhor recurso para dividir e encontrar a Decision Tree ideal, o atributo com a menor quantidade de entropia deve ser usado.
Ganho de informação representa a diferença na entropia antes e depois de uma divisão em um determinado atributo. O atributo com o maior ganho de informações produzirá a melhor divisão, pois está fazendo o melhor trabalho na classificação dos dados de treinamento de acordo com sua classificação de destino. O ganho de informação é geralmente representado com a seguinte fórmula,
onde
Vamos dar um exemplo para consolidar esses conceitos. Imagine que temos o seguinte conjunto de dados arbitrário:
Para esse conjunto de dados, a entropia é 0,94. Isso pode ser calculado encontrando-se a proporção de dias em que “Jogar tênis” é “Sim”, que é 9/14, e a proporção de dias em que “Jogar tênis” é “Não”, que é 5/14. Em seguida, esses valores podem ser inseridos na fórmula de entropia acima.
Entropia (Tênis) = -(9/14) log2(9/14) – (5/14) log2 (5/14) = 0,94
Podemos então calcular o ganho de informação para cada um dos atributos individualmente. Por exemplo, o ganho de informação para o atributo "Umidade" seria o seguinte:
Ganho (Tênis, Umidade) = (0,94)-(7/14)*(0,985) - (7/14)*(0.592) = 0.151
Recapitulando,
- 7/14 representa a proporção de valores em que a umidade é igual a "alta" em relação ao número total de valores de umidade. Nesse caso, o número de valores em que a umidade é igual a "alta" é o mesmo que o número de valores em que a umidade é igual a "normal".
- 0,985 é a entropia quando umidade = "alta"
- 0,59 é a entropia quando a umidade = "normal"
Em seguida, repete o cálculo do ganho de informações para cada atributo na tabela acima e seleciona o atributo com o maior ganho de informações para ser o primeiro ponto de divisão na decision tree. Nesse caso, o Outlook produz o maior ganho de informações. A partir daí, o processo é repetido para cada subárvore.
A impureza do Gini é a probabilidade de classificar incorretamente o ponto de dados aleatório no conjunto de dados se ele for rotulado com base na distribuição de classe do conjunto de dados. Semelhante à entropia, se definido, S é puro, ou seja, pertencente a uma classe), então sua impureza é zero. Isso é denotado pela seguinte fórmula:
Embora as decision trees possam ser utilizadas em uma variedade de casos de uso, outros algoritmos normalmente superam os algoritmos de decision tree. Dito isso, as decision trees são particularmente úteis para tarefas de mineração de dados e descoberta de conhecimento. Vamos explorar os principais benefícios e desafios da utilização de decision trees mais abaixo:
O IBM® Granite é nossa família de modelos de IA abertos, de alto desempenho e confiáveis, personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagem, código, séries temporais e proteções.
Entrevistamos duas mil organizações a respeito de suas iniciativas de IA para descobrir o que está funcionando, o que não está e como se preparar.
Explore abordagens de aprendizado supervisionado, como máquinas de vetores de suporte e classificadores probabilísticos.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.
Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.
Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io