Diez frases ingeniosas de Python para calcular la importancia de las características del modelo

Diez frases ingeniosas de Python para calcular la importancia de las características del modelo
Imagen del editor

Comprender los modelos de aprendizaje automático es un aspecto vital para crear sistemas de IA confiables. La comprensibilidad de tales modelos se basa en dos propiedades básicas: explicabilidad e interpretabilidad. Lo primero se refiere a qué tan bien podemos describir las “entrañas” de un modelo (es decir, cómo funciona y se ve internamente), mientras que lo segundo se refiere a qué tan fácilmente los humanos pueden comprender las relaciones capturadas entre las características de entrada y los resultados previstos. Como podemos ver, la diferencia entre ellos es sutil, pero hay un puente poderoso que los conecta: la importancia de las características.

Este artículo presenta 10 frases ingeniosas simples pero efectivas de Python para calcular la importancia de las características del modelo desde diferentes perspectivas, ayudándolo a comprender no solo cómo se comporta su modelo de aprendizaje automático, sino también por qué hizo las predicciones que hizo.

1. Importancia de las funciones integradas en los modelos basados ​​en árboles de decisión

Los modelos basados ​​en árboles, como bosques aleatorios y conjuntos XGBoost, le permiten obtener fácilmente una lista de ponderaciones de características importantes utilizando un atributo como:

Tenga en cuenta que el modelo debe contener un modelo entrenado a priori. El resultado es una matriz que contiene la importancia de las características, pero si desea una versión más explicativa, este código mejora la línea anterior incorporando los nombres de las características para un conjunto de datos como iris, todo en una sola línea.

2. Coeficientes en modelos lineales

Los modelos lineales más simples, como la regresión lineal y la regresión logística, también exponen los pesos de las características mediante coeficientes aprendidos. Esta es una forma de obtener el primero de ellos de forma directa y ordenada (elimine el índice posicional para obtener todos los pesos):

3. Clasificación de funciones por importancia

De manera similar a la versión mejorada del número 1 anterior, este útil resumen se puede utilizar para clasificar las características por sus valores de importancia en orden descendente: una excelente visión de qué características son los contribuyentes más fuertes o más influyentes a las predicciones del modelo.

4. Importancia de la permutación independiente del modelo

La importancia de la permutación es un enfoque adicional para medir la importancia de una característica, es decir, mezclando sus valores y analizando cómo disminuye una métrica utilizada para medir el rendimiento del modelo (por ejemplo, precisión o error). En consecuencia, esta frase independiente del modelo de scikit-learn se utiliza para medir las caídas de rendimiento como resultado de mezclar aleatoriamente los valores de una característica.

5. Pérdida media de precisión en permutaciones de validación cruzada

Este es un resumen eficaz para probar permutaciones en el contexto de procesos de validación cruzada, analizando cómo la combinación aleatoria de cada característica afecta el rendimiento del modelo en K pliegues.

6. Visualizaciones de importancia de permutación con Eli5

Eli5, una forma abreviada de “Explica como si tuviera 5 (años)”, es, en el contexto del aprendizaje automático de Python, una biblioteca para una explicabilidad muy clara. Proporciona una vista HTML levemente interactiva visualmente de las características importantes, lo que lo hace particularmente útil para portátiles y adecuado tanto para modelos lineales como de árbol entrenados.

7. Importancia global de la función SHAP

SHAP es una biblioteca popular y poderosa para profundizar en la explicación de la importancia de las características del modelo. Se puede utilizar para calcular los valores SHAP absolutos medios (indicadores de importancia de características en SHAP) para cada característica, todo ello bajo un enfoque de medición teóricamente fundamentado y independiente del modelo.

8. Gráfico resumido de los valores SHAP

A diferencia de las importancias globales de las características SHAP, el gráfico de resumen proporciona no solo la importancia global de las características en un modelo, sino también sus direcciones, lo que ayuda visualmente a comprender cómo los valores de las características impulsan las predicciones hacia arriba o hacia abajo.

Veamos un ejemplo visual del resultado obtenido:

trama-resumen-de-shap

9. Explicaciones de predicción única con SHAP

Un aspecto particularmente atractivo de SHAP es que ayuda a explicar no sólo el comportamiento general del modelo y la importancia de las características, sino también cómo las características influyen específicamente en una sola predicción. En otras palabras, podemos revelar o descomponer una predicción individual, explicando cómo y por qué el modelo arrojó ese resultado específico.

10. Importancia de las características independientes del modelo con LIME

LIME es una biblioteca alternativa a SHAP que genera explicaciones sustitutas locales. En lugar de utilizar una u otra, estas dos bibliotecas se complementan bien, lo que ayuda a aproximar mejor la importancia de las características en torno a las predicciones individuales. Este ejemplo lo hace para un modelo de regresión logística previamente entrenado.

Concluyendo

Este artículo reveló 10 frases ingeniosas de Python para ayudar a comprender, explicar e interpretar mejor los modelos de aprendizaje automático con un enfoque en la importancia de las características. Comprender cómo funciona tu modelo desde dentro ya no es una misteriosa caja negra con la ayuda de estas herramientas.