Prototipo de software para la asociación de datos UDAssociate



Documentos relacionados
Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Figure 7-1: Phase A: Architecture Vision

Elementos requeridos para crearlos (ejemplo: el compilador)

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Inteligencia de Negocio

PREPROCESADO DE DATOS PARA MINERIA DE DATOS

El Cliente y El Ingeniero de Software

PERFIL DEL PUESTO POR COMPETENCIAS Sepa cómo construirlo y evitar bajos desempeños posteriores

ANÁLISIS DE DATOS NO NUMERICOS

DE VIDA PARA EL DESARROLLO DE SISTEMAS

SISTEMAS DE INFORMACIÓN I TEORÍA

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

activuspaper Text Mining and BI Abstract

1. INTRODUCCIÓN 1.1 INGENIERÍA

Un primer acercamiento a la CMDB.

7. Conclusiones. 7.1 Resultados

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Sistemas de Información Geográficos (SIG o GIS)

PROPUESTA METODOLOGICA PARA LA EDUCCIÓN DE REQUISITOS EN PROYECTOS DE EXPLOTACIÓN DE INFORMACIÓN

TEMA 8: SISTEMA DE COSTES POR PROCESOS. INDICE. 1.- Caracteristicas generales de los sistemas de costes por procesos.

CAPITULO III A. GENERALIDADES

PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES

Módulo 7: Los activos de Seguridad de la Información

Unidad 1. Fundamentos en Gestión de Riesgos

UNIVERSIDAD TECNICA DEL NORTE


LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Diseño orientado al flujo de datos

Introducción. Metadatos

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

Unidad VI: Supervisión y Revisión del proyecto

Universidad de Sonora

forma de entrenar a la nuerona en su aprendizaje.

El Proceso Unificado de Desarrollo de Software

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

UNIVERSIDAD MINUTO DE DIOS PROGRAMA CONTADURÍA PÚBLICA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Fundamentos y Aplicaciones Prácticas del Descubrimiento de Conocimiento en Bases de Datos. - Sesión 9 -

IAP TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software

MEDICION DEL TRABAJO

Portafolio de Servicios y Productos

Trabajo final de Ingeniería

INTEGRACIÓN DE LA TECNOLOGÍA DENTRO DEL ÁREA EDUCATIVA

Aprendizaje Automático y Data Mining. Bloque IV DATA MINING

Parte I: Introducción

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

Universidad de Tarapacá Investigación de Mercados Internacionales

1.1. Introducción y conceptos básicos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Aspectos a considerar en la adopción por primera vez en la transición a las NIIF para PYMES

Sistemas de información

Figura 4.1 Clasificación de los lenguajes de bases de datos

Capítulo 12: Indexación y asociación

En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6

Gestión y Desarrollo de Requisitos en Proyectos Software

Patrones de software y refactorización de código

Metodología básica de gestión de proyectos. Octubre de 2003

Unidad II. - Las técnicas en las que se basó, las categorías de análisis o ejes centrales que permiten guiar el proceso de investigación.

3.1 Qué es la investigación de mercados?

Gestión de la Configuración

NORMA INTERNACIONAL DE AUDITORÍA 520 PROCEDIMIENTOS ANALÍTICOS

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Es de aplicación a todas aquellas situaciones en las que se necesita desplegar un objetivo para obtener una visión clara de cómo debe ser alcanzado.

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

2 EL DOCUMENTO DE ESPECIFICACIONES

App para realizar consultas al Sistema de Información Estadística de Castilla y León

ANEXO 26-A COMITÉ PERMANENTE DE INTERPRETACIÓN SIC N 32 ACTIVOS INTANGIBLES COSTOS DE SITIOS WEB. (Modificada en 2008) (IV Difusión)

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Software de Simulación aplicado a entornos de e-learning

Hacemos que tu negocio se mueva. Plataforma de ventas movilidapp

Estructuras de datos: Proyecto 2

UNIDAD I INTRODUCCIÓN. Funciones y aplicaciones de la estadística

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

Base de datos II Facultad de Ingeniería. Escuela de computación.

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

UNIVERSIDAD AUTÓNOMA DEL CARIBE PROCEDIMIENTO DE ATENCIÓN DE INCIDENTES Y REQUERIMIENTOS PARA EQUIPOS DE CÓMUPUTO Y/O PERIFÉRICOS GESTIÓN INFORMÁTICA

Unidad III. Software para la administración de proyectos.

Conceptos articuladores para el desarrollo de los proyectos del programa de Estudio. 1. Formulación de la situación problema.

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

ADMINISTRACION DE PROYECTOS

punto, es que los criterios de evaluación de las medidas antes citadas se ajustan a las medidas señaladas para la toma del indicador VTD.

CLASIFICACIÓN NO SUPERVISADA

Capitulo I. Introducción

<Generador de exámenes> Visión preliminar

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

SEDO: SOFTWARE EDUCATIVO DE MATEMÁTICA NUMÉRICA. Lic. Maikel León Espinosa.

CAPITULO III MARCO METODOLÓGICO. Desde la perspectiva de Hurtado de Barrera (2008), el tipo de

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

INTRODUCCION AL DESARROLLO DE SISTEMAS DE INFORMACION

E-learning: E-learning:

SÍNTESIS Y PERSPECTIVAS

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

Gestión de Configuración del Software

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Transcripción:

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.