Recientemente he tenido que profundizar en el uso de algoritmos de reglas de asociación para mejorar el entendimiento de ciertos conjuntos de datos. Todo ello mediante la búsqueda de patrones que permitieran mejorar la calidad del resultado.
Pero, ¿qué son las reglas de asociación?
Son aquellas que nos permiten encontrar concurrencias lo suficientemente significativas entre grupos de variables. Un ejemplo práctico sería, identificar el grado de concurrencia entre grupos, a través del consumo musical de los usuarios de una plataforma de música en streaming.
En este caso, como ya he comentado antes, tendremos una serie de registros de los usuarios indicando: el identificador del usuario, el nombre del artista escuchado, el sexo y pais del usuario.
Es buena práctica que siempre que te enfrentas a un dataset, realizar un conjunto básico de tareas de estadística descriptiva para poder averiguar algo más, como por ejemplo cuantos grupos musicales se han incluido y cuál es el más escuchado.
Como resultado, vemos que existe un total de 1.004 grupos distintos y que el grupo que más veces se repite es Radiohead, con un total de 2.704 ocasiones (seguro que es por su canción ‘Creep’)
A continuación, realizamos la misma tarea sobre los campos “sexo” y “país”. De este modo podemos aumentar nuestra información sobre el dataset. Lo resultados fueron los siguientes:
Claramente el sexo de los usuarios de esta plataforma es masculino y por país, vemos que Estados Unidos en el que más se repite con un total de 59.558 ocasiones, existiendo 159 países distintos en el dataset.
¡IMPORTANTE! El paso fundamental del proceso de modelaje, es la binarización. Que viene a ser la transposición del conjunto de grupos respecto de los usuarios, asignando 0 o 1 para “no escuchado” o “escuchado” respectivamente.
A partir de ahí, es cuando utilizamos el algoritmo apriori de la librería MLXTEND. Para construir el modelo de reglas de asociación sobre el conjunto binarizado. Al final nos devuelve un conjunto de valores que explicaré a continuación:
- Support, el soporte es la frecuencia relativa en que aparecen las reglas. En muchos casos, es posible que desee buscar un soporte alto para asegurarse de que sea una relación útil. Sin embargo, puede haber instancias en las que un soporte bajo sea útil si está tratando de encontrar relaciones «ocultas».
- Confidence, la confianza es una medida de la fiabilidad de la regla. Una confianza de .497115 en el ejemplo significaría que en casi el 50% de los casos donde se escuchó a Bob Dylan, el usuario también escuchó a los Beatles. Para la recomendación musical, una confianza cercana al 50% puede ser perfectamente aceptable, pero en una situación sanitaria, este nivel puede no ser lo suficientemente alto.
- Lift, la elevación es la relación entre el soporte observado y el esperado si las dos reglas son independientes. La regla básica es que un valor de elevación cercano a 1 significa que las reglas fueron completamente independientes. Los valores de elevación > 1 son generalmente más «interesantes» y podrían ser indicativos de un patrón de regla útil.
Siguiendo con nuestro análisis, si ahora ordenáramos por valor de confianza para tomar los 10 mejores resultados obtendríamos:
CONCLUSIÓN
Las reglas de asociación son muy utilizadas en proyectos de recomendación de productos y servicios. Como hemos podido observar, analizando el gusto musical de los usuarios, a través del consumo de música en la plataforma, hemos podido obtener un conjunto de reglas de asociación que nos sirven para poder enviar una comunicación comercial a un fan de los Beatles como:
“Bob Dylan lanzará su nuevo recopilatorio el próximo sábado, y lo podrás escuchar en exclusiva en nuestra plataforma”
Alberto Alonso Marcos
Business Intelligence Architect | Soluciones Microsoft | SOGETI España
0 comments on “Janis, Bruce y Beatles. Definiendo las reglas de asociación”