Sei sulla pagina 1di 34

REGLAS DE ASOCIACION

TRANSACCIONES
Productos comprados por los clientes de un supermercado en los ltimos das:

transaccin 1

Nmero de transacciones = 9
2

TRANSACCIONES EN UNA BASE DE DATOS: EJEMPLO


Representacin por medio de atributos (A, B, C, D, E)

TRANSACCIONES EN UNA BASE DE DATOS: EJEMPLO


Representacin binaria de los atributos.

TID 1 2 3 4 5 6 7 8 9

A 1 0 0 1 1 0 1 1 1

B C 1 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1

D 0 1 0 1 0 0 0 0 0

E 1 0 0 0 0 0 0 1 0

TRANSACCIONES EN UNA BASE DE DATOS: EJEMPLO


A partir de la representacin binaria se puede analizar las transacciones

TID 1 2 3 4 5 6 7 8 9

A 1 0 0 1 1 0 1 1 1

B C 1 0 1 0 1 1 1 0 0 1 1 1 0 1 1 1 1 1

D 0 1 0 1 0 0 0 0 0

E 1 0 0 0 0 0 0 1 0

Frecuencia A = 6 Frecuencia B = 7 Frecuencia C = 6

Frecuencia D = 2
Frecuencia E = 2

DEFINICIONES Item: atributo=valor Usualmente los atributos son convertidos a binario por cada valor, ejemplo: producto= A es representado simplemente como A.

Itemset I: Subconjunto de posibles atributos o valores (items) Ejemplo: I = {A, B , E} (el orden no es importante) Transaccin: (TID, itemset) TID es el identificador de la transaccin.
6

REGLAS DE ASOCIACION
Reglas de Association : Si Itemset1 Itemset2
Itemset1 Itemset2= y Itemset2 . Si las transacciones de la base de datos incluyen Itemset1 entonces tambien incluyen a Itemset2. Ejemplos:

Si Leche y Pan => Huevos y Azcar Si A,B E,C


Si Leche => Pan y Cereal SI A B,C
7

OBTENIENDO REGLAS A PARTIR DE SUBCONJUNTOS ITEMSET


Dado el conjunto {A, B, E}. Cules son las posibles reglas de asociacin ? (orden no es importante: A, B = B ,A)

Si A B, E Si A, B E Si A, E B Si B A, E Si B, E A Si E A, B Si __ A,B,E (regla vacia) es vlida?


8

REGLAS DE ASOCIACION VS CLASIFICACION Reglas de Clasificacin Reglas de Asociacin

Un atributo objetivo. Varios atributos objetivo. Clases especficas en Aplicable en algunos todos los casos. casos. Medida: tasa de error Medida: Soporte, del clasificador. Confianza.

SOPORTE Y CONFIANZA DE LA REGLA


Sea R: I J una regla de asociacin sop (R) = sop (I J) es el soporte de R % de instancias en las que se cumple R conf (R) = sop (R) / sop (I) es la confianza de R % de instancias que contienen a R y tambien I Las reglas de asociacin con un mnimo soporte (minsop) y confianza (minconf) son llamadas al mismo tiempo reglas duras.
10

REGLAS DE ASOCIACION: EJEMPLO 1


Dada la sgte. base de datos:

Nmero de transacciones=10
11

REGLAS DE ASOCIACION: EJEMPLO 1


Soporte:
sop (manzanas)= 4 / 10 = 0.4 sop (zanahoria) = 3 / 10 = 0.3 sop (dulcera) = 6 / 10 = 0.6 sop (manzana dulcera) = 3 / 10 = 0.3 sop (manzana papa) = 2 / 10 = 0.2

Confianza:
conf (manzanadulcera) = sop (manzanadulcera) / sop (manzanas)= 0.3 / 0.4 = 0.75 conf (manzana papa) = ? conf (manzana tomate) = ?
12

REGLAS DE ASOCIACION: EJEMPLO 2


Dado el subconjunto {A, B, E }, cules son las reglas de asociacin de la base de datos con un soporte mnimo del 22% y una confianza del 50% ?.

TID List of items 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C


13

REGLAS DE ASOCIACION: EJEMPLO 2


Dado el subconjunto {A, B, E }, cules son las reglas de asociacin con un soporte mnimo del 22% y una confianza del 50% ?.
TID List of items 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C

SOLUCION:
1. Generar reglas a partir de {A, B, E}. 2. Determinar el soporte y confianza de cada regla. 3. Evaluar reglas segn condicin.

14

REGLAS DE ASOCIACION: EJEMPLO 2


1.-Generar reglas a partir de {A, B, E}: Si Si Si Si Si Si A B, E A, B E A, E B B A, E B, E A E A, B
TID List of items 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C

15

REGLAS DE ASOCIACION: EJEMPLO 2


2.-Determinar el soporte y confianza de cada regla.
Si A B, E sop=2/9 = 22% Si A, B E sop=2/9 = 22% Si A, E B sop=2/9 = 22% Si B A, E sop=2/9 = 22% Si B, E A sop=2/9 = 22% Si E A, B sop=2/9 = 22%

conf=22% / 66% = 33%

conf=22% / 44% = 50%

conf=22% / 22% = 100%

conf=22% / 77% = 28%

TID List of items 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C

conf=22% / 22% = 100%

conf=22% / 22% = 100%

16

REGLAS DE ASOCIACION: EJEMPLO 2


3.- Evaluar reglas segn condicin:
minsop =22% y minconf =50% Si A B, E sop=2/9 = 22% Si A, B E sop=2/9 = 22% Si A, E B sop=2/9 = 22% Si B A, E sop=2/9 = 22%

conf=22% / 66% = 33%

conf=22% / 44% = 50%

conf=22% / 22% = 100%

conf=22% / 77% = 28%

Si B, E A sop=2/9 = 22%

TID List of items 1 A, B, E 2 B, D 3 B, C 4 A, B, D 5 A, C 6 B, C 7 A, C 8 A, B, C, E 9 A, B, C

conf=22% / 22% = 100%


17

Si E A, B sop=2/9 = 22% conf=22% / 22% = 100%

PARAMETROS DE UNA REGLA DE ASOCIACION

Por lo tanto una regla de asociacin R tiene los sgtes parmetros:


Soporte: sup (R) >= minsup Confianza: conf (R) >= minconf

18

PROBLEMA
Dado un conjunto de transacciones, generar todas las reglas de asociacion de tal forma que tenga un soporte y confianza menor a minsup y minconf respectivamente (estos valores son definidos por el analista).

19

SOLUCION DEL PROBLEMA


Encontrar los itemsets L (de las transacciones de la base de datos) que tengan un soporte mayor a minsup (itemset frecuente). Usar los itemsets L encontrados para generar reglas de asociacin

20

ALGORITMO A PRIORI
Fue propuesto por Agrawal & Srikant en 1994. Idea: usar un itemset L de k atributos para generar un itemset de k+1 atributos.
Si {A,B} es un itemset frecuente entonces {A} y {B} son tambien itemsets frecuentes.

Objetivo: Encontrar los itemset frecuencia.

L con mayor

21

ALGORITMO A PRIORI
PASO 1: Generar todas los itemsets L con un elemento. Usar estos para generar los de 2 elementos, y asi sucesivamente. Se toman todos los posibles pares cuyo soporte sea mayor a minsup (permite ir eliminando posibles combinaciones ya que no todas se tienen que considerar).
22

ALGORITMO A PRIORI
PASO 2: Por cada itemset frecuente L encontrado Por cada subconjunto J de L Determinar todas las reglas de asociacin de la forma: Si L- J J Seleccionar aquellas cuya confianza sea mayor minconf
23

ALGORITMO A PRIORI: Pseudo- Cdigo


Ck : atributos candidatos de tamao k Lk : atributos frecuentes de tamao k D: Base de datos de las transacciones. L1 = { atributos frecuentes } // itemset de 1 atributo for (k=2; Lk-1; k++) do begin Ck = aprioriGen(Lk-1); // nuevos candidatos

//---------- Clculo del soporte para cada candidato-----------for all transaccciones t D do begin Ct = subset (Ck, t) // candidatos en la transaccion t for all candidatos c Ct do c.cont++ // contador asociado a c end //----------------------------------------------------------------------------//---------------------------Evaluar--------------------------------------Lk = {c Ct | c.cont minsup} // condicin de soporte //----------------------------------------------------------------------------end

Return k Lk

24

Algoritmo A Priori : Ejemplo


TID 100 200 300 400

minsop=1

D atributos 134 235 1235 25

C1
conj. atrib soporte

L1
conj. Atrib soporte

Explora D

{1} {2} {3} {4} {5}

2 3 3 1 3
1 2 1 2 3 2

Evaluar

{1} {2} {3} {5}


C2

2 3 3 3
{1 2} {1 3} {1 5} {2 3} {2 5} {3 5}
resultado
25

L2

conj. atrib soporte

C2

conj. atrib soporte

{1 3} {2 3} {2 5} {3 5}

2 2 3 2

Evaluar

{1 2} {1 3} {1 5} {2 3} {2 5} {3 5}

conj. atrib

Explora D

C3 itemset {2 3 5}

Explora D

L3 itemset sup {2 3 5} 2

GENERACION DE REGLAS
Reglas a partir de { 2, 3, 5}:
2 => 3, 5 2, 3 => 5 2, 5 => 3 3 => 2, 5 3, 5 => 2 5 => 2, 3

Que reglas son vlidas ? Suponiedo un nivel de confianza del 70% que reglas cumplen la condicin ?
26

USANDO WEKA : Ejemplo

(1)

Usando la data weather . Sirve para determinar si se puede jugar golf en una cancha dada unas condiciones climticas determinadas

27

USANDO WEKA : Ejemplo

(2)

28

USANDO WEKA : Ejemplo

(3)

minsup Medida para evaluar reglas minconf nmero de reglas a mostrar

maxsup 29

USANDO WEKA : Ejemplo

(4)

30

USANDO WEKA :

Cambie el nmero de reglas a generar igual a 58 un nivel de soporte > 1 y confianza=100%

31

USANDO WEKA :
Generando reglas con soporte > 1 y confianza 100%

Regla de Asociacin 1 2 3 4 ... 58 Humidity=Normal Windy=False Temperature=Cool Outlook=Overcast Temperature=Cold Play=Yes ... Outlook=Sunny Temperature=Hot Play=Yes Humidity=Normal Play=Yes Humidity=Normal ... Humidity=High

Sop. 4 4 4 3 ... 2

Conf. 100% 100% 100% 100% ... 100%

En total: 3 reglas con soporte 4, 5 con soporte 3 y 50 con soporte 2


32

OTROS ALGORITMOS
Mejoras del Algoritmo A Priori: Algoritmo AprioriTid Algoritmo AprioriHybrid

33

APLICACIONES
Supermercados Ventas Biologia Deteccin de trafico en la red Medicina

34

Potrebbero piacerti anche