Cómo utilizar los valores SHAP para optimizar y depurar modelos de ML

Utilizando los valores SHAP para optimizar y depurar modelos de ML.

Imagínate esto, has dedicado incontables horas a entrenar y afinar tu modelo, analizando meticulosamente montañas de datos. Sin embargo, careces de una comprensión clara de los factores que influyen en sus predicciones y, como resultado, te resulta difícil mejorarlo aún más.

Si alguna vez te has encontrado en una situación así, tratando de entender lo que sucede dentro de esta caja negra, estás en el lugar correcto. Este artículo se sumergirá en el cautivador mundo de los valores SHAP (Shapley Additive Explanations), un poderoso marco de trabajo que ayuda a explicar el proceso de toma de decisiones de un modelo y cómo puedes aprovechar su poder para optimizar y depurar fácilmente tus modelos de aprendizaje automático.

Así que, sin más preámbulos, ¡empecemos!

Valores SHAP explicados | Modificado basado en la fuente

Depuración de modelos utilizando valores SHAP

La depuración de modelos es un proceso esencial que implica identificar y corregir problemas que surgen durante las fases de entrenamiento y evaluación de modelos de aprendizaje automático. Aquí es donde entran en juego los valores SHAP, ofreciendo una ayuda significativa. Nos ayudan a hacer lo siguiente:

  • 1
    Identificar características que afectan la predicción
  • 2
    Explorar el comportamiento del modelo
  • 3
    Detectar sesgos en los modelos
  • 4
    Evaluar la robustez del modelo

Identificar características que afectan la predicción

Una parte integral de la depuración de modelos implica determinar las características que influyen significativamente en las predicciones. Los valores SHAP sirven como una herramienta precisa para esta tarea, permitiéndote identificar las variables clave que dan forma a la salida de un modelo.

Al utilizar los valores SHAP, se puede evaluar la contribución relativa de cada característica, brindando información sobre los factores clave que impulsan las predicciones de tu modelo. Los conocimientos obtenidos al examinar los valores SHAP en múltiples instancias pueden ayudar a determinar la consistencia del modelo o revelar si ciertas características ejercen un impacto excesivo, lo que potencialmente puede llevar a sesgos o comprometer la confiabilidad de las predicciones.

Por lo tanto, los valores SHAP se convierten en un instrumento potente para identificar características influyentes dentro del panorama de predicción de un modelo. Ayudan a refinar y depurar modelos, mientras que los gráficos de resumen y dependencia actúan como herramientas de visualización efectivas para comprender la importancia de las características. Veremos algunos de estos gráficos en las secciones siguientes.

Explorar el comportamiento del modelo

Los modelos a veces muestran resultados desconcertantes o comportamientos inesperados, por lo que es fundamental comprender su funcionamiento interno. Por ejemplo, digamos que tienes un modelo de detección de fraude que inesperadamente marcó una transacción legítima como fraudulenta, causando inconvenientes al cliente. Aquí es donde SHAP puede resultar invaluable.

  • Al cuantificar las contribuciones de cada característica a una predicción, los valores SHAP pueden ayudar a explicar por qué se clasificó una determinada transacción como fraudulenta.
  • Los valores SHAP pueden permitir a los profesionales explorar cómo un cambio en una característica como el historial crediticio influye en la clasificación.
  • Analizar los valores SHAP en múltiples instancias puede revelar escenarios en los que este modelo puede tener un rendimiento deficiente o fallar.

Detectar sesgos en los modelos

Los sesgos en los modelos pueden tener implicaciones profundas, exacerbando las disparidades y las injusticias sociales. Los valores SHAP facilitan la identificación de posibles fuentes de sesgo al cuantificar el efecto de cada característica en las predicciones del modelo.

Un examen meticuloso de los valores SHAP permite a los científicos de datos determinar si las decisiones del modelo están influenciadas por factores discriminatorios. Esta conciencia ayuda a los profesionales a eliminar el sesgo mediante ajustes en la representación de las características, corrigiendo desequilibrios en los datos o adoptando metodologías que promuevan la equidad.

Equipados con esta información, los profesionales pueden trabajar activamente para reducir el sesgo, asegurando que sus modelos mantengan la equidad. Abordar el sesgo y garantizar la equidad en los modelos de aprendizaje automático es una obligación ética esencial.

Evaluación de la robustez del modelo

La robustez del modelo juega un papel vital en el rendimiento del modelo, asegurando su confiabilidad en diversos escenarios.

  • Al examinar la consistencia de las contribuciones de las características en diferentes muestras, los valores SHAP permiten a los científicos de datos evaluar la estabilidad y confiabilidad de un modelo.
  • Al examinar la estabilidad de los valores SHAP para cada característica, los profesionales pueden identificar comportamientos inconsistentes o volátiles.
  • Al identificar características con contribuciones inestables, los profesionales pueden centrarse en mejorar esos aspectos a través de la preprocesamiento de datos, la ingeniería de características o ajustes del modelo.

Estas irregularidades actúan como señales de advertencia, destacando posibles debilidades o inestabilidades en el modelo. Armados con esta comprensión, los científicos de datos pueden tomar medidas específicas para mejorar la confiabilidad del modelo.

Optimización de modelos utilizando valores SHAP

Los valores SHAP pueden ayudar a los científicos de datos a optimizar modelos de aprendizaje automático para obtener un mejor rendimiento y eficiencia al permitirles controlar lo siguiente:

  • 1
    Ingeniería de características
  • 2
    Selección de modelos
  • 3
    Ajuste de hiperparámetros

Ingeniería de características

La ingeniería de características efectiva es una técnica bien conocida para mejorar el rendimiento del modelo. Al comprender el impacto de diferentes características en las predicciones, puedes priorizar y optimizar tus esfuerzos de ingeniería de características. Los valores SHAP proporcionan información importante sobre este proceso.

Este análisis permite a los científicos de datos comprender la importancia de las características, las interacciones y las relaciones de manera más precisa. Les permite realizar una ingeniería de características enfocada, maximizando la extracción de características relevantes e impactantes.

Con los valores SHAP, los profesionales pueden:

  • Descubrir características influyentes: Los valores SHAP resaltan características con un impacto sustancial en las predicciones, lo que permite priorizarlas durante la ingeniería de características.
  • Reconocer características irrelevantes: Las características con valores SHAP persistentemente bajos en todas las instancias pueden ser menos importantes y potencialmente se pueden eliminar para simplificar el modelo.
  • Descubrir interacciones: Los valores SHAP pueden revelar interacciones de características no previstas, promoviendo la generación de nuevas características que mejoren el rendimiento.

Así, los valores SHAP agilizan el proceso de ingeniería de características, amplificando la capacidad predictiva del modelo al facilitar la extracción de las características más pertinentes.

Selección de modelos

La selección de modelos, un paso crítico en la construcción de modelos de alto rendimiento, implica elegir el modelo óptimo de un conjunto de modelos candidatos. Los valores SHAP pueden ayudar en este proceso a través de:

  • Comparación de modelos: Los valores SHAP, calculados para cada modelo, te permiten contrastar las clasificaciones de importancia de las características, brindando información sobre cómo diferentes modelos utilizan las características para formar predicciones.
  • Evaluación de complejidad: Los valores SHAP pueden indicar modelos que dependen excesivamente de interacciones complejas o características con alta cardinalidad, lo que los hace más susceptibles al sobreajuste.

Ajuste de hiperparámetros

El ajuste de hiperparámetros, una fase crucial para mejorar el rendimiento del modelo, implica optimizar los hiperparámetros de un modelo. Los valores SHAP pueden ayudar en este proceso mediante:

  • Guía del proceso de ajuste: Si los valores SHAP indican una dependencia excesiva de un modelo basado en árboles de una característica en particular, reducir el hiperparámetro max_depth podría hacer que el modelo utilice otras características de manera más equilibrada.
  • Evaluación de los resultados del ajuste: Una comparación de los valores SHAP antes y después del ajuste proporciona una comprensión profunda de la influencia del proceso de ajuste en la utilización de características del modelo.

Los conocimientos derivados de los valores SHAP permiten a los científicos de datos identificar las configuraciones que conducen a un rendimiento óptimo.

Funciones de la biblioteca SHAP para la depuración y optimización de ML

Para comprender de manera integral las funciones de la biblioteca SHAP para la depuración y optimización del aprendizaje automático (ML), ilustraremos sus capacidades a través de un caso de uso práctico de predicción de una etiqueta.

Para esta demostración, utilizaremos el conjunto de datos de Ingresos de Adultos, que está disponible en Kaggle. El conjunto de datos de Ingresos de Adultos comprende diversos atributos que contribuyen a determinar el nivel de ingresos de un individuo. El objetivo principal del conjunto de datos es predecir si los ingresos de un individuo superan un cierto umbral, precisamente $50,000 al año.

En nuestra exploración de las funcionalidades de SHAP, nos sumergiremos en las capacidades que ofrece con un modelo como el clasificador XGBoost. El proceso completo, que incluye la preprocesamiento de datos y los pasos de entrenamiento del modelo, se puede encontrar en un cuaderno alojado en neptune.ai debido a su conveniente almacenamiento de metadatos, comparación rápida y capacidades de compartir.

Gráfico de enjambre de SHAP

El gráfico de enjambre de SHAP visualiza la distribución de los valores SHAP en las características de un conjunto de datos. Al igual que un enjambre de abejas, la disposición de los puntos revela información sobre el papel e impacto de cada característica en las predicciones del modelo.

En el eje x del gráfico, los puntos representan los valores SHAP de las instancias de datos individuales, proporcionando información crucial sobre la influencia de las características. Una dispersión más amplia o una mayor densidad de puntos indica una mayor variabilidad o un impacto más sustancial en las predicciones del modelo. Esto nos permite evaluar la importancia de las características en la contribución a la salida del modelo.

Además, el gráfico utiliza una asignación de colores predeterminada en el eje y para representar valores bajos o altos de las características respectivas. Este esquema de color ayuda a identificar patrones y tendencias en la distribución de los valores de las características en las instancias.

Los valores SHAP y el gráfico de abejas del modelo XGboost señalan | Verlo en la aplicación Neptune

Aquí, el gráfico de abejas SHAP del modelo XGboost señala las cinco características críticas principales para predecir si el ingreso de un individuo supera los $50,000 al año: Estado Civil, Edad, Ganancia de Capital, Nivel de Educación (denotado como Número de Educación) y Horas de Trabajo Semanales.

El gráfico de abejas SHAP ordena las características según el valor absoluto promedio de los valores SHAP, lo que representa el impacto promedio en todas las instancias. Esto prioriza las características con una influencia amplia y consistente, pero puede pasar por alto instancias raras con un alto impacto.

Para enfocarse en las características que tienen un alto impacto en las personas individuales, se puede utilizar un método de ordenamiento alternativo. Al ordenar las características según el valor absoluto máximo de los valores SHAP, resaltamos aquellas que tienen el impacto más significativo en personas específicas, independientemente de su frecuencia u ocurrencia.

Ordenar las características por su máximo valor SHAP absoluto nos permite identificar las características que exhiben efectos raros pero altamente influyentes en las predicciones del modelo. Este enfoque nos permite identificar los factores clave que tienen impactos significativos en instancias individuales, proporcionando una comprensión más detallada de la importancia de las características.

Ordenar las características según el valor absoluto máximo de los valores SHAP | Verlo en la aplicación Neptune

Ordenar las características según el valor absoluto máximo de los valores SHAP revela las cinco características influyentes principales: ganancia de capital, pérdida de capital, edad, nivel de educación y estado civil. Estas características demuestran el impacto absoluto más alto en las predicciones individuales, independientemente de su impacto promedio.

Al considerar los valores SHAP máximos absolutos, podemos descubrir características raras pero impactantes que afectan en gran medida las predicciones individuales. Este enfoque de ordenamiento nos permite obtener información valiosa sobre los factores clave que impulsan los niveles de ingresos dentro del modelo de ingresos para adultos.

Gráfico de barras SHAP

El gráfico de barras SHAP es una poderosa herramienta de visualización que proporciona información sobre la importancia de cada característica en un modelo de ML. Emplea barras horizontales para representar la magnitud y dirección de los efectos que las características tienen en las predicciones del modelo.

Al clasificar las características según sus valores SHAP absolutos promedio, el gráfico de barras ofrece una indicación clara de qué características tienen la mayor influencia en las predicciones del modelo.

La longitud de cada barra en el gráfico de barras SHAP corresponde a la magnitud de la contribución de una característica a la predicción. Las barras más largas indican una mayor importancia, lo que significa que la característica correspondiente tiene un impacto más sustancial en la salida del modelo.

Para mejorar la interpretabilidad, las barras en el gráfico a menudo se codifican con colores para denotar la dirección del impacto de una característica. Las contribuciones positivas pueden representarse en un color, mientras que las contribuciones negativas se representan en otro color. Este esquema de colores permite una comprensión fácil e intuitiva de si una característica afecta positiva o negativamente la predicción.

Los valores SHAP y el gráfico de barras | Verlo en la aplicación Neptune

La información obtenida del gráfico de barras local es invaluable para la depuración y optimización, ya que ayuda a identificar características que requieren un análisis o modificación adicionales para mejorar el rendimiento del modelo.

En el caso del gráfico de barras local, consideremos el ejemplo en el que la característica de raza tiene un valor SHAP de -0.29 y ocupa el cuarto lugar como característica más predictiva para la primera instancia de datos.

El gráfico de barras SHAP local | Verlo en la aplicación Neptune

Esto indica que la característica de raza tiene una influencia negativa en la predicción para ese punto de datos en particular. Este hallazgo llama la atención sobre la necesidad de investigar la construcción de modelos conscientes de la equidad. Analizar posibles sesgos y garantizar la equidad es crucial, especialmente si la raza se considera un atributo protegido.

Se debe prestar especial atención a la evaluación del rendimiento del modelo en diferentes grupos raciales y mitigar cualquier efecto discriminatorio. La combinación de gráficos de barras globales y locales proporciona información valiosa para la depuración y optimización del modelo.

Gráfico de cascada SHAP

El gráfico de cascada SHAP es una excelente herramienta para comprender la contribución de características individuales a una predicción específica. Proporciona una visualización concisa e intuitiva que permite a los científicos de datos evaluar el efecto incremental de cada característica en la salida del modelo, lo que ayuda en la optimización y depuración del modelo.

El gráfico comienza desde una predicción de referencia y representa visualmente cómo la adición o eliminación de cada característica altera la predicción. Las contribuciones positivas se representan como barras que aumentan la predicción, mientras que las contribuciones negativas se representan como barras que disminuyen la predicción.

La longitud y dirección de estas barras en el gráfico de cascada SHAP proporcionan información valiosa sobre la influencia de cada característica en el proceso de toma de decisiones del modelo.

Valores SHAP y el gráfico de cascada | Ver en la aplicación Neptune

Gráfico de fuerza SHAP

El gráfico de fuerza SHAP y el gráfico de cascada son similares en el sentido de que ambos muestran cómo las características de un punto de datos contribuyen a la predicción del modelo, ya que ambos muestran la magnitud y dirección de la contribución como flechas o barras.

La principal diferencia entre los dos gráficos es la orientación. Los gráficos de fuerza SHAP muestran las características de izquierda a derecha, con las contribuciones positivas a la izquierda y las contribuciones negativas a la derecha. Los gráficos de cascada muestran las características de arriba a abajo, con las contribuciones positivas en la parte superior y las contribuciones negativas en la parte inferior.

Valores SHAP y el gráfico de fuerza | Ver en la aplicación Neptune

El gráfico de fuerza apilado es particularmente útil para examinar instancias clasificadas incorrectamente y obtener información sobre los factores que impulsan esas clasificaciones erróneas. Esto permite una comprensión más profunda del proceso de toma de decisiones del modelo y ayuda a identificar áreas que requieren una investigación o mejora adicional.

Valores SHAP y el gráfico de fuerza apilado | Ver en la aplicación Neptune

Gráfico de dependencia SHAP

El gráfico de dependencia SHAP es una herramienta de visualización que ayuda a comprender la relación entre una característica y la predicción del modelo. Permite ver cómo cambia la relación entre la característica y la predicción a medida que cambia el valor de la característica.

En un gráfico de dispersión de dependencia SHAP, la característica de interés se representa en el eje horizontal, mientras que los valores SHAP correspondientes se trazan en el eje vertical. Cada punto de datos en el gráfico de dispersión representa una instancia del conjunto de datos, con el valor de la característica y el valor SHAP asociado con esa instancia.

Valores SHAP y el gráfico de dependencia | Ver en la aplicación Neptune

En este ejemplo, el gráfico de dispersión de dependencia SHAP muestra la relación no lineal entre la característica “edad” y sus valores SHAP correspondientes. En el eje x se muestran los valores de “edad”, mientras que el eje y representa los valores SHAP asociados con cada valor de “edad”.

Al examinar el gráfico de dispersión, podemos observar una tendencia positiva donde la contribución de la característica “edad” aumenta a medida que aumenta el valor de “edad”. Esto sugiere que los valores más altos de “edad” tienen un impacto positivo en la predicción del modelo.

Para identificar posibles efectos de interacción entre características, podemos mejorar el gráfico de dispersión de dependencia de edad mediante la incorporación de codificación de color basada en otra característica. Al pasar el objeto de Explicación completo al parámetro de color, el algoritmo del gráfico de dispersión intenta identificar la columna de características que exhibe la interacción más fuerte con la edad, o podemos definir la característica nosotros mismos.

Al examinar el diagrama de dispersión, podemos analizar el patrón y la tendencia de la relación entre la edad y la salida del modelo teniendo en cuenta diferentes niveles de horas_por_semana. Si existe un efecto de interacción, se evidenciará a través de patrones distintos en el diagrama de dispersión.

Valores SHAP y el diagrama interactivo | Míralo en la aplicación Neptune

En este diagrama, podemos observar que las personas que trabajan menos horas por semana tienen más probabilidades de tener veinte años. Este grupo de edad incluye típicamente estudiantes o personas que recién comienzan sus carreras. El diagrama indica que estas personas tienen una menor probabilidad de ganar más de $50k.

Este patrón sugiere que el modelo ha aprendido de los datos que las personas de veinte años, que tienden a trabajar menos horas por semana, tienen menos probabilidades de ganar ingresos más altos.

Conclusión

En este artículo, exploramos cómo utilizar los valores SHAP para optimizar y depurar modelos de aprendizaje automático. Los valores SHAP proporcionan una herramienta poderosa para comprender el comportamiento del modelo e identificar características importantes para las predicciones.

Discutimos varias características de la biblioteca SHAP, incluyendo diagramas de abejas, gráficos de barras, gráficos de cascada, gráficos de fuerza y gráficos de dependencia, que ayudan a visualizar e interpretar los valores SHAP.

Los puntos clave del artículo incluyen:

  • Los valores SHAP nos ayudan a comprender cómo funcionan los modelos e identificar características influyentes.
  • Los valores SHAP pueden resaltar características irrelevantes que tienen poco impacto en las predicciones.
  • Los valores SHAP brindan información para mejorar el rendimiento del modelo identificando áreas para mejorar.
  • La biblioteca SHAP ofrece una variedad de técnicas de visualización para una mejor comprensión y depuración de modelos.

Espero que después de leer este artículo, consideres a SHAP como una herramienta valiosa en tu arsenal para depurar y optimizar tus modelos de aprendizaje automático.

Referencias

  • https://github.com/slundberg/shap
  • https://christophm.github.io/interpretable-ml-book/shap.html