Minerı́a de reglas de asociación poco frecuentes con programación genética José Marı́a Luna, Juan Luis Olmo, José Raúl Romero, Sebastián Ventura Resumen— En minerı́a de reglas de asociación, la extracción de patrones frecuentes ha sido centro de atención para la mayorı́a de los investigadores. No obstante, la necesidad de descubrir reglas confiables que no ocurren frecuentemente está tomando un creciente interés en innumerables áreas. La mayorı́a de los algoritmos existentes para la extracción de reglas de asociación poco frecuentes adoptan una metodologı́a de búsqueda exhaustiva, dificultando el proceso de extracción con el empleo de conjuntos de datos de gran tamaño. La importancia de descubrir patrones poco frecuentes, ası́ como los prometedores resultados obtenidos al utilizar propuestas evolutivas en el campo de la minerı́a de patrones frecuentes, hace especialmente interesante proponer un modelo evolutivo para la extracción de reglas de asociación raras o poco frecuentes. En este artı́culo se propone el uso de una gramática de contexto libre para la representación de los individuos, de manera que pueden adaptarse a cualquier problema o dominio. Por último, se realiza un estudio experimental en el que se demuestra la capacidad del algoritmo para la extracción de reglas de asociación confiables y poco frecuentes, requiriendo un tiempo de cómputo muy inferior a los obtenidos en otras propuestas. Palabras clave— Reglas de asociación, minerı́a de patrones poco frecuentes, programación genética. I. Introducción La minerı́a de reglas de asociación es una técnica cuyo objetivo es la extracción de relaciones fuertes y de interés entre patrones de un conjunto de datos. Estas relaciones, representadas como implicaciones de la forma “SI antecedente ENTONCES consecuente”, son de gran interés en el proceso de toma de decisiones. Tanto el antecedente como el consecuente representan conjuntos de condiciones que no poseen ningún atributo en común. El significado de una regla de asociación es que si se cumple su antecedente, entonces, es muy probable que su consecuente también se cumpla. El primer algoritmo propuesto para la extracción de este tipo de relaciones fue presentado por Agrawal et al. [1]. Este algoritmo, conocido como Apriori, se ejecuta en dos fases. En una primera fase se lleva a cabo el descubrimiento de patrones frecuentes dentro un conjunto de datos. Posteriormente, en la segunda fase, se establecen relaciones entre dichos patrones, obteniendo reglas de asociación frecuentes y confiables. El algoritmo Apriori ha servido de base para la mayorı́a de propuestas en minerı́a de reglas de asoDepartamento de Informática y Análisis Numérico, Universidad de Córdoba, Campus de Rabanales, Córdoba, España. E-mails:{ i32luarj,juanluisolmo,jrromero,sventura}@uco.es ciación. No obstante, dicho algoritmo posee una serie de limitaciones importantes como el tiempo de cómputo y la necesidad de utilizar grandes cantidades de memoria. A estas limitaciones, ha de añadirse la necesidad de preprocesar los datos numéricos. Todos estos inconvenientes han sido estudiados en profundidad por la comunidad cientı́fica. Han et al. [2] propusieron el algoritmo FP-Growth, cuyo objetivo es el descubrimiento de reglas de asociación de una manera más eficiente. Para ello, utilizaron un mecanismo para almacenar la información en una estructura en forma de árbol, trabajando sobre la misma en lugar de hacerlo directamente sobre el conjunto de datos. Recientemente, diferentes investigadores han centrado sus estudios en propuestas evolutivas [3] [4] [5] [6], dando lugar a un gran número de algoritmos evolutivos para la extracción de reglas de asociación frecuentes. A pesar de que la extracción de reglas de asociación frecuentes ha sido la principal motivación para la mayorı́a de los investigadores, existen situaciones en las que es interesante descubrir comportamientos anormales o inusuales mediante la extracción de patrones poco frecuentes, es decir, aquellos que no siguen la tendencia de la mayorı́a. Un área de especial interés en este tipo de patrones es la detección de fallos en comunicaciones. En [7], se describe una propuesta basada en minerı́a de patrones poco frecuentes para la detección, en tiempo real, de intrusos o paquetes anómalos en redes. La medicina es otro de los campos en el que los patrones raros juegan un papel importante, por ejemplo para el reconocimiento de pacientes que sufren enfermedades inusuales [8]. Las primeras propuestas para la minerı́a de reglas de asociación poco frecuentes se basaron en la utilización de un umbral de frecuencia muy bajo, utilizado en Apriori para descartar patrones poco frecuentes. Sin embargo, debido al enorme número de patrones extraı́dos al utilizar dicho umbral, el tiempo de cómputo aumenta drásticamente. Otras propuestas, como Apriori-Infrequent [9], consistieron en ajustes sobre los algoritmos para la extracción de patrones frecuentes. Diferentes propuestas han sido presentadas para la extracción de patrones poco frecuentes. Una de ellas, el algoritmo Apriori-Inverse, fue propuesto por Koh and Rountree [10]. De manera similar al algoritmo Apriori, Apriori-Inverse se lleva a cabo en dos fases. La primera consiste en el descubrimiento de los patrones que aparecen en el conjunto de datos con una frecuencia por encima de un umbral mı́nimo y G = (ΣN , ΣT , P , S) con: S = Regla ΣN = {Regla, Antecedente, Consecuente, Comparación, Comparador Categórico, Atributo Categórico, Comparador Numérico, Atributo Numérico} ΣT = {‘Y’, ‘! =’, ‘=’, ‘<=’, ‘<’, ‘>=’, ‘>’, ‘nombre’, ‘valor’} P = {Rule = Antecedente, Consecuente ; Antecedente = Comparación | ‘Y’, Comparación, Antecedente ; Consecuente = Comparación | ‘Y’, Comparación, Consecuente ; Comparación = Comparador Categórico, Atributo Categórico | Comparador Numérico, Atributo Numérico ; Comparador Categórico = ‘! =’ | ‘=’ ; Comparador Numérico = ‘<=’ | ‘<’ | ‘>=’ | ‘>’ ; Atributo Categórico = ‘nombre’, ‘valor’ ; Atributo Numérico = ‘nombre’, ‘valor’ ;} Fig. 1. Gramática de contexto libre utilizada por el algoritmo y expresada en notación BNF extendida por debajo de uno máximo. La segunda fase consiste en el descubrimiento de reglas confiables sobre los patrones previamente descubiertos. Otro algoritmo, ARIMA, fue presentado por Szathmary et al. en [11]. ARIMA se inicia mediante el descubrimiento de los patrones poco frecuentes que constituyen subconjuntos frecuentes. Posteriormente, utilizando los patrones descubiertos, extrae todos los superconjuntos posibles que aparezcan al menos una vez en el conjunto de datos. Por último, al igual que todas las propuestas basadas en Apriori, el algoritmo busca relaciones entre los patrones extraidos previamente. Uno de los principales inconvenientes encontrados en las propuestas existentes en la minerı́a de reglas de asociación poco frecuentes es su alto tiempo de cómputo. Este elevado tiempo se debe a la búsqueda exhaustiva en la que se basan, donde el tamaño del conjunto de datos juega un papel fundamental en el aumento del tiempo de cómputo y de los requisitos de memoria. A esto hay que añadir que estos algoritmos sólo pueden extraer reglas de asociación en dominios categóricos. En el campo de la minerı́a de patrones poco frecuentes, estas dificultades no han sido aún estudiadas en profundidad. Es por ello que, teniendo en cuenta los prometedores resultados obtenidos en [5], en el presente trabajo se describe una propuesta basada en programación genética gramatical para la extracción de reglas de asociación poco frecuentes. El interés de utilizar gramáticas para la extracción de reglas de asociación radica en el hecho de poder adaptar gramáticas a cada problema especı́fico, permitiendo extraer reglas tanto en dominios numéricos como categóricos. A esto hay que añadir el uso de un esquema evolutivo, permitiendo superar los problemas existentes tanto en tiempo de cómputo como en requisitos de memoria. Con el fin de demostrar la eficiencia del algoritmo propuesto, se llevan a cabo un estudio comparativo con otros algoritmos existentes en este campo. El estudio revela la eficiencia de la propuesta que se presenta. El presente artı́culo está organizado como sigue: en la Sección 2 se describen los modelos existentes en minerı́a de reglas de asociación raras o poco frecuente, en la Sección 3 se presentan los datos utilizados en los experimentos, los parámetros de ejecución y los resultados obtenidos. Por último, las conclusiones obtenidas son detalladas en la Sección 4. II. Extracción de reglas de asociación poco frecuentes Con el uso de una propuesta basada en programación genética gramatical [5], todos los problemas existentes en la mayorı́a de propuestas para la extracción de reglas de asociación fueron superados. En [5] se obtienen reglas confiables sobre cualquier dominio de una manera eficiente. Como se mencionó con anterioridad, la ventaja de utilizar una gramática en cualquier área y, especialmente, en minerı́a de reglas de asociación, radica en la capacidad para adaptarse a cualquier tipo de problema. En el algoritmo que se propone en este artı́culo, cada regla de asociación se representa mediante una estructura de árbol con la ayuda de una gramática de contexto libre (GCL). El uso de estructuras arbóreas permite representar reglas de diferentes tamaños y formas. Además, el uso de una GCL permite establecer tanto las restricciones sintácticas como los dominios de aplicación. En esta propuesta, cada individuo se define mediante un genotipo, determinado mediante la estructura de árbol, y un fenotipo, representando la regla de asociación asociada a dicho genotipo. Una GCL se define como una tupla (ΣN , ΣT , P , S), donde ΣT y ΣN representan el alfabeto de sı́mbolos terminales y no terminales, respectivamente, no existiendo ningún elemento en común, es decir, ΣN ∩ ΣT = ∅. P se define como el conjunto de reglas de producción, conteniendo reglas de la forma α → β, donde α ∈ ΣN y β ∈ { ΣT ∪ ΣN }∗ . Cada individuo representa una sentencia generada por la gramática y definida por medio de una estructura de árbol donde la raı́z es el sı́mbolo S. El proceso de derivación se realiza a partir del sı́mbolo inicial de la gramática, realizando una serie de pasos mediante la aplicación de reglas del conjunto P . Con el fin de evitar árboles demasiado profundos, el número de reglas de producción utilizadas en el proceso de derivación puede ser predefinido por el usuario experto. De esta forma, se da total libertad para indicar el tamaño máximo deseado. La Figura 1 muestra la gramática utilizada para la minerı́a de reglas de asociación sobre los conjun- A. Evaluación de los individuos El proceso de evaluación de cada individuo y, por tanto, de cada regla de asociación generada, representa una tarea de gran relevancia debido al enorme número de reglas que pueden ser extraı́das para cada problema especı́fico. Diversos investigadores han descrito medidas objetivas para la evaluación de reglas de asociación [12]. Dos de las medidas más importantes y ampliamente utilizadas en este campo son el soporte y la confianza. El soporte se define como la proporción del número de transacciones que satisfacen tanto el antecedente como el consecuente. La confianza establece la proporción del número de transacciones que incluyen el antecedente y el consecuente entre todas las transacciones que componen el antecedente. En esta propuesta, el soporte se utiliza para descubrir reglas que aparecen con poca frecuencia en un conjunto de datos, mientras que la confianza se utiliza para la obtención de reglas confiables. A diferencia de los algoritmos basados en Apriori, el modelo evolutivo descrito en este artı́culo no requiere dos fases para la extracción de reglas de asociación. En este algoritmo, cada regla es evaluada conforme a una función de ajuste o fitness, definida en la Ecuación 1, y cuyo objetivo es la búsqueda de reglas poco frecuentes, no excediendo un umbral de soporte. Los valores de fitness disponibles se muestran en la Figura 2. Debido a que las reglas con un valor de soporte dentro del intervalo definido obtienen un valor de fitness máximo, se requiere una nueva forma de diferenciar correctamente entre ellos. Ası́, los individuos cuya función de fitness es máxima son ordenados en base a su valor de confianza, considerando como reglas mejores aquellas que tengan una mayor confianza. Fitness = 1 si 0 < Soporte ≤ M ax 0 en otro caso (1) Fitness tos de datos numéricos y categóricos. Cada regla de asociación puede comprender una serie de condiciones concatenadas por el operador ’Y’. El número de condiciones que pueden aparecer en cada regla de asociación no está prefijado, sino que depende del número de derivaciones realizadas. El número mı́nimo de condiciones es la única restricción impuesta por la gramática, es decir, tanto el antecedente como el consecuente deben estar compuestos por al menos una condición. Por último, es importante mencionar que se presentan dos operadores lógicos para las condiciones categóricas, y cuatro para las condiciones numéricas. Sin embargo, debido a que el uso de gramáticas permite adaptar la representación de los individuos a cada problema especı́fico, la gramática de la Figura 1 podrı́a adaptarse, por ejemplo, para extraer reglas con una sóla condición en el consecuente, o incluso para extraer reglas cuyas condiciones sólo contienen el operador lógico ‘=’. 1 0 0 Max. 1 Soporte Fig. 2. Función de fitness El proceso de búsqueda de reglas es otra diferencia importante que presenta el algoritmo descrito respecto a los algoritmos basados en Apriori. Mientras que el algoritmo que se propone busca reglas de asociación que no excedan un umbral de soporte máximo, los algoritmos existentes buscan patrones que no excedan dicho umbral. Esta búsqueda de patrones da lugar a reglas con valores de soporte excesivamente bajos, puesto que el soporte de la unión de patrones es siempre menor o igual que el soporte de los patrones por separado. B. Operadores genéticos En la propuesta evolutiva que se presenta, se utilizan dos operadores genéticos que, actuando sobre las condiciones de mayor soporte, permiten obtener nuevos individuos con un soporte menor en cada generación del proceso evolutivo. Ambos operadores genéticos se detallan a continuación: Cruce. Este operador genético intercambia la condición de mayor soporte de uno de los padres con la condición de menor soporte de otro padre. Con este operador se consigue obtener un individuo cuyas condiciones poseen una frecuencia de ocurrencia menor que al menos uno de los padres y, por tanto, un soporte menor. Mutación. El objetivo principal de este operador genético es el descubrimiento de reglas con un valor de soporte menor que el obtenido con las reglas originales. En dicho operador genético, la condición de mayor soporte de un individuo es mutada con el fin de obtener un nuevo individuo con un soporte menor. Este operador genético ofrece dos alternativas: (1) cambiar completamente la condición seleccionada; y (2) reemplazar el valor del atributo o el operador lógico utilizado en la condición seleccionada. C. Algoritmo El algoritmo evolutivo presentado en este artı́culo sigue un esquema generacional, tal y como se muestra en la Figura 3. En este algoritmo se utiliza una población auxiliar de tamaño predefinido. Dicha población permite almacenar las mejores reglas descubiertas durante el proceso evolutivo. En cada generación, la población auxiliar es actualizada con aque- Inicio Fin GCL Generar individuos Devuelve la población auxiliar Si Evaluar individuos No Individuos son seleccionados como padres y posteriormente cruzados y mutados con una probabilidad de cruce y mutación Fin del algoritmo Si No Población completada Evaluar individuos Los nuevos individuos, la población regular y la auxiliar se combinan para formar una nueva población El mejor individuo es incluido en la población auxiliar y se saca de la población Los individuos se ordenan en base a la confianza La población auxiliar es inicializada Fig. 3. Diagrama de flujo del algoritmo propuesto llos individuos que exceden unos umbrales mı́nimos de calidad, es decir, la función de fitness debe ser estrictamente mayor que cero y la confianza mayor que un umbral mı́nimo. En cada generación, una vez que se han generado nuevos individuos mediante los operadores genéticos descritos, la población regular y la población auxiliar son combinadas y ordenadas en base a la medida de confianza. Como se detalló con anterioridad, sólo se consideran aquellos individuos cuya función de fitness es estrictamente mayor que cero. El objetivo principal es seleccionar las n mejores reglas, es decir, aquellas que tengan los mejores valores de confianza. Destacar que n representa el tamaño máximo establecido previamente por el usuario experto. El algoritmo propuesto evita la obtención de individuos que representen la misma regla. Una misma regla puede estar representada por diferentes genotipos. Por ejemplo, las reglas (A Y B)→ C y (B Y A)→ C representan la misma regla y poseen genotipos diferentes. El algoritmo presentado se utiliza un procedimiento especı́fico para garantizar la extracción de reglas diferentes. Este procedimiento analiza cada condición de cada regla, comprobando si existe una regla en la población que contenga las mismas condiciones. Por último, una vez que se ha alcanzado el número máximo de generaciones, el algoritmo finaliza y se devuelve la población auxiliar, conteniendo las mejores reglas descubiertas a lo largo de todo el proceso evolutivo. III. Estudio experimental En esta sección se lleva a cabo un completo análisis de la efectividad de nuestra propuesta comparada con otras propuestas existentes en la obtención de reglas de asociación poco frecuentes. Todos los experimentos fueron llevados a cabo en un Intel Core i7 con 12GB de memoria, utilizando el Sistema Operativo CentOS 5.4. Además, todas las propuestas fueron escritas en Java. Para la propuesta presentada en este artı́culo, se utilizó JCLEC1 [13], una librerı́a Java especı́fica de computación evolutiva. A. Parámetros de configuración En la fase experimental y con el fin de analizar el comportamiento de nuestra propuesta, se realizaron una serie de ejecuciones sobre diferentes conjuntos de datos, los cuales fueron seleccionados con diferentes tamaños y número de atributos: automobile performance (Autom) con 392 instancias y 8 atributos numéricos, vote (V ote) con 435 instancias y 17 atributos categóricos, Wisconsin breast cancer (W DBC) con 683 instancias y 11 atributos numéricos y categóricos, zoo (Zoo) con 102 instancias y 17 atributos categóricos. Cabe destacar que, puesto que los algoritmos de búsqueda exhaustiva requieren un enorme tiempo de cómputo, no se han utilizado conjuntos de datos de gran tamaño en el presente estudio experimental. Cualquier algoritmo evolutivo posee una serie de parámetros que deben ser previamente establecidos, tales como el tamaño de población, el número de ge1 JCLEC está disponible sourceforge.net en la web http://jclec. Reglas de asociación raras obtenidas sobre atributos numéricos SI SI SI SI SI SI M itoses > 2 ENTONCES Id <= 8097263 U nif Cell Size > 2 Y C T hickness > 4 ENTONCES Sing Epith Cell Size >= 2 U nif Cell Size > 4 Y M itoses > 2 ENTONCES Class! = Benign Class = M alignant Y N ormal N ucleoli >= 2 ENTONCES Id < 5418720 N ormal N ucleoli >= 2 Y U nif Cell Size >= 4 ENTONCES U nif CellS hape >= 2 U nif Cell Size > 4 Y Clump T hickness > 4 ENTONCES U nif Cell Shape >= 2 Soporte Confianza 0.124 0.317 0.102 0.289 0.263 0.224 1.000 1.000 1.000 1.000 1.000 1.000 Fig. 4. Ejemplos de reglas de asociación obtenidas sobre un conjunto de datos numérico neraciones, las probabilidades de cruce y mutación, etc. Para la obtención de los parámetros óptimos, se han realizado una serie de estudios experimentales con el fin de obtener los mejores parámetros, aquellos que permiten obtener los mejores resultados. Los mejores resultados se obtuvieron con un tamaño de población de 50 individuos obtenidos mediante el uso de una GCL con un número de derivaciones máximo de 24. Además, el proceso evolutivo se llevará a cabo durante 50 generaciones. En cada generación, se aplicarán los operadores genéticos con una probabilidad de 0.7 para el cruce y 0.14 para la mutación. Los mejores individuos, es decir, aquellos que exceden unos determinados umbrales de calidad, son almacenados en una población de tamaño 20. Cabe indicar que dicho tamaño de población puede cambiarse y ajustarse a las necesidades del experto. Estos umbrales se han establecido a 0.9 y 0.4 para la confianza y el soporte máximo, respectivamente. Centrándonos en los algoritmos de búsqueda exhaustiva para la extracción de reglas de asociación raras, sólo dos parámetros son requeridos: soporte y confianza. Con el fin de realizar una comparación justa, todos los algoritmos utilizados en esta fase experimental fueron ejecutados con los mismos umbrales de soporte y confianza, es decir, 0.9 y 0.4 para la confianza y el soporte, respectivamente. B. Comparativa entre modelos En esta sección, se presenta una comparativa entre el algoritmo propuesto y los algoritmos existentes de búsqueda exhaustiva. La principal ventaja de la propuesta presentada en este artı́culo es su capacidad para descubrir reglas de asociación poco frecuentes sin necesidad de realizar ningún paso previo de preprocesado. Con una simple transformación de la gramática, es posible extraer reglas sobre cualquier dominio y utilizar diferentes operadores lógicos. Puesto que esta nueva propuesta puede ser ejecutada sobre conjuntos de datos originales, la Figura 4 muestra un conjunto de reglas de asociación raras extraı́das sobre Wisconsin breast cancer sin ningún tipo de preprocesado. Como se muestra, las reglas descubiertas tienen una confianza máxima. Con el fin de llevar a cabo una comparación justa, y puesto que las propuestas existentes para la extracción de reglas de asociación poco frecuentes se basan en búsqueda exhaustiva sobre datos categóricos, aquellos conjuntos de datos que poseen atribu- tos numéricos han sido previamente preprocesados utilizando la técnica de discretización por igual amplitud. Las Tablas I, II, III y IV muestran el soporte medio, la confianza media, el número de reglas obtenidas y el tiempo medio requerido por cada algoritmo, respectivamente, donde D − N establece que el conjunto de datos D fue discretizado en N intervalos. Analizando la Tabla I, los resultados muestran que las propuestas de búsqueda exhaustiva obtienen reglas con un soporte extremadamente bajo, puesto que el umbral es utilizado para descartar patrones en lugar de reglas. Por el contrario, el conjunto de reglas obtenido utilizando la propuesta presentada en este artı́culo está compuesto de reglas poco frecuentes donde sus valores de soporte tienden a ser la mitad del intervalo (0,0, 0,4], el cual fue definido para determinar las reglas raras. Analizando los algoritmos de búsqueda exhaustiva, cabe indicar que Apriori-Infrequent obtiene un soporte medio mayor que Apriori-Inverse. Este último extrae reglas de los patrones infrecuentes extraı́dos por el algoritmo Apriori clásico, por lo que estas reglas contienen al menos una condición con un soporte mayor que el umbral. Estudiando el comportamiento del algoritmo ARIMA, destacar que sus resultados son muy similares a los obtenidos con el algoritmo AprioriInverse, pues su diferencia radica únicamente en el descubrimiento de conjuntos de patrones poco frecuentes que constituyen subconjuntos frecuentes. Centrándonos en la medida de confianza, cabe indicar que todas las propuestas utilizadas en este análisis obtienen reglas muy confiables, con una confianza media por encima de 0.978, tal y como muestra la Tabla II. Por tanto, es posible afirmar que todos los algoritmos se comportan igual de bien para esta medida. De acuerdo con la Tabla III, la cual muestra el número medio de reglas de asociación extraı́das, cabe indicar que la propuesta descrita en este artı́culo permite obtener un conjunto uniforme de reglas (entre 17 y 20 reglas). Por el contrario, los algoritmos de búsqueda exhaustiva obtienen un conjunto heterogéneo de reglas dependiendo del conjunto de datos utilizado. Cabe indicar que enormes conjuntos de reglas son difı́cilmente manejables, por ejemplo el conjunto de datos Zoo, donde el número de reglas obtenido es 159598. Este conjunto de reglas resultante se hace muy difı́cil de comprender por un usuario ex- TABLA I Soporte medio obtenido utilizando diferentes conjuntos de datos Conjunto de datos Autom − 5 Autom − 10 Autom − 15 V ote W DBC − 5 W DBC − 10 W DBC − 15 Zoo Soporte medio Apriori-Inv ARIMA 0.013 0.013 0.007 0.007 0.006 0.006 0.032 0.043 0.004 0.004 0.004 0.004 0.004 0.004 0.051 0.056 Apriori-Inf 0.015 0.008 0.007 0.036 0.004 0.004 0.004 0.062 Propuesta 0.236 0.201 0.178 0.252 0.233 0.249 0.257 0.209 TABLA II Confianza media obtenida utilizando diferentes conjuntos de datos Conjunto de datos Autom − 5 Autom − 10 Autom − 15 V ote W DBC − 5 W DBC − 10 W DBC − 15 Zoo Confianza media Apriori-Inv ARIMA 0.997 0.996 0.999 0.999 0.999 0.999 0.988 0.978 0.999 0.999 0.999 0.999 0.999 0.999 0.998 0.996 Apriori-Inf 0.997 0.999 0.999 0.988 0.999 0.999 0.999 0.996 Propuesta 0.998 0.996 0.997 0.985 0.996 0.991 0.980 1.000 TABLA III Número medio de reglas obtenidas utilizando diferentes conjuntos de datos Conjunto de datos Autom − 5 Autom − 10 Autom − 15 V ote W DBC − 5 W DBC − 10 W DBC − 15 Zoo Número medio de reglas Apriori-Inv ARIMA Apriori-Inf 2925.0 8519.0 1206.0 7836.0 15505.0 3300.0 6021.0 12248.0 2837.0 32.0 63253.0 24.0 20378.0 61436.0 6199.0 16851.0 47855.0 6365.0 21489.0 49881.0 8410.0 815.0 159598.0 368.0 Propuesta 20.0 19.2 20.0 18.8 19.3 18.9 17.3 20.0 TABLA IV Tiempo medio de ejecución requerido sobre diferentes conjuntos de datos Conjunto de datos Autom − 5 Autom − 10 Autom − 15 V ote W DBC − 5 W DBC − 10 W DBC − 15 Zoo Tiempo (seg) Apriori-Inv ARIMA 60.350 293.208 350.179 2505.419 207.264 2270.975 0.293 11113.984 1821.290 2966.342 865.962 8398.223 1257.343 7127.010 0.629 8669.034 Apriori-Inf 1.240 6.894 8.559 0.166 14.611 20.829 28.627 0.304 Propuesta 0.773 0.737 0.859 0.883 1.290 1.318 1.488 0.494 perto, que en ocasiones require un conjunto reducido de las mejores reglas. Este hecho representa una importante ventaja del algoritmo propuesto sobre los demás algoritmos, puesto que permite obtener un conjunto de reglas pequeño y, por tanto, fácilmente comprensible. Por último, analizando la Tabla IV en la que se muestra el tiempo de ejecución de cada algoritmo, cabe indicar que la nueva propuesta requiere un tiempo medio de ejecución mucho menor que el resto de algoritmos. En los algoritmos de búsqueda exhaustiva, el tiempo de ejecución no es uniforme, sino que depende directamente del conjunto de datos utilizado. Por ejemplo, utilizando ARIMA, el tiempo de ejecución puede variar entre 293 y 11113 segundos. Por el contrario, el uso de una estrategia evolutiva permite extraer reglas en un periodo de tiempo uniforme, como mucho un segundo, sin importar el conjunto de datos utilizado. Como se muestra en la Tabla IV, el problema de los algoritmos de búsqueda exhaustiva ha sido superado con esta nueva propuesta, obteniendo reglas de asociación raras en un tiempo de cómputo significativamente mejor en la mayorı́a de los conjuntos de datos. datos utilizado. Estos resultados demuestran que el comportamiento de la propuesta es diferente al de los algoritmos de búsqueda exhaustiva, en los que el número de reglas descubierto es enorme y difı́cilmente comprensible. Por último, destacar que el tiempo de cómputo tiende a ser constante, a diferencia de los algoritmos de búsqueda exhaustiva en los que se requerı́a un tiempo de cómputo alto en función del conjunto de datos utilizado. Agradecimientos Este trabajo ha sido financiado por los proyectos del Ministerio de Ciencia y Tecnologı́a y de la Junta de Andalucı́a, TIN2008-06681-C06-03 y TIC-3720, respectivamente, y los fondos FEDER. Referencias [1] [2] [3] IV. Conclusiones La minerı́a de reglas de asociación poco frecuentes no ha sido aún estudiada en profundidad. Los algoritmos existentes en este campo se basan en búsqueda exhaustiva, lo que da lugar a su difı́cil sostenibilidad, especialmente con el uso de conjuntos de datos de gran tamaño. A esto hay que añadir que los algoritmos existentes extraen reglas de asociación raras sólo cuando son aplicados en dominios categóricos, por lo que los atributos numéricos deben ser previamente discretizados. En este artı́culo, se presenta un modelo evolutivo basado en el uso de gramaticas de contexto libre para la obtención de reglas de asociación raras y confiables. En este modelo, cada individuo se representa mediante una estructura arbórea utilizando una GCL, la cual proporciona expresividad y flexibilidad, y permite definir tanto condiciones numéricas como categóricas. Debido a que la mayorı́a de las propuestas existentes para la extracción de reglas de asociación están basadas en búsqueda exhaustiva, el uso de gramáticas proporciona una serie de inconvenientes. Por ejemplo, las gramáticas permiten restringir el espacio de búsqueda, reduciendo el coste requerido en la búsqueda de soluciones. Además, el uso de una propuesta evolutiva permite reducir el tiempo de cómputo. Por último, destacar que la propuesta que se presenta en este artı́culo no realiza el proceso de extracción de reglas en dos pasos, como los algoritmos existentes, los cuales extraen patrones y luego reglas en base a dichos patrones. Centrándonos en el número de reglas descubiertas, éste es cercano al número establecido por el usuario experto, con independencia del conjunto de [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] R. Agrawal and R. Srikant, “Fast Algorithms for Mining Association Rules in Large Databases,” in VLDB’94, Proceedings of 20th International Conference on Very Large Data Bases, Santiago de Chile, Chile, J. B. Bocca, M. Jarke, and C. Zaniolo, Eds. September 1994, pp. 487– 499, Morgan Kaufmann. J. Han, J. Pei, Y. Yin, and R. Mao, “Mining Frequent Patterns without Candidate Generation: A FrequentPattern Tree Approach,” Data Mining and Knowledge Discovery, vol. 8, pp. 53–87, 2004. X. Yan, C. Zhang, and S. Zhang, “ARMGA: Identifying Interesting Association Rules with Genetic Algorithms,” Applied Artificial Intelligence, vol. 19, no. 7, pp. 677– 689, 2005. A. Salleb-Aouissi, C. Vrain, and C. Nortet, “QuantMiner: A Genetic Algorithm for Mining Quantitative Association Rules,” in IJCAI’97, Proceedings of the 20th International Joint Conference on Artificial Intelligence, Hyberadad, India, January 2007, pp. 1035–1040. J. M. Luna, J. R. Romero, and S. Ventura, “Design and Behaviour Study of a Grammar Guided Genetic Programming Algorithm for Mining Association Rules,” Knowledge and Information Systems (In Press), 2011. M.J. del Jesús, J.A. Gámez, P. González, and J.M. Puerta, “On the discovery of association rules by means of evolutionary algorithms,” Wiley Interdisciplinary Rewiews: Data Mining and Knowledge Discovery, vol. 1, no. 5, pp. 397–415, 2011. A. Rahman, C. I. Ezeife, and A. K. Aggarwal, “WiFi Miner: An Online Apriori-Infrequent Based Wireless Intrusion System,” in Knowledge Discovery from Sensor Data, Second International Workshop, Sensor-KDD 2008, Las Vegas, USA, August 2008, vol. 5840 of Lecture Notes in Computer Science, pp. 76–93. C. Ordoñez, N. Ezquerra, and C. Santana, “Constraining and Summarizing Association Rules in Medical Data,” Knowledge and Information Systems, vol. 9, no. 3, pp. 259–283, 2006. M. Adda, L. Wu, and Y. Feng, “Rare Itemset Mining,” in ICMLA’07, Sixth International Conference on Machine Learning and Applications, Cincinnati, Ohio, December 2007, pp. 73–80. Y.S. Rountree N. Koh, “Finding Sporadic Rules using Apriori-Inverse,” Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 3518 LNAI, pp. 97–106, 2005. L. Szathmary, A. Napoli, and P. Valtchev, “Towards Rare Itemset Mining,” in ICTAI’07, 19th IEEE International Conference on Tools with Artificial Intelligence, Patras, Greece. October 2007, pp. 305–312, IEEE Computer Society. P. Tan and V. Kumar, “Interestingness Measures for Association Patterns: A Perspective,” in Workshop on Postprocessing in Machine Learning and Data Mining, KDD 2000, New York, USA. S. Ventura, C. Romero, A. Zafra, J. A. Delgado, and C. Hervás, JCLEC: a framework for evolutionary [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] computation, vol. 12 of Soft Computing, pp. 381–392, Springer Berlin / Heidelberg, 2007. T. Li and X. Li, “Novel Alarm Correlation Analysis System based on Association Rules Mining in Telecommunication Networks,” Information Sciences, vol. 180, no. 16, pp. 2960–2978, 2010. P.G. Espejo, S. Ventura, and F. Herrera, “A Survey on the Application of Genetic Programming to Classification,” IEEE Transactions on Systems, Man and Cybernetics: Part C, vol. 40, no. 2, pp. 121–144, 2010. D. Sánchez, J. M. Serrano, L. Cerda, and M. A. Vila, “Association Rules Applied to Credit Card Fraud Detection,” Expert systems with applications, , no. 36, pp. 3630–3640, 2008. J. M. Luna, A. Ramı́rez, J. R. Romero, and S. Ventura, “An Intruder Detection Approach based on Infrequent Rating Pattern Mining,” in 10th International Conference on Intelligent Systems Design and Applications (ISDA 2010), Cairo, Egypt, December 2010. C. Borgelt, “Efficient Implementations of Apriori and Eclat,” in FIMI’03, 1st Workshop on Frequent Itemset Mining Implementations, Melbourne, Florida, USA, December 2003. Y.S. Koh and N. Rountree, Rare Association Rule Mining and Knowledge Discovery: Technologies for Infrequent and Critical Event Detection, Information Science Reference, Hershey, New York, 2010. Bakar A.A. Hamdan A.R. Shaari, F., “Outlier Detection based on Rough Sets Theory,” Intelligent Data Analysis, vol. 13, no. 2, pp. 191–206, 2009. Ryu K.H. Yun, U., “Approximate Weighted Frequent Pattern Mining with/without Noisy Environments,” Knowledge-Based Systems, 2010. A. Ratle and M. Sebag, “Genetic Programming and Domain Knowledge: Beyond the Limitations of GrammarGuided Machine Discovery,” in PPSN VI, Proceedings of the 6th International Conference on Parallel Problem Solving from Nature, Paris, France, London, UK, September 2000, pp. 211–220, Springer-Verlag. R.I. Hoai, N.X. Whigham, P.A. Shan, Y. O’neill, and M. McKay, “Grammar-based Genetic programming: A survey,” Genetic Programming and Evolvable Machines, vol. 11, no. 3-4, pp. 365–396, 2010. C. Zhang and S. Zhang, “Association Rules Mining: Models and Algorithms,” Lecture notes in computer science, vol. 2307, pp. 243, 2002. E. Datar, M. Fujiwara, S. Gionis, A. Indyk, P. Motwani, R. Ullman, J.D. Yang, and C. Cohen, “Finding Interesting Associations without Support Pruning,” IEEE Transactions on Knowledge and Data Engineering, vol. 13, no. 1, pp. 64–78, 2001. H. Ha, D. Hwang, B. Ryu, and K.H. Yun, “Mining Association Rules on Significant Rare Data using Relative Support,” Journal of Systems and Software, vol. 67, no. 3, pp. 181–191, 2003. J. R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (Complex Adaptive Systems), The MIT Press, December 1992. F. Gruau, “On using Syntactic Constraints with Genetic Programming,” vol. 2, pp. 377–394, 1996. B. Alatas and E. Akin, “An Efficient Genetic Algorithm for Automated Mining of Both Positive and Negative Quantitative Association Rules,” Soft Computing, vol. 10, pp. 230–237, 2006. F. Berzal and I. Blanco and D. Sánchez and M.A. Vila, “Measuring the Accuracy and Interest of Association Rules: A new Framework,” Intelligent Data Analysis, vol. 6, no. 3, pp. 221–235, 2002. J. Demšar, “Statistical Comparisons of Classifiers over Multiple Data Sets,” The Journal of Machine Learning Research, vol. 7, pp. 1–30, 2006.