Miner´ıa de reglas de asociación poco frecuentes con

Anuncio
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.
Descargar