11  Interpretação de Regras e Importância de Atributos

Uma das maiores vantagens das árvores de decisão é que elas não servem apenas para prever. Elas também ajudam a explicar, comunicar e organizar conhecimento sobre o problema. Neste capítulo, o foco deixa de ser apenas desempenho e passa a incluir interpretabilidade.

11.1 Objetivos do capítulo

Ao final da leitura, o leitor deve ser capaz de:

  • transformar caminhos da árvore em regras compreensíveis;
  • interpretar folhas, probabilidades e distribuições de classe;
  • usar importância de atributos com critério;
  • comunicar resultados para público técnico e não técnico;
  • distinguir explicação legítima de interpretação apressada.

11.2 Cada caminho é uma regra

Uma árvore pode ser lida como um conjunto de regras condicionais. Cada caminho da raiz até uma folha corresponde a uma regra do tipo:

Se condição 1 e condição 2 e condição 3, então classe prevista = X

Exemplo:

Se suporte_chamados > 3
 e tempo_cliente <= 12
 e atrasos_pagamento > 1
então churn = alto

Essa forma textual é extremamente útil para documentação, auditoria e comunicação com áreas de negócio.

11.3 Como interpretar uma folha

Uma folha não deve ser vista apenas como um rótulo final. Em geral, ela também carrega informações sobre:

  • quantidade de amostras que chegaram ali;
  • distribuição das classes nesse subconjunto;
  • confiança relativa da previsão;
  • pureza ou mistura residual daquele grupo.

Uma folha com 300 exemplos e classe majoritária muito clara conta uma história diferente de uma folha com 4 exemplos e distribuição equilibrada entre classes.

11.4 Exemplo de exportação textual

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier, export_text

X, y = load_iris(return_X_y=True)
feature_names = load_iris().feature_names

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.3, random_state=42, stratify=y
)

clf = DecisionTreeClassifier(max_depth=3, random_state=42)
clf.fit(X_train, y_train)

print(export_text(clf, feature_names=list(feature_names)))
|--- petal length (cm) <= 2.45
|   |--- class: 0
|--- petal length (cm) >  2.45
|   |--- petal width (cm) <= 1.55
|   |   |--- petal length (cm) <= 4.95
|   |   |   |--- class: 1
|   |   |--- petal length (cm) >  4.95
|   |   |   |--- class: 2
|   |--- petal width (cm) >  1.55
|   |   |--- petal width (cm) <= 1.70
|   |   |   |--- class: 1
|   |   |--- petal width (cm) >  1.70
|   |   |   |--- class: 2

Ao ler a saída, procure identificar:

  • qual atributo aparece na raiz;
  • quais cortes aparecem primeiro;
  • quais regras são curtas e quais são mais profundas;
  • onde a árvore parece mais confiante ou mais hesitante.

11.5 Importância de atributos

Bibliotecas como scikit-learn disponibilizam uma medida de importância de atributo baseada na redução de impureza proporcionada por cada variável ao longo da árvore.

import pandas as pd
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

iris = load_iris()
clf = DecisionTreeClassifier(random_state=42)
clf.fit(iris.data, iris.target)

importancias = pd.Series(clf.feature_importances_, index=iris.feature_names)
print(importancias.sort_values(ascending=False))
petal length (cm)    0.564056
petal width (cm)     0.422611
sepal length (cm)    0.013333
sepal width (cm)     0.000000
dtype: float64

11.6 Como ler a importância com responsabilidade

Se uma variável tem importância alta, isso indica que ela contribuiu bastante para as divisões da árvore. No entanto, isso não significa automaticamente causalidade, relevância universal ou independência em relação a outras variáveis.

11.6.1 Cuidados importantes

  • importância não é causalidade;
  • importância depende do conjunto de dados disponível;
  • atributos correlacionados podem disputar espaço entre si;
  • pequenas mudanças nos dados podem alterar a árvore e a importância;
  • uma variável pouco usada na árvore não é necessariamente irrelevante em outros modelos.

11.7 Regras globais e regras locais

Uma forma útil de pensar é separar dois níveis de interpretação.

11.7.1 Interpretação global

Busca entender a lógica geral da árvore:

  • quais atributos aparecem perto da raiz;
  • quais grupos principais foram separados;
  • como a complexidade foi distribuída.

11.7.2 Interpretação local

Busca entender uma previsão específica:

  • por que este exemplo caiu nesta folha?
  • quais condições foram satisfeitas?
  • qual conjunto de regras levou a essa decisão?

11.8 Exemplo de interpretação local

Suponha um cliente com:

  • muitos chamados no suporte;
  • pouco tempo de contrato;
  • histórico recente de atraso.

Se a árvore conduz esse cliente até uma folha de alto risco de churn, podemos reconstruir o caminho e apresentar essa previsão como uma regra explícita. Isso torna a ação muito mais clara do que simplesmente dizer “o score foi alto”.

11.9 Quando a interpretabilidade é mais valiosa que alguns pontos de score

Em muitos contextos, uma árvore ligeiramente menos precisa pode ser preferida a um modelo mais opaco se houver necessidade de:

  • auditoria;
  • prestação de contas;
  • validação por especialistas do domínio;
  • comunicação para gestores;
  • definição de políticas ou regras internas.

11.10 Comunicando resultados para público não técnico

Ao apresentar uma árvore para público não técnico, evite falar primeiro em entropia, Gini ou hiperparâmetros. Comece por perguntas como:

  • quais perfis estão mais associados ao resultado?
  • quais sinais aparecem mais cedo na decisão?
  • que grupos a árvore separou?
  • quais regras podem ser transformadas em ação?

Depois, se necessário, detalhe o mecanismo técnico.

11.11 Boas práticas de documentação

Ao documentar uma árvore para uso prático, inclua:

  • objetivo do modelo;
  • variável alvo;
  • principais atributos usados;
  • regras mais relevantes;
  • métricas principais;
  • limites conhecidos do modelo;
  • cuidados de interpretação.

11.12 O perigo da falsa simplicidade

O fato de a árvore ser visualmente intuitiva não significa que toda interpretação será correta. Há riscos de:

  • confundir correlação com causa;
  • superestimar a robustez de um ramo com poucas amostras;
  • ignorar instabilidade estrutural;
  • tratar uma regra local como se fosse uma lei geral do domínio.

Interpretar bem exige unir leitura da estrutura com conhecimento do problema.

11.13 Árvore como ferramenta de descoberta

Mesmo quando o modelo final em produção não é uma única árvore, ela continua sendo muito útil para:

  • descobrir variáveis promissoras;
  • revelar interações entre atributos;
  • propor hipóteses de negócio;
  • orientar engenharias de variável;
  • explicar rapidamente um domínio para a equipe.
NoteResumo

Interpretar uma árvore de decisão significa transformar estrutura em significado. Cada caminho pode ser lido como regra, cada folha como grupo de comportamento e cada atributo importante como um sinal potencialmente relevante. Quando bem utilizada, a árvore é, ao mesmo tempo, um modelo preditivo e uma linguagem para explicar o problema.

Com esse repertório, o leitor está pronto para consolidar o estudo com os exercícios finais do livro.

WarningErros comuns
  • interpretar importância de atributos como causalidade;
  • apresentar regras sem informar suporte ou contexto;
  • confundir explicação local com regra global do domínio;
  • ignorar que folhas com poucas amostras exigem cautela.
TipPerguntas de revisão
  1. Como transformar um caminho da árvore em regra textual?
  2. O que uma folha informa além da classe final?
  3. Por que importância de atributo não deve ser lida como causalidade?
  4. Como comunicar regras da árvore para público não técnico?