flowchart TD
A[Histórico de inadimplência = sim?] -->|Sim| B[Negar crédito]
A -->|Não| C[Renda mensal > 4000?]
C -->|Não| D[Analisar com cautela]
C -->|Sim| E[Tempo de emprego > 2 anos?]
E -->|Sim| F[Aprovar crédito]
E -->|Não| G[Solicitar garantias]
2 Fundamentos de Árvore de Decisão
Árvores de decisão estão entre os modelos mais didáticos de aprendizado supervisionado. Elas aprendem regras do tipo “se… então…” a partir de dados rotulados e organizam essas regras em uma estrutura hierárquica formada por perguntas sucessivas.
A grande vantagem pedagógica desse modelo é que ele permite enxergar com relativa clareza o caminho que levou a uma previsão. Em vez de parecer uma caixa-preta, a árvore explicita quais atributos foram usados, em que ordem eles foram testados e por que determinados grupos foram separados.
2.1 O que é uma árvore de decisão
Uma árvore de decisão recebe exemplos descritos por atributos e produz uma saída. Em problemas de classificação, a saída é uma classe, como aprovar ou reprovar, fraude ou não fraude, doente ou saudável. Em problemas de regressão, a saída é um valor numérico, como preço, demanda ou tempo.
A ideia central é simples:
- começamos com todos os exemplos em um único conjunto;
- escolhemos a pergunta que melhor separa esse conjunto;
- dividimos os dados em subconjuntos menores;
- repetimos o processo recursivamente até que os grupos fiquem suficientemente homogêneos.
A árvore nasce pela raiz, cresce em direção às folhas e, a cada etapa, busca um teste que reduza a mistura de classes nos subconjuntos gerados.
2.2 Intuição com um problema simples
Imagine um sistema de análise de crédito. Cada cliente possui atributos como renda, histórico de inadimplência, tempo de emprego e comprometimento de renda. A tabela abaixo descreve esse conjunto de dados:
| Atributo | Tipo | Valores / Exemplo | Papel |
|---|---|---|---|
| Histórico de inadimplência | Categórico | Sim, Não | Entrada |
| Renda mensal | Numérico | Ex.: R$ 3.500, R$ 5.200 | Entrada |
| Tempo de emprego | Numérico | Ex.: 1 ano, 3 anos | Entrada |
| Comprometimento de renda | Numérico | Ex.: 30%, 55% | Entrada |
| Decisão de crédito | Categórico | Aprovar, Negar, Analisar com cautela, Solicitar garantias | Saída (alvo) |
A tabela abaixo mostra exemplos fictícios desse conjunto de dados:
| Cliente | Histórico de inadimplência | Renda mensal | Tempo de emprego | Comprometimento de renda | Decisão de crédito |
|---|---|---|---|---|---|
| Ana | Não | R$ 5.200 | 4 anos | 28% | Aprovar crédito |
| Bruno | Sim | R$ 4.800 | 6 anos | 35% | Negar crédito |
| Carla | Não | R$ 3.100 | 2 anos | 52% | Analisar com cautela |
| Diego | Não | R$ 4.500 | 1 ano | 40% | Solicitar garantias |
| Elisa | Não | R$ 6.300 | 5 anos | 22% | Aprovar crédito |
Uma árvore pode aprender algo como:
Histórico de inadimplência = sim?
├── Sim: Negar crédito
└── Não: Renda mensal > 4000?
├── Não: Analisar com cautela
└── Sim: Tempo de emprego > 2 anos?
├── Sim: Aprovar crédito
└── Não: Solicitar garantias
Esse tipo de estrutura aproxima muito o modelo do raciocínio humano. As árvores podem ser apresentadas como sequências de perguntas, ou como os atributos do conjunto de dados. Cada pergunta reduz a incerteza sobre a classe correta.
2.3 Componentes da árvore
Uma árvore possui três elementos fundamentais.
Nó raiz: É o primeiro teste realizado. Em geral, corresponde ao atributo que mais ajuda a separar os dados logo no início.
Nós internos: São testes intermediários. Cada nó interno recebe um subconjunto de exemplos e decide qual nova pergunta deve ser feita naquele ponto.
Folhas: São as respostas finais. Em classificação, a folha guarda a classe prevista. Em regressão, guarda um valor médio ou representativo do grupo.
flowchart TD
A[No raiz<br/>Primeira decisao] --> B[No interno<br/>Nova pergunta]
A --> C[No interno<br/>Nova pergunta]
B --> D((Folha<br/>Resposta final))
B --> E((Folha<br/>Resposta final))
C --> F((Folha<br/>Resposta final))
C --> G((Folha<br/>Resposta final))
2.4 Como uma instância percorre a árvore
Classificar um novo exemplo, ou seja realizar uma inferência, significa descer pela árvore.
- O processo começa no nó raiz.
- O valor do atributo correspondente é observado.
- O exemplo segue pelo ramo compatível com esse valor.
- O processo continua até chegar a uma folha.
Se uma instância chega a uma folha com rótulo sim, então a previsão final é sim. Se chegar a uma folha com valor numérico, esse valor se torna a previsão.
Essa interpretação operacional é importante porque mostra que uma árvore é, ao mesmo tempo, um modelo de previsão e um conjunto de regras executáveis.
2.5 Representação como regras simbólicas
Um ponto muito forte das árvores de decisão é sua equivalência com regras lógicas. Cada caminho da raiz até uma folha pode ser lido como uma conjunção de condições. O conjunto de caminhos pode ser visto como uma disjunção dessas conjunções.
Exemplo:
Se perspectiva = ensolarado e umidade = normal, então jogar = sim
Se perspectiva = nublado, então jogar = sim
Se perspectiva = chuvoso e vento = fraco, então jogar = sim
Isso ajuda bastante em domínios nos quais explicabilidade importa, como crédito, saúde, auditoria, diagnóstico e sistemas especialistas.
2.6 Por que árvores são tão populares
Árvores de decisão ficaram famosas por várias razões práticas.
- São fáceis de entender e explicar.
- Exigem menos preparação de dados do que muitos outros modelos.
- Lidam bem com relações não lineares.
- Podem trabalhar com atributos numéricos e categóricos.
- Servem como ponto de partida para modelos mais avançados, como Random Forest e Gradient Boosting.
No contexto educacional, elas também são uma excelente porta de entrada para aprender conceitos centrais de machine learning: treino, teste, generalização, ruído, viés, overfitting e seleção de atributos.
2.7 Tipos de problema em que costumam funcionar bem
Árvores costumam ser especialmente adequadas quando:
- os exemplos podem ser descritos como pares atributo-valor;
- a tarefa é de classificação discreta ou regressão estruturada;
- a interpretação do modelo importa tanto quanto a acurácia;
- existe possibilidade de interações não lineares entre variáveis;
- há necessidade de comunicar regras para pessoas não técnicas.
Elas também aparecem com frequência em triagem médica, marketing, previsão de churn, análise de risco, detecção de inadimplência, classificação de documentos e apoio à decisão em processos internos.
2.8 Vantagens
Interpretabilidade: Talvez seja a principal vantagem. Em muitos cenários, o valor da árvore não está apenas na previsão, mas em explicar por que aquela previsão foi feita.
Flexibilidade: A árvore consegue criar fronteiras de decisão complexas sem exigir normalização, padronização ou engenharia sofisticada logo no início.
Pouca preparação inicial: Modelos lineares costumam pedir mais cuidado com escala e relações funcionais. A árvore pode ser treinada rapidamente para produzir um baseline forte.
Captura de interações: Se um atributo só faz sentido quando combinado com outro, a estrutura hierárquica da árvore naturalmente consegue modelar isso.
2.9 Limitações
Apesar da simplicidade, árvores isoladas também possuem fraquezas importantes.
Tendência a overfitting: Se crescer demais, a árvore pode memorizar peculiaridades do conjunto de treino em vez de aprender padrões gerais.
Instabilidade: Pequenas mudanças nos dados podem gerar estruturas diferentes. Isso acontece porque uma divisão ligeiramente distinta perto da raiz afeta toda a árvore abaixo.
Viés de seleção: Alguns critérios podem favorecer atributos com muitos valores possíveis, caso o algoritmo não trate isso adequadamente.
Performance nem sempre é a melhor possível: Em alguns problemas, métodos de conjunto baseados em árvores superam com folga uma única árvore.
2.10 O princípio da árvore pequena
Uma ideia recorrente no estudo de árvores é a preferência por estruturas menores que expliquem bem os dados. Esse raciocínio conversa com o princípio da parcimônia: entre hipóteses com desempenho semelhante, preferimos a mais simples.
Na prática, isso não quer dizer escolher sempre a menor árvore possível. Quer dizer buscar um equilíbrio entre:
- fidelidade aos dados de treino;
- capacidade de generalização;
- facilidade de interpretação.
2.11 Exemplo intuitivo de separação progressiva
Pense em um conjunto com clientes que podem cancelar ou não um serviço. Se os dados estiverem todos misturados, a previsão é incerta. Ao perguntar primeiro número de chamados no suporte > 3?, podemos separar um grupo mais propenso ao cancelamento. Em seguida, dentro de cada grupo, outra pergunta como tempo de contrato > 12 meses? pode tornar a previsão ainda mais segura.
A árvore funciona justamente assim: ela não tenta resolver o problema inteiro de uma vez. Ela quebra o problema em subproblemas locais.
2.12 Árvore como modelo e como ferramenta de análise
Mesmo quando a árvore não será o modelo final em produção, ela continua valiosa como instrumento de análise exploratória.
- ajuda a descobrir atributos importantes;
- sugere regras de negócio;
- revela interações entre variáveis;
- mostra regiões do espaço de atributos mais arriscadas ou mais favoráveis.
Por isso, aprender árvores de decisão é útil mesmo para quem depois vai trabalhar com ensembles, redes neurais ou modelos probabilísticos.
- achar que interpretável significa infalível;
- confundir uma regra aprendida com verdade causal;
- supor que a maior árvore é sempre a melhor;
- ignorar a instabilidade estrutural causada por pequenas mudanças nos dados.
- Árvores de decisão organizam a previsão como sequências de testes.
- A estrutura raiz-nós-folhas aproxima o modelo de regras humanas.
- O grande atrativo da árvore é combinar interpretabilidade e utilidade prática.
- O grande risco é crescer demais e perder generalização.
Árvores de decisão são um excelente ponto de encontro entre teoria e prática. Elas permitem estudar conceitos formais de aprendizado supervisionado sem perder a intuição do processo decisório. Nos próximos capítulos, vamos detalhar como uma árvore escolhe suas perguntas, como ela mede a qualidade de uma divisão e como transformar essa teoria em modelos úteis com Python.
- O que diferencia raiz, nó interno e folha?
- Por que a árvore é considerada um modelo interpretável?
- Em que sentido uma árvore pode representar uma disjunção de conjunções?
- Por que simplicidade e generalização costumam andar juntas?