0Pricing
Learn AI with Python · Aula

Valores SHAP para explicabilidade de modelos

shap.Explainer, TreeExplainer, gráficos de força, gráficos beeswarm e classificação da importância dos atributos.

Valores SHAP para explicabilidade de modelos é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Por que a explicabilidade é importante

Modelos complexos são precisos, mas opacos. A explicabilidade responde à pergunta "por que o modelo fez esta previsão?", o que é essencial para a confiança, a depuração e a conformidade regulatória. SHAP é um dos métodos de explicação mais utilizados.

O que SHAP mede

SHAP (explicações aditivas de SHapley, exPlanations) atribui a cada característica uma contribuição para uma única previsão. Os valores baseiam-se nos valores de Shapley, da teoria dos jogos cooperativos: cada característica é um "jogador" e seu valor SHAP é sua parcela justa da previsão em relação a uma linha de base.

Aditividade

Os valores SHAP são aditivos: a linha de base, que é a saída média do modelo, mais a soma de todos os valores SHAP das características é igual à previsão real. Assim, cada explicação fornece uma prestação de contas completa e auditável da saída.

# prediction = base_value + sum(shap_values_for_each_feature)

TreeExplainer

Para modelos de árvores, como XGBoost, LightGBM e florestas aleatórias, shap.TreeExplainer calcula valores SHAP exatos rapidamente, aproveitando a estrutura das árvores.

import shap
import xgboost

model = xgboost.XGBClassifier().fit(X_train, y_train)
explainer = shap.TreeExplainer(model)

Calculando shap_values

explainer.shap_values(X_test) retorna uma matriz: um valor SHAP por característica e por linha. Essas são as contribuições brutas que você visualizará.

shap_values = explainer.shap_values(X_test)
print(shap_values.shape)  # (n_samples, n_features)

O gráfico de enxame de abelhas summary_plot

shap.summary_plot produz um gráfico de enxame de abelhas: cada ponto representa uma amostra para uma característica. A posição mostra o valor SHAP, incluindo a direção e a magnitude do impacto; a cor mostra o valor da característica. As características são classificadas pela importância geral.

shap.summary_plot(shap_values, X_test)

Lendo o gráfico de enxame de abelhas

Para ler um gráfico de enxame de abelhas:

  • As características no topo são as mais importantes globalmente
  • Os pontos bem à direita aumentam a previsão; os pontos bem à esquerda a reduzem
  • A cor revela a direção; por exemplo, valores altos da característica, em vermelho, à direita significam que "um valor alto aumenta a previsão"

Explicando uma previsão

SHAP é especialmente útil no nível individual. Para explicar uma única linha, você precisa dos valores SHAP dela e do valor-base do modelo.

idx = 0
base = explainer.expected_value
row_shap = shap_values[idx]

force_plot

shap.force_plot mostra uma previsão como forças que partem do valor-base: as características vermelhas aumentam a saída, enquanto as azuis a reduzem. O resultado líquido chega à previsão final.

shap.force_plot(
    explainer.expected_value,
    shap_values[0],
    X_test.iloc[0],
)

waterfall_plot

shap.waterfall_plot é a visualização de uma única previsão mais fácil de interpretar. Ela começa no valor-base e acumula a contribuição de cada característica, passo a passo, até chegar à saída final, em ordem de magnitude.

shap.waterfall_plot(
    shap.Explanation(
        values=shap_values[0],
        base_values=explainer.expected_value,
        data=X_test.iloc[0],
    )
)

Global vs. local

SHAP atende a duas necessidades:

  • Global: summary_plot mostra quais características influenciam o modelo como um todo
  • Local: force_plot e waterfall_plot explicam uma previsão específica

Ambas as visões vêm dos mesmos valores SHAP, proporcionando uma explicação consistente em diferentes escalas.

Verificação rápida

Teste seus conhecimentos sobre SHAP.

Recapitulação

Você aprendeu sobre a explicabilidade de modelos com SHAP:

  • shap.TreeExplainer(model) calcula valores exatos para modelos de árvores
  • explainer.shap_values(X_test) retorna as contribuições de cada característica
  • O gráfico de enxame de abelhas summary_plot mostra a importância global
  • force_plot e waterfall_plot explicam uma única previsão
  • Os valores SHAP são aditivos: base + contribuições = previsão

Perguntas Frequentes

A aula “Valores SHAP para explicabilidade de modelos” é grátis?

Sim — o texto completo de “Valores SHAP para explicabilidade de modelos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Valores SHAP para explicabilidade de modelos”?

shap.Explainer, TreeExplainer, gráficos de força, gráficos beeswarm e classificação da importância dos atributos. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Valores SHAP para explicabilidade de modelos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Detecção de viés em modelos de aprendizado de máquina
  2. Valores SHAP para explicabilidade de modelos
  3. LIME: explicações locais interpretáveis
  4. Estruturas de ética e governança de IA
← Voltar para Learn AI with Python