Hola a todos Quedan unos días hasta el comienzo del curso de Machine Learning . En previsión del comienzo de las clases, hemos preparado una traducción útil que será de interés tanto para nuestros estudiantes como para todos los lectores del blog. Y hoy compartimos con ustedes la parte final de esta traducción.

Parcelas de dependencia parcial
Los gráficos de dependencia parcial (gráficos de dependencia parcial o PDP, gráficos de PD) muestran una influencia insignificante de una o dos características en el resultado previsto del modelo de aprendizaje automático (
JH Friedman 2001 ). PDP puede mostrar la relación entre el objetivo y las características seleccionadas utilizando gráficos 1D o 2D.
Como funciona
Los PDP también se calculan después de entrenar el modelo. En el problema de fútbol que discutimos anteriormente, hubo muchas señales, como asistencias aprobadas, intentos de anotar gol, goles anotados, etc. Comencemos mirando una línea. Digamos que la línea es un equipo que tenía la pelota el 50% del tiempo, que hizo 100 asistencias, 10 intentos de anotar y 1 gol.
Actuamos entrenando nuestro modelo y calculando la probabilidad de que el equipo tenga un jugador que recibió "El hombre del juego", que es nuestra variable objetivo. Luego seleccionamos la variable y cambiamos continuamente su valor. Por ejemplo, calcularemos el resultado, siempre que el equipo haya marcado 1 gol, 2 goles, 3 goles, etc. Todos estos valores se reflejan en el gráfico, al final obtenemos un gráfico de la dependencia de los resultados pronosticados en los goles marcados.
La biblioteca utilizada en Python para construir PDP se llama caja de herramientas de diagrama de dependencia parcial de Python, o simplemente PDPbox .
from matplotlib import pyplot as plt from pdpbox import pdp, get_dataset, info_plots
Interpretación
- El eje Y representa el cambio en el pronóstico debido a lo que se predijo en el valor original o en el extremo izquierdo.
- El área azul indica el intervalo de confianza.
- Para el gráfico de gol marcado, vemos que un gol marcado aumenta la probabilidad de recibir el premio 'Hombre del juego', pero después de un tiempo, se produce la saturación.
También podemos visualizar la dependencia parcial de dos características al mismo tiempo usando gráficos 2D.
PracticaValores SHAP
SHAP significa explicación aditiva SHapley. Este método ayuda a dividir el pronóstico en partes para revelar la importancia de cada característica. Se basa en Vector Shapley, un principio utilizado en la teoría de juegos para determinar cuánto contribuye cada jugador a su resultado exitoso en un juego conjunto (https://medium.com/civis-analytics/demystifying-black-box-models-with-shap- value-analysis-3e20b536fc80). Encontrar un compromiso entre precisión e interpretabilidad a menudo puede ser un equilibrio difícil, pero los valores SHAP pueden proporcionar ambos.
Como funciona
Y nuevamente, volvamos al ejemplo del fútbol, donde queríamos predecir la probabilidad de que un equipo tenga un jugador que ganó el premio "El hombre del juego". SHAP - los valores interpretan la influencia de cierto valor de una característica en comparación con el pronóstico que habríamos hecho si esta característica hubiera tomado algún valor básico.
SHAP: los valores se calculan utilizando la biblioteca Shap , que se puede instalar fácilmente desde PyPI o conda.
SHAP: los valores muestran cuánto esta característica en particular cambió nuestra predicción (en comparación con cómo haríamos esta predicción con algún valor básico de este rasgo). Supongamos que deseamos saber cuál sería el pronóstico si el equipo anotara 3 goles, en lugar de una cantidad base fija. Si podemos responder esta pregunta, podemos seguir los mismos pasos para otros signos de la siguiente manera:
sum(SHAP values for all features) = pred_for_team - pred_for_baseline_values
Por lo tanto, el pronóstico se puede presentar en la forma del siguiente gráfico:
Aquí está el enlace a la imagen general.Interpretación
El ejemplo anterior muestra las características, cada una de las cuales contribuye al movimiento de la salida del modelo en un valor base (salida estadística promedio del modelo utilizando el conjunto de datos de entrenamiento que le pasamos anteriormente) a la salida final del modelo. Las señales que adelantan el pronóstico anterior se muestran en rojo, y las que reducen su precisión se muestran a continuación.
- El valor base aquí es 0.4979, mientras que el pronóstico es 0.7.
- Con
Goal Scores
= 2, el rasgo tiene la mayor influencia en mejorar el pronóstico, mientras que - El atributo de
ball possession
tiene el mayor efecto de reducir el pronóstico final.
Practica
SHAP: los valores tienen una justificación teórica mucho más profunda que la que mencioné aquí. Para una mejor comprensión del problema, siga el
enlace .
Uso avanzado de valores SHAP
Agregar múltiples valores SHAP ayudará a formar una vista más detallada del modelo.
- Tablas de resumen de SHAP
Para tener una idea de qué características son más importantes para el modelo, podemos construir valores SHAP para cada característica y para cada muestra. El gráfico de resumen muestra qué características son las más importantes, así como su rango de influencia en el conjunto de datos.

Para cada punto:
- La disposición vertical muestra qué signo refleja;
- El color indica si este objeto es altamente significativo o débilmente significativo para esta cadena de conjunto de datos;
- La disposición horizontal muestra si la influencia del valor de esta característica ha llevado a un pronóstico más preciso o no.
El punto en la esquina superior izquierda significa el equipo que marcó varios goles, pero redujo la probabilidad de un pronóstico exitoso en 0.25.
- Cuadro de contribución SHAP
Mientras que el gráfico de resumen SHAP proporciona una descripción general de cada característica, el gráfico de dependencia SHAP muestra cómo la salida del modelo depende del valor de la característica. El gráfico de dependencia de contribución SHAP proporciona una visión PDP similar, pero agrega más detalles.
Gráfico de dependencia de depósitosLos gráficos presentados anteriormente indican que la presencia de una espada aumenta las posibilidades del equipo de que sea su jugador quien recibirá una recompensa. Pero si un equipo marca solo un gol, entonces esta tendencia cambia, porque los jueces pueden decidir que los jugadores del equipo guarden el balón durante demasiado tiempo y marquen muy pocos goles.
PracticaConclusión
El aprendizaje automático ya no debería ser una caja negra. ¿De qué sirve un buen modelo si no podemos explicar los resultados de su trabajo a otros? La interpretabilidad se ha vuelto tan importante como la calidad del modelo. Para ganar aceptación, es imperativo que los sistemas de aprendizaje automático puedan proporcionar explicaciones claras de sus decisiones. Como dijo Albert Einstein: "Si no puedes explicar algo en un lenguaje simple, no lo entiendes".
Fuentes:- "Aprendizaje automático interpretable: una guía para hacer que los modelos de caja negra sean explicables". Christoph molnar
- Micro curso de explicabilidad de aprendizaje automático en Kaggle
Lee la primera parte