Los métodos de ciencia de datos gráficos generalmente se aplican a datos que tienen alguna naturaleza gráfica inherente, por ejemplo, datos de estructura molecular, datos de redes de transporte, etc. Sin embargo, los métodos gráficos también pueden ser útiles en datos que no muestran ninguna estructura gráfica obvia, como la conjuntos de datos tabulares utilizados en tareas de aprendizaje automático. En este artículo demostraré de manera simple e intuitiva (sin matemáticas ni teoría) que al representar datos tabulares como un gráfico podemos abrir nuevas posibilidades sobre cómo realizar inferencias sobre estos datos.
Para simplificar las cosas, utilizaré el conjunto de datos de aprobación de crédito que aparece a continuación como ejemplo. El objetivo es predecir el valor de Aprobación en función de los valores de uno o más de los otros atributos. Hay muchos algoritmos de clasificación que se pueden usar para hacer esto, pero exploremos cómo podemos abordar esto usando gráficos.
Representación gráfica
Lo primero a considerar es cómo representar los datos en forma de gráfico. Nos gustaría capturar la intuición de que cuanto mayor sea el número de valores de atributos compartidos entre dos instancias, más similares serán esas instancias. Usaremos un nodo para representar cada instancia (nos referimos a estos nodos como nodos de instancia), y un nodo para cada valor de atributo posible (estos son nodos de valor de atributo). Las conexiones entre los nodos de instancia y los nodos de valor de atributo son bidireccionales y reflejan la información de la tabla. para guardar las cosas en realidad simple, omitiremos los atributos Empleo e Historia. Aquí está el gráfico.
Paso de mensajes
Dados los valores de los atributos para alguna instancia nueva, hay varias formas en las que podemos usar métodos gráficos para predecir algún valor de atributo desconocido. Usaremos la noción de paso de mensajes. Este es el procedimiento que utilizaremos.
Procedimiento de paso de mensajes
Inicie un mensaje con valor 1 en el nodo inicial y deje que este nodo pase el mensaje a cada nodo al que esté conectado. Deje que cualquier nodo que reciba un mensaje luego lo transmita (dilatado por un factor kdonde 0 <k<1) a cada uno de los nodos a los que está conectado. Continúe pasando el mensaje hasta que se alcance un nodo objetivo (es decir, un nodo correspondiente al atributo cuyo valor se predice) o no haya más nodos a los que pasar el mensaje. Dado que un mensaje no se puede devolver al nodo desde el cual se recibió, se garantiza que el proceso terminará.
Cuando se haya completado el paso del mensaje, cada nodo del gráfico habrá recibido cero o más mensajes de valor variable. Sume estos valores para cada nodo que pertenece al atributo de destino y luego normalice estos valores (suma) para que ellos mismos sumen 1. Interprete los valores normalizados como probabilidades. Estas probabilidades pueden usarse luego para predecir el valor del atributo desconocido o para imputar un valor aleatorio extraído de la distribución. La dilatación de los valores de los mensajes en cada paso refleja la intuición de que las rutas más largas deberían contribuir menos a la estimación de probabilidad que las rutas más cortas.
Ejemplo 1
Supongamos que deseamos predecir el valor de Aprobación dado que el Ingreso es Bajo. Las flechas en el gráfico siguiente ilustran el funcionamiento del procedimiento de paso de mensajes, y el grosor de cada flecha representa el valor del mensaje (dilatado por el factor k = 0,5 en cada salto).
El mensaje se inicia en el nodo Ingreso: Bajo (de color verde). Este nodo pasa mensajes de valor 1 a la Instancia 1 y a la Instancia 2, que luego pasan el mensaje (con un valor dilatado de 0,5) a los nodos Educación: Universidad y Aprobación: No. Tenga en cuenta que dado que Education:College recibe mensajes tanto de la Instancia 1 como de la Instancia 2, debe pasar cada de estos mensajes a la Instancia 3, con un valor dilatado de 0,25. Los números en cada nodo de la variable de destino muestran la suma de los valores de los mensajes recibidos y (entre paréntesis) los valores normalizados como porcentajes. Tenemos las siguientes probabilidades de aprobación, condicionadas a que el ingreso sea bajo:
- Prob (la aprobación es ‘Sí’ | El ingreso es bajo) = 20%
- Prob (la aprobación es ‘No’ | El ingreso es bajo) = 80%
Estas probabilidades son diferentes de las que habríamos obtenido de una predicción basada en recuentos de la tabla. Dado que dos de las cinco instancias tienen ingresos bajos y ambas tienen el número de aprobación, una predicción basada en el conteo conduciría a una probabilidad del 100 % para el número de aprobación.
El procedimiento de paso de mensajes ha tenido en cuenta que el valor del atributo Education College, que poseen las instancias 1 y 2, también lo posee la instancia 3, que tiene la aprobación Sí, contribuyendo así al valor total del mensaje recibido en el nodo Aprobación: Sí. Si hubiéramos incorporado los atributos adicionales Empleo e Historia en nuestro gráfico, esto probablemente habría aumentado aún más la cantidad de rutas que conectan el nodo inicial con los nodos objetivo, utilizando así información contextual adicional y mejorando la estimación de la distribución de probabilidad.
Ejemplo 2
El procedimiento de paso de mensajes también se puede utilizar cuando se condiciona a más de un atributo. En tal caso, simplemente iniciamos un mensaje en cada uno de los nodos correspondientes a los valores de atributo que estamos condicionando y seguimos el mismo procedimiento desde cada uno. El siguiente gráfico muestra el resultado de predecir el valor de aprobación dado que los ingresos son bajos y la educación es de posgrado. La secuencia de mensajes que se originan en cada nodo inicial se muestra en diferentes colores.
La instancia 4 tiene el valor de Educación Graduado y, por lo tanto, contribuye a la suma de los valores de los mensajes recibidos en el nodo. Aprobación: Sí. Una contribución adicional a la Aprobación: Sí la realiza la Instancia 5, que comparte Ingresos altos con la Instancia 4.
[Note: in each of these examples we have used Approval as our target variable; however, we could have estimated the probability distributions for Income or Education in exactly the same way].