Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Autor
Vı́ctor Machado Fernández
1
1. Problema Planteado: Reglas de Asociación sobre Datos de
la Compra
Considera el dataset en el fichero datos compras.csv, que contiene la cesta de la compra de
clientes de un supermercado. Realiza un estudio para determinar reglas de asociación que describan
correctamente las compras realizadas por los clientes. En base a los resultados obtenidos, ¿Qué estra-
tegias de marketing puede realizar el supermercado para incrementar las ventas? ¿Qué sugerencias
de compra se le pueden dar a ciertos cliente?
2
Se puede observar que el alimento más común es el agua mineral, por lo tanto, es probable que
aparezca en muchas de las reglas, ası́ como los espaguetis u otros alimentos y por contraparte, otros
como la crema, el spray de agua o los espárragos es muy poco probable que aparezcan (A no ser que
exista una relación muy directa entre ellos mismos y tengan una alta confianza).
3
2.5. Implementación del Algoritmo A Priori
Inicialmente podemos observar el código de ejecución del algoritmo A Priori, el cuál produce un
conjunto de resultados que almacenaremos en una lista. Utilizamos algunos valores mı́nimos para
descartar reglas poco relevantes. El algoritmo se ha utilizado de la siguiente manera:
Esta es una función sencilla que transforma los resultados obtenidos en un conjunto de datos
para su mejor visualización:
Utilizando esta función anteriormente mencionada, podemos clasificar los datos en un dataframe
y de ese dataframe convertirlos en un archivo csv para su mejor tratamiento y estudio.
4
3. Análisis de Resultados y Conclusiones
Una vez obtenidos los datos en el archivo output.csv, se ha realizado una transformación directa
a un archivo excel adjuntado a esta documentación (ReglasAsociacionObtenidas.xlsx).
De este archivo podemos observar las reglas de asociación obtenidas y sacar algunas conclusiones,
si vemos las reglas tal cuál han sido generadas no podemos sacar ningunas conclusiones muy precisas:
Pero si las ordenamos por la confianza (Confidence), la cuál ya hemos explicado anteriormente,
podemos observar que aparecen algunas reglas de asociación muy similares, como por ejemplo mu-
chos antecedentes comunes como los spaghetti como se observa en la imagen, pero sucede también
con alimentos como la leche o la ternera picada, por lo que podemos considerar esos alimentos tan
comunes en las compras en relaciones importantes, como por ejemplo la presencia de agua o aceite
en compras con espaguetis para poner esos alimentos cerca en el supermercado y aumentar aún más
su compra.
Fijándonos en la siguiente imagen, podemos ver las reglas de mayor soporte, las cuales indican
relaciones más frecuentes de alimentos, por ejemplo, podemos observar que es muy frecuente com-
prar hierbas y pimienta cuando se compra carne picada, y otros vegetales, entonces podemos pensar
5
poner la sección de las especias cerca de la carne.
Debido a lo frecuente que es la compra del agua, y su alta aparición en las reglas (Debido a su
frecuencia), serı́a interesante ponerla de fácil acceso para aumentar su compra o ponerla junto a una
sección que tenga las ventas bajas para intentar incentivarlas.
En la siguiente imagen se observan las reglas de asociación con mayor Lift, donde podemos en-
contrar algunos incluso cercanos a 8, dándole algo de calidad a las reglas, ya que indica que existen
menos tipos de instancias donde el antecedente y el consecuente aparecen separados pudiendo ası́
establecer relaciones más fuertes como que quien compre agua mineral y leche, comprará con bas-
tante más probabilidad algunos vegetales congelados y sopa. Podemos comprobarlo en la figura:
En conclusión, se han obtenido algunas reglas de asociación con las que se pueden sacar conclu-
siones y realizar estudios sobre las compras de los clientes para obtener datos y mejorar los resultados
de las ventas. Con este tipo de algoritmos con otros conjuntos de datos se pueden estudiar muchas
asociaciones para saber más cosas y tratar las situaciones de otra manera.
6
4. Intento con Frequent Pattern Growth
He implementado el algoritmo FPGrowth (Un derivado de A Priori) en Python como se puede
ver en el siguiente fragmento de código:
Pero las reglas que se han obtenido no son nada claras y aportan valores muy extraños como lifts
superiores a 700 y cosas ası́, puede que haya habido algún error en la implementación del algoritmo.