La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Taller de Base de Datos Búsqueda de Reglas de Asociación Agrawal, Imielinski, Swami. “Mining Association Rules Between Sets for items in Large Databases”,

Presentaciones similares


Presentación del tema: "Taller de Base de Datos Búsqueda de Reglas de Asociación Agrawal, Imielinski, Swami. “Mining Association Rules Between Sets for items in Large Databases”,"— Transcripción de la presentación:

1 Taller de Base de Datos Búsqueda de Reglas de Asociación Agrawal, Imielinski, Swami. “Mining Association Rules Between Sets for items in Large Databases”, 1993. Agrawal, Srikant. “Fast Algorithms for Mining Association Rules”, VLDB 1994.

2 Taller de Base de Datos Motivación Progreso en tecnologías de código de barra y POS, ha hecho habitual la captura de “basket data” (conjunto de ítemes adquiridos en una misma transacción). Una transacción puede involucrar un punto o periodo de tiempo. El análisis de esta información puede mejorar decisiones como: diseño de cupones, ubicación de mercadería, diseño de ofertas, etc.

3 Taller de Base de Datos Definiciones Básicas Dado un conjunto de itemes y un conjunto de transacciones Una regla de asociación es una expresión de la forma: Ejemplo: {Leche, Perfume} {LapizLabial}

4 Soporte y Confianza de una Regla Confianza: Conf(X Y)=c en D ssi un c% de las transacciones en D que contieen X también contienen Y. Soporte: Sop(X Y)=s en D ssi un s%de las transacciones en D contienen a X U Y. El soporte es una medida (muy simplista ) de la significancia de la regla, y la confianza una medida de correlación. Taller de Base de Datos

5 Reglas Interesantes (Definición) Dados un soporte y confianza mínimos, minSop y minConf, una regla X Y es interesante en un conjunto de Problema: Encontrar las reglas interesantes en un conjunto de transacciones D Taller de Base de Datos

6 Limitaciones de Noción de “Reglas Interesantes” Si la confianza de X Y es alto, podemos concluir que existe un enlace causal entre X e Y. Resp. No necesariamente, si X e Y son independientes Pr(X|Y) = Pr(X), por lo que basta que Pr(X) sea alto para que la confianza sea alta. Ejemplo :{Leche, Perfume} {LapizLabila} Podría ser alto sólo porque se compra mucho LapizLabial Un medida más precisa es la corrrelación, la cual estudiaremos más adelante. Taller de Base de Datos

7 Limitaciones de Noción de “Reglas Interesantes” Otras Limitaciones: No captura correlación negativa (ej. Tipos de clableado eléctrico y ocurrencia de incendios). No aseguran significancia estadística. Más adelante discutiremos la extensión en: S. Brin, R Motwan, C. Silverstein. “Beyond Markets: Generalizing Association Rules to Correlations”. Taller de Base de Datos

8 Itemsets Un itemset es un conjunto de itemes. Un k-itemset es un conjunto de k ítemes El soporte de un itemset A en D es el % de ocurrencias de A en D. Un itemset es frecuente si su soporte es al menos minSop. Taller de Base de Datos

9 Algoritmo Básico INPUT: D, minSop, minConf OUTPUT: Reglas interesantes en D 1.- Encontrar los itemset frecuentes. 2.- Generar las reglas de asociación interesabtes a partir de los itemset frecuentes. Taller de Base de Datos

10 Descubrimiento de Itemsets Frecuentes Crear un buffer (variable en memoria RAM) que guarde un contador Count(A) para cada subconjunto de A en I. En una única lectura de D, poe cada transacción de T en D y por cada subconjutno A’ de T hacer Count(A’)++. Problema: Tamaño del buffer Taller de Base de Datos

11 Problema:Complejidad de los Datos Si contamos la frecuencia de cada itemser en una única lectura de la base de datos necesitamos 2 n contadores. Para n=10000, a 1 Byte por cada contador, se requiere 10GB. Taller de Base de Datos

12 Otra Estrategia Hacer varias lecturas de D. En la kava lectura, computar el soporte de los k-itensets. Esto funciona, pero significa demasiadas lecturas de D. Taller de Base de Datos

13 Problema: Volumen de los Datos Escenario común: Dos años de transacciones en una cadena de 50 supermercados. Cada supermercado tiene un promedio de 10000 ventas diarias, donde cada venta consiste de 20 ítemes en promedio. Estructura de las transacciones: Tamaño del archivo: Num. De Transacciones: 50x365x10000=365 millones. Num. De bytes por transacción: 4x21 Total 3066 millones, aporx. 30GB Usando un disco duro de 10MB/seg de velocidad, necesitamos 50 minutos para una sola lectura de la base de datos. Taller de Base de Datos

14 Otros Ejemplos Wallmart maneja aprox. 20 millones de transacciones diarias. Su base de datos de transacciones de ventas pesa 11 terabyte AT&T tiene más de 100 millones de clientes y almacena más de 300 millones de llamados diarios. Taller de Base de Datos

15 Algoritmo A priori Muchos de los itemset van a tener un soporte pequeño. Podemos evitar contar estos itemsets? Principio de monotonicidad: Si S es un itemser frecuente, entonces todo subconjutno de S es un itemset frecuente. Ejemplo: Si {x,y,z} es frecuente entonces {x,y} es frecuente. Taller de Base de Datos

16 Algoritmo A priori Leer D y contar el soporte de los 1-itemset candidatos C 1. Obtener los 1-itemset frecuentes L 1. En la siguiente lectura de D, contar el soporte de los 2-itemset Obtener los 2-itemset frecuentes L 2 En la siguiente lectura de D, contar el soporte de los 3-itemset Obtener los 3-itemset frecuentes Seguir con cada k-itemset hasta que (donde n es el número de itemset)

17 Taller de Base de Datos Generación de los k-itemsets Candidatos Objetivo: dado L k-1 generar C k Dos pasos: (1) Generamos C (contiene superconjuntos de los ítemes en L k- 1 ); (2) Podamos C para obtener C k Paso (1): (Asumir que las transacciones y los itemes están ordenados lexicograficamente) Generamos C usnado el operador join

18 Taller de Base de Datos Generación de los k-itemsets Candidatos

19 Taller de Base de Datos Algoritmo Apriori

20 Taller de Base de Datos Variante Contar ítemsets candidatos de múltiples tamaños en cada lectura de D. Además de contar sólo soporte de los ítemesets en C k, contar el soporte de C k y C’ k+1 = aprioriGen(C k ). Esto puede ser útil en las últimas iteraciones ¿Por qué? ¡Desventajas?

21 Taller de Base de Datos Manejo de Buffer En la primera línea del loop principal necesitamos guardar L k- 1 y C k en memoria RAM. En el loop interno guardamos en RAM la tupla t y C k. Si L k-1 cabe en RAM pero C k no: generamos C k por partes, por cada parte contamos el soporte y computamos el L k asociado. Si L k-1 no cabe en RAM: se ordena L k-1 lexicográficamente, luego se lee el bloque de L k-1 con los primeros k-2 elementos igulaes. Generamos su C k y lo contamos. Repetimos hasta contar todo C k.

22 Taller de Base de Datos Generación de Reglas a Partir de Itemsets Frecuentes

23 Taller de Base de Datos Generación de Reglas a Partir de Itemsets Frecuentes


Descargar ppt "Taller de Base de Datos Búsqueda de Reglas de Asociación Agrawal, Imielinski, Swami. “Mining Association Rules Between Sets for items in Large Databases”,"

Presentaciones similares


Anuncios Google