Prototipo de software para la asociación de datos UDAssociate Tecn. Adriana Amaya Morales 1, Tecn. Martha Lucía Rodríguez 2, Ing. Jorge Enrique Rodríguez Rodríguez 3 RESUMEN UDAssociate es una herramienta para Minería de Datos, utilizada en la generación de reglas de asociación. Se presenta como un avance del proyecto de investigación Desarrollo de herramientas para Minería de Datos - UDMiner. El resultado de este desarrollo se basa en la generación de reglas de asociación booleanas, las cuales clasifican datos y permiten obtener conclusiones; dichas conclusiones se utilizan para apoyar a expertos en la toma de decisiones. La asociación se realiza mediante la implementación del algoritmo A priori, el cual se fundamenta en el hallazgo de conjuntos frecuentes. Normalmente, el aprendizaje de reglas de asociación se basa en su confidencia y soporte. El algoritmo en mención trabaja en la búsqueda de reglas que cumplan unos requisitos mínimos en estas dos medidas. Palabras clave: Algoritmo A priori, Confidencia, Minería de Datos, Reglas de Asociación, Soporte. 1 Tecnóloga en Sistematización de Datos de la Universidad Distrital Francisco José de Caldas 2 Tecnóloga en Sistematización de Datos de la Universidad Distrital Francisco José de Caldas 3 Ingeniero de Sistemas. Especialista en Telemática. Especialista en Ingeniería de Software. Magíster en Ingeniería de Sistemas. Profesor de la Universidad Distrital Francisco José de Caldas. email: jrodri@udistrital.edu.co Fecha de recepción: mayo 30 de 2005 - Fecha de aceptación: agosto 26 de 2005 567
SUMMARY UDAssociate is a Data Mining application. This realizes an association process about the information that the user need. The analysis result is showed in boolean rules form. The rules are for classify product the information and let get out useful conclusions in more knowledge areas. This task is making for the A priori algorithm that produce itemset and frequents itemset in all the iterations. The criterions used in this process are the support and the confidence proportion for the Miner (user). They are the givens of truthfulness and confidence to de results given for de application. Keywords: A priori Algorithm, Association Rules, Confidence, Data Mining, Support. INTRODUCCIÓN La Minería de Datos ha surgido del análisis de grandes volúmenes de información, con el fin de obtener resúmenes y conocimiento que apoye la toma de decisiones y pueda construir una experiencia a partir de los miles de transacciones que registra una empresa en sus sistemas informáticos (De Moya, 2003). En la práctica, los modelos de minería pueden ser de dos tipos: predictivos y descriptivos. Los modelos predictivos pretenden estimar valores futuros o desconocidos de variables de interés, llamadas variables objetivo, usando otras variables, denominadas variables predictivas (Hernández, 2004). Los modelos descriptivos determinan patrones que resumen los datos, es decir, exploran las propiedades de los datos examinados. Las tareas de asociación, correlación y agrupamiento dan lugar al modelo descriptivo. 568 La tarea de asociación se lleva a cabo a través de las reglas de asociación, las cuales son una de las mejores técnicas de Minería de Datos y tal vez la más común en el descubrimiento de patrones en sistemas de aprendizaje no supervisado (Kantardzic, 2003). El aprendizaje de reglas de asociación se basa en su confidencia y soporte, los algoritmos de aprendizaje trabajan en la búsqueda de reglas que satisfagan los parámetros de mínimo soporte y confidencia. Dado el gran volumen de datos de los problemas con el que los algoritmos de apren-
dizaje de reglas de asociación trabajan, la tarea de buscar patrones que cumplan estos requisitos puede parecer muy costosa computacionalmente, ya que el análisis de los conjuntos de ítems crece notablemente con respecto al número de variables de los datos. Sin embargo, en los casos reales existen pocos conjuntos frecuentes y los métodos que existen con una confidencia mínima se benefician de este hecho. Por ejemplo, la mayoría de los clientes de un supermercado suelen comprar un número bastante limitado de productos. Un algoritmo de aprendizaje de reglas de asociación es el algoritmo A priori. El funcionamiento de este algoritmo se basa en la búsqueda de los conjuntos de ítems con determinado soporte. Para ello, en primer lugar se construyen los conjuntos formados por un solo ítem, que superan el soporte mínimo. Este conjunto de conjuntos se utiliza para construir el conjunto de conjuntos de dos ítems, y así sucesivamente hasta que obtenga un tamaño en el cual no existan conjuntos de ítems con el soporte requerido (Hernández, 2004). La mayoría de las técnicas de asociación necesitan una métrica adecuada para poder extraer el grado de dependencia que existe entre las variables asociadas a un conjunto de datos. Hay trabajos donde se han evaluado y comparado diferentes medidas de reglas de asociación, unas que provienen del campo de la estadística y otras definidas de forma específica en Minería de Datos para la evaluación de reglas obtenidas en un entorno educativo mediante algoritmos de programación genética en gramáticas (Hervas-Martínez, 2004). Una de las tareas de la Minería de Datos, como se ha mencionado, es la asociación; con este desarrollo, entre otros, se busca cumplir con uno de los objetivos del proyecto de investigación UDMiner, y de esta forma dar un aporte en cuanto a desarrollo 4 se refiere, a niveles local y nacional. En este artículo encontrará una introducción a las reglas de asociación, la importancia de las reglas de asociación en la toma de decisiones, cómo se desarrolló y cómo funciona UDAssociate, pruebas y análisis de resultados, y las conclusiones de la investigación (proyecto de desarrollo). 4 El desarrollo de esta herramienta está basado en la implementación de técnicas existentes para Minería de Datos 569
1 REGLAS DE ASOCIACIÓN Las reglas de asociación son una de las mejores tareas de la Minería de Datos y tal vez, la más común desde el punto de vista de descubrimiento de patrones en sistemas de aprendizaje no supervisado (Kantardzic, 2003). La asociación es una tarea muy similar a la correlación, que tiene como objetivo identificar relaciones no explícitas entre atributos categóricos (Hernández, 2004). Las reglas de asociación son una manera de expresar patrones de datos de diferentes fuentes. Estos patrones sirven para conocer el comportamiento general del problema que genera la fuente de datos, y de esta manera tener más información que pueda asistir en la toma de decisiones. Las principales aplicaciones son: análisis de mercado, estudio de textos, búsqueda de patrones en ambientes WEB, etc. Estas aplicaciones comúnmente tienen asociado gran volumen de datos, por lo que la eficiencia y el costo computacional son factores clave en el aprendizaje de reglas de asociación. Qué papel juegan las reglas de asociación en el contexto de Minería de Datos? Las reglas de asociación se derivan de un tipo de análisis que extrae información por coincidencias; el análisis permite descubrir correlaciones o co-ocurrencias en los sucesos de la base de datos por analizar y se formaliza en la obtención de reglas de tipo sí... entonces..., las cuales se convierten en un punto importante de apoyo para el descubrimiento de conocimiento a partir de la información analizada (Agrawal, 2000). Qué es una Regla de Asociación? Para explicar este término se utilizará un ejemplo. La Gerencia de Mercadeo de DISTCOL 5, desea dar respuesta al siguiente interrogante: Cuáles son los productos que más compran sus clientes? Para responder a esta pregunta puede hacerse un estudio de mercado acerca de los productos que los clientes compran al detal, empleando sus resultados para adoptar un plan de mercadeo o plantear una estrategia, por ejemplo, diseñar el catálogo de electrodomésticos que la compañía ofrece. En forma premeditada, los productos que frecuentemente compran los clientes pueden ser ubicados en sitios algo distantes, mientras que aquellos produc- 5 DISTCOL de Colombia es una empresa cuya misión es la comercialización de electrodomésticos 570
tos que se venden con poca frecuencia se localizarán en sitios más próximos a la vista de los clientes. Si los clientes compran computadores y a la vez se inclinan por la compra de software financiero, entonces el sitio donde se ubique el hardware puede ayudar a incrementar las ventas del software: los clientes que escojan un computador observarán en la vitrina un software contable que despierte también su interés (Demoya, 2003). La información referente a los productos que compran los clientes, puede ser representada a partir de una regla de asociación, como sigue: Si compra computador entonces compra software contable [Soporte = 2%, Confidencia = 60%] (Regla 1) El soporte y la confidencia son dos criterios de medida interesantes que reflejan, respectivamente, la utilidad y certeza de la regla. Un soporte del 2% indica que este porcentaje de todas las transacciones bajo análisis muestran que el computador y el software contable son comprados conjuntamente. Una confidencia del 60% muestra que este porcentaje de los clientes que compran computadores adquieren también software contable. Las reglas de asociación son apropiadas si satisfacen el valor del mínimo soporte (min_sop) y de la mínima confidencia (min_conf). El soporte y la confidencia para la regla si A entonces B está dada por: soporte(a B) = P(A U B) (Ecuación 1) confidencia(a B) = P(B A) = soporte(a U B ) / soporte(a) (Ecuación 2) El soporte de una regla dice qué tan a menudo es aplicable esta regla. En muchos casos, las reglas con bajo soporte no son de interés, esta suposición es un hecho asumirla en la definición de la búsqueda de reglas de asociación. La precisión de una regla no es necesariamente un buen indicador. Por ejemplo, considere una aplicación médica donde la regla obtenida indica que el embarazo implica que el paciente sea una mujer con una exactitud del 100%. Una regla con una precisión del 100% puede ser tan interesante como una regla con un 0% de exactitud (Hand, 2001). 571
El interés debe centrarse en el descubrimiento de reglas que tienen un alto soporte; por lo tanto, independientemente de donde surjan, se buscan pares atributo-valor que cubran gran cantidad de instancias. Ellos se conocen como ítemsets, y cada par atributo-valor como ítem. Si un ítemset satisface el min_sop, entonces se le llama ítemset frecuente. La respuesta a la pregunta: cómo se encuentran reglas de asociación para la minería de datos?, se encuentra en la ejecución de dos pasos: Hallar todos los ítemsets frecuentes. Generar los valores de las reglas de asociación a partir de los ítemsets frecuentes. Las reglas de asociación pueden ser clasificadas en varios grupos, de acuerdo con los siguientes criterios: Con base en los tipos de valores que manejan las reglas: si una regla se refiere a asociaciones entre la presencia o ausencia de un ítem, se trata de una regla de asociación booleana (este tipo de reglas son las empleadas en UDAssociate). La Regla 1, presentada anteriormente, es de este tipo. Si una regla describe asociaciones entre ítems cuantitativos o atributos, entonces se dice que es una regla de asociación cuantitativa; para mayor información remítase a Demoya 2003. Con base en las dimensiones de datos que involucra una regla: si en los ítems o atributos de una regla de asociación se referencia sólo en una dimensión, se trata de una regla de asociación de dimensión simple. Al reescribir la Regla 1 se tiene: compra(x, computador ) compra(x, software contable ) (Regla 2) 572 La Regla 2 es de dimensión simple porque referencia solo una dimensión: la compra. Si se referencian dos o más dimensiones, se dice que es una regla de asociación multidimensional, como por ejemplo la Regla 3.
Con base en los niveles de abstracción que involucra la regla: algunos métodos para encontrar reglas de asociación pueden descubrir reglas con diferentes niveles de abstracción. Por ejemplo, las reglas 3 y 4, son reglas de esta categoría. edad(x, 20 30 ) compra(x, computadores portátiles ) (Regla 3) edad(x, 20 30 ) compra(x, computadores ) (Regla 4) En este artículo sólo se especifica acerca de reglas de asociación boolenas; los demás grupos de reglas, serán tratados en trabajos futuros. A continuación se mencionan algunos aspectos acerca de la importancia de las reglas asociación para el apoyo a la toma decisiones: La clasificación ayuda a descubrir un conjunto de reglas en una base de datos para formar un clasificador con un determinado margen de error. Las reglas de asociación encuentran todas las reglas existentes en una base de datos que satisfacen algunas restricciones con mínimo soporte y mínima confidencia. Para una regla de asociación el objetivo a descubrir no está predeterminado, este se descubre mediante la experimentación y la generación de las reglas. Los sistemas que generan reglas de asociación son particularmente valiosos para aplicaciones en las cuales la precisión y la comprensión de los modelos generados son importantes, esto se logra gracias al manejo del soporte y la confidencia. Del mismo modo, se destacar su fácil comprensión e interpretación por parte del minero, dado que utilizan un lenguaje de descripción de ejemplos de la forma sí... entonces.... Otro aspecto a contemplar es la Minería de Datos Indirecta 6, la cual es muy importante cuando se implementa en grandes conjuntos de datos y se desconoce el orden de estos. En este sentido, las reglas de asociación son 6 La Minería de Datos Indirecta realiza preguntas para identificar patrones en los datos, que pueden ser significativos. 573
una técnica apropiada para obtener y analizar datos, brindando resultados claros (Berry, 1997). Las reglas de asociación pueden tomar datos con longitud variable, sin necesidad de resumirlos 7 y permiten tomar transacciones sin ser necesaria más información. Otras tareas, como clasificación y clustering, requieren de formatos específicos, sin embargo esta no es una manera natural de presentar los ítems en una transacción. El costo computacional empleado por las reglas de asociación es simple, pero este costo aumenta rápidamente con el número de transacciones y el análisis de ítems diferentes. Los problemas pequeños pueden trabajarse en una hoja de cálculo. Esto hace que las reglas de asociación sean más cómodas de utilizar, por ejemplo, frente a los algoritmos genéticos o a las redes neuronales artificiales (Berry, 1997). Comparando reglas de asociación frente a árboles de decisión, la ventaja de las reglas de asociación con respecto a este tipo árboles, es que el análisis de asociación puede existir en cualquiera de los atributos de una base de datos. Los algoritmos de árboles de decisión pueden generar reglas con solo una conclusión; por consiguiente se destaca el esfuerzo de los algoritmos de asociación para generar reglas con múltiples conclusiones (Mena, 1999). Por otro lado, existen estudios y desarrollos alternativos en los cuales se han combinado reglas de asociación con lógica difusa para determinar el grado de soporte y de confidencia; a esta combinación se les ha denominado reglas de asociación difusas (Ortiz, 2004). 2 POR QUÉ UDASSOCIATE? UDAssociate se desarrolló con el fin de investigar e indagar en un tema relativamente nuevo en nuestro medio (Colombia) y de brindar a futuro una solución fiable al problema que representa el manejo y clasificación de grandes 7 El resumen de datos en Minería de Datos, se refiere a aplicar alguna tarea de sumarización. 574
volúmenes de datos, sin que esto genere complicaciones o dificultades para las organizaciones. Esta herramienta es importante, por un lado, en empresas dedicadas al análisis de mercado (por ejemplo, cadenas de almacenes), y por otro, en la academia, dado que puede ser utilizada en cursos de Minería de Datos para explicar o abordar la tarea de asociar datos. Se manejan reglas de asociación porque, en primer lugar, es un modelo relativamente fácil de interpretar para las personas (directivos, jefes de departamento, gerentes) que toman decisiones y de implementar para los desarrolladores de software. En segundo lugar, porque estas ofrecen resultados confiables debido a la incorporación del algoritmo A priori y al grado de veracidad que este implica, ya que realiza una búsqueda exhaustiva 8 dentro de los datos para generar reglas claras que satisfagan las necesidades del usuario. Las herramientas desarrolladas en Colombia para Minería de Datos son limitadas 9 ; con UDAssociate se busca ofrecer una herramienta funcional en el ámbito académico, dejando abierta la posibilidad de que las organizaciones interesadas amplíen su desarrollo, y la puedan utilizar para el apoyo a la toma de decisiones en algunas de las tareas que realicen. Otra característica importante en este desarrollo es ampliar el campo de aplicación de la Minería de Datos, concretamente la tarea de asociación, pues actualmente la principal implementación de las reglas de asociación se encuentra en el análisis de mercado. 3 CÓMO SE DESARROLLÓ UDASSOCIATE? Uno de los procedimientos comúnmente utilizados en la asociación de datos es el algoritmo A priori (tabla 1). El objetivo de los algoritmos de búsqueda de reglas de asociación, es encontrar todas las reglas que satisfacen la condición de confidencia y soporte mínimo, dada por el minero. Esto es necesario por 8 Se recomienda manejar con cautela este tipo de búsqueda, dado que su costo computacional puede llegar a ser muy alto, dependiendo de la cantidad de datos a minar. 9 La mayoría de desarrollos locales y nacionales se han dado en el ámbito académico; sin embargo no se desconoce el esfuerzo que algunas empresas de software ha hecho en construir herramientas en esta área. 575
cuanto si no es así la búsqueda se haría exhaustiva, encontrándose al final una explosión en el número de reglas generadas. El algoritmo A priori satisface los requerimientos de las grandes bases de datos y de hecho se ha convertido en referencia obligada en esta área; éste consta de dos pasos (Han, 2001): Encontrar todos los conjuntos frecuentes de ítems, es decir, todos aquellos subconjuntos que cumplen con la condición soporte mínimo soporte. Usar los conjuntos frecuentes de ítems obtenidos para generar reglas que cumplan con la condición confidencia = mínima confidencia. Con base en lo anterior, pueden surgir dos preguntas: - cómo formar conjuntos candidatos?, y - cómo hallar los candidatos frecuentes?. El primer interrogante es fácil de resolver de una forma satisfactoria. Suponga que tiene una colección de conjuntos frecuentes L i, y desea hallar todos los conjuntos Y de tamaño i+1 que posiblemente puedan ser frecuentes; esto es, todos los subconjuntos Y son frecuentemente apropiados. Esto se puede hacer encontrando todos los pares {U, V} de conjuntos a partir de L i, tales que la unión de U y V tienen tamaño i+1, y con esto se prueba que la unión es realmente un candidato potencial. Hay menos conjuntos L i 2 que conjuntos L i, y para cada uno de ellos se tiene que examinar si se presenta otro conjunto L i. El orden de complejidad en el peor de los casos es aproximadamente O(n 3 ), para un tamaño L i. En la práctica el algoritmo se ejecuta en un tiempo lineal con respecto a un tamaño L i (Hand, 2001). 576 Dado un conjunto de candidatos C i, su frecuencia puede ser evaluada en sólo un paso a través de la base de datos. Simplemente se guarda un contador para cada candidato y se incrementa el contador para cada registro (fila) que contenga el candidato. El tiempo computacional empleado para el candidato C i es O( C i np), si la prueba es implementada de manera trivial. Adicionalmente, pueden utilizarse técnicas estructuradas para agilizar el proceso. El tiempo computacional total utilizado para encontrar los conjuntos frecuentes es ( ) i i np O C el cual es proporcional al producto del tamaño de
los datos (np) y el número de conjuntos que son candidatos sobre cualquier nivel. El algoritmo necesita k ó k+1 pasos a través de los datos, donde k es el número de elementos en el conjunto frecuente más grande (Hand, 2001). Existen algunas variantes del algoritmo básico de reglas de asociación. Los métodos comúnmente se orientan hacia uno o más de los siguientes tres objetivos: - minimizar el número de pasos a través de los datos, - minimizar el número de candidatos que se desean examinar, y minimizar el tiempo computacional requerido para calcular la frecuencia de los candidatos. En resumen, el algoritmo a priori se basa en que si un conjunto de ítems cumple con la condición de soporte mínimo, entonces todo subconjunto de este también la cumplirá, en realidad se usa el contra-recíproco, cuando se obtiene un conjunto de ítems se examina si todos los subconjuntos de éste, medidos en la iteración anterior cumplen con la condición de mínimo soporte; si se encuentra alguno que no la cumple se puede concluir, «A priori», que dicho conjunto no la cumplirá y por tanto no es necesario medirlo. Tabla 1. Algoritmo A priori (Demoya, 2003) Algoritmo: A priori. Encuentra los ítemsets frecuentes. Entradas: Transacciones de una base de datos D; min_sop Salidas: L, ítemsets frecuentes de la base de datos D. Método: (1) L 1 = encontrar_1-ítemsets_frecuente(d); (2) Para (k=2; L k-1 ¹Æ; k++){ (3) C k = generar_a priori(l k-1, min_sop); (4)Para cada transacción t Î D{ // examinar D para el contador (5)C t = subconjuntos(c k-t ) // obtener los subconjuntos t que son candidatos (6) Para cada candidato c Î C t (7) c.contador++ (8) fin-para (9)L k = {c Î C k c.contador ³ min_sop} (10) fin-para (11) retornar L = U k L k ; 577
función generar_a priori(l k-1 : (k-1)-ítemsets frecuentes; min_sop : mínimo soporte) (1) Para cada ítemset l 1 Î L k-1 (2)Para cada ítemset l 2 Î L k-1 (3)Si (l 1 [1] = l 2 [1] Ù (l 1 [2] = l 2 [2]) Ù Ù ( l 1 [k-2] = l 2 [k-2]) Ù (l 1 [k-1] < l 2 [k -1])) Entonces{ (4 )c = l 1 X l 2 ; //generar candidatos (5) Si subconjunto_infrecuente(c, L k-1 ) Entonces (6) eliminar c; (7) Si No (8) adicionar c a C k (9) fin-para (10) retornar C k ; función subconjunto_infrecuente(c : k-ítemset candidato; L k-1 : (k-1)-ítemset frecuente) (1) Para cada (k-1)-subconjunto s de c (2) Si (s Ï L k-1 ) Entonces (3) retornar Verdadero; (4) retornar Falso; Por otro lado, se utilizó la metodología de desarrollo de software orientada a objetos PUD (Proceso Unificado de Desarrollo), se trabajó la notación UML 10 (Booch, 1999). Se seleccionó para la codificación el lenguaje de programación Java versión J2SE (Java Second Standard Edition) por ser un lenguaje de programación orientado a objetos y multiplataforma; característica que lo hace sobresalir con respecto a otros lenguajes de programación. Para ilustrar más claramente las tareas que realiza UDAssociate, se muestra el diagrama de casos de uso (figura 1). En este se plasma fundamentalmente la tarea de asociación, de la siguiente forma: 10 Lenguaje de Modelado Unificado. 578
Cargar Datos Cargar Reglas Preprocesar Minero C onfigurar <<include>> Generar Itemset Asociar <<include>> Generar Itemset Frecuente <<include>> Ge nerar Reglas M ostrar Reglas <<extends>> M ostrar Arbol Guardar Resu ltados Figura 1. Modelo de casos de uso La generación de ítemsets, se hace a partir de la determinación del mínimo contador de soporte para cada transacción 11. La obtención de ítemsets frecuentes selecciona las transacciones que cumplen con el mínimo contador de soporte, descartando las que no cumplen. La generación de reglas se deduce con base en el último conjunto de ítemsets frecuentes. Obtenidas las reglas, se seleccionan aquellas que igualen o sobrepasen la mínima confidencia, dada por el minero, y finalmente se presentan al usuario (experto en un área) para apoyar de esta forma la toma de decisiones. 11 Cada transacción se representa por cada uno de los registros o muestras contenidas en la base de datos. 579
4 CÓMO FUNCIONA? Antes de iniciar con la explicación del proceso de asociación, se dan algunas especificaciones de los requerimientos de software y la forma de instalar UDAssociate, estos son: - el software desarrollado es multiplataforma (Windows, Unix, Linux, ), por tanto el único requisito es tener instalada la máquina virtual de JAVA, - la instalación consiste en copiar el archivo con extensión *.JAR y los archivos de ayuda. Por otro lado, se recomienda que las especificaciones mínimas del computador a utilizar sean: - Pentium IV, y - 256 MB en memoria RAM. Una vez se haya instalado el software, se puede iniciar con la utilización de éste. A continuación se explica brevemente cómo funciona: UDAssociate maneja archivos con extensión *.ENT (tipo texto), el archivo no requiere formato alguno ni discriminación de los datos, se maneja un número ilimitado de transacciones y estas a su vez no requieren una cantidad de ítems 12 igual. Se aclara que el generar reglas de asociación no implica búsqueda de resultados dirigidos a una clase en particular, por tanto no es necesario asignar un atributo con esta finalidad. Para el proceso de obtención de reglas, como se ha mencionado, UDAssociate implementa el algoritmo A priori, realizando una búsqueda exhaustiva 13. El proceso implica, en primera instancia la generación de un conjunto de ítemsets (figura 2), luego se obtienen los ítemsets frecuentes, seleccionados con base en el criterio del contador mínimo de soporte. Obtenidos los ítemsets frecuentes, se generan las reglas, a partir de la medida de confidencia, como se describe en el numeral 1. En la figura 3 se muestran algunas reglas obtenidas de un conjunto de datos compuesto por 400 transacciones, cada una con máximo 10 ítems. Para este ejemplo, se estableció un contador de soporte mínimo de 30% y una confidencia de 60%. 12 Los ítemes incluidos en cada transacción deben ser de tipo nominal; para casos en los que se encuentren datos de tipo numérico, existen dos opciones: - eliminar este ítem ó aplicar discretización, durante la fase de preprocesamiento. 13 La búsqueda exhaustiva se realiza por todo el espacio de un problema. 580
Finalmente, el minero (gerente, jefe de ventas, directivo, ) utiliza las reglas con mayor grado de confidencia para apoyar la toma de decisiones del área en cuestión. Figura 2. Proceso de obtención de ítemsets. Figura 3. Obtención de reglas a partir del índice de confidencia mínima 581
5 PRUEBAS Y ANÁLISIS DE RESULTADOS Las pruebas se realizaron comparando los resultados generados por UDAssociate con los generados por las herramientas WEKA 14 Y CBA 15. Los datos utilizados en las pruebas se tomaron del repositorio de www.datalab.uci.edu/data/mldb-sgi/data/ PRUEBA 1 Esta prueba se realizó con el archivo propuesto por HAN (tabla 2). Es un ejemplo sencillo y general, consta de 4 atributos y 9 transacciones. Tabla 2. Conjunto de patrones (tomado del libro Han, 2001) p1 p2 P5 p2 p2 p4 p3 p1 p2 P4 p1 p2 p1 p3 p3 p3 p1 p2 P3 p5 p1 p2 P3 Para este proceso se utilizó, como parámetros de soporte y confidencia, un 20% para cada medida. Los resultados obtenidos son: - con relación al tiempo (figura 4), tanto WEKA como UDAssociate emplearon el mismo tiempo, - en cuanto a los ítemsets frecuentes (figura 5) generados, se observa que WEKA y CBA generan el mismo número. UDAssociate genera 13 ítemsets frecuentes 14 Entorno para el análisis de conocimiento WAIKATO, desarrollada en la Universidad de Nueva Zelanda 15 Clasificación basada en asociación, desarrollada en la Universidad de Singapur 582
que son los que realmente se deben generar 16, - las reglas generadas se observan en la figura 6, se aclara que CBA sólo produce hasta los ítemsets frecuentes, por tal razón no genera reglas; del mismo modo, UDAssociate genera más reglas que WEKA, pues como se menciona antes, UDAssociate obtiene más ítemsets frecuentes. Figura 4 Gráfica de tiempo para el archivo HAN 2 1.5 1 0.5 Weka CBA UDAssociate 0 Tiempo en Segundos Figura 5 Gráfica de ítemsets frecuentes para el archivo HAN 13 11 9 7 5 3 1 Itemsets Frecuentes Weka CBA UDAssociate Items que se Deberian Generar Figura 6 Gráfica de reglas para el archivo HAN 25 20 15 10 5 Weka CBA UDAss ociate 0 Reglas Generadas PRUEBA 2 Los datos utilizados son del archivo ZOO, este contiene los atributos de clasificación de especies animales (por ejemplo, plumas, nombre del animal, huevos, leche, alas, acuático, depredador, ). Consta de 17 atributos y 101 16 Este número de ítemesets frecuentes se corroboró con una prueba de escritorio, obteniendo los mismos 13 ítemesets frecuentes generados por UDAssociate, también se corrobora con los datos suministrados por HAN 2001. 583
transacciones. Tanto para el soporte como para la confidencia se utilizó un 50%. En la figura 7 se observa que el tiempo empleado por UDAssociate es superior al de las dos herramientas en mención, aunque la diferencia es mínima. Las figuras 8 y 9 muestran que el comportamiento de UDAssociate y WEKA es el mismo; mientras que, al igual que en las demás pruebas, CBA no genera reglas. Figura 7 Gráfica de tiempo para el archivo ZOO 2,5 2 1,5 1 0,5 Weka CBA UDAs s ociate 0 Tiempo en Segundos Figura 8 Gráfica de ítems para el archivo ZOO 201 151 101 51 Weka CBA UDAssociate 1 Itemsets Frecuentes Items que se Deberian Generar PRUEBA 3 La tercera prueba se realizó con el archivo ASSOCSAM, en el que se almacenan datos de aleaciones (color, textura, compuestos químicos, ). Este archivo tiene 39 atributos y 898 patrones. Se probó con un soporte del 90% y una confidencia del 90%. En este ejemplo se observa que el comportamiento (figuras 10, 11, 12) de las 3 herramientas es igual en cuanto a la generación de ítemsets frecuentes y reglas, salvo las reglas generadas por CBA. 584
Figura 9 Gráfica de reglas para el archivo ZOO 1200 1000 800 600 400 200 0 Reglas Generadas Wek a CBA UDAssociate Las 3 herramientas utilizan para asociación el algoritmo A priori, el cual se basa en la generación de ítemsets frecuentes, condicionado por las medidas de soporte y confidencia. Sin embargo WEKA utiliza otras medidas, como son: una constante delta, un parámetro de convicción, mínimo y máximo contador de soporte, y permite definir el número de reglas a generar. Por lo anterior, en algunos ejemplos los resultados difieren en cierta medida con respecto a los resultados generados por UDAssociate. Figura 10 Gráfica de tiempo para el archivo ASSOCSAM 2 1.5 1 0.5 Weka CBA UDAss ociate 0 Tiempo en Segundos Figura 11 Gráfica de ítemsets frecuentes para el archivo ASSOCSAM 9 8 7 6 5 4 3 2 1 ítemsets frecuentes Weka CBA UDAssociate Items que se Deberian Generar 585
Figura 12 14 12 10 8 6 4 2 0 Gráfica de regla para el archivo ASSOCSAM Weka CBA UDAssociate Reglas Generadas 6 CONCLUSIONES El campo de aplicación de las reglas de asociación no se ve restringido a una sola área del conocimiento 17, porque puede ser implementada en las telecomunicaciones, en la medicina, en marketing, etc. La finalidad de las reglas es encontrar soluciones respecto a la clasificación de información; razón por la cual se puede afirmar que la herramienta desarrollada es de propósito general, desde el contexto de la Minería de Datos. Los potenciales usuarios de UDAssociate, están dados por gerentes, jefes de cartera, analistas de mercadeo, entre otros. Sin embargo, esta herramienta se puede utilizar en cursos de Minería de Datos, ampliando de esta forma los usuarios beneficiados. Con base en las pruebas hechas y en la teoría existente, se concluye que el orden de complejidad del algoritmo A priori depende de la cantidad de datos y de la relación que existe entre ellos. Por consiguiente, se recomienda utilizar un hardware con buenas características, dado que cuando se trate con problemas con un alto número de transacciones, la complejidad computacional se incrementa notablemente. 586 Se destaca la construcción de este software como un avance de investigación al proyecto UDMiner, y un aporte al desarrollo de este tipo de herramientas en el ámbito colombiano; sin desconocer las herramientas existentes. 17 La mayor aplicación de las reglas de asociación se ve inclinada hacia áreas relacionadas con el análisis de mercadeo.