REGLAS DE ASOCIACIÓN - Laboratorio de Redes ... de Asociación Dado un conjunto de transacciones...

31
Bases de Datos Masivas 29 de Octubre de 2015 1 REGLAS DE ASOCIACIÓN

Transcript of REGLAS DE ASOCIACIÓN - Laboratorio de Redes ... de Asociación Dado un conjunto de transacciones...

Bases de Datos Masivas

29 de Octubre de 2015

1

REGLAS DE ASOCIACIÓN

Reglas de Asociación2

Reglas de Asociación

Dado un conjunto de transacciones encontrar reglas que puedan predecir la ocurrencia de un ítem basado en la presencia de otros.

Análisis Market-Basket transactions

3

Ejemplo de Reglas de Asociación

{Diaper} → {Beer},{Milk, Bread} → {Eggs,Coke},{Beer, Bread} → {Milk},

La implicancia indica “co-ocurrencia” no causalidad

Customerbuys diaper

Customerbuys both

Customerbuys beer

Definiciones● Itemset

– Una colección de 1 ó más items● Ejemplo: {Milk, Bread, Diaper}

– k-itemset● Un itemset que contiene k items

● Support count (σ)

– Cantidad de ocurrencias de un itemset

– Ej σ({Milk, Bread, Diaper}) = 2

4

Definiciones

● Support (s)

– Fracción de transacciones que contiene a un itemset

– Ejemplo:

σ({Milk, Bread,Diaper}) / |T| = 2/5

● Itemset frecuente

– Un itemset cuyo support es mayor o igual al umbral establecido en minsup .

5

s (x )=σ (x )

|T|

Definiciones

● Regla de Asociación

– Una expresión de la forma X → Y, donde X e Y son itemsets

– Ejemplo: {Milk, Diaper} {Beer}⇒

6

Definiciones

Métricas de Evaluación de Reglas

● Support (s):

– Fracción de transacciones que contiene a X e Y● Confidence (c):

– Mide con que frecuencia Y aparece en transacciones en las que también aparece X

7

Ejemplos de Reglas de Asociación

{Milk,Diaper}   {Beer} (s=0.4, c=0.67)→{Milk,Beer}   {Diaper} (s=0.4, c=1.0)→{Diaper,Beer}   {Milk} (s=0.4, c=0.67)→{Beer}   {Milk,Diaper} (s=0.4, c=0.67)→{Diaper}   {Milk,Beer} (s=0.4, c=0.5)→{Milk}   {Diaper,Beer} (s=0.4, c=0.5)→

8

Observaciones:• Todas las reglas se originaron en el itemset: {Milk, Diaper, Beer}

• Las reglas que se originan en el mismo itemset tienen el mismo soporte pero pueden tener distinta confianza ¿Por qué?

Otras aplicaciones

1) Encontrar conceptos relacionados: Supongamos que las palabras son los ítems y los “documentos” las canastas.

2) Plagio: En este caso los ítems son las documentos y las canastas las oraciones.

● Donde un “item/documento” esta en una “canasta/oración” si la oración pertenece al documento.

● Una o dos oraciones en común en distintos documentos son un buen indicador de plagio.

9

Otras aplicaciones

Biomarkers ( indicadores biológicos)

Supongamos que los items son de 2 tipos: genes /proteínas en sangre o enfermedades.

Cada canasta es el conjunto de estos datos referidos a un paciente: el genoma, los análisis de sangre y su historia clínica.

Un itemset que muestra la relación entre uno o más “indicadores biológicos” y una enfermedad daría una pista sobre un posible análisis para detectar esa enfermedad.

10

Descubrimiento de reglas

Dado un conjunto de transacciones T, el objetivo del descubrimiento de reglas de asociación es encontrar todas las reglas que cumplen:

– support ≥ minsup threshold

– confidence ≥ minconf threshold

11

Aproximación de fuerza bruta:● Listar todas las posibles reglas de asociación ● Calcular el soporte y la confianza para cada una● Eliminar las que no satisfacen los umbrales predefinidos

⇒ Computacionalmente Prohibitivo!

Descubrimiento de reglas

¿Por qué es prohibitivo?

Supongamos que tenemos frecuent itemset de 100 items:

{a 1 , a 2 , . . . , a 100 }

Vamos a tener los 1-itemset frecuentes

Vamos a tener los 2-itemset frecuentes

12

(1001 )=100

(1002 )=4950

Descubrimiento de reglas

Association Rule Mining puede ser visto como un problema de 2 pasos:

1) Generación de los itemsets frecuentes

Generar todos los itemsets con support ≥ minsup

2) Generación de reglas

– Generar a partir de la división de los itemsets frecuentes en subconjuntos las reglas que satisfacen la confianza

El primer paso es computacionalmente muy caro

13

Generación de Itemsets Frecuentes14

Generación de Itemsets Frecuentes

Aproximación de fuerza bruta:

● Cada itemset en el lattice es un candidato

● Contar el soporte de cada itemset barriendo las transacciones

● Comparar cada transacción contra cada itemset

● Complejidad ~ O(NMw) => Caro porque M = 2d !!!

15

Complejidad ComputacionalDados d items:

● Número total de itemsets = 2d

● Número total de reglas:

16

Estrategias para la generación de itemsets17

Reducir el número de candidatos (M)● Búsqueda completa: M = 2d

● Utilice técnicas de poda para reducir M

Reducir el número de transacciones (N)● Reducir el tamaño de N como el incremento del tamaño de los itemsets● Esto es utilizado algoritmos como Direct Hashing and Pruning (DHP)

Reducir el número de comparaciones (NM)● Utilice las estructuras de datos eficientes para almacenar los candidatos o

transacciones● No hay necesidad de comparar cada candidato contra cada transacción

Reduciendo el número de candidatos18

Principio Apriori

Si un itemset es frecuente, entonces todos sus subsets deben además ser frecuentes.

El Principio Apriori se sostiene debido a las siguiente propiedades de la medida de support:

∀ X , Y : ( X Y ) s ( X ) ≥ s ( Y )⊆ ⇒

● El support de un itemset nunca excede el support de sus subsets

● Esto es conocido como la propiedad de anti-monotonía del support

Anti-Monotonía

Si un itemset X no satisface el umbral de min_support

entonces X no es frecuente.

Es decir:

S(X) < min_support

Si agrego X2 al itemset X (X U X2) entonces el resultado del itemset no puede ser más frecuente que X

X U X2 es no frecuente, por lo tanto:

S(X U X2) < min_support

19

¡¡Volvamos al lattice!!

El algoritmo Apriori

El algoritmo Apriori fue propuesto por R. Agrawal and R. Srikant en 1994 para mining frecuent itemsets de reglas de asociación binarias (como los ejemplos de la canasta).

El algoritmo maneja 2 conjuntos de itemsets:

– Candidatos ( Ck )

– Frecuentes ( Lk )

20

El algoritmo AprioriJoin Step: Ck es generando uniendo Lk-1 con sigo mismo.

Prune Step: Un (k-1)-itemset que no es frecuente no puede ser un subset de un k-itemset frecuente.

21

Pseudo-code:Ck: Candidate itemset of size kLk: frequent itemset of size kL1 = {frequent items};for( k = 1; L k != ; k ++) ∅ do begin

Ck+1 = candidates generated from Lkfor each transaction t in database do

increment the count of all candidates         in Ck+1that are contained in t

Lk+1 = candidates in Ck+1 with min_supportend

return ∪k Lk

Ejemplo de Generación de Candidatos

● L3 = { abc, abd, acd, ace, bcd }

● Unir: L3 * L3

– abcd de abc y abd

– acde de acd y ace● Pruning:

– Como ade no está en L3 se elimina acde

– C4 ={ abcd }

22

Ejemplo de Generación de Candidatos23

Obtención de las reglas

For each frequent itemset X ,

For each proper nonempty subset A of X,

Let B = X - A

A B⇒ is an association rule if

Confidence (A B) ≥ minConf⇒ ,

where support (A B) = support (AB)⇒ , and

confidence (A B) = support (AB) / support (A)⇒

24

Como las reglas se construyen a partir de los itemsets frecuentes, todas satisfacen el min_support

A partir de los itemsets frecuentes vamos a generar las reglas de asociación.

Factores que afectan la complejidad25

Elegir el umbral de min_support● Bajar el umbral de support resulta en mas itemsets frecuentes● Esto puede incrementar el número de candidatos y la longitud maxima de itemsets

frecuentes

Dimensionalidad del dataset (cantidad de items)● Se necesita más espacio para almacenar el count support de cada uno de los

items● Si el nro de items frecuentes aumenta, tanto el costo computacional como las

operaciones de I/O se incrementan

Tamaño de la base de datos● Dado que Apriori hace varias pasadas, el tiempo de ejecución del algoritmo puede

aumentar con el número de transacciones

Tipos “especiales” de itemsets

● Maximal Frecuent Itemset: Un itemset es maximal si ninguno de su superset es frecuente

● Closed Frecuent Itemset: Un itemset es closed si ninguno de sus inmediatos superset tiene el mismo support que el itemset.

26

Medidas de Interestingnes

● Dada una regla X → Y la información necesaria para computar medidas de Interestingness se obtiene desde una tabla de contingencia:

27

Drawback of Confidence28

Independencia EstadísticaPopulation of 1000 students

- 600 students know how to swim (S)

- 700 students know how to bike (B)

- 420 students know how to swim and bike (S,B)

P(S B)∧ = 420/1000 = 0.42 (Observados juntos)

P(S) × P(B) = 0.6 × 0.7 = 0.42 (Indep.)

- P(S B) = P(S) × P(B) => Statistical independence∧

- P(S B) > P(S) × P(B) => Positively correlated∧

- P(S B) < P(S) × P(B) => Negatively correlated∧

29

Lift

El Lift de una regla es X → Y es la confianza de la regla dividido la confianza esperada, asumiendo que los items son independientes.

30

Lift=P(X→Y )=P (X ,Y )

P (X ) .P (Y )

Confidence = P(Coffee|Tea) = 0.75but P(Coffee) = 0.9

⇒ Lift = 0.75/0.9= 0.8333 (< 1, están asociados negativamente)

Referencias

● Jiawei Han,Micheline Kamber.Data Mining,Concepts and Techniques- 2 da edición- The Morgan Kaufmann Series in Data Management Systems

31