Más de 131 mil personas ingresaron al sitio Aquienvoto.uy, un juego que consiste en responder 30 preguntas para recibir una “recomendación” de un candidato para las próximas elecciones. ¿Cómo funciona su algoritmo? ¿El machine learning puede interpretar una ideología política?

El programa que se transformó en viral –creado por el desarrollador Juan Pablo Blanco– se basa en un método conocido como KNeighborsClassifier, que clasifica un resultado a partir de su cercanía con otros valores preestablecidos. En este caso, Aquienvoto.uy compara las respuestas de los usuarios que votaron parecido, no contrasta con ningún candidato dado que ninguno respondió el cuestionario.

“El set inicial de datos está formado por varios atributos descriptivos (las respuestas a las preguntas) y un solo atributo objetivo (a quién votará)”, explicita Héctor Cotelo, experto en algoritmos y Business Analytics de Quanam en un documento.

En concreto, la plataforma empezó a entrenarse con 177 participantes. Estos respondieron el cuestionario e indicaron quién es su candidato preferido para las próximas elecciones. Con esta información, el sistema usa dos partes aleatorias: una que se usa para entrenar el modelo y otra que se usa para validarlo. “La buena noticia es que a media que se usa (siempre y cuando al final del cuestionario uno indique su candidato) el modelo se ajusta”, indica Cotelo.

Por ejemplo, si a los dos “vecinos” más cercanos les tocó el precandidato colorado Ernesto Talvi, el algoritmo definirá lo mismo para el usuario. Pero si dos no son suficientes, el sistema analizará los cuatro vecinos o los seis vecinos para hacer una recomendación. Por ejemplo, si hay tres respuestas cercanas al frenteamplista Daniel Martínez, dos para Talvi y una para el colorado Juan María Sanguinetti, Aquienvoto.uy dará como resultado final a Martínez.

“Algorítmicamente me parece que está bien; sin embargo, no me interioricé en qué tan precisas son las predicciones, es decir, a qué porcentaje de usuarios realmente le acierta”, comentó Cotelo a Cromo.

Y añadió: “La ‘contra’ que tiene KNeighborsClassifier es que, formalmente, más que irse ‘entrenando’, lo que va haciendo es tomar ejemplos nuevos y recalcular en cada clasificación. Lo otro podría ser costoso. No por eso deja de ser una buena solución”.

Cotelo recomienda probar distintos métodos –redes neuronales, árboles de decisión, máquinas de soporte vectorial– para ver cuál es el más preciso a la hora de hacer las predicciones.

Diego Battiste

Coincidencias y diferencias

Como el sitio está construido en código abierto y disponible en GitHub y la idea de Aquienvoto.uy le pareció “genial”, Cotelo recurrió a algoritmos propios para desentrañar la plataforma. Para esto analizó 123.119 encuestas distintas; de estas, solo 25.166 usuarios seleccionaron a su candidato al final del formulario. Así encontró que la mayoría de estos usuarios tiene la intención de votar al Frente Amplio, seguido del Partido Nacional y el Partido Colorado; pero por candidato, Talvi es el preferido. Lo siguen Daniel Martínez, Luis Lacalle Pou (Partido Nacional), Carolina Cosse (FA), Juan Sartori (PN), Mario Bergara (FA), Julio María Sanguinetti, Óscar Andrade (FA), Jorge Larrañaga (PN) y Edgardo Novick (Partido de la Gente).

Más análisis: ¿en qué los uruguayos (que participaron de Aquienvoto.uy) están “totalmente de acuerdo”? El sistema arrojó cuatro afirmaciones: “El foco del próximo gobierno debe ser mejorar la educación pública”; “Uruguay debería aprobar más leyes anti corrupción y ser más duro con los culpables”; “la separación de Estado y religión me parece importante” y “algunos sindicatos tienen demasiado poder”.

¿Y si se consulta en qué coincidieron los uruguayos según su desacuerdo? Las opciones son las siguientes: “La legalización del aborto fue un error”; “el gobierno no debe proteger la industria nacional; si las fábricas no son competitivas está bien que desaparezcan”; “Uruguay no necesita un ejército” y “Uruguay es demasiado generoso con los inmigrantes”.

Cotelo también analizó cuáles son las preguntas más polémicas; es decir, aquellas que tienen respuestas más repartidas. Estas son: “La pena de muerte debería ser una opción para los crímenes más serios”, “para los delitos más graves hay que bajar la edad de imputabilidad a 16 años”, “la legalización de la marihuana fue un error” y “la ley trans fue un error”.

Basado en reglas

El experto en Business Analytics también recurrió al algoritmo llamado Random Forest para analizar más a fondo Aquienvoto.uy. Para probar el modelo seleccionó aleatoriamente el 30% de los registros para luego filtrar las encuestas en las cuales la persona declaró ser votante del Frente Amplio, del Partido Nacional o del Partido Colorado. Así descubrió que de las 6.702 encuestas que se utilizaron para probar el modelo, casi un 71% fueron clasificadas correctamente.

Con otro modelo, basado en reglas, Cotelo encontró un par de ejemplos interesantes. Por ejemplo, si un usuario da un valor de 5 a “hay que reducir la cantidad de funcionarios públicos”, 3 a “los supermercados abusan del pueblo con sus precios excesivos”, 5 a “el foco del próximo gobierno debe ser mejorar la educación pública”, 4 a “la legalización del aborto fue un error”, 2 a “la legalización de la marihuana fue un error” y 2 a “Uruguay es demasiado generoso con los inmigrantes”, el resultado corresponderá a un votante del Partido Colorado. Por otro lado, si da un valor de 3 a “la ley trans fue un error”, 4 a “las fuerzas armadas deberían tener un rol activo en la seguridad pública” y 5 a “el campo es y debe ser el motor productivo de Uruguay”, el resultado corresponderá a un votante del Partido Nacional.