Explicabilidade local com SHAP

IA explicável em Python

Fouad Trad

Machine Learning Engineer

Explicabilidade global vs. local

Explicabilidade global
  • Comportamento geral do modelo
  • Não explica instâncias individuais

Professor explicando o desempenho geral da turma para todos os alunos.

Explicabilidade local
  • Explica a previsão para um ponto específico
  • Essencial em aplicações sensíveis

Professor explicando a um aluno específico o motivo da sua nota.

1 Imagens geradas pelo DALL-E
IA explicável em Python

Conjunto de dados de doença cardíaca

age sex chest_pain_type blood_pressure ecg_results thalassemia target
52 1 0 125 1 3 0
53 1 0 140 0 3 0
70 1 0 145 1 3 0
61 1 0 148 1 3 0
62 0 0 138 1 2 0

 

knn: Classificador KNN que prevê risco de doença cardíaca

IA explicável em Python

Explicabilidade local com SHAP

explainer = shap.KernelExplainer(knn.predict_proba, shap.kmeans(X, 10))

test_instance = X.iloc[0, :]
shap_values = explainer.shap_values(test_instance)
print(shap_values.shape)
(6, 2)
IA explicável em Python

Gráficos em cascata do SHAP

  • Mostra como as variáveis aumentam ou reduzem a previsão do modelo

Um gráfico em cascata com várias variáveis e a contribuição de cada uma para a previsão.

IA explicável em Python

Gráficos em cascata do SHAP

  • Mostra como as variáveis aumentam ou reduzem a previsão do modelo

Mesmo gráfico em cascata mostrando o valor de base, que serve como ponto inicial da previsão.

IA explicável em Python

Gráficos em cascata do SHAP

  • Mostra como as variáveis aumentam ou reduzem a previsão do modelo

Mesmo gráfico em cascata mostrando que, nesses gráficos, variáveis à direita aumentam a previsão e à esquerda diminuem.

IA explicável em Python

Criando gráficos em cascata

shap.waterfall_plot(

shap.Explanation(
values=shap_values[:,1],
base_values=explainer.expected_value[1],
data=test_instance,
feature_names=X.columns
)
)
IA explicável em Python

Cascatas para várias instâncias

Figura com quatro gráficos em cascata, um por amostra, mostrando como cada uma segue padrões distintos até a decisão do modelo.

IA explicável em Python

Vamos praticar!

IA explicável em Python

Preparing Video For Download...