
Un tutorial técnico describe un flujo reproducible con SHAP que compara Tree, Exact, Permutation y Kernel explainers; explora maskers (Independent vs Partition); descompone interacciones;
Se ha publicado un tutorial técnico que implementa un flujo de trabajo de interpretabilidad centrado en SHAP, pensado para ejecución práctica y reproducible. El material incluye comandos de instalación (pip install shap xgboost transformers), fragmentos de código listos para ejecutar en Google Colab, instrucciones para preparar datos y ejemplos que muestran cómo pasar de gráficos básicos de importancia a análisis más completos de crédito de atributos, análisis de interacciones y monitoreo de drift.
Como caso de estudio el autor entrena un regresor XGBoost sobre el conjunto California housing (fetch_california_housing) y define un wrapper de predicción limpio (reg_predict) para asegurar compatibilidad con los explicadores. El XGBRegressor del ejemplo se configura explícitamente con n_estimators=300, max_depth=5, learning_rate=0.05, subsample=0.9, random_state=42 y n_jobs=-1. El tutorial inicializa la visualización interactiva con shap.initjs() y construye muestras de fondo mediante shap.sample para preparar explicaciones model‑agnósticas y específicas de árbol.
El núcleo comparativo del tutorial contrasta varios explainers: TreeExplainer (optimizado para ensamblados de árboles), shap.Explainer invocado con algorithm='exact' y algorithm='permutation', y KernelExplainer combinado con una envoltura que normaliza los valores para facilitar comparaciones. Para evaluar cada método el autor registra tiempo de ejecución, la correlación ρ frente a TreeExplainer y la máxima diferencia absoluta (max|Δ|) entre atribuciones. Los experimentos se realizan sobre una muestra X_sample de 25 instancias con un fondo de 50 muestras y el autor presenta una tabla resumida con estos indicadores.
Las conclusiones empíricas que extrae el ejemplo son prácticas y operativas: TreeExplainer surge como la única opción que resulta al mismo tiempo exacta y rápida para ensamblados de árboles; el algoritmo Exact y el Permutation tienden a coincidir cuando Permutation emplea un número suficiente de muestras; y KernelExplainer se muestra como la alternativa más ruidosa y lenta. Esas observaciones se usan como criterio para elegir el explicador según la estructura del modelo y el presupuesto computacional disponible.
El tutorial dedica una sección a la elección de maskers y a la influencia de la correlación entre variables. Calcula la matriz de correlación absoluta de las variables de entrenamiento, identifica los pares más correlacionados y compara shap.maskers.Independent y shap.maskers.Partition (ambos evaluados con max_samples=100). Para el par más correlacionado se reporta la media de |φ| bajo cada masker y se observa que Partition tiende a redistribuir el crédito entre características correlacionadas — es decir, incorpora una semántica “on‑manifold”— mientras que Independent trata las variables como independientes. Se incluyen gráficos de barras comparativos que facilitan visualizar esas diferencias.
Para analizar interacciones el autor utiliza tree_expl.shap_interaction_values sobre las primeras 500 observaciones y construye una matriz de efectos absolutos. En esa matriz separa la diagonal (efectos principales) de la off‑diagonal (interacciones) y calcula la fracción de masa atribuible a efectos principales frente a interacciones mediante la fórmula diag.sum()/(diag.sum()+off.sum()). A partir de la descomposición también extrae los pares de variables con mayor efecto conjunto, lo que ayuda a priorizar auditorías o intervenciones basadas en dependencias entre rasgos.
Además de explicadores y maskers, el tutorial incorpora técnicas complementarias: cálculo de valores de Owen para asignaciones más refinadas, tests por cohortes para detectar heterogeneidad en las explicaciones, selección de variables basada en métricas SHAP, monitoreo de drift y mecanismos para explicar modelos caja negra personalizados. El autor muestra patrones de muestreo de fondo (shap.sample) y propone una envoltura para KernelExplainer que normaliza tanto los valores de contribución como los base_values, con el fin de facilitar comparaciones entre métodos distintos.
Por qué importa: el material va más allá de las gráficas de importancia habituales y propone un flujo reproducible que apoya decisiones prácticas — por ejemplo, elegir TreeExplainer para ensamblados de árboles, preferir Partition frente a Independent cuando las variables están correlacionadas, y explorar interacciones y cohortes para auditorías más profundas. El tutorial también expone limitaciones importantes: existe una compensación clara entre precisión y tiempo de cálculo (Kernel es lento y ruidoso; los métodos model‑agnósticos requieren más muestras para estabilizar las atribuciones) y la selección del masker incorpora supuestos sobre el espacio de datos y la distribución “on‑manifold”.
El material, publicado el 2026‑05‑17, entrega un conjunto coherente de recetas y criterios prácticos para aplicar SHAP en proyectos reales, y ofrece código reproducible para validar en entornos como Colab. Los resultados y las recomendaciones del tutorial son útiles para practicantes que deban balancear exactitud, costo computacional y supuestos sobre la generación de datos.
Fuentes
Respuestas (0)
Aún no hay respuestas en este tema.