REGLAS DE ASOCIACIÓN

Anuncio
1
REGLAS DE ASOCIACIÓN
Bases de Datos Masivas
29 de Octubre de 2015
2
Reglas de Asociación
3
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
Ejemplo de Reglas de Asociación
{Diaper} → {Beer},
{Milk, Bread} → {Eggs,Coke},
{Beer, Bread} → {Milk},
La implicancia indica “co-ocurrencia” no causalidad
4
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
Customer
buys both
Ej σ({Milk, Bread, Diaper}) = 2
Customer
buys beer
Customer
buys diaper
5
Definiciones
●
Support (s)
–
Fracción de transacciones que contiene a un itemset
–
Ejemplo:
σ({Milk, Bread,Diaper}) / |T| = 2/5
●
Itemset frecuente
–
σ (x)
s (x )=
|T|
Un itemset cuyo support es mayor o igual al umbral
establecido en minsup .
6
Definiciones
●
Regla de Asociación
–
Una expresión de la forma X → Y, donde X e Y son
itemsets
–
Ejemplo: {Milk, Diaper} ⇒ {Beer}
7
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
8
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)
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é?
9
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.
10
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.
11
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
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!
12
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 100 =100 1-itemset frecuentes
(1)
Vamos a tener los 100 =4950 2-itemset frecuentes
(2)
13
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
14
Generación de Itemsets Frecuentes
15
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 !!!
16
Complejidad Computacional
Dados d items:
●
Número total de itemsets = 2d
●
Número total de reglas:
17
Estrategias para la generación de itemsets
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
18
Reduciendo el número de candidatos
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
19
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
¡¡Volvamos al lattice!!
20
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 )
21
El algoritmo Apriori
Join 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.
Pseudo-code:
Ck: Candidate itemset of size k
Lk: frequent itemset of size k
L1 = {frequent items};
for( k = 1; L k !=∅; k ++) do begin
Ck+1 = candidates generated from Lk
for 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_support
end
return ∪k Lk
22
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 }
23
Ejemplo de Generación de Candidatos
24
Obtención de las reglas
A partir de los itemsets frecuentes vamos a generar las
reglas de asociación.
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)
Como las reglas se construyen a partir de los itemsets
frecuentes, todas satisfacen el min_support
25
Factores que afectan la complejidad
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
26
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.
27
Medidas de Interestingnes
●
Dada una regla X → Y la información necesaria para
computar medidas de Interestingness se obtiene desde
una tabla de contingencia:
28
Drawback of Confidence
29
Independencia Estadística
Population 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
30
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.
P (X ,Y )
Lift =P( X →Y )=
P ( X ) . P (Y )
Confidence = P(Coffee|Tea) = 0.75
but P(Coffee) = 0.9
⇒ Lift = 0.75/0.9= 0.8333 (< 1, están asociados
negativamente)
31
Referencias
●
Jiawei Han,Micheline Kamber.Data Mining,Concepts and
Techniques- 2 da edición- The Morgan Kaufmann Series in
Data Management Systems
Descargar