prof. júlio cesar nievola data mining ppgia – pucprfabricio/ftp/aulas/mestrado/ia/...prof. júlio...

78
Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

Upload: others

Post on 07-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

���������������� �

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

Page 2: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ������������������� �

� Dado um conjunto de transações, achar regras que prevejam a ocorrência de um item baseado nas ocorrências de outros itens na transação

Market-Basket transactions

TID Items

1 Bread, Milk

2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

5 Bread, Milk, Diaper, Coke

Exemplo de Regras de Associação

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

Implicação significa co-occurrência, não causalidade!

Page 3: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ����������������������������

� Conjunto de itens– Uma coleção de um ou mais itens

� Exemplo: {Milk, Bread, Diaper}

– Conjunto de k itens� Um conjunto de itens que contém k

itens

� Contagem de suporte (σσσσ)– Freqüência de ocorrência de um

conjunto de itens– E.g. σ({Milk, Bread,Diaper}) = 2

� Suporte– Fração das transações que contém

um conjunto de itens– E.g. s({Milk, Bread, Diaper}) = 2/5

� Conjunto de itens freqüentes– Um conjunto de itens cujo suporte é

maior ou igual a um limiar minsup

TID Items

1 Bread, Milk

2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

5 Bread, Milk, Diaper, Coke

Page 4: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ����������������� �

Exemplo:Beer}Diaper,Milk{ �

4.052

|T|)BeerDiaper,,Milk( === σ

s

67.032

)Diaper,Milk()BeerDiaper,Milk,( ===

σσ

c

� Regra de Associação– Uma expressão de implicação da

forma X → Y, em que X e Y são conjuntos de itens

– Exemplo:{Milk, Diaper} → {Beer}

� Métricas de Avaliação de Regras– Suporte

� Fração das transações que contém tanto X quanto Y

– Confiança� Mede quão freqüentemente itens

em Y aparecem em transações que contém X

TID Items

1 Bread, Milk

2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

5 Bread, Milk, Diaper, Coke

Page 5: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������������� ������������������� �

� Dado um conjunto de transações T, o objetivo da mineração de regras de associação é encontrar todas as regras que tenham– suporte � liminar minsup– confiança � limiar minconf

� Abordagem de força bruta:– Listar todas as possíveis regras de associação– Calcular o suporte e confiança para cada regra– Podar regras que não atendem aos limiares de

minsup e minconf� Computacionalmente proibitivo!

Page 6: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����������������������� �

Exemplo de Regras:

{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)

TID Items

1 Bread, Milk

2 Bread, Diaper, Beer, Eggs

3 Milk, Diaper, Beer, Coke 4 Bread, Milk, Diaper, Beer

5 Bread, Milk, Diaper, Coke

Observações:• Todas as regras acima são partições binárias do mesmo conjunto de itens: {Milk, Diaper, Beer}

• Regras originadas do mesmo conjunto de itens tem suporte idêntico mas podem ter confiança diferentes

• Então, pode-se desacoplar os requisitos de suporte e confiança

Page 7: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����������������������� �

� Abordagem em dois passos:1. Geração de Conjuntos de Itens Freqüentes

– Gerar todos os conjuntos de itens com suporte ≥ minsup

2. Geração de Regras– Gerar regras com alta confiança a partir de cada conjunto de

itens freqüente, em que cada regra é uma partição binária de um conjunto de itens freqüente

� Geração de conjuntos de itens freqüentes ainda é computacionalmente cara

Page 8: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���� ������������������������������

null

AB AC AD AE BC BD BE CD CE DE

A B C D E

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

ABCDE

Dados d itens, há 2d

possíveis conjuntos de itens candidatos

Page 9: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���� ������������������������������

� Abordagem por força bruta: – Cada conjunto de itens no reticulado é um candidato a

conjunto de itens freqüentes– Contar o suporte de cada candidato baseado nos dados

– Avaliar cada transição em relação a cada candidato– Complexidade ~ O(NMw) => Caro pois M = 2d !!!

TID Items1 Bread, Milk2 Bread, Diaper, Beer, Eggs3 Milk, Diaper, Beer, Coke4 Bread, Milk, Diaper, Beer5 Bread, Milk, Diaper, Coke

N

Transações Lista deCandidatos

M

w

Page 10: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

� !��"����� !��������

� Dados d itens únicos:– Número total conjuntos de itens = 2d

– Número total de possíveis regras de associação:

123 1

1

1 1

+−=

��

���

��

��

−×�

��

=

+

=

=� �

dd

d

k

kd

j j

kd

k

dR

Se d=6, R = 602 regras

Page 11: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#�����$����������� ������������������������������

� Reduzir o número de candidatos (M)– Busca Completa: M = 2d

– Usar técnicas de poda para reduzir M

� Reduzir o número de transações (N)– Reduzir tamanho de N conforme crescem o conjuntos de itens– Usado por DHP e algoritmos de mineração vertical-based

� Reduzir o número de comparações (NM)– Usar estruturas de dados eficientes para armazenar os

candidatos ou transações– Sem necessidade de comparar todos os candidatos com todas

as transações

Page 12: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���%����&' ������������

� Princípio Apriori:– Se um conjunto de itens é freqüente, então todos os

seus subconjuntos também devem ser freqüentes

� Princípio Apriori se mantém devido à seguinte propriedade das medidas de suporte:

– Suporte de um conjunto de itens nunca excede o suporte de seus subconjuntos

– Conhecido como propriedade anti-monótona de suporte

)()()(:, YsXsYXYX ≥�⊆∀

Page 13: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

Encontrado como não freqüente

����������(����)!���!����

Super-conjuntos podados

Page 14: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����������(����)!���!����

Item CountBread 4Coke 2Milk 4Beer 3Diaper 4Eggs 1

Itemset Count{Bread,Milk} 3{Bread,Beer} 2{Bread,Diaper} 3{Milk,Beer} 2{Milk,Diaper} 3{Beer,Diaper} 3

I te m s e t C o u n t {B re a d ,M ilk ,D ia p e r} 3

����������������� ������

�������������������������

������������������������������������������������������

���������������������������

�������� ����!��

��������"������# ���������$�%� &�%�� &�%�� !�'

�������"����������������$%�&�%�&� �!� �

Page 15: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ��!����

� Método:

– Faça k = 1– Gerar conjuntos de itens freqüentes de tamanho 1– Repetir até não haver novos conjuntos de itens freqüentes

� Gerar conjuntos de itens candidatos de tamanho (k +1) a partir de conjuntos de itens freqüentes de tamanho k

� Podar conjuntos de itens candidatos contendo subconjuntos de tamanho k que não são freqüentes

� Contar o suporte de cada candidato na base de dados� Eliminar candidatos que não sejam freqüentes, deixando somente

aqueles que são freqüentes

Page 16: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���������������� ���� !��"���

� Escolha do limiar do suporte mínimo– Baixando limiar do suporte resulta em conjuntos de itens mais freqüentes– Isto pode aumentar o número de candidatos e o comprimento máximo

dos conjuntos de itens freqüentes� Dimensionalidade (número de itens) do conjunto de dados

– É preciso mais espaço para guardar contagem de suporte de cada item– Se número de itens freqüentes também aumenta, tanto os custos de

cálculo quanto de I/O também podem aumentar� Tamanho da base de dados

– Como Apriori realiza múltiplas passadas, tempo de execução do algoritmo pode aumentar com o número de transações

� Largura média da transação– Largura da transação aumenta em conjuntos de dados mais densos– Isto pode aumentar o comprimento máximo dos conjuntos de itens

freqüentes e caminho na árvore de hash (número de subconjuntos em uma transação aumenta com sua largura)

Page 17: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��!������� ��� !���������������������������������

� Alguns conjuntos de itens são redundantes pois tem suporte idêntico ao de seus super-conjuntos

� Número de conjuntos de itens freqüentes

� É preciso uma representação compacta

TID A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C101 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 02 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 03 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 04 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 05 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 06 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 07 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 08 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 09 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 010 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 011 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

�=

��

×= 10

1

103

k k

Page 18: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�����������������������������"�

Fronteira

Conjuntos de itens não-freqüentes

Conjuntos de itens Máximos

Um conjunto de itens é freqüente máximo se nenhum seu super-conjunto imediato é freqüente

Page 19: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������������������*�

� Um conjunto de itens é fechado se nenhum de seus super-conjuntos imediatos tem o mesmo suporte que o conjunto de itens

TID Itens1 {A,B}2 {B,C,D}3 {A,B,C,D}4 {A,B,D}5 {A,B,C,D}

Conjunto de itens

Suporte

{A} 4{B} 5{C} 3{D} 4

{A,B} 4{A,C} 2{A,D} 3{B,C} 3{B,D} 4{C,D} 3

Conjunto de itens

Suporte

{A,B,C} 2{A,B,D} 3{A,C,D} 2{B,C,D} 3

{A,B,C,D} 2

Page 20: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������������������"� �+����*�

TID Itens

1 ABC

2 ABCD

3 BCE

4 ACDE

5 DE

null

AB AC AD AE BC BD BE CD CE DE

A B C D E

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

ABCDE

124 123 1234 245 345

12 124 24 4 123 2 3 24 34 45

12 2 24 4 4 2 3 4

2 4

ID da Transação

Não suportado por qualquer transação

Page 21: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������������������"� �+����*�

null

AB AC AD AE BC BD BE CD CE DE

A B C D E

ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE

ABCD ABCE ABDE ACDE BCDE

ABCDE

124 123 1234 245 345

12 124 24 4 123 2 3 24 34 45

12 2 24 4 4 2 3 4

2 4

Suporte mínimo = 2

# Fechado = 9

# Máximo = 4

Fechado e máximo

Fechado mas não máximo

Page 22: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������������������"� �+����*�

Conjuntos deItens Freqüentes

Conjuntos de ItensFreqüentes Fechados

Conj. ItensFreqüentes

Máximo

Page 23: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�$������������+��!�������� ������������������������������

� Cruzamento do Reticulado do Conjunto de Itens– Geral para específico versus Específico para geral

(a) Geral para específico (b) Específico para geral (c) Bi-direcional

Borda dosConj. ItensFreqüentes nulo

{a1,a2,...,an}

nulo

{a1,a2,...,a n}

..

......

nulo

{a1,a2,...,an}

..

..Borda dosConj. ItensFreqüentes

Borda dosConj. ItensFreqüentes

Page 24: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�$������������+��!�������� ������������������������������

� Cruzamento do Reticulado do Conjunto de Itens– Classes Equivalentes

null

AB AC AD BC BD CD

A B C D

ABC ABD ACD BCD

ABCD

null

AB AC ADBC BD CD

A B C D

ABC ABD ACD BCD

ABCD

(a) Árvore de Prefixos (b) Árvore de Sufixos

Page 25: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�$������������+��!�������� ������������������������������

� Cruzamento do Reticulado do Conjunto de Itens– Largura Primeiro versus Profundidade Primeiro

(a) Largura Primeiro (b) Profundidade Primeiro

Page 26: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�$������������+��!�������� ������������������������������

� Representação da Base de Dados– Leiaute horizontal versus vertical dos dados

TID Items1 A,B,E2 B,C,D3 C,E4 A,C,D5 A,B,C,D6 A,E7 A,B8 A,B,C9 A,C,D

10 B

dos DadosLeiaute Horizontal

A B C D E1 1 2 2 14 2 3 4 35 5 4 5 66 7 8 97 8 98 109

Leiaute Vertical dos Dados

Page 27: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���� ����������

� Dado um conjunto de itens freqüente L, achar todos os subconjuntos não-vazios f ⊂ L tal que f → L – f satisfaz o requisito de confiança mínima– Se {A,B,C,D} é um conjuntos de itens freqüente,

regras candidatas:ABC →D, ABD →C, ACD →B, BCD →A, A →BCD, B →ACD, C →ABD, D →ABCAB →CD, AC → BD, AD → BC, BC →AD, BD →AC, CD →AB

� Se |L| = k, então há 2k – 2 regras de associação candidatas (ignorando L → ∅ e ∅ → L)

Page 28: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���� ����������

� Como gerar regras eficientemente a partir de conjuntos de itens freqüentes?– Em geral a confiança não tem uma propriedade

anti-monótonac(ABC →D) pode ser maior ou menor que c(AB →D)

– Mas confiança de regras geradas do mesmo conjunto de itens tem uma propriedade de anti-monotonia

– e.g., L = {A,B,C,D}:

c(ABC → D) ≥ c(AB → CD) ≥ c(A → BCD)

� Confiança é anti-monótona com relação ao número de itens do lado direito da regra

Page 29: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���� �����������!����������� ��!����

Reticulado de regras

RegrasPodadas

Regra deBaixaConfiança

Page 30: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���� �����������!����������� ��!����

� Regra candidata é gerada misturando 2 regras que partilham mesmo prefixono conseqüente da regra

� join(CD=>AB,BD=>AC)produziria a regracandidata D => ABC

� Podar regra D=>ABC se seussubconjuntos AD=>BC não temalta confiança

BD=>ACCD=>AB

D=>ABC

Page 31: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#�������������,�� ���-�!���

� Como ajustar o limiar minsup apropriado?– Se minsup é ajustado muito alto, pode-se perder

conjuntos de itens envolvendo itens raros interessants (e.g., produtos caros)

– Se minsup é ajustado muito baixo, é caro computacionalmente e o número de conjuntos de itens é muito grande

� Usando um único limiar mínimo de suporte pode não ser efetivo

Page 32: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�+���� ����(��.��

� Algoritmos de regras de associação tendem a produzir regras em demasia– muitas delas são redundantes ou não interessantes– redundante se {A,B,C} → {D} e {A,B} → {D} tem o

mesmo suporte e confiança

� Medidas de “interessabilidade” podem ser usadas para podar/ordenar os padrões derivados

� Na formulação original de regras de associação, suporte e confiança são únicas medidas usadas

Page 33: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�!���� ��������������������,�����

Medidas de Interessabilidade

Feature

Product

Product

Product

Product

Product

Product

Product

Product

Product

Product

FeatureFeatureFeatureFeatureFeatureFeatureFeatureFeatureFeature

Seleção

Pré-processamento

Mineração

Pós-processamento

Dados

DadosSelecionados

Dados Pré-processados

Padrões

Conhecimento

Page 34: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�������������������������,�����

� Dada uma regra X → Y, informação necessária para calcular medida de interessabilidade pode ser obtida de tabela de contingência

|T|f+0f+1

fo+f00f01X

f1+f10f11X

Y Y

Tabela de Contingência para X → Yf11: suporte de X e Yf10: suporte de X e Yf01: suporte de X e Yf00: suporte de X e Y

Usada para definir várias medidas

� suporte, confiança, lift, Gini,J-measure, etc.

Page 35: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���+������ ��������� �

1001090

80575Tea

20515Tea

CoffeeCoffee

(��������)�����*+,�����→ �--��

��-���*��!����--��.�����!�/012

�������--����!�/03

� ��"�����-���*����������$���������# ���������

� ���--��.�����!�/03�12

Page 36: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���!��/�����#����)�����

� População de 1000 estudantes– 600 estudantes sabem nadar (S)– 700 estudantes sabem andar de bicicleta (B)– 420 estudantes sabem nadar e andar de bicicleta

(S,B)– P(S∧B) = 420/1000 = 0.42– P(S) × P(B) = 0.6 × 0.7 = 0.42– P(S∧B) = P(S) × P(B) => Independência Estatística– P(S∧B) > P(S) × P(B) => Positivamente

correlacionados– P(S∧B) < P(S) × P(B) => Negativamente

correlacionados

Page 37: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������,�������� �#����)�����

� Medidas que levam em conta a dependência estatística

)](1)[()](1)[()()(),(

)()(),()()(

),()(

)|(

YPYPXPXPYPXPYXP

tcoefficien

YPXPYXPPSYPXP

YXPInterest

YPXYP

Lift

−−−=−

−=

=

=

φ

Page 38: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#"� !���0���1��������

1001090

80575Tea

20515Tea

CoffeeCoffee

(��������)�����*+,����→ �--��

��-���*��!����--��.�����!�/012

�������--����!�/03

� 4�-�! /0125/03!�/06�����7� $�����������8 ����������������������

Page 39: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���+������ ���0��� 2���������

1009010

90900X

10010X

YY

1001090

10100X

90090X

YY

10)1.0)(1.0(

1.0 ==Lift 11.1)9.0)(9.0(

9.0 ==Lift

Independência Estatística:

Se P(X,Y) = P(X)P(Y) => Lift = 1

Page 40: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Há muitas medidas propostas na literatura

Algumas medidas são boas para certas aplicações, mas não para outras

Que critério deve-se usar para saber se uma medida é boa ou ruim?

E a poda baseada no suporte no estilo Apriori? Como ela afeta estas medidas?

Page 41: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������-�,����+��������������,�����

� Medida Objetiva:– Ordenar padrões baseado em estatísticas calculadas

a partir dos dados– e.g., 21 medidas de associação (suporte, confiança,

Laplace, Gini, informação mútua, Jaccard, etc).

� Medida Subjetiva:– Ordenar padrões de acordo com interpretação do

usuário� Um padrão é subjetivamente interessante se ele contradiz a

expectativa de um usuário (Silberschatz & Tuzhilin)� Um padrão é subjetivamente interessante se ela é utilizável

(Silberschatz & Tuzhilin)

Page 42: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����,�������)�����������3����

Session Id

Country Session Length (sec)

Number of Web Pages

viewed Gender Browser

Type Buy

1 USA 982 8 Male IE No

2 China 811 10 Female Netscape No

3 USA 2125 45 Female Mozilla Yes

4 Germany 596 4 Male IE Yes

5 Australia 123 9 Male Mozilla No

… … … … … … … 10

Exemplo de Regra de Associação:

{Number of Pages ∈[5,10) ∧ (Browser=Mozilla)} → {Buy = No}

Como aplicar a formulação de análise de associação a variáveis binárias não-assimétricas?

Page 43: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����!���������,���������3����

� Transformar atributos categóricos em variáveis binárias assimétricas

� Introduzir um novo “item” para cada par atributo-valor distinto– Exemplo: substituir o atributo Browser Type por

� Browser Type = Internet Explorer� Browser Type = Mozilla� Browser Type = Mozilla

Page 44: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����!���������,���������3����

� Questões potenciais– Se o atributo tem muitos valores possíveis

� Exemplo: atributo país tem mais de 200 valores possíveis� Muitos dos valores do atributo pode ter suporte muito baixo

– Solução potencial: Agregar valores de atributo de baixo suporte

– Se a distribuição dos valores do atributo é muito irregular� Exemplo: 95% dos visitantes tem Buy = No� Maioria dos itens será associada com o item (Buy=No)

– Solução potencial: abandonar os itens altamente freqüentes

Page 45: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����!���������,�������)���

� Diferentes tipos de regras:– Age ∈ [21, 35) ∧ Salary ∈ [70k, 120k) → Buy– Salary ∈ [70k, 120k) ∧ Buy → Age: µ = 28, σ = 4

� Diferentes métodos:– Baseados em discretização– Baseados em estatística– Baseados em não-discretização

� minApriori

Page 46: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����!���������,�������)���

� Usar discretização� Não supervisionada:

– Faixa de igual largura– Faixa de igual profundidade– Agrupamento

� Supervisionada:

Normal

Anomalous

100150100100000100150

000020102000

v9v8v7v6v5v4v3v2v1Classe

faixa1 faixa3faixa2

Valores do atributo, v

Page 47: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

4����.����,�����������%� �

� Tamanho dos intervalos discretizados afeta suporte e confiança

– Intervalos muito pequenos� pode não ter suporte suficiente

– Intervalos muito grandes� pode não ter confiança suficiente

� Solução potencial: usar todos intervalos possíveis

{Refund = No, (Income = $51,250)} → {Cheat = No}

{Refund = No, (60K ≤ Income ≤ 80K)} → {Cheat = No}

{Refund = No, (0K ≤ Income ≤ 1B)} → {Cheat = No}

Page 48: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

4����.����,�����������%� �

� Tempo de execução– Se intervalo contém n valores, há em média O(n2)

faixas possíveis

� Regras em demasia{Refund = No, (Income = $51,250)} → {Cheat = No}

{Refund = No, (51K ≤ Income ≤ 52K)} → {Cheat = No}

{Refund = No, (50K ≤ Income ≤ 60K)} → {Cheat = No}

Page 49: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�$���,������� �#����)�����

� Exemplo:Browser=Mozilla ∧ Buy=Yes → Age: µ = 23

� Conseqüente da regra consiste de uma variável contínua, caracterizada pelas suas estatísticas

– média, mediana, desvio padrão, etc.

� Abordagem:– Separa a variável meta do resto dos dados– Aplicar geração de conjuntos de itens freqüentes sobre o resto

dos dados– Para cada conjunto de itens freqüentes, calcular a estatística

descritiva para a correspondente variável meta� Conjunto de itens freqüentes torna-se uma regra pela introdução da variável meta como conseqüente da regra

– Aplicar testes estatísticos para determinar a interessabilidade da regra

Page 50: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�$���,������� �#����)�����

� Como determinar se uma regra de associação éinteressante?– Comparar a estatística para segmento da população

coberto pela regra versus segmento da população não coberto pela regra:

A � B: µ versus A � B: µ’

– Teste de hipótese estatístico:� Hipótese nula: H0: µ’ = µ + ∆� Hipótese alternativa: H1: µ’ > µ + ∆� Z tem média zero e variância 1 sob a hipótese nula

2

22

1

21

'

ns

ns

Z

+

∆−−= µµ

Page 51: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

�$���,������� �#����)�����

� Exemplo:r: Browser = Mozilla ∧ Buy = Yes → Age: µ = 23

– Regra é interessante se diferença entre µ e µ’ é maior que 5 anos (i.e., ∆ = 5)

– Para r, suponha n1 = 50, s1 = 3.5– Para r’ (complemento): n2 = 250, s2 = 6.5

– Para teste unilateral com nível de confiança de 95%, valor crítico de Z para rejeitar a hipótese nula é 1.64

– Como Z é maior que 1.64, r é uma regra interessante

11.3

2505.6

505.3

52330'22

2

22

1

21

=+

−−=+

∆−−=

ns

ns

Zµµ

Page 52: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������������� �������5�)+��

Food

Bread

Milk

Skim 2%

Electronics

Computers Home

Desktop LaptopWheat White

Foremost Kemps

DVDTV

Printer Scanner

Accessory

Page 53: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������������� �������5�)+��

� Por quê incorporar o conceito de hierarquia?– Regras de níveis inferiores podem não ter suporte

suficiente para aparecer em conjuntos de itens freqüentes

– Regras em níveis inferiores da hierarquia são específicas em demasia� e.g., skim milk → white bread, 2% milk → wheat bread,

skim milk → wheat bread, etc.são indicativos da associação entre milk e bread

Page 54: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������������� �������5�)+��

� Como suporte e confiança variam ao longo do conceito de hierarquia?– Se X é o item pai tanto para X1 e X2, então

σ(X) � σ(X1) + σ(X2)

– Se σ(X1 ∪ Y1) � minsup, e X é pai de X1, Y é pai de Y1então σ(X ∪ Y1) � minsup, σ(X1 ∪ Y) � minsup

σ(X ∪ Y) � minsup

– Se conf(X1 � Y1) � minconf,então conf(X1 � Y) � minconf

Page 55: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������������� �������5�)+��

� Abordagem 1:– Estender a formulação de regras de associação atuais pelo

aumento de cada transição com com itens de nível superior

Transação Original: {skim milk, wheat bread}Transação Aumentada:

{skim milk, wheat bread, milk, bread, food}

� Questões:– Itens que residem em níveis superiores tem contagem de

suporte muito mais elevados� se o limiar do suporte é baixo, padrões freqüentes em demasia envolvendo itens de níveis superiores

– Dimensionalidade dos dados aumentada

Page 56: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������������� �������5�)+��

� Abordagem 2:– Gerar padrões freqüentes no nível mais superior

primeiramente

– Então, gerar padrões freqüentes no próximo nível mais superior e assim por diante

� Questões:– Requisitos de I/O aumentam dramaticamente pois é

preciso realizar mais passagens sobre os dados– Pode perder alguns padrões de associação entre

níveis potencialmente interessantes

Page 57: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

����-����������

Objeto Timestamp EventosA 10 2, 3, 5A 20 6, 1A 23 1B 11 4, 5, 6B 17 2B 21 7, 8, 1, 2B 28 1, 6C 14 1, 8, 7

Base de Dados Seqüenciais10 15 20 25 30 35

235

61

1

LinhaTemporal

Objeto A:

Objeto B:

Objeto C:

456

2 7812

16

178

Page 58: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#"� !���������-����������

Bases A,T,G,CUm elemento da seqüência de DNA

Seqüência de DNA de um tipo particular

Seqüência Genômica

Tipos de alarmes gerados pelos sensores

Eventos disparados por um sensor no momento t

História de eventos gerados por um dado sensor

Dados de Eventos

Home page, índice da página, informação de contato, etc

Uma coleção de arquivos vistos por um visitante após um único clique

Atividade de um visitante particular na Web

Dados da Web

Livros, produtos diários, CDs, etc

Conjunto de itens comprados por um cliente no momento t

História de compra de um dado cliente

Cliente

Evento(Item)

Elemento (Transação)

SeqüênciaBase de Dados Seqüenciais

��9:;����

� ��

� ��

�����'

��

���������������*+�

�����������

Page 59: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ���� ������ ��-���/����

� Uma seqüência é uma lista ordenada de elementos (transações)

s = < e1 e2 e3 … >

– Cada elemento contém uma coleção de eventos (itens)

ei = {i1, i2, … , ik}

– Cada elemento é atribuído a um tempo ou a um local específico

� Comprimento de uma seqüência, |s|, é dado pelo número de elementos da seqüência

� Uma k-seqüência é uma seqüência que contém k eventos (itens)

Page 60: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#"� !�����-���/����

� Seqüência Web:

< {Homepage} {Electronics} {Digital Cameras} {Canon Digital Camera} {Shopping Cart} {Order Confirmation} {Return to Shopping} >

� Seqüência de eventos iniciadores causando um acidente nuclear em 3-mile Island:(http://stellar-one.com/nuclear/staff_reports/summary_SOE_the_initiating_event.htm)

< {clogged resin} {outlet valve closure} {loss of feedwater} {condenser polisher outlet valve shut} {booster pumps trip} {main waterpump trips} {main turbine trips} {reactor pressure increases}>

� Seqüência de livros devolvidos na biblioteca:<{Fellowship of the Ring} {The Two Towers} {Return of the King}>

Page 61: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ���� ������ ��-�,����/����

� Uma seqüência <a1 a2 … an> está contida em outra seqüência <b1 b2 … bm> (m � n) se existem inteirosi1 < i2 < … < in tal que a1 ⊆ bi1 , a2 ⊆ bi1, …, an ⊆ bin

� O suporte de uma subseqüência w é definido como a fração de dados seqüenciais que contém w

� Um padrão seqüencial é uma subseqüência freqüente (i.e., uma subseqüência cujo suporte é � minsup)

< {2,4} {2,4} {2,5} >

< {1,2} {3,4} >

< {2,4} {3,5,6} {8} >

Seqüência de Dados

Sim< {2} {4} >

Não< {1} {2} >

Sim< {2} {3,5} >

Contém?Subseqüência

Page 62: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ����(��.���-������������������ �

� Dados:– Uma base de dados de seqüências– Um limiar de suporte mínimo especificado pelo

usuário, minsup

� Tarefa:– Encontrar todas as subseqüências com suporte �

minsup

Page 63: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ����(��.���-������������������

� Dada uma seqüência: <{a b} {c d e} {f} {g h i}>– Exemplos de subseqüências:

<{a} {c d} {f} {g} >, < {c d e} >, < {b} {g} >, etc.

� Quantas k-subseqüências podem ser extraídas de uma dada n-seqüência?

<{a b} {c d e} {f} {g h i}> n = 9

k=4: Y _ _ Y Y _ _ _ Y

<{a} {d e} {i}>

12649

:Resposta

=��

���

=��

���

k

n

Page 64: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ ����(��.���-������������#"� !�

Minsup = 50%

Exemplos de Subseqüências Freqüentes:

< {1,2} > s=60%< {2,3} > s=60%< {2,4}> s=80%< {3} {5}> s=80%< {1} {2} > s=80%< {2} {2} > s=60%< {1} {2,3} > s=60%< {2} {2,3} > s=60%< {1,2} {2,3} > s=60%

Objeto Timestamp EventosA 1 1,2,4A 2 2,3A 3 5B 1 1,2B 2 2,3,4C 1 1, 2C 2 2,3,4C 3 2,4,5D 1 2D 2 3, 4D 3 4, 5E 1 1, 3E 2 2, 4, 5

Page 65: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#"������(��.���-����������

� Dados n eventos: i1, i2, i3, … , in

� 1-subseqüências candidatas:<{i1}>, <{i2}>, <{i3}>, …, <{in}>

� 2-subseqüências candidatas:<{i1, i2}>, <{i1, i3}>, …, <{i1} {i1}>, <{i1} {i2}>, …, <{in-1} {in}>

� 3-subseqüências candidatas:<{i1, i2 , i3}>, <{i1, i2 , i4}>, …, <{i1, i2} {i1}>, <{i1, i2} {i2}>, …,<{i1} {i1 , i2}>, <{i1} {i1 , i3}>, …, <{i1} {i1} {i1}>, <{i1} {i1} {i2}>, …

Page 66: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������%�-���������(������ 6�-(7

� Passo 1: – Realizar primeira passagem sobre a base de dados de seqüências D

para obter todas as seqüências freqüentes de 1-elemento

� Passo 2:

Repetir até não encontrar novas seqüências freqüentes– Geração de Candidatos:

� Unir pares de subseqüências freqüentes encontradas no (k-1)-ésimo passo para gerar seqüências candidatas que contém k itens

– Poda de Candidatos:� Podar k-seqüências de candidatos que contém (k-1)-subseqüências não

freqüentes

– Contagem de Suporte:� Fazer nova passagem sobre a base de dados de seqüência D para encontrar

o suporte para estas seqüências candidatas

– Eliminação de Candidatos:� Eliminar k-seqüências candidatas cujo suporte atual é menor que minsup

Page 67: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

���� �����������

� Caso base (k=2):– Unir duas 1-seqüência freqüentes <{i1}> e <{i2}> produzirá duas 2-

seqüências candidatas: <{i1} {i2}> e <{i1 i2}>

� Caso geral (k>2):– Uma (k-1)-seqüência freqüente w1 é unida com outra (k-1)-

seqüência freqüente w2 para produzir uma k-seqüência candidata se a subseqüência obtida pela remoção do primeiro evento em w1é a mesma que a subseqüência obtida pela remoção do último evento em w2

� O candidato resultante após união é dado pela seqüência w1 estendida com o último evento de w2.

– Se os dois últimos eventos em w2 pertencem ao mesmo elemento, então oúltimo evento em w2 torna-se parte do último elemento em w1

– Caso contrário, o último evento em w2 torna-se um elemento separado adicionado ao final de w1

Page 68: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#"� !��������� �����������

� Unindo as seqüênciasw1=<{1} {2 3} {4}> e w2 =<{2 3} {4 5}>produzirá a seqüência candidata < {1} {2 3} {4 5}> pois os dois últimos eventos em w2 (4 e 5) pertencem ao mesmo elemento

� Unindo as seqüênciasw1=<{1} {2 3} {4}> e w2 =<{2 3} {4} {5}>produzirá a seqüência candidata < {1} {2 3} {4} {5}> pois os dois últimos eventos em w2 (4 e 5) não pertencem ao mesmo elemento

� Não é necessário unir as seqüênciasw1 =<{1} {2 6} {4}> e w2 =<{1} {2} {4 5}>para produzir o candidato < {1} {2 6} {4 5}> pois se este último é um candidato viável, então ele pode ser obtido unindo w1 com< {1} {2 6} {5}>

Page 69: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#"� !���-(

< {1} {2} {3} >< {1} {2 5} >< {1} {5} {3} >< {2} {3} {4} >< {2 5} {3} >< {3} {4} {5} >< {5} {3 4} >

< {1} {2} {3} {4} >< {1} {2 5} {3} >< {1} {5} {3 4} >< {2} {3} {4} {5} >< {2 5} {3 4} >

< {1} {2 5} {3} >

3-seqüênciasfreqüentes

Geração deCandidatos

Poda deCandidatos

Page 70: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ .����� !�����6�7

{A B} {C} {D E}

<= ms

<= xg >ng

xg: max-gap

ng: min-gap

ms: maximum span

Não< {1} {4} >< {1} {2} {3} {4} {5}>

< {1,2} {3} {2,3} {3,4} {2,4} {4,5}>

< {1} {2,3} {3,4} {4,5}>

< {2,4} {3,5,6} {4,7} {4,5} {8} >

Seqüência de Dados

Não< {1,2} {5} >

Sim< {2} {3} {5} >

Sim< {6} {5} >

Contém?Subseqüência

xg = 2, ng = 0, ms= 4

Page 71: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

��������(��.���-������������ ������� .����� !����

� Abordagem 1:– Minerar padrões seqüenciais sem restrições

temporais– Pós-processar os padrões descobertos

� Abordagem 2:– Modificar GSP para podar diretamente candidatos

que violam restrições temporais– Questão:

� O princípio Apriori continua válido?

Page 72: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

(����)!���!���� !��������-����������

Suponha:

xg = 1 (max-gap)

ng = 0 (min-gap)

ms = 5 (maximum span)

minsup = 60%

<{2} {5}> suporte = 40%

mas

<{2} {3} {5}> suporte = 60%

Existe problema devido à restrição max-gap

Sem problema se max-gap é infinito

Objeto Timestamp EventosA 1 1,2,4A 2 2,3A 3 5B 1 1,2B 2 2,3,4C 1 1, 2C 2 2,3,4C 3 2,4,5D 1 2D 2 3, 4D 3 4, 5E 1 1, 3E 2 2, 4, 5

Page 73: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

-�,����/���������)����

� s é uma subseqüência contígua dew = <e1>< e2>…< ek>

se qualquer destas condições acontecer:1. s é obtida de w deletando um item de e1 ou de ek

2. s é obtida de w deletando um item de qualquer elemento ei que contém mais de 2 itens

3. s é uma subseqüência contígua de s’ e s’ é uma subseqüência contígua de w (definição recursiva)

� Exemplos: s = < {1} {2} >– é uma subseqüência contígua de

< {1} {2 3}>, < {1 2} {2} {3}>, e < {3 4} {1 2} {2 3} {4} >– não é uma subseqüência contígua de

< {1} {3} {2}> e < {2} {1} {3} {2}>

Page 74: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

(������(�����������������

� Sem restrição maxgap:– Uma k-seqüência candidata é podada se pelo menos

uma de suas (k-1)-subseqüências não é freqüente

� Com restrição maxgap:– Uma k-seqüencia candidata é podada se pelo menos

uma de suas (k-1)-subseqüências contíguas não éfreqüente

Page 75: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

������ .����� !�����6��7

{A B} {C} {D E}

<= ms

<= xg >ng <= ws

xg: max-gap

ng: min-gap

ws: window size

ms: maximum span

< {1,2} {2,3} {3,4} {4,5}>

< {1} {2} {3} {4} {5}>

< {2,4} {3,5,6} {4,7} {4,6} {8} >

Seqüência de Dados

Sim< {1,2} {3,4} >

Sim< {1,2} {3} >

Não< {3} {5} >

Contém?Subseqüência

xg = 2, ng = 0, ws = 1, ms= 5

Page 76: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

(������������ ���-�!����������

� Dado um padrão candidato: <{a, c}>– Qualquer seqüência de dados que contém

<… {a c} … >,<… {a} … {c}…> ( em que time({c}) – time({a}) � ws) <…{c} … {a} …> (em que time({a}) – time({c}) � ws)

contribuirá para a contagem do suporte do padrão candidato

Page 77: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

8������� ��� �

� Em alguns domínios, pode-se ter somente uma série temporal muito longa– Exemplo:

� monitoramento de eventos de tráfego de rede para ataques� monitoramento de sinais de alarme de telecomunicação

� Objetivo é encontrar seqüências freqüentes de eventos na série temporal– Este problema também é conhecido como mineração

de episódios freqüentesE1

E2

E1

E2

E1

E2

E3

E4 E3 E4

E1

E2

E2 E4

E3 E5

E2

E3 E5

E1

E2 E3 E1

Padrão: <E1> <E3>

Page 78: Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPRfabricio/ftp/Aulas/Mestrado/IA/...Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR ˆ˘ˇ ( )!! Item Count Bread 4 Coke

Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR

#���� ������������������ ���-�!���

Assume:

xg = 2 (max-gap)

ng = 0 (min-gap)

ws = 0 (tamanho janela)

ms = 2 (maximum span)

p

Linha Temporal do ObjetoSeqüência: (p) (q)

Método Contagemdo Suporte

COBJ 1

1

CWIN 6

CMINWIN 4

p qp

q qp

qqp

2 3 4 5 6 7

CDIST_O 8

CDIST 5