1. Taller de Base de Datos
Reglas de Asociación a Múltiples Niveles
“Mining Generalized Association Rules”. Srikant, Agrawal VLDV 1995.
En muchas aplicaciones puede ser difícil encontrar asociaciones
interesantes entre conjuntos de ítemes ya que pueden aparecer en una
pequeña fracción de las transacciones.
Por ejemplo:
{IBMDesktopComputer,SonyBWPrinter}
puede ser poco frecuente pero
{Computer,Printer}
Puede ser muy frecuente
2. Taller de Base de Datos
Reglas de Asociación a Múltiples
Niveles (cont.)
A veces es interesante algo más general:
{leche} {pan}
O algo más detallado:
{lecheDescremada} {panIntegral}
O reglas a distintas granularidades:
Necesitamos modelar ítemes y conceptos relacionas a
través de una jerarquía.
3. Taller de Base de Datos
¿Cómo modelamos una jerarquía de
itemes?
Una forma muy simple de hacerlo es a través de una
taxonomía.
Una taxonomía puede verse como un grafo dirigido
acíclico donde sus nodos interiores representan conceptos
y sus hojas ítemes.
Llamamos ítemes (o conceptos) a los nodos de la
taxonomía.
4. Taller de Base de Datos
¿Cómo modelamos una jerarquía de
itemes?
Un conjunto de taxonomías T se puede modelar como un
grafo acíclico dirigido.
Un arco de x a y representa x is-a y.
Dado un nodo x en la taxonomía, x’ es una ancestro de x.
5. Taller de Base de Datos
Definición del Problema
Dado un conjunto de taxonomías T y un conjunto de
transacciones, donde cada transacción T є D contiene
nodos de T decimos que:
• T soporta a un item x si x є T o x es un ancestro de un
item en T.
• T soporta un itemeset X si T soporta cada item en X.
Una regla de asociación generalizada es una expresión de
la forma:
X Y
Donde y no existe ningún
itemen Y que sea ancestro de algún item X.
6. Soporte y Confianza de Reglas
Generalizadas
Sop(X Y)= % de transacciones en D que soportan X U Y.
Conf(X Y)= % de transacciones que soportan X U Y
sobre las transacciones que soportan X.
7. Búsquedas de reglas de Asociación vs.
Búsquedas de Reglas Generalizadas
1.- Usando la definición de regla interesante definida para
reglas de asociación de asociación común podemos
generar reglas de asociación redundantes.
• Si evitamos redundancias, las asociaciones de todas las
base de datos se pueden representar con un conjunto
pequeño de reglas.
2.- Podemos aprovechar la taxonomía para podar item-set
candidatos.
8. Cuándo una regla generalizada es
interesante?
Supongamos que usamos la noción de regla
interesante que definimos para reglas comunes.
Supongamos que tenemos:
{Leche} {Cereal}
con un 8% de soporte y un 70% de confianza.
Si Leche es ancestro de Leche descremada, no es
extraño que la regla
{LecheDescremada} {Cereal}
tenga 2% de soporte y un 70% de confianza
9. Cuándo una regla generalizada es
interesante?
Por lo tanto, la regla
{LecheDescremada} {Cereal}
No aporta nuevo conocimiento si tenemos que
{Leche} {Cereal}
es interesante.
Una definición adecuada del grado de interés de una regla
generalizada debería excluir reglas cuyo grado de interés
se infiere de otras reglas interesantes.
10. Jerarquías de Reglas
Para definir reglas generalizadas interesantes necesitamos
definir una jerarquía de reglas.
Un itemset Ž es un ancestro de un itemset Z si:
• Si Z y Ž tienen el mismo número de ítemes y:
• Ž se obtiene de Z reemplazando algunos ítemes z de Z con
ancestros ž.
Dada una regla X Y, sus ancestros son reglas de la forma
11. Ejemplo: Jerarquías de Reglas
Si Z es {Chaqueta, zapato} un posible ancestro de Z es Ž
={Ropa, zapato}.
El itemset {RopaExterior,camisa} no tiene ancestros, por
qué?
La definición de ancestros excluye {Ropa}ya que el
soporte de este itemset no nos dice nada fundamental sobre
el soporte de {RopaExterior,camisa}.
12. Ejemplo: Jerarquías de Reglas (cont.)
Los antecesores de {Chaqueta} {ZapatoComun}son:
{RopaExterior} {ZapatoComun}
{RopaExterior} {Zapato}
{Chaqueta} {Zapato}
13. Soporte Esperado
Recordemos que Sop(X)=Pr(X)
Definamos el soporte esperado de un itemset Z dado que
sabemos el soporte de un ancestro Ž.
16. Reglas R-Interesantes
(Definición) Una regla X Y es R-interesante con respecto a un
antecesor si:
• el soporte de X Y es R veces el soporte esperado dado el
soporte de y:
• análogo para la confianza.
Ejemplo: si R=1, entonces {LecheDescremada} {Cereal} es
R-interesante con respecto a {Leche} {Cereal}
17. Reglas R-Interesantes (cont.)
(Definición). Dado un conjunto de reglas S y un interés
mínimo R, X Y es R-interesante si.
• X Y no tiene ancestros: o
• X Y es R-interesante con respecto a sus ancestros más
cercanos entre sus ancestros R-interesantes.
18. Planteamiento del Problema
Dado un conjunto de transacciones D, un interés mínimo R
,minSop y minConf, encontrar todas las reglas R-
interesantes.
Si R=0, todas las reglas son interesantes
19. Estrategia Básica
1.- Encontrar todos los itemset frecuentes (soporte mayor que
minSof)
2.- Generar reglas interesantes a partir de itemes frecuentes
encontrados en 1.
3.- Podar las reglas que no son R-iteresantes de las reglas
obtenidas en 2.
20. Búsqueda de itemset Frecuentes a Múltiples
Niveles
Algoritmo Básico:
• Aumentar cada transacción T Є D con los ítemes tal
que x pertenece a T . Sea T’ el conjunto de transacciones
aumentados .
• Ejecutar cualquier algoritmo para búsqueda de itemset
frecuentes en T’.
• Para evitar que aumente el costo de lectura de D , podemos
aumentar cada transacción
22. Algoritmo Cumulate
Es esencialmente el algoritmo básico más algunas
optimizaciones como:
• Optimización 1: Filtro de los ancestros agregados a las
transacciones. Una transacción T se aumenta sólo con los
ancestros de ítemes en T que aparecen en itemsets
candidatos (Ck).
– Supongamos que chaqueta es hijo de RopaExterior que a su vez
es hijo de Ropa. Además existe un único itemset candidato {Ropa,
Zapatos}.
– En cada transacción que contenga Chaqueta reemplazamos
Chaqueta por Ropa
23. Algoritmo Cumulate
• Para aumentar una transacción T con ancestros tenemos
que computar los ancestros de cada ítem. Cómo ?
• Optimización 2: Precomputar ancestros
– Computar los ancestros de cada ítem (Clausura transitiva T* de la
taxonomía T) y almacenarlos en alguna estructura de datos
apropiada.
– Usar la relación computada anteriormente para aumentar cada
transacción.
24. Algoritmo Cumulate
• Optimización 3: Poda de itemset que contienen un ítem en
su ancestro.
– El soporte de un itemset X que contiene x y es el mismo que el
soporte de X-
– Si Lk-1 no contiene ningún itemset X con un ítem y su ancestro
Ck=AprioGen(Lk-a) (Recordar este procedimiento de A priori)
tampoco.