270 likes | 404 Views
Taller de Base de Datos. Reglas de Asociación a Múltiples Niveles “Mining Generalized Association Rules”. Srikant, Agrawal VLDV 1995.
E N D
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
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.
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.
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.
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.
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.
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.
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
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.
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
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}.
Ejemplo: Jerarquías de Reglas (cont.) Los antecesores de {Chaqueta} {ZapatoComun}son: {RopaExterior} {ZapatoComun} {RopaExterior} {Zapato} {Chaqueta} {Zapato}
Soporte Esperado Recordemos que Sop(X)=Pr(X) Definamos el soporte esperado de un itemset Z dado que sabemos el soporte de un ancestro Ž.
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}
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.
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
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.
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
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
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.
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.