IOKELU
Nivel: Inteligencia Artificial – Intermedio (Guía 20)

Interpretación avanzada de modelos

En esta guía profundizamos en técnicas modernas de interpretabilidad: SHAP, LIME y Permutation Importance. Estas herramientas permiten entender cómo cada característica influye en las predicciones del modelo, tanto a nivel global como individual.

Tabla de contenidos

  • SHAP: teoría y uso
  • Gráficos SHAP
  • LIME: explicaciones locales
  • Permutation Importance
  • Comparación entre técnicas
  • Ejercicios
  • Mini‑proyecto

1. SHAP: teoría y uso

SHAP (SHapley Additive exPlanations) se basa en teoría de juegos para explicar cuánto contribuye cada característica a una predicción.

import shap

explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_test)

SHAP es ideal para modelos basados en árboles como XGBoost, LightGBM y Random Forest.

2. Gráficos SHAP

# Gráfico global
shap.summary_plot(shap_values, X_test)

# Gráfico individual
shap.force_plot(explainer.expected_value, shap_values[0], X_test.iloc[0])

Los gráficos SHAP permiten ver qué características empujan la predicción hacia arriba o abajo.

3. LIME: explicaciones locales

LIME genera modelos simples alrededor de una predicción específica para explicar por qué el modelo tomó esa decisión.

from lime.lime_tabular import LimeTabularExplainer

explainer = LimeTabularExplainer(
    X_train.values,
    feature_names=X.columns,
    class_names=["Clase 0", "Clase 1"],
    verbose=True
)

exp = explainer.explain_instance(X_test.iloc[0], model.predict_proba)
exp.show_in_notebook()

4. Permutation Importance

Permutation Importance mide cuánto empeora el modelo cuando se desordena una característica. Es simple, rápido y funciona con cualquier modelo.

from sklearn.inspection import permutation_importance

result = permutation_importance(model, X_test, y_test)
print(result.importances_mean)

5. Comparación entre técnicas

6. Ejercicios

7. Mini‑proyecto: Interpretación avanzada

Toma un dataset real y realiza:


Siguiente guía

Redes Neuronales (Neural Networks) →