Reglas de Asociación en Weka Este documento muestra cómo establecer reglas de asociación en Weka usando como ejemplo los datos de un banco "bank.arff". El punto de inicio consiste en discretizar los datos usando los filtros de la pestaña de preprocesado de datos. La Figura 1 muestra la interfaz del explorador de WEKA después de abrir el archivo ("bank-data-final.arff"). Figura 1. Interfaz de Weka Seleccionando la pestaña "Associate" se muestra la interfaz para elegir los algoritmos para determinar las reglas de asociación. El algorimto elegido, por defecto, es el Apriori. Con el objeto de cambiar los parámetros del algoritmo (el soporte, la confianza, etc.) se posiciona el cursor en el cuadro de texto, a la derecha del botón “Choose”. El cuadro de diálogo para cambiar los parámetros se muestra en la Figura 2. Se puede presionar el botón "More" para ver una descripción de estos parámetros. Figura 2. Cuadro de diálogo para la especificación de parámetros WEKA permite que las reglas resultantes se ordenen de acuerdo con diferentes indicadores como la confianza, el apalancamiento (leverage), y la elevación (lift). En este ejemplo, hemos seleccionado la elevación como el criterio para determinar la validez de las reglas. Por otra parte, se ha fijado en 1,5 como el valor mínimo para la elevación (o mejora) que se calcula como la confianza de la regla dividida por el soporte del consecuente de la regla. En una forma simplificada, dada una regla L → R, la elevación es la relación entre la probabilidad de que L y R se presenten juntas y la multiplicación de las dos probabilidades individuales para L y R, es decir, Si el valor de la elevación es 1, entonces L y R son independientes. Cuanto más alto sea este valor, mayor será la probabilidad de que la existencia de L y R juntos en una transacción no es sólo una ocurrencia aleatoria, sino debido a una cierta relación entre ellos. En el ejemplo que se muestra en la figura 3 se está cambiando el valor por defecto de las reglas (10) a 100, lo que indica que el programa presentará un informe de no más de 100 reglas (en este caso, ordenados de acuerdo a los valores de elevación). El límite superior para el soporte mínimo se establece en 1,0 (100%) y el límite inferior en 0,1 (10%). El algoritmo Apriori en WEKA inicia con el límite superior del soporte y va disminuyendo de modo incremental (en incrementos del delta que por defecto se establece en 0,05 o 5%). La parada del algoritmo ocurre cuando se llegue al número especificado de reglas especificado o cuando se alcanza el límite inferior del soporte. La opción de prueba de la significación sólo es aplicable en el caso de la confianza y por defecto no se utiliza (-1,0). Figura 3. Cuadro de diálogo usando el indicador “lift” Una vez que los parámetros se han establecido, se pulsa el botón OK del cuadro de diálogo. Luego, en la ventana, en el lado izquierdo se pulsa el botón “Start” para ejecutar el algoritmo. Esto se traduce en un conjunto de reglas como se muestra en la Figura 4. Figura 4. Resultados del algoritmo Apriori El panel de la izquierda ("Result list") muestra ahora un elemento que indica el algoritmo que se ha ejecutado y el tiempo de ejecución. Se pueden llevar a cabo varias ejecuciones en la misma sesión cada vez con parámetros diferentes. Cada ejecución aparecerá como un elemento en el panel de lista de resultados. Al hacer clic en uno de los resultados de esta lista, se abrirán los detalles de la ejecución del algoritmo, incluyendo las reglas descubiertas en el panel de la derecha. Además, haciendo clic derecho sobre el conjunto de resultados nos permite guardar el resultado del búfer en un archivo separado. En este caso, se guarda el resultado en el archivo de banco de datos ar1.txt. Una parte de este archivo se muestra en la Figura 5: Figura 5. Archivo con resultados de la ejecución del algoritmo Apriori Se debe notar que las reglas se descubrieron acorde con los valores de umbral especificados para el soporte y la elevación. Para cada regla, se muestran las frecuencias de ocurrencia para el lado izquierdo y lado derecho de cada regla, así como los valores de la confianza, la elevación, el apalancamiento, y la convicción. Nótese que el apalancamiento y la elevación miden cosas similares, excepto que el apalancamiento mide la diferencia entre la probabilidad de co-ocurrencia de L y R y las probabilidades independientes de L y R como se muestra a continuación. En otras palabras, el apalancamiento mide la proporción de casos adicionales cubiertos por tanto L y R por encima de los esperados, si L y R son independientes el uno del otro. Por lo tanto, para el apalancamiento, los valores por encima de 0 son deseables, mientras que para la elevación se quieren valores superiores a 1. Finalmente, la convicción es similar a la elevación, pero mide el efecto del incumplimiento del consecuente de la regla. Por lo tanto, la convicción se estima como: En la mayoría de los casos, es suficiente centrarse en una combinación del soporte y la confianza o la elevación y el apalancamiento para medir cuantitativamente la "calidad" de las reglas. Sin embargo, el valor real de una regla de asociación, en términos de utilidad, es subjetiva y depende en gran medida del dominio y los objetivos de la organización o negocio. Traducción libre de: Association Rule Mining with WEKA. Disponible en: http://maya.cs.depaul.edu/classes/ect584/weka/associate.html Reglas de Asociación en Rattle Este análisis busca encontrar relaciones entre las variables de un conjunto de datos, lo cual es muy útil cuando se realizan clasificaciones u otras predicciones. El paquete Rattle brinda una interfaz muy sencilla para el descubrimiento de reglas de asociación, seleccionando la pestaña “Asociada” se encuentran las opciones disponibles para realizar dicho análisis. Esta es una interfaz muy sencilla de pocas opciones, donde aparece la caja de chequeo “Cestas” que si se activa, ejecuta un análisis de la canasta de mercado, relacionando objetos en lugar variables, en el cual solo existen dos columnas: una con el ID de la canasta y otra con el nombre del conjunto de ítems (itemset). El botón “Diagrama de frecuencia” presenta un gráfico con los ítemsets más frecuentes, basándose en el soporte de las reglas. En las opciones “Apoyo” (soporte) y “Confianza” se ingresan el valor mínimo de aceptación para una regla de asociación. Por lo tanto, solo se elegirán las reglas que tengan un soporte y una confianza igual o mayor que los valores especificados en estos campos. El el botón “Mostrar reglas” simplemente las muestra. Se debe tener en cuenta que los dos botones de esta interfaz solo funcionan después de haber oprimido el botón “Execute”. La interfaz para este análisis se muestra a continuación en la figura 32. Figura 1. Interfaz para encontrar reglas de asociación. A continuación se mostrarán los resultados arrojados por el paquete Rattle con un soporte y una confianza mínima de 0.5. En la primera parte se muestra un resumen sobre las reglas, donde se observa el número de reglas que en este caso son 20 y luego se muestran diversas estadísticas sobre el soporte, la confianza y la elevación (confianza de la regla dividida el soporte de la parte derecha de la regla) [8]. En la segunda parte, muestra información sobre la ejecución del algoritmo utilizado. Figura 2. Resultado arrojado por el algoritmo aprioiri. Al dar click en “Mostrar reglas” éstas se muestran de la siguiente forma: Figura 3. Reglas de asociación encontradas. Cada regla tiene su soporte, confianza y elevación (lift). Extractado (y levemente modificado) de: Trabajo de grado de Daniel Tuttle Ospina que está en la wiki.