jian pei, jiawei han e runying mao apresentação gustavo zanini kantorski

45
Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Jian Pei, Jiawei Han e Runying Mao

Apresentação Gustavo Zanini Kantorski

Page 2: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

IntroduçãoItemset

Conjunto de 1 ou mais itensSuporte (support count - σ)

Número de transações que contém determinado item

Regras AssociaçãoSupport : s (X Y) = σ ( X U Y ) total transações

Confidence: c (X Y) = σ (X U Y) σ (X)

Page 3: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

IntroduçãoDado um conjunto de transações, encontrar

as regras com support > minsupconfidence >= minconf

Problema é dividido em Geração de Frequent ItemsetGeração de Regras

Page 4: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

IntroduçãoA algoritmo Apriori tem como objetivo reduzir o

número de itemsets candidatosAinda assim, o número de frequent itemsets gerados

pode ser muito grande, principalmente quando o minsup é baixo.

O número de regras de associação também pode ser muito grande.

Isto reduz a eficiência e eficácia da mineraçãoAlternativa Proposta:Algoritmo CLOSET: Ao invés de minerar o conjunto completo de frequent itemsets e suas associações, minerar somente os frequent closed itemsets e suas regras.

Page 5: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Closed ItemsetUm itemset X é closed se nenhum dos seus

super conjuntos imediatos tem exatamente o mesmo suporte de X.

Um itemset X é frequent closed se ele é fechado e o seu suporte é superior ou igual ao minsup.

Frequent Closed Itemset

Page 6: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

ExemploConsidere um banco de dados com 2 transações: minsup=1 minconf=50%

Método Tradicional: 2n – 1 = 2100 – 1 itemsets 3n – 2n+1 + 1 regras

Método de Frequent Closed Itemsets: 2 Closed Itemsets {(a1,a2,a3,…,a50) , (a1,a2,a3,

…,a100)} 1 Regra (a1,a2,a3,…,a50) (a51,a52,a53,

…,a100)

TID Itens

66 a1, a2, a3,…… a100

67 a1, a2, a3,…… a50

Page 7: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

TransaçõesTID Itens na transação

100 a, c, d, e, f

200 a, b, e

300 c, e, f

400 a, c, d, f

500 c, e, f

minsup = 2 e minconf=50%

Segundo Apriori tem-se:1-itemsets: a, c, d, e, f,2-itemsets: ac, ad, ae, af, cd, ce, cf, df, ef,3-itemsets: acd, acf, adf, cef, cdf,4-itemsets: acdf

20 frequent itemsets dos quais somente 6 são fechados.

Page 8: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

TID Itens

100 a, c, d, e, f

200 a, b, e

300 c, e, f

400 a, c, d, f

500 c, e, f

/

a c d fe

acad

ae af cd ce cfde

df ef

acd

ace

acf

ade

adf

aef

cde

cdf

cef

def

acde

acdf

acef

adef

cdef

acdef

3 4 2 44

2214322222

2 2 2 2 3

2

Page 9: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

TID Itens

100 a, c, d, e, f

200 a, b, e

300 c, e, f

400 a, c, d, f

500 c, e, f

/

a c d fe

acad

ae af cd ce cfde

df ef

acd

ace

acf

ade

adf

aef

cde

cdf

cef

def

acde

acdf

acef

adef

cdef

acdef

3 4 2 44

2214322222

2 2 2 2 3

2

Page 10: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

TID Itens

100 a, c, d, e, f

200 a, b, e

300 c, e, f

400 a, c, d, f

500 c, e, f

/

a c d fe

acad

ae af cd ce cfde

df ef

acd

ace

acf

ade

adf

aef

cde

cdf

cef

def

acde

acdf

acef

adef

cdef

acdef

3 4 2 44

2214322222

2 2 2 2 3

2

Page 11: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

TID Itens

100 a, c, d, e, f

200 a, b, e

300 c, e, f

400 a, c, d, f

500 c, e, f

/

a c d fe

acad

ae af cd ce cfde

df ef

acd

ace

acf

ade

adf

aef

cde

cdf

cef

def

acde

acdf

acef

adef

cdef

acdef

3 4 2 44

2214322222

2 2 2 2 3

2

Page 12: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

TID Itens

100 a, c, d, e, f

200 a, b, e

300 c, e, f

400 a, c, d, f

500 c, e, f

/

a c d fe

acad

ae af cd ce cfde

df ef

acd

ace

acf

ade

adf

aef

cde

cdf

cef

def

acde

acdf

acef

adef

cdef

acdef

3 4 2 44

2214322222

2 2 2 2 3

2

Page 13: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

FP-TreeCLOSET utiliza uma frequent pattern tree (FP-

tree) que é um representação compacta de todas as transações do banco de dados e usa uma recursão dividir para conquistar para a minerar os frequent closed itemsets.

Page 14: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

FP-TreeTID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

c:1

f:1

a:1

d:1

e:1

null

Page 15: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

FP-TreeTID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

c:1

f:1

a:1

d:1

e:1

null

a:1

e:1

Page 16: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

FP-TreeTID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

c:2

f:2

a:1

d:1

e:2

null

a:1

e:1

Page 17: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

FP-TreeTID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

f:1

a:1

d:1

c:3

f:2

a:1

d:1

e:2

null

a:1

e:1

Page 18: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

FP-TreeTID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

Page 19: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Conditional DatabaseDado um conjunto de transações TDB. Seja k

um frequent itemset em TDB. O k-conditional database, denotado por TDB|k, é o subconjunto de transações em TDB que contém k, e todas as ocorrências de itens não frequentes, o item k e itens seguindo k em f_list são omitidos.

f_list é uma lista com os itens e seus respectivos suportes em ordem decrescente do suporte.

Page 20: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETRepresenta as transações e os conditional

databases através de uma FP-tree

Extrair os itens que aparecem em cada transação do conditional database a partir de uma FP-tree é eficiente

Page 21: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSET Determinar a frequent item list (f_list)

f_list = <c : 4, e : 4, f : 4, a : 3, d : 2>

Itens são armazenados em ordem decrescente de suporte

Itens com suporte abaixo do minsup são omitidos

Page 22: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETDado um conjunto de transações de BD, TDB,

um limiar de suporte min_sup, e f_list=(i1,i2,…,in) o problema da mineração do conjunto completo de frequent closed itemsets pode ser dividido em n sub problemas. O jth problema (1 <= j <=n) é encontrar o conjunto completo de frequent closed itemsets que contém in+1-j mas não ik (para n+1-j < k <= n)

Page 23: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETj = 1 i5+1-1 i5 dj = 2 i5+1-2 i4 a and not (4 < k <= 5)j = 3 i5+1-3 i3 f and not (3 < k <= 5)j = 4 i5+1-4 i2 e and not (2 < k <= 5)j = 5 i5+1-5 i1 c and not (1 < k <= 5)

f_list = <c : 4, e : 4, f : 4, a : 3, d : 2>TID

Itens

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

Page 24: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETOs frequent closed itemsets podem ser

divididos em 5 subconjuntos não sobrepostos:Os subconjuntos que contém dOs subconjuntos que contém a mas não dOs subconjuntos que contém f mas não a nem dOs subconjuntos que contém e mas não f, a

nem dOs subconjuntos que contém somente c

Page 25: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETOs frequent closed itemsets podem ser

divididos em 5 subconjuntos não sobrepostos:Os subconjuntos que contém dOs subconjuntos que contém a mas não dOs subconjuntos que contém f mas não a nem dOs subconjuntos que contém e mas não f, a

nem dOs subconjuntos que contém somente c

Page 26: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

d-Conditional

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1TID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

Page 27: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

d-Conditional

f:1

a:1

c:2

f:1

a:1

e:1

null

sup(d) = 2

TDB|d = {cefa, cfa}

cfad é um frequent closed itemset

sup(cefad) = 1sup(cfad) = 2

Page 28: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETOs frequent closed itemsets podem ser

divididos em 5 subconjuntos não sobrepostos:Os subconjuntos que contém dOs subconjuntos que contém a mas não

dOs subconjuntos que contém f mas não a nem dOs subconjuntos que contém e mas não f, a

nem dOs subconjuntos que contém somente c

Page 29: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

a-Conditional

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

TID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

Page 30: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

a-Conditional

sup(a) = 3

TDB|a = {cef, e, cf}Nenhum tem suporteIgual ao de a, então

sup(cefa) = 1sup(ea) = 2sup(cfa) = 1

a é um frequent closed itemset

f:1

c:2

f:1

e:1

null

e:1

Page 31: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

a-Conditional

f:1

c:2

f:1

e:1

null

e:1

f_list_a = <c : 2, e : 2, f : 2>

Os frequent closed itemsets podem ser divididos em 3 subconjuntos não sobrepostos: Os subconjuntos que contém af mas não d Os subconjuntos que contém ae mas não

d nem f Os subconjuntos que contém ac mas não

d, e ou f

c:2

e:1

null

af:2

c:1

null

ae:2 minsup=2

c:2

null

ac:2

TDB|ea = {c}

ae é um frequent closed itemset

Page 32: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETOs frequent closed itemsets podem ser

divididos em 5 subconjuntos não sobrepostos:Os subconjuntos que contém dOs subconjuntos que contém a mas não dOs subconjuntos que contém f mas não

a nem dOs subconjuntos que contém e mas não f, a

nem dOs subconjuntos que contém somente c

Page 33: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

f-Conditional TID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

f:1

a:1

d:1

c:4

f:3

a:1

d:1

e:3

null

a:1

e:1

Page 34: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

f-Conditional TID

Itens na transação

100 c, e, f, a, d

200 e, a

300 c, e, f

400 c, f, a, d

500 c, e, f

c:4

e:3

null

sup(f) = 4

TDB|f = {ce, c}

sup(cef) = 3sup(cf) = 4

cf é frequent closed itemset, poissup(f) = sup(cf)

cef é frequent closed itemset, poisnão é subconjunto de qquer itemsetencontrado com suporte idêntico.

Page 35: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETOs frequent closed itemsets podem ser

divididos em 5 subconjuntos não sobrepostos:Os subconjuntos que contém dOs subconjuntos que contém a mas não dOs subconjuntos que contém f mas não a nem dOs subconjuntos que contém e mas não f,

a nem dOs subconjuntos que contém somente c

Page 36: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

e-Conditionalc:3

null

sup(e) = 4

TDB|e = {c}

sup(ce) = 3

e é frequent closed itemset

ce não é frequent closed itemset, poissup(e) <> sup(ce) e ce é subconjunto de cef (pertencente a f-conditional database)

Page 37: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

c-Conditional

Não é necessário pesquisar em c-Conditional Database pois c é um Subconjunto de cf, que é um frequent closed itemset com o mesmo suporte de c.

Page 38: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski
Page 39: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Algoritmo CLOSETInicialização: FCI zero

Encontre frequent items: Varrer as transação do banco de dados TDB e computar a frequent item list – f_list

Minerar frequent closed itemsets recursivamente

CLOSET( 0 , TDB, f_list, FCI)

Page 40: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Estudo do ArtigoComparação com outros algoritmos

A-close CHARM

Datasets utilizadosT25I20D100KConnect-4Pumsb

Page 41: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Estudo do ArtigoSuporte Número de

Frequent Closed Itemset

Número de Frequent Itemset

Frequent Itemset----------------------------

-----Frequent Closed

Itemset

95% 812 2.205 2.72

90% 3.486 27.127 7.78

80% 15.107 533.975 35.35

70% 35.875 4.129.839 115.12Connect-4. Database com 67.557 transações com 43 itens.

Page 42: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Estudo do Artigo

T25I20D100K

Page 43: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Estudo do Artigo

pumsb

Page 44: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Estudo do Artigo

Connect-4

Page 45: Jian Pei, Jiawei Han e Runying Mao Apresentação Gustavo Zanini Kantorski

Considerações FinaisO algoritmo CLOSET serve para extrair os itemsets frequentes

fechados a partir de um conjunto de dados, recorrendo à estrutura FP-tree.

O algoritmo começa por criar uma lista de itens frequentes (f_list) organizada por ordem crescente de suporte, utilizando depois uma estratégia de divisão que permite gerar subconjuntos de itens que não são comuns entre si. Desta forma, obtêm-se todos os conjuntos de itemsets frequentes fechados, que são depois trabalhados recursivamente por forma a se obterem todos os resultados possíveis.

Os resultados obtidos mostram que o algoritmo é eficiente e escalável, podendo ser aplicado a conjuntos de dados de grandes dimensões, mas o seu desempenho decresce quando aplicado a dados esparsos.