Classificação com Árvores de Decisão: Um Guia Prático

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.


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:

  1. A pessoa tem mais de 25 anos?
  2. O gênero do show é favorito dela?
  3. O preço é acessível?

Com base nas respostas, a árvore toma decisões.


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.

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.


  1. Diagnósticos médicos: Identificar se um paciente tem uma determinada condição com base em sintomas.
  2. Classificação de clientes: Categorizar clientes em grupos como “potencial” ou “baixo engajamento”.
  3. Detecção de fraude: Analisar transações financeiras suspeitas.

  • 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.
  • 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.

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()

Uma visualização da árvore mostrando como cada atributo (ex.: largura e comprimento das pétalas) contribui para a classificação.


A imagem gerada pela árvore de decisão possui informações importantes em cada nó:

  1. 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.
  2. Samples:
    • Número de amostras no nó atual.
    • Isso indica quantos dados chegaram até esse ponto da árvore.
  3. 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.
  4. Classe:
    • A classe predominante no nó com base nos dados.
    • Esta será a classe prevista para qualquer nova amostra que chegue a este nó.

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.

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

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *