Classificação com Árvores de Decisão: Um Guia Prático
Classificação com Árvores de Decisão: Um Guia Prático
As árvores de decisão são como mapas que guiam tomadas de decisão com base em perguntas simples e respostas claras. Elas são amplamente utilizadas em Machine Learning por sua simplicidade e interpretabilidade. Neste artigo, vou te mostrar como as árvores funcionam, por que são incríveis para classificação e como você pode aplicá-las.
O que é uma Árvore de Decisão?
Uma árvore de decisão é uma estrutura hierárquica composta de nós e arestas, onde:
- Nós internos representam perguntas ou condições (ex.: “a idade é maior que 30?”).
- Ramos conectam os nós e levam a respostas (ex.: “Sim” ou “Não”).
- Nós folha contêm as classificações finais ou previsões.
Imagine que você quer prever se uma pessoa vai comprar um ingresso para um show. Uma árvore pode fazer perguntas como:
- A pessoa tem mais de 25 anos?
- O gênero do show é favorito dela?
- O preço é acessível?
Com base nas respostas, a árvore toma decisões.
Como as Árvores de Decisão Funcionam?
O processo de construção de uma árvore envolve encontrar os pontos de divisão (“splits”) que melhor separam os dados em grupos homogêneos. Isso é feito por métricas como:
- Ganho de informação (Information Gain): Mede a redução da incerteza após cada divisão.
- Índice Gini: Mede o grau de impureza dos nós.
Exemplo:
Se temos um conjunto de dados sobre clientes e suas preferências de compra, a árvore identifica os atributos mais relevantes (ex.: idade, renda, preferência musical) para criar divisões lógicas.
Casos de Uso das Árvores de Decisão
- Diagnósticos médicos: Identificar se um paciente tem uma determinada condição com base em sintomas.
- Classificação de clientes: Categorizar clientes em grupos como “potencial” ou “baixo engajamento”.
- Detecção de fraude: Analisar transações financeiras suspeitas.
Vantagens e Limitações
Vantagens:
- Fácil de entender: Até mesmo para quem não tem experiência técnica.
- Interpretação clara: Você pode visualizar exatamente como a decisão foi tomada.
- Pouco processamento: Funciona bem com dados pequenos e sem necessidade de normalização.
Limitações:
- Overfitting: Podem se tornar muito complexas e ajustar-se demais aos dados de treinamento.
- Instabilidade: Pequenas mudanças nos dados podem gerar grandes alterações na árvore.
Demonstração Prática com Python
Vamos criar uma árvore de decisão para classificar flores no famoso conjunto de dados Iris.
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier, plot_tree
import matplotlib.pyplot as plt
# Carregar os dados
iris = load_iris()
X, y = iris.data, iris.target
# Treinar o modelo
clf = DecisionTreeClassifier(max_depth=3, random_state=42)
clf.fit(X, y)
# Visualizar a árvore
plt.figure(figsize=(12, 8))
plot_tree(clf, feature_names=iris.feature_names, class_names=iris.target_names, filled=True)
plt.show()
Resultado:
Uma visualização da árvore mostrando como cada atributo (ex.: largura e comprimento das pétalas) contribui para a classificação.

Interpretação da Árvore Gerada
A imagem gerada pela árvore de decisão possui informações importantes em cada nó:
- Gini:
- Representa o índice de impureza no nó.
- Um valor próximo de 0 indica que as amostras estão bem separadas (homogeneidade).
- Um valor mais alto indica maior mistura de classes.
- Samples:
- Número de amostras no nó atual.
- Isso indica quantos dados chegaram até esse ponto da árvore.
- Values:
- Representa a distribuição das classes dentro do nó.
- Exemplo:
[50, 0, 0]significa que há 50 amostras da primeira classe e nenhuma das outras.
- Classe:
- A classe predominante no nó com base nos dados.
- Esta será a classe prevista para qualquer nova amostra que chegue a este nó.
Exemplo:
No primeiro nó (raiz) da árvore, temos:
Gini = 0.667: Indica que há uma mistura significativa de classes.Samples = 150: Todas as amostras do conjunto de dados estão aqui inicialmente.Values = [50, 50, 50]: Os dados estão uniformemente distribuídos entre três classes.Class = setosa: A classe predominante no nó.
Conforme seguimos pela árvore, as condições nos nós (como petal length (cm) <= 2.45) ajudam a dividir as amostras em subconjuntos mais homogêneos. Isso é evidente nos nós folhas, onde:
Gini = 0.0: Indica que as amostras são puras (pertencem a uma única classe).Samples: Reduz-se à medida que as divisões ocorrem.
Conclusão
As árvores de decisão são ferramentas incríveis para classificação, combinando simplicidade e eficácia. Ao aplicá-las, você não apenas cria modelos preditivos poderosos, mas também obtém insights valiosos sobre os dados. Experimente usar uma árvore de decisão no seu próximo projeto e veja como ela pode transformar dados em decisões inteligentes!

Deixe um comentário