Saltar al contenido

lección 7

Interpretabilidad: abrir la caja negra sin renunciar al acierto

Medir cuánto usa el modelo cada variable barajándola y viendo cuánto empeora: funciona con cualquier modelo y no se deja engañar.

⏱ 50 min

La última vez te quedaste con una pregunta incómoda. Habías visto que comprimir variables con componentes te daba velocidad y una vista en dos dimensiones, pero a cambio perdías los nombres: ya no podías decir qué variable pesaba en una decisión, solo tenías ejes sin rostro. Y esa pérdida chocaba con algo que esta profesión valora por encima de casi todo, heredado del trabajo con modelos que explican: un resultado que no puedes justificar vale menos, por muy bien que acierte, cuando hay una persona al otro lado de la decisión. La pregunta era si no habría una tercera vía, una manera de quedarte con los modelos que más aciertan y, aun así, asomarte dentro para entender qué miran. Esa tercera vía existe, y es de lo que trata esta lección.

Conviene nombrar bien el problema antes de resolverlo. A un modelo cuyo mecanismo interno no puedes seguir con la vista se le llama caja negra: le entran unos datos, le sale una predicción, y lo que pasa en medio es demasiado enrevesado para leerlo de un vistazo. Un bosque de doscientos árboles o una red con miles de conexiones son cajas negras en ese sentido; no porque escondan nada, sino porque su maquinaria tiene tantas piezas que ninguna persona puede recorrerla pieza a pieza. En el extremo opuesto están los modelos transparentes, como una recta de regresión, donde cada variable lleva su coeficiente a la vista y puedes leer su efecto directamente. Durante mucho tiempo pareció que había que elegir: o un modelo transparente que acierta regular, o una caja negra que acierta mucho y de la que no puedes dar cuentas.

La buena noticia es que esa disyuntiva es falsa, o al menos lo es mucho menos de lo que parecía. En la última década ha madurado toda una familia de técnicas que se ponen por fuera del modelo, lo tratan como una caja cerrada, y aun así consiguen explicar en qué se apoya. No abren la caja: la interrogan desde fuera, le hacen preguntas inteligentes y leen sus respuestas. A ese enfoque se le llama interpretabilidad agnóstica al modelo, un nombre aparatoso que solo quiere decir que la técnica no necesita saber si por dentro hay árboles, una red o cualquier otra cosa: le vale con poder darle entradas y mirar las salidas. Y como no mira dentro, la misma técnica sirve para cualquier modelo que hayas entrenado, por complicado que sea.

## La idea: romper una variable y ver cuánto duele

La técnica estrella de esta familia, y la que vas a practicar hoy porque corre perfectamente en el navegador, se llama importancia por permutación. La idea es tan sencilla que cuesta creer que funcione tan bien, y es un ejemplo precioso de cómo una buena pregunta vale más que un algoritmo complicado. Para medir cuánto le importa una variable a un modelo ya entrenado, haces lo siguiente: coges la columna de esa variable y la barajas al azar entre todas las filas. No la borras ni la pones a cero; la revuelves, de modo que cada fila acabe con el valor que le tocaba a otra. Con eso rompes a propósito la relación que esa columna tenía con la respuesta, dejando intacto todo lo demás. Luego vuelves a medir el acierto del modelo con la columna barajada y comparas con el acierto que tenía antes.

El razonamiento que sigue es la clave entera. Si al barajar una columna el acierto se desploma, es que el modelo dependía mucho de esa variable: le has quitado una pieza de la que de verdad tiraba, y por eso se cae. Si en cambio barajas la columna y el acierto apenas se mueve, es que al modelo esa variable le daba igual: podrías haberla llenado de números al azar y habría predicho casi lo mismo. La caída del acierto al barajar una columna es, por tanto, una medida directa de cuánto se apoyaba el modelo en ella. Y lo mejor: no has tenido que mirar dentro del modelo ni una sola vez. Solo le has cambiado una entrada y has leído cómo cambiaba la salida.

Hay una analogía que lo deja claro. Imagina una orquesta tocando una pieza que te sabes de memoria, y quieres averiguar qué peso tiene cada músico en el resultado. No puedes meterte dentro de la cabeza del director a ver qué piensa de cada uno. Lo que sí puedes hacer es pedirle a un músico que, en lugar de su parte, toque notas al azar, y escuchar cuánto se estropea la pieza. Si cambias al primer violín por ruido y la música se viene abajo, ese músico era esencial. Si cambias al tercer triángulo por ruido y la pieza suena casi igual, su aportación era pequeña. No has necesitado entender la partitura entera: has roto una parte cada vez y has medido el daño. Eso es exactamente la importancia por permutación, con las variables en el papel de los músicos.

Barajar una columna rompe su relación con la respuesta sin tocar nada más. Si el acierto se cae, el modelo tiraba de esa variable; si no se mueve, le daba igual.

Un par de detalles de método, porque la honestidad de la medida depende de ellos. El primero: la importancia por permutación se mide sobre datos que el modelo no vio al entrenar, es decir, sobre el montón de prueba, no sobre el de entrenamiento. La razón es la misma de siempre. Si barajas columnas de los datos con los que el modelo aprendió, puedes estar midiendo cuánto memorizó esas filas concretas, no cuánto le sirve de verdad la variable para predecir casos nuevos. La pregunta interesante no es qué usó el modelo para empollar el entrenamiento, sino de qué depende para acertar con datos frescos, y esa solo se responde barajando sobre datos frescos.

El segundo detalle: barajar es un acto de azar, así que el resultado baila un poco de una baraja a otra. Por eso la técnica no baraja una sola vez, sino varias, y promedia las caídas. Y por eso, como todo lo que lleva azar en esta profesión, hay que fijar la semilla para que el experimento sea reproducible: sin ella, cada vez que lo corras obtendrás números ligeramente distintos y no podrás comparar nada con nada. Un experimento que no se puede repetir no es un experimento. Fija la semilla y los números serán los mismos cada vez.

## Por qué no fiarse de la importancia que trae el modelo de serie

Aquí viene la parte que de verdad separa a quien usa la herramienta con criterio de quien la usa a ciegas. Ya has visto que un bosque trae de regalo su propia medida de importancia de variables: sabe cuánto le ayudó cada columna a separar las clases y te la ofrece ordenada. Es cómoda, viene gratis, y por eso casi todo el mundo la usa sin más. El problema es que esa importancia de serie tiene un sesgo conocido y traicionero: favorece a las variables con muchos valores distintos, aunque no sirvan para nada.

Entender por qué es importante, porque es el tipo de trampa que te hace creer en algo falso. Un árbol construye sus divisiones buscando cortes que separen bien las clases, y una columna con muchísimos valores distintos (un identificador de cliente, una marca de tiempo, cualquier cosa casi única por fila) le ofrece un montón de cortes posibles donde elegir. Con tantas opciones, el árbol casi siempre encuentra algún corte que, por puro azar, mejora un poco la separación en los datos de entrenamiento. Esa variable acaba usándose mucho en la construcción del árbol, y la importancia de serie, que cuenta cuánto se usó cada variable, le asigna un peso alto. Pero ese peso es un espejismo: la columna no predice nada real, solo ofrecía muchos sitios por donde cortar y el árbol los aprovechó para memorizar el entrenamiento.

La importancia por permutación no cae en esa trampa, y por una razón de fondo: no cuenta cuánto se usó una variable al construir el modelo, sino cuánto empeora el acierto en datos nuevos cuando esa variable deja de aportar su información. Un identificador casi único puede haberse usado mucho para memorizar el entrenamiento, pero cuando lo barajas en el montón de prueba el acierto no se mueve, porque en datos nuevos esa columna nunca predijo nada. La permutación mide impacto real sobre predicciones nuevas; la importancia de serie mide protagonismo durante el entrenamiento. Son dos preguntas distintas, y solo la primera te dice la verdad sobre en qué puedes confiar.

La misma pareja de variables, dos veredictos. La importancia de serie se deja engañar por el identificador con muchos valores; la permutación, medida en prueba, lo descarta y señala la variable que de verdad predice.

No tomes la importancia de serie de un bosque como la verdad sobre qué variables importan. Favorece a las columnas con muchos valores distintos (identificadores, marcas de tiempo), que pueden salir en lo alto de la lista sin predecir nada real. Si vas a justificar una decisión apoyándote en qué variables pesan, mídelo con permutación sobre datos de prueba, no con la cifra que trae el modelo de regalo.

## La misma llave abre cualquier caja

Merece la pena detenerse en lo que de verdad hace valiosa a la permutación más allá de este o aquel resultado concreto, y es su universalidad. Como la técnica solo baraja entradas y mira salidas, no necesita saber absolutamente nada de la maquinaria interna del modelo. Da exactamente igual que dentro haya un bosque de doscientos árboles, un boosting encadenado, una red neuronal con miles de pesos o una recta de regresión: a todos les baraja una columna, a todos les mide la caída del acierto, y de todos obtiene la misma clase de respuesta. Esa es la ventaja de una técnica que se pone por fuera: una sola llave que abre cajas de formas muy distintas. Cuando mañana entrenes un modelo que todavía no existe, esta llave te seguirá valiendo, porque no depende de cómo esté hecho por dentro.

La importancia por permutación trata el modelo como una caja cerrada: solo le cambia una entrada y lee cómo cambia la salida. Por eso la misma técnica sirve para cualquier modelo, por complejo que sea.

Un consejo sobre cómo leer los resultados en la práctica, porque la cifra sola no basta y hay que interpretarla con cabeza. Cuando obtengas la lista de importancias, lo primero no es quedarte con la variable que más pesa, sino mirar el conjunto y hacerte preguntas. ¿Tiene sentido, por lo que sabes del problema, que esas sean las variables de las que tira el modelo? ¿Hay alguna que pesa mucho y que, pensándolo, no debería saberse en el momento de predecir? ¿Hay variables que creías importantes y que salen en cero? Cada una de esas sorpresas es información: una variable que pesa y no debería suele destapar una fuga, y una que no pesa y creías clave te dice que tu intuición sobre el problema necesita revisión. La importancia por permutación no es un marcador para presumir del modelo, es el comienzo de una conversación con quien conoce el negocio, y esa conversación es donde de verdad se gana o se pierde la confianza en lo que has construido.

Conviene también situar esta técnica en su familia, para que sepas lo que te queda por delante. La importancia por permutación responde a una pregunta global: para el modelo en su conjunto y sobre todos los casos, ¿qué variables importan? Es la pregunta correcta la mayor parte de las veces, y la que más vas a necesitar. Pero hay otra pregunta, más fina, que la permutación no responde: para este caso concreto, para esta persona en particular, ¿qué la empujó hacia esta decisión y no hacia la contraria? Esa es una pregunta local, caso a caso, y es la que resuelve SHAP. Las dos preguntas son legítimas y se complementan: la global te dice en qué se apoya el modelo en general, la local te deja dar cuentas de una decisión individual. Entender que son preguntas distintas, y no dos versiones de lo mismo, es parte de usar la interpretabilidad con criterio.

## SHAP: la herramienta que no cabe en el navegador

Sería deshonesto dejarte creer que la importancia por permutación es la última palabra en interpretabilidad, porque no lo es. Hay una herramienta más potente y hoy mucho más usada en la industria, que se llama SHAP. Mientras la permutación te dice qué variables importan en general, para el modelo entero, SHAP baja al nivel de cada predicción concreta: te dice, para este cliente en particular, cuánto empujó cada una de sus variables la decisión hacia un lado o hacia el otro. Es la diferencia entre saber que el ingreso es importante en general y poder decir a esta persona se le denegó sobre todo por su ingreso bajo y su historial corto, estas dos cosas en estas proporciones. Para dar cuentas de una decisión individual ante quien la sufre o ante un regulador, ese nivel de detalle es justo lo que hace falta.

Toca ser claro con una limitación de esta plataforma, porque la honestidad sobre las herramientas forma parte del oficio. SHAP no se puede ejecutar aquí. Todo el código que escribes corre dentro de tu navegador, y SHAP depende de piezas compiladas que ese entorno no sabe cargar: no hay forma de instalarlo donde corre este código. Así que SHAP se nombra como lo que es, la herramienta que de verdad vas a querer usar el día que tengas que explicar decisiones individuales en un trabajo real, y se te deja apuntado dónde buscar. Lo que practicas aquí es la importancia por permutación, que sí corre, que ya te enseña el reflejo correcto (interrogar al modelo desde fuera en lugar de fiarte de lo que trae de serie) y que te resuelve la pregunta más común: de qué depende el modelo en conjunto.

Cuando llegues a un entorno de trabajo donde puedas instalar lo que quieras, aprende SHAP: es el estándar de hecho para explicar predicciones individuales, y entenderás su mecanismo mucho mejor por haber interiorizado antes la permutación, porque las dos comparten la misma filosofía de interrogar al modelo desde fuera. Aquí no corre por una limitación del navegador, no porque sea opcional.

Hay un último matiz que conviene llevarse, y es una advertencia sobre lo que la interpretabilidad puede y no puede decir. Que una variable sea importante para el modelo no significa que mueva el resultado en el mundo real. La permutación te dice en qué se apoya el modelo para acertar, que es una pregunta sobre el modelo; no te dice qué pasaría si cambiaras esa variable en la realidad, que es una pregunta sobre el mundo y mucho más difícil. Si el modelo se apoya con fuerza en una variable que, por lo que sabes del negocio, no debería importar, eso casi siempre es una señal de alarma: suele destapar una fuga de datos, una columna que lleva escondida la respuesta. La interpretabilidad es, entre otras cosas, uno de los mejores detectores de fugas que tienes, porque pone a la vista aquello en lo que el modelo se apoya y te deja preguntarte si tiene sentido que se apoye ahí.

Así que la tercera vía era real. No tienes que elegir entre un modelo que acierta y un modelo que puedes explicar: puedes entrenar la caja negra que mejor acierta y, por fuera, interrogarla para saber en qué se apoya. No es una transparencia tan completa como la de una recta con sus coeficientes a la vista, pero es muchísimo más que nada, y suele bastar para tener la conversación con quien conoce el negocio, para detectar que el modelo se agarra a algo que no debería, y para empezar a dar cuentas de lo que decide. Con esto cerrado, lo que viene es asomarse a la familia de modelos de la que más se habla y de la que más se exagera: las redes neuronales. Y vas a entrar en ellas con el reflejo correcto ya puesto, el de preguntar siempre, ante cualquier caja negra, en qué se apoya y si puedo creérmelo.

Regístrate para guardar tu progreso.