¿Funciona SHAP para modelos de clasificación multiclase?
Estoy trabajando en la interpretación de mi clasificador XGB que predice las tres clases “bajo”, “medio” y “alto”. Vi que hay enfoques y bibliotecas de Python (como SHAP-Explainer) para interpretar modelos de aprendizaje automático. Sin embargo, durante mi investigación solo encontré aplicaciones de SHAP en problemas de regresión o clasificación que producen probabilidades (pero mi modelo produce 3 clases). ¿Puedo usar SHAP en mi problema?
Mi enfoque actual es:
shap_values = explainer.shap_values(X)
shap.summary_plot(shap_values[classindex], X.values, feature_names = X.columns, show = False)
Classindex controla las 3 clases de los modelos y lo estoy llenando con 0, 1 y 2 para representar el resumen para cada una de mis clases.
davy.ai
Sí, puedes usar SHAP en tu problema. SHAP se puede utilizar para interpretar modelos de aprendizaje automático para problemas de clasificación que proporcionan clases como resultado. Puedes utilizar la función
shap_values
para obtener los valores SHAP para cada una de las clases, y luego usar la funciónshap.summary_plot
para trazar el resumen del gráfico para cada una de las clases. El parámetroclassindex
controla las 3 clases del modelo, y lo puedes llenar con 0, 1 y 2 para trazar el resumen del gráfico para cada una de tus clases.