Olá pessoal. Ainda faltam alguns dias para o início do curso de Machine Learning . Antecipando o início das aulas, preparamos uma tradução útil que será de interesse de nossos alunos e de todos os leitores do blog. E hoje estamos compartilhando com você a parte final desta tradução.

Parcelas de Dependência Parcial
Gráficos de dependência parcial (gráficos de dependência parcial ou PDP, gráficos de PD) mostram influência insignificante de um ou dois recursos no resultado previsto do modelo de aprendizado de máquina (
JH Friedman 2001 ). O PDP pode mostrar a relação entre o alvo e os recursos selecionados usando gráficos 1D ou 2D.
Como isso funciona?
Os PDPs também são calculados após o treinamento do modelo. No problema do futebol que discutimos acima, havia muitos sinais, como assistências passadas, tentativas de marcar gols, gols marcados, etc. Vamos começar olhando para uma linha. Digamos que a linha seja uma equipe que teve a bola 50% das vezes, com 100 assistências, 10 tentativas de golo e 1 gol.
Agimos treinando nosso modelo e calculando a probabilidade de o time ter um jogador que recebeu o "Homem do Jogo", que é a nossa variável alvo. Depois, selecionamos a variável e alteramos continuamente seu valor. Por exemplo, calcularemos o resultado, desde que a equipe tenha marcado 1 gol, 2 gols, 3 gols, etc. Todos esses valores são refletidos no gráfico; no final, obtemos um gráfico da dependência dos resultados previstos em gols marcados.
A biblioteca usada no Python para criar o PDP é chamada de caixa de ferramentas de plotagem de dependência parcial do python, ou simplesmente PDPbox .
from matplotlib import pyplot as plt from pdpbox import pdp, get_dataset, info_plots
Interpretação
- O eixo Y representa a alteração na previsão devido ao que foi previsto no valor original ou no valor mais à esquerda.
- A área azul indica o intervalo de confiança.
- Para o gráfico de golos, vemos que um gol marcado aumenta a probabilidade de receber um prêmio 'Homem do jogo', mas depois de algum tempo, ocorre a saturação.
Também podemos visualizar a dependência parcial de dois recursos ao mesmo tempo usando gráficos 2D.
PráticaValores SHAP
SHAP significa explicação do aditivo SHapley. Esse método ajuda a dividir a previsão em partes para revelar a importância de cada característica. Ele é baseado no Vector Shapley, um princípio usado na teoria dos jogos para determinar quanto cada jogador contribui para o seu resultado bem-sucedido em um jogo conjunto (https://medium.com/civis-analytics/demystifying-black-box-models-with-shap- value-analysis-3e20b536fc80). Encontrar um compromisso entre precisão e interpretabilidade geralmente pode ser um equilíbrio difícil, mas os valores SHAP podem fornecer ambos.
Como isso funciona?
E, novamente, voltemos ao exemplo do futebol, onde queríamos prever a probabilidade de um time ter um jogador que ganhou o prêmio "Homem do jogo". SHAP - os valores interpretam a influência de um determinado valor de uma característica em comparação com a previsão que teríamos feito se essa característica tivesse algum valor básico.
SHAP - os valores são calculados usando a biblioteca Shap , que pode ser facilmente instalada a partir de PyPI ou conda.
SHAP - os valores mostram o quanto esse recurso em particular mudou nossa previsão (em comparação com a forma como faríamos essa previsão com algum valor básico dessa característica). Suponha que desejássemos saber qual seria a previsão se a equipe fizesse 3 gols, em vez de um valor base fixo. Se pudermos responder a essa pergunta, podemos seguir os mesmos passos para outros sinais, como a seguir:
sum(SHAP values for all features) = pred_for_team - pred_for_baseline_values
Portanto, a previsão pode ser apresentada na forma do seguinte gráfico:
Aqui está o link para o quadro geral.Interpretação
O exemplo acima mostra os sinais, cada um dos quais contribui para o movimento da saída do modelo no valor base (saída estatística média do modelo de acordo com o conjunto de dados de treinamento que passamos anteriormente) para a saída final do modelo. Os sinais que avançam na previsão acima são mostrados em vermelho e os que diminuem sua precisão são mostrados abaixo.
- O valor base aqui é 0,4979, enquanto a previsão é 0,7.
- Com a
Goal Scores
= 2, a característica tem maior influência na melhoria da previsão, enquanto - O atributo de
ball possession
tem o maior efeito de diminuir a previsão final.
Prática
SHAP - os valores têm uma justificativa teórica muito mais profunda do que o que mencionei aqui. Para uma melhor compreensão do problema, siga o
link .
Uso avançado de valores SHAP
A agregação de vários valores SHAP ajudará a formar uma visão mais detalhada do modelo.
Para ter uma idéia de quais recursos são mais importantes para o modelo, podemos criar valores SHAP para cada recurso e para cada amostra. O gráfico de resumo mostra quais recursos são os mais importantes, bem como sua faixa de influência no conjunto de dados.

Para cada ponto:
- O arranjo vertical mostra que sinal reflete;
- A cor indica se este objeto é altamente significativo ou fracamente significativo para esta sequência de dados;
- O arranjo horizontal mostra se a influência do valor desse recurso levou a uma previsão mais precisa ou não.
O ponto no canto superior esquerdo significa a equipe que marcou vários gols, mas reduziu a probabilidade de uma previsão bem-sucedida em 0,25.
- Gráfico de contribuição SHAP
Enquanto o gráfico de resumo do SHAP fornece uma visão geral de cada característica, o gráfico de dependência do SHAP mostra como a saída do modelo depende do valor da característica. O gráfico de dependência de contribuição SHAP fornece uma visão semelhante do PDP, mas adiciona mais detalhes.
Gráfico de Dependência de DepósitoOs gráficos apresentados acima indicam que a presença de uma espada aumenta as chances da equipe de que é o jogador que receberá uma recompensa. Mas se uma equipe marcar apenas um gol, essa tendência mudará, porque os juízes podem decidir que os jogadores da equipe mantêm a bola por muito tempo e marcam poucos gols.
PráticaConclusão
O aprendizado de máquina não deve mais ser uma caixa preta. Qual é a utilidade de um bom modelo se não podemos explicar os resultados de seu trabalho para outras pessoas? A interpretabilidade se tornou tão importante quanto a qualidade do modelo. Para obter aceitação, é imperativo que os sistemas de aprendizado de máquina possam fornecer explicações claras de suas decisões. Como Albert Einstein disse: "Se você não pode explicar algo em linguagem simples, não entende."
Fontes:- "Aprendizado de máquina interpretável: um guia para tornar os modelos de caixa preta explicáveis". Christoph molnar
- Micro Curso de Explicabilidade de Aprendizado de Máquina na Kaggle
Leia a primeira parte