Pular para conteúdo

SHAP (SHapley Additive exPlanations)

O que é SHAP?

SHAP é uma abordagem de interpretação de modelo baseada na teoria dos jogos, que atribui a cada característica um valor que representa sua importância na previsão de cada instância. Os valores SHAP são baseados nos valores de Shapley, um conceito da teoria dos jogos cooperativos que distribui a "recompensa" (ou seja, a previsão do modelo) entre os colaboradores (recursos) de forma justa. O Shap me foi apresentado como uma das sete maravilhas do machine learning e, passados os anos, tenho que concordar, pois ainda é uma ferramenta muito viva na área de ciência de dados. Pessoalmente falando, sou encantado com a robustez do algoritmo.

Como Funciona

A interpretação do modelo com SHAP envolve os seguintes passos:
1. Para uma dada instância, o modelo faz uma previsão usando todas as características.
2. Subconjuntos de características são sistematicamente "desligados" (simulando a ausência de informações), e a previsão é feita sem eles.
3. O impacto de cada característica na mudança da previsão em relação à previsão base (a previsão média para o conjunto de dados) é calculado. Este impacto é o valor SHAP para a característica naquela instância.
4. Todos os valores possíveis de subconjuntos de características são considerados para calcular o valor SHAP final para cada característica, o que garante uma distribuição justa e consistente de importância entre as características.

O valores SHAP positivos indicam que a característica aumentou a previsão, enquanto valores negativos indicam uma diminuição. A magnitude do valor SHAP reflete a força da contribuição da característica, independente do sinal.

Calcular o shap demanda recurso computacional

O Shap é uma ótima ferramenta para interpretar métricas locais e globais do modelo. Baseia-se em uma base teórica sólida (valores de Shapley), garantindo justiça e consistência. E ainda é versátil, pois é aplicável a qualquer modelo de Machine Learning, sendo considerado modelo-agnóstico. Os valores SHAP podem ser facilmente visualizados e interpretados através de gráficos de força, gráficos de resumo, entre outros.

Porém, como mencionado anteriormente, é um cálculo computacionalmente intensivo, especialmente para modelos com um grande número de características e dados e pode ser desafiador para modelos com interações complexas entre as características.

Dicas

• As bibliotecas de SHAP incluem muitas visualizações úteis que podem ajudar na interpretação, como bee swarm plots, bar plots, e waterfall plots.
• Os valores SHAP são consistentes em sua atribuição; se uma característica contribui mais para a previsão do que outra, seu valor SHAP será maior.


Aplicação do Shap no Case (feature selection)

Aplicação do Shap no case (análise do modelo)

          

Referências