reglas de asociación

36
Santiago González Tortosa

Upload: brielle-brock

Post on 01-Jan-2016

42 views

Category:

Documents


0 download

DESCRIPTION

Reglas de Asociación. Santiago González Tortosa. Contenidos. Motivación Conceptos básicos Confianza, cobertura, Itemset , reglas Algoritmo A priori Ejemplo. Variantes de A priori Técnicas basadas en tablas hash Reducción de Transacciones Particionado Muestreo - PowerPoint PPT Presentation

TRANSCRIPT

Santiago González Tortosa

MotivaciónMotivación Conceptos básicos

Confianza, cobertura, Itemset, reglas

Algoritmo A priori Ejemplo

Variantes de A priori◦ Técnicas basadas en

tablas hash◦ Reducción de

Transacciones◦ Particionado◦ Muestreo◦ Inclusión Dinámica de

itemsets Referencias

Clasificación Supervisada Página 2

Búsqueda de patrones en conjunto de datos El objetivo es conseguir información para la

toma de decisiones. Este concepto surge para el análisis de la

cesta de la compra. Marketing cruzado con correo. Se utiliza para el diseño de catálogos. Segmentación y clasificación de clientes

respecto a las compras.

Clasificación Supervisada Página 3

Motivación Conceptos básicosConceptos básicos

Confianza, cobertura, Itemset, reglas

Algoritmo A priori Ejemplo

Variantes de A priori◦ Técnicas basadas en

tablas hash◦ Reducción de

Transacciones◦ Particionado◦ Muestreo◦ Inclusión Dinámica de

itemsets Referencias

Clasificación Supervisada Página 4

Reglas◦ Estructura: SI A Entonces B; AB (A B = )◦ Ejemplo:

Si me interesan Bizcochos “Golosos” Horchata “Xufer” también me interesan las Galletas “Trigo”

Soporte o Cobertura (Support)◦ Número de instancias que la regla predice correctamente.◦ S(AB) = P(A U B).

Confianza o Precisión (Confidence)◦ Porcentaje de aciertos de la regla.◦ C(AB)=P(B | A).

Itemset◦ Item: Literal◦ Itemset : Subconjuntos del conjunto de literales.

Problema◦ Encontrar todas las reglas con una confianza y soporte mínimos

predefinidos.

Clasificación Supervisada Página 5

Ejemplo

Clasificación Supervisada Página 6

ID Leche PanMantequilla

Cerveza

1 1 1 0 0

2 0 1 1 0

3 0 0 0 1

4 1 1 1 0

5 0 1 0 0

Para ilustrar estos conceptos véase el siguiente ejemplo sobre ventas en un supermercado. El conjunto de items es:

A la derecha se muestra una pequeña base de datos que contiene los items, donde el código '1' se interpreta como que el producto (item) correspondiente está presenta en la transacción y el código '0' significa que dicho producto no esta presente. Un ejemplo de regla para el supermercado podría ser:

Significaría que si el cliente compró 'leche' y 'pan' también compró 'mantequilla', es decir, según la especificación formal anterior se tendría que:

Clasificación Supervisada Página 7

En el ejemplo, el conjunto tiene un soporte de:

Para la regla la confianza sería:

La confianza puede interpretarse como un estimador de P(Y|X ), la probabilidad de encontrar la parte derecha de una regla condicionada a que se encuentre también la parte izquierda

Clasificación Supervisada Página 8

Motivación Conceptos básicos

Confianza, cobertura, Itemset, reglas

Algoritmo A prioriAlgoritmo A priori Ejemplo

Variantes de A priori◦ Técnicas basadas en

tablas hash◦ Reducción de

Transacciones◦ Particionado◦ Muestreo◦ Inclusión Dinámica de

itemsets Referencias

Clasificación Supervisada Página 9

Objetivo: Dado un conjunto de datos D, generar todas las reglas de asociación que tienen soporte y confianza mayores que el soporte mínimo y la confianza mínima.

1. Encontrar todos los itemset que tienen soporte mínimo. (large itemset)

1. Crear n-itemset con (n-1)-itemset2. Usar los large itemset para generar las reglas de

asociación.1. ¿ {A,B,C}2. A+B C , AB+C, B+C A, …. ?

Clasificación Supervisada Página 10

Sea F1={a1 ,a2 ,a3 ,...} conjunto de todos los atributos. i=11. Se recorre la tabla de entrada y se actualiza el conjunto

C(Fi)={l1 ,l2 ,l3 ,...} donde cada li es el par formado por un elemento de Ii y por el número de veces que dicho elemento ocurre en los datos de entrada.

2. Se eliminan de Fi los elementos cuyo contador no supere el umbral mínimo.

3. Se genera un nuevo conjunto Fi+1 como el de grupos de atributos de tamaño i+1 a partir de los conjuntos de atributos de Fi

4. Si Fi no está vacío e i <MAX regresar a 1)

Clasificación Supervisada Página 11

Ejemplo:

Clasificación Supervisada Página 12

Supongamos que tomamos como frecuencia minima el 25%. Todas las columnas superan esta frecuencia, por lo tanto:

F1= {[A],[B],[C],[D],[E],[F]}

A partir de estos podemos calcular los conjuntos candidatos a ser frecuentes (todas las combinaciones):

C(F1)= {[A,B],[A,C],[A,D],[A,E],[A,F],[B,C],[B,D],[B,E],[B,F],

[C,D],[C,E],[C,F],[D,E],[D,F],

[E,F]}

Clasificación Supervisada Página 13

Clasificación Supervisada Página 14

fr([A,B])= 11/20 fr([B,C])= 6/20 fr([C,D])= 4/20 fr([D,E])= 2/20

fr([A,C])= 6/20 fr([B,D])= 4/20 fr([C,E])= 4/20 fr([D,F])= 2/20

fr([A,D])= 4/20 fr([B,E])= 11/20 fr([C,F])= 5/20 fr([E,F])= 4/20

fr([A,E])= 10/20 fr([B,F])= 4/20fr([A,F])= 4/20

De los candidatos, los que superan el 25% son:

F2={[A,B],[A,C],[A,E],[B,C],[B,E],[C,F]}

Clasificación Supervisada Página 15

Clasificación Supervisada Página 16

Podemos probar la confianza de las siguientes reglas de asociación:conf(A → B)= 11/15 conf(A → E)= 10/15 conf(B → E)=

11/16conf(B → A)= 11/16 conf(E → A)= 10/13 conf(E → B)=

11/13conf(A → C)= 6/15 conf(B → C)= 6/16 conf(C → F)= 5/9

conf(C → A)= 6/9 conf(C → B)= 6/9 conf(F → C)= 5/13

Si tomamos como confianza un porcentaje de 2/3 encontraremos como reglas significativas:

{A → B, B → A, C → A, A → E, E → A, C → B, B → E, E → B}

Clasificación Supervisada Página 17

Partiendo del conjunto F2, podemos calcular el conjunto de candidatos para F3

C(F2)={[A,B,C],[A,B,E]}fr([A,B,C])= 3/20 fr([A,B,E])= 8/20

De los candidatos, los que superan el 25% son:

F3={[A,B,E]}

Clasificación Supervisada Página 18

Clasificación Supervisada Página 19

Podemos probar la confianza de las siguientes reglas de asociación:

conf(A ^ B → E)= 8/11conf(A ^ E → B)= 8/10conf(B ^ E → A)= 8/11

Si tomamos como confianza un porcentaje de 2/3 encontraremos como reglas significativas:

{A ^ B → E, A ^ E → B, B ^ E → A}

Clasificación Supervisada Página 20

Supongamos que ahora tomamos como frecuencia mínima el 50%. Las columnas que superan esta frecuencia son sólo A, B y E. Por lo tanto:

F1= {[A],[B],[E]}

A partir de estos podemos calcular los conjuntos candidatos a ser frecuentes:

C(F1)={[A,B],[A,E],[B,E]}

Clasificación Supervisada Página 21

Todos ellos superan la frecuencia del 50%, por lo tanto:

F2={[A,B],[A,E],[B,E]}

Teniendo como candidatos:

C(F2)={[A,B,E]}

Que también supera el 50%, Por lo tanto:

F3={[A,B,E]}

Clasificación Supervisada Página 22

Motivación Conceptos básicos

Confianza, cobertura, Itemset, reglas

Algoritmo A priori Ejemplo

Variantes de A Variantes de A prioripriori◦ Técnicas basadas en

tablas hash◦ Reducción de

Transacciones◦ Particionado◦ Muestreo◦ Inclusión Dinámica de

itemsets Referencias

Clasificación Supervisada Página 23

Conceptualmente, el algoritmo APRIORI tiene dos pasos para generar los conjuntos de k-itemsets frecuentes. ◦ JOIN: Obtención de los k-itemsets candidatos a ser

frecuentes. C’K se obtiene realizando JOIN sobre Lk-1.

◦ PODA: Obtención de los k-itemsets candidatos. Se obtiene CK podando C’K (eliminando los que no tengan todos sus subconjuntos frecuentes).

◦ Calculamos el soporte de los itemsets. Se obtiene Lk eliminando de Ck los que superen el minimo_soporte

Clasificación Supervisada Página 24

Procedimientos para aumentar la eficiencia de APRIORI. ◦ Técnicas basadas en tablas hash.◦ Reducción de Transacciones.◦ Particionado.◦ Muestreo (Sampling).◦ Inclusión Dinámica de itemsets.

Ganamos eficiencia, Perdemos Precisión.

Clasificación Supervisada Página 25

Técnicas basadas en tablas hash◦ Se utiliza para reducir el tamaño de los k-itemsets

candidatos, denominados Ck, para k>1.◦ Función hash (ejemplo):

h(x,y) = orden de x * 10 + orden de y

◦ Pretende aprovechar la búsqueda de los k-itemsets frecuentes para crear una tabla hash que permita seleccionar los k+1 itemsets candidatos.

◦ Se evalúa el número de elementos de cada celda, eliminando los que tengan un número de elementos menor que el mínimo_soporte.

◦ Se reduce mucho el conjunto de k-itemsets candidatos (sobre todo con k=2).

Clasificación Supervisada Página 26

Reducción de transacciones◦ El algoritmo APRIORI es voraz. Explora todas las

transacciones cada vez que comprueba los k-itemsets candidatos.

◦ Propiedad de Transacciones: Una transacción que no contiene k-itemsets

frecuentes no va a poder contener k+1 itemsets frecuentes.

◦ Esas transacciones podrán marcarse como borradas para búsquedas de j-itemsets con j>k.

Clasificación Supervisada Página 27

Particionado

Clasificación Supervisada Página 28

Dividir D en n

particiones

Encontraritemsets

frecuenteslocales en

cada partición(1 busqueda)

Combinar los itemsetslocales paraformar losItemsets

candidatos

Encontrarlos itemsets

globalesentre los

candidatos(1 busqueda)

TransaccionesEn D

Itemsetsfrecuentes

en D

Fase 1

Fase 2

Particionado◦ Particionamos los datos. En dos búsquedas encontraremos los

k-itemsets frecuentes. ◦ Subdividimos las transacciones en n particiones (no solapadas).◦ Hallamos los k-itemsets frecuentes para cada partición,

tomando:min_soporte = min_soporte_global / n.

◦ Se combinan los resultados de todas las particiones para hallar los k-itemsets candidatos frecuentes.

◦ Se realiza un recorrido al conjunto de datos buscando los k-itemsets frecuentes globales a partir de los candidatos (los generados en cada partición).

◦ El resultado, son los k-itemsets frecuentes de todo el conjunto D. Se han encontrado en 2 búsquedas completas.

Clasificación Supervisada Página 29

Muestreo (Sampling)◦ Minería de un subconjunto de los datos obtenidos.◦ Recogemos una muestra aleatoria S del conjunto de

datos D.◦ Búsqueda de k-itemsets frecuentes sobre S. Los itemsets

locales frecuentes se denominan Ls.◦ Podemos perder algún itemset global (al utilizar una

muestra aleatoria).◦ Para minimizar esa pérdida se utiliza un umbral del

soporte mínimo más pequeño.◦ El resto de la base de datos se utiliza para comprobar las

frecuencias reales de cada itemset de Ls.

Clasificación Supervisada Página 30

Muestreo (Sampling)◦ Existe un mecanismo que permite estimar si

todos los itemsets frecuentes están en Ls. ◦ Si no están, se puede realizar otra búsqueda para

encontrarlos.

Clasificación Supervisada Página 31

Dynamic itemset counting◦ Añadir itemsets candidatos en diferentes

puntos (dinámicamente).◦ Se particiona la base de datos en diferentes

bloques con puntos de entrada.◦ Apriori sólo permite añadir itemsets al principio

de cada búsqueda completa en el conjunto de datos.

◦ Con dynamic itemset counting se pueden añadir itemsets candidatos en cada punto de entrada.

Clasificación Supervisada Página 32

Dynamic itemset counting◦ Es dinámico porque permite estimar el soporte

de los itemsets que se han contabilizado hasta el momento.

◦ El criterio para añadir nuevos itemsets candidatos en los puntos de entrada es que sus subconjuntos sean frecuentes.

◦ El algoritmo resultante tiene menos accesos al conjunto de datos que a priori.

Clasificación Supervisada Página 33

Motivación Conceptos básicos

Confianza, cobertura, Itemset, reglas

Algoritmo A priori Ejemplo

Variantes de A priori◦ Técnicas basadas en

tablas hash◦ Reducción de

Transacciones◦ Particionado◦ Muestreo◦ Inclusión Dinámica de

itemsets ReferenciasReferencias

Clasificación Supervisada Página 34

T. Menzies, Y. Hu. Data Mining For Busy People. IEEE Computer, Outubro de 2003, pgs. 18-25.

Piatetsky-Shapiro, G. (1991), Discovery, analysis, and presentation of strong rules, in G. Piatetsky-Shapiro & W. J. Frawley, eds, ‘Knowledge Discovery in Databases’, AAAI/MIT Press, Cambridge, MA.

R. Agrawal; T. Imielinski; A. Swami: Mining Association Rules Between Sets of Items in Large Databases", SIGMOD Conference 1993: 207-216

Jochen Hipp, Ulrich Güntzer, and Gholamreza Nakhaeizadeh. Algorithms for association rule mining - A general survey and comparison. SIGKDD Explorations, 2(2):1-58, 2000.

Jian Pei, Jiawei Han, and Laks V.S. Lakshmanan. Mining frequent itemsets with convertible constraints. In Proceedings of the 17th International Conference on Data Engineering, April 2-6, 2001, Heidelberg, Germany, pages 433-442, 2001.

Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules in large databases. In Jorge B. Bocca, Matthias Jarke, and Carlo Zaniolo, editors, Proceedings of the 20th International Conference on Very Large Data Bases, VLDB, pages 487-499, Santiago, Chile, September 1994.

Mohammed J. Zaki. Scalable algorithms for association mining. IEEE Transactions on Knowledge and Data Engineering, 12(3):372-390, May/June 2000.

Clasificación Supervisada Página 35

Santiago González Tortosa