Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
���������������� �
Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR
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!
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
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
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!
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
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
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
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
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
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
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 ≥�⊆∀
Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR
Encontrado como não freqüente
����������(����)!���!����
Super-conjuntos podados
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
�
����������������� ������
�������������������������
������������������������������������������������������
���������������������������
�������� ����!��
��������"������# ���������$�%� &�%�� &�%�� !�'
�������"����������������$%�&�%�&� �!� �
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
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)
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
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
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
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
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
Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR
������������������"� �+����*�
Conjuntos deItens Freqüentes
Conjuntos de ItensFreqüentes Fechados
Conj. ItensFreqüentes
Máximo
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
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
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
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
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)
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
Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR
���� �����������!����������� ��!����
Reticulado de regras
RegrasPodadas
Regra deBaixaConfiança
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
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
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
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
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.
Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR
���+������ ��������� �
1001090
80575Tea
20515Tea
CoffeeCoffee
(��������)�����*+,�����→ �--��
��-���*��!����--��.�����!�/012
�������--����!�/03
� ��"�����-���*����������$���������# ���������
� ���--��.�����!�/03�12
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
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
−−−=−
−=
=
=
φ
Prof. Júlio Cesar Nievola Data Mining PPGIa – PUCPR
#"� !���0���1��������
1001090
80575Tea
20515Tea
CoffeeCoffee
(��������)�����*+,����→ �--��
��-���*��!����--��.�����!�/012
�������--����!�/03
� 4�-�! /0125/03!�/06�����7� $�����������8 ����������������������
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
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?
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)
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?
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
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
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
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
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}
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}
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
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
+
∆−−= µµ
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µµ
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
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
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
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
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
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
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:;����
� ��
� ��
�����'
��
���������������*+�
�����������
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)
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}>
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
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
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
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
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}>, …
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
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
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}>
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
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
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?
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
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}>
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
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
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
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>
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