5.1 Reglas de Asociación en RM
Operador W-Apriori
Como se dijo previamente, este operador implementa el algoritmo Apriori de Weka que reduce iterativamente el soporte mínimo hasta que encuentra el número requerido de reglas con la confianza mínima dada.
Para el ejemplo que vamos a desarrollar insertemos los siguientes operadores y relaciones, teniendo en cuenta los parámetros para el operador W-Apriori.
Descargue el mismo archivo Golf.xls con el que habíamos trabajado en 3.1 Arboles de Decisión en RM
En el operador Read Excel, debemos seleccionar Import Configuration Wizard ..., ahí le indicamos el archivo Golf.xls que acabamos de descargar, elijamos la hoja Golf_Nominal (observe que todos los atributos son nominales), excluimos el atributo Nº y definimos el atributo Juega como label.
Resultados del Operador Apriori
Con los parámetros, tal como los colocamos (que eran los que venían por defecto) para el operador Apriori, para el DataSet que definimos obtuvimos información muy interesante:
-
El soporte mínimo.
-
La métrica de confidencia mínima.
-
El número de bucles realizados.
-
Los itemsets de los conjuntos mas grandes generados.
-
Y las dos mejores reglas con confianza igual a 1:
-
Si el ambiente es nublado y la temperatura es baja entonces corre viento.
-
Si la temperatura es alta y corre viento la humedad es alta.
Algo muy interesante, es que si en el parámetro T de W-Apriori colocamos 1 en lugar de cero cambiamos la métrica a utilizar, en vez de ser la Confianza de la Regla se utiliza el Interés o lift (esta es una métrica que habíamos visto previamente) y el resultado que se mostraría es el siguiente.
Observemos que en este caso cambia notablemente el resultado que obtenemos no solamente en las métricas iniciales, sino también en los itemsets de los conjuntos mas grandes generados en el conjunto de reglas obtenidas.
El lector debe ser lo suficientemente inteligente para cambiar los parámetros de los operadores, de modo que beneficien la tarea del científico de datos.
Operador FP-Growth
Este operador calcula de manera eficiente todos los conjuntos de elementos que ocurren con frecuencia en un ExampleSet, utilizando la estructura de datos de árbol FP.
Para el ejemplo que vamos a desarrollar insertemos los siguientes operadores y relaciones, teniendo en cuenta los parámetros para el operador FP-Growth, principalmente el soporte que es igual a 0.5 (un valor intermedio) y el número mínimo de ítems por itemset (en nuestro caso 3).
Recordatorio: este ejemplo ayuda para las compras en línea, muchas veces recibimos sugerencias como: "Los clientes que compraron el artículo X también compraron el artículo Y". Esta es un ejemplo de una regla de asociación. Para derivarlo, primero debemos saber qué artículos en el mercado coexisten con mayor frecuencia en las canastas de la compra de los clientes, y el algoritmo FP-Growth lo hace.
Descargue el mismo archivo Compras.xlsx.
En el operador Read Excel, debemos seleccionar Import Configuration Wizard ..., ahí le indicamos el archivo Compras.xlsx que acabamos de descargar, elijamos la hoja Golf_Nominal (observe que todos los atributos son numéricos), excluimos el atributo ID.
Resultados del Operador FP-Growth
Como vimos arriba todos los valores del DataSet Compras son numéricos y valen 0 o 1.
El operador FP-Growth trabaja solamente con valores nominales, es por eso que antes del operador FP-Growth insertamos el operador Numerical to Binominal.
Cuando ejecutamos nuestro modelo observamos en uno de los resultados que esos campos se convirtieron a valores binominales (true o false).
El resultado del operador FP-Growth nos informa la siguiente información:
-
El número de itemsets encontrados: 6.
-
El tamaño total del máximo: 4.
-
Los tamaños, el soporte y los ítems de los itemsets encontrados.
Observemos que es lo que ocurriría si cambiamos el parámetro Soporte a 0,75 (en el ejemplo ordenamos la tabla resultante por Soporte para mayor claridad) y el número mínimo de ítem por itemsets igual a 1.
Es muy interesante este "juego" de parámetros, porque obligadamente el científico de datos debe probar con ellos para llegar al resultado más conveniente.
Operador Create Association Rules
Este operador genera un conjunto de reglas de asociación a partir del conjunto dado de conjuntos de elementos frecuentes.
Como vimos las reglas de asociación son declaraciones si / entonces que ayudan a descubrir relaciones entre datos aparentemente no relacionados. Un ejemplo de una regla de asociación sería "Si un cliente compra huevos, es 80% probable que también compre leche". Una regla de asociación tiene dos partes, un antecedente (si) y un consecuente (entonces). Un antecedente es un elemento (o conjunto de elementos) que se encuentra en los datos. Un consecuente es un elemento (o conjunto de elementos) que se encuentra en combinación con el antecedente.
Las reglas de asociación se crean analizando los datos en busca de patrones frecuentes de si / entonces y utilizando el soporte de criterios y la confianza para identificar las relaciones más importantes. El soporte es una indicación de la frecuencia con la que aparecen los elementos en la base de datos.
Insertemos el operador Create Association Rules como se muestra arriba, con las relaciones y los parámetros indicados.
Podemos observar las reglas de asociación obtenidas (en el ejemplo ordenamos la tabla resultante por Soporte para mayor claridad) y podemos observar que si compra Leche compra Pan con 75% de soporte (o a la inversa), después el Soporte desciende a 0.5, por ejemplo para el caso Si compra Huevos y Leche compra Pan. Además obviamente de observar las otras medidas que nos brinda RM (confianza, LaPlace, etc).