Data Mining: Indu - PowerPoint PPT Presentation

About This Presentation
Title:

Data Mining: Indu

Description:

Title: No Slide Title Author: Jiawei Han Last modified by: radix Created Date: 6/19/1998 4:38:52 AM Document presentation format: Apresenta o na tela – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 50
Provided by: Jiaw176
Category:
Tags: data | diapers | indu | mining

less

Transcript and Presenter's Notes

Title: Data Mining: Indu


1
Data Mining Indução de Regras de Associação
  • Leonardo Cole Neto
  • Rodrigo Teixeira Ramos

2
Minerando Regras de Associação em Grandes Bases
de Dados
  • Minerando regras de associação
  • Minerando regras de associação booleana
    uni-dimensionais a partir de bancos transacionais
  • Minerando regras de associação multi-nível a
    partir de bancos transacionais
  • Minerando regras de associação multi-dimencionais
    a partir de bancos transacionais e data
    warehouses
  • Da mineração de associações à análise de
    correlação
  • Mineração de associações baseada em restrições
  • Resumo

3
Mineração de Regras de Associação
  • Definição
  • Achar padrões, associações, correlações
    frequentes em conjuntos de itens ou objetos em
    um banco de dados transacional, relacional ou
    outros tipo de repositórios de informação.
  • Aplicações
  • Análise de compras, cross-marketing, design de
    catálogos de produtos, clustering, classificação,
    etc.
  • Exemplos.
  • Regra Body Head support, confidence.
  • buys(x, diapers) buys(x, beers) 0.5,
    60
  • major(x, CS) takes(x, DB) grade(x, A)
    1, 75

4
Regras de Associação Conceitos Básicos
  • Dados (1) conjunto de transações, (2) cada
    transação é uma lista de itens (comprados por um
    cliente em uma visita)
  • Achar todas as regras que correlacionam a
    presença de um conjunto de itens com a presença
    de outro conjunto de itens em uma mesma transação
  • E.g., 98 das pessoas que compram pneus e
    auto-acessórios, também fazem algum serviço
    automotivo.
  • Achar todas as regras X Y ? Z com um mínimo de
    support e confidence
  • Suporte (support), s, probabilidade que uma
    transação contenha X ? Y ? Z
  • Confidência (confidence), c, probabilidade
    condicional que uma transação que contenha X ?
    Y também contém Z

5
Minerando Regras de Associação em Grandes Bases
de Dados
  • Minerando regras de associação
  • Minerando regras de associação booleana
    uni-dimensionais a partir de bancos transacionais
  • Minerando regras de associação multi-nível a
    partir de bancos transacionais
  • Minerando regras de associação multi-dimencionais
    a partir de bancos transacionais e data
    warehouses
  • Da mineração de associações à análise de
    correlação
  • Mineração de associações baseada em restrições
  • Resumo

6
Mineração de Regras de Associação
  • Associações booleanas vs. quantitativas (Baseadas
    nos tipos de valores manuseados)
  • buys(x, SQLServer) buys(x, DMBook)
    buys(x, DBMiner) 0.2, 60
  • age(x, 30..39) income(x, 42..48K)
    buys(x, PC) 1, 75
  • Associações Uni-dimensionais vs.
    Multi-dimensionais (Baseadas nas dimensões dos
    dados envolvidos)
  • Análise de Nível único vs. Múltiplos níveis
    (Baseadas nos níveis de abstração)
  • age(x, 30..39) buys(x, laptop computer)
  • age(x, 30..39) buys(x, computer)

7
Mineração de conjuntos de itens frequentes O
passo chave
  • Achar os conjuntos de itens frequentes (itemsets
    frequentes) o conjunto de itens que tem um
    mínimo de support
  • Um subconjunto de um itemset frequente, também
    deve ser um itemset frequente
  • Se AB é um itemset frequente, ambos A e B
    devem ser itemsets frequentes
  • Achar iterativamente itemsets frequentes com
    cardinalidade de 1 à k (k-itemset)
  • Usar os itemsets frequentes para gerar as regras
    de associação.

8
O algoritmo Apriori
  • Passo de união(join) Ck é gerado, unindo Lk-1com
    ele mesmo
  • Passo de poda(prune) Qualquer (k-1)-itemset que
    não seja frequente, não pode ser um subconjunto
    de um k-itemset frequente
  • Pseudo-código
  • Ck itemset candidato de tamanho k
  • Lk itemset frequente de tamanho k
  • L1 items frequentes de tamanho 1
  • for (k 1 Lk !? k) do begin
  • Ck1 candidatos gerados a partir de Lk
  • for each transaction t in database do
  • incremente o contador de todos os
    candidatos em Ck1 que
    estão contidos em t
  • Lk1 candidatos em Ck1 com min_support
  • end
  • return ?k Lk

9
O algoritmo Apriori - Exemplo
Database D
L1
C1
Scan D
C2
C2
L2
Scan D
C3
L3
Scan D
10
Como gerar os candidatos?
  • Suponha que os itens em Lk-1 são listados em uma
    ordem
  • Passo 1 auto-união Lk-1 (joining step)
  • insert into Ck
  • select p.item1, p.item2, , p.itemk-1, q.itemk-1
  • from Lk-1 p, Lk-1 q
  • where p.item1q.item1, , p.itemk-2q.itemk-2,
    p.itemk-1 lt q.itemk-1
  • Passo 2 poda (prune step)
  • forall itemsets c in Ck do
  • forall (k-1)-subsets s of c do
  • if (s is not in Lk-1) then delete c from Ck

11
Exemplo da geração dos candidatos
  • L3abc, abd, acd, ace, bcd
  • Auto-união L3L3
  • abcd de abc e abd
  • acde de acd e ace
  • Poda
  • acde é removido pois ade não está em L3
  • C4abcd

12
Gargalos de performance no Apriori
  • O núcleo do algoritmo
  • Usa (k 1)-itemsets frequentes para gerar
    k-itemsets candidatos
  • Usa iterações pelo BD e casamento de padrões para
    coletar contadores para os itemsets candidatos
  • O gargalo do Apriori geração dos candidatos
  • Grandes conjuntos de candidatos
  • 104 1-itemset frequentes gerarão 107 2-itemsets
    candidatos
  • Para descobrir um padrão frequente de tamanho
    100, é necessária a geração de 2100 ? 1030
    candidatos.
  • Múltiplas iterações pelo BD
  • Necessita (n 1 ) iterações, onde n é o tamanho
    do maior padrão

13
Métodos para melhorar a eficiência do Apriori
  • Contagem dos itemsets baseada em Hashes Um
    k-itemset que tenha o contador do hashing bucket
    abaixo de um limite, não pode ser frequente
  • Redução de transações Uma transação que não
    contenha nenhum k-itemset frequente, é inútil
    para as próximas iterações do algoritmo
  • Particionamento Qualquer itemset que é
    potencialmente frequente no BD deve ser frequente
    em pelo menos uma partição do mesmo
  • Amostragem Mineração em um subconjunto dos
    dados, menor limite de support um método para
    determinar a completude
  • Contagem dinâmica de itemsets Adicionar um novo
    candidato somente quando todos os seus
    subconjuntos são estimados como frequentes

14
Mineração de padrões frequentes sem a geração de
candidatos
  • Compactar uma grande base de dados na estrutura
    compacta de uma árvore FP, Frequent-Pattern tree
    (FP-tree)
  • Altamente condensada, mas completa para mineração
    de padrões frequentes
  • Evita iterações custosas com o BD
  • Desenvolver um método eficiente, baseado em
    FP-tree, para mineração de padrões frequentes
  • Dividir para conquistar decompor tarefas de
    mineração
  • Evitar geração de candidatos

15
Construindo uma FP-tree a partir de um BD
transacional
TID Items bought (ordered) frequent
items 100 f, a, c, d, g, i, m, p f, c, a, m,
p 200 a, b, c, f, l, m, o f, c, a, b,
m 300 b, f, h, j, o f, b 400 b, c, k,
s, p c, b, p 500 a, f, c, e, l, p, m,
n f, c, a, m, p
min_support 0.5
  • Steps
  • Na primeira iteração com o BD, achar os 1-itemset
    frequentes
  • Ordenar os itens frequentes em ordem descendente
  • Numa ova iteração com o banco, construir a árvore

16
Benefícios da FP-tree
  • Completude
  • Nunca quebra padrões longos em uma transação
  • Preserva completamente a informação para
    mineração de padrões frequentes
  • Tamanho compacto
  • Reduz informação irrelevante itens infrequentes
    somem
  • Ordenação descendente da frequencia quanto mais
    frequentes, mais compartilhados ficam os itens
  • Nunca é maior que a base de dados original

17
Mineração de padrões frequentes usando FP-tree
  • Dividir para conquistar
  • Recursivamente, aumentar os padrões frequentes
    usando FP-tree
  • Método
  • Para cada item, construir seu pattern-base
    condicional, e então sua FP-tree condicional
  • Repetir o processo para cada nova FP-tree
    condicional
  • Até que a FP-tree resultante seja vazia, ou
    contenha somente um caminho (caminhos únicos
    gerarão todas as combinações de seus
    sub-caminhos, cada um dos quais é um padrão
    frequente)

18
Passo 1 Da FP-tree para o Pattern-Base
Condicional
  • Começando pela tabela de frequencia da FP-tree
  • Atravessar a FP-tree seguindo o link de cada item
    frequente
  • Acumular todos os prefixos de caminhos
    transformados deste item apartir de um
    pattern-base condicional

Pattern-bases condicionais item pattern-base
cond. c f3 a fc3 b fca1, f1, c1 m fca2,
fcab1 p fcam2, cb1
19
Passo 2 Construir a FP-tree Condicional
  • Para cada pattern-base
  • Construir a FP-tree para os itens frequentes do
    pattern-base

m-conditional pattern base fca2, fcab1

Header Table Item frequency head
f 4 c 4 a 3 b 3 m 3 p 3
f4
c1
Todos os padrões frequentes relacionados com m m,
fm, cm, am, fcm, fam, cam, fcam
b1
b1
c3
p1
a3
b1
m2
p2
m1
20
Mineração de Padrões Frequentes Criando
Pattern-Bases Condicionais
21
Geração de caminhos únicos na FP-tree
  • Suponha que uma FP-tree T tenha um caminho único
    P
  • O conjunto completo dos padrões frequentes de T
    podem ser gerados através da enumeração de todas
    as combinações dos sub-caminhos de P


Todos os padrões frequentes relacionados com m m,
fm, cm, am, fcm, fam, cam, fcam
f3
c3
a3
m-conditional FP-tree
22
Por que o crescimento do padrões frequentes é
rápido?
  • Estudos de performance mostram que
  • O crescimento FP é uma ordem de magnetude mais
    rápido que o Apriori
  • Motivos
  • Não há geração ou teste de candidatos
  • Estrutura de dados compacta
  • Elimina iterações repetidas com o banco

23
Iceberg Queries
  • Icerberg query Computar agregações sobre um
    atributo ou um conjunto de atributos somente para
    aquelas com valor de agregação maior que um certo
    limite
  • Exemplo
  • select P.custID, P.itemID, sum(P.qty)
  • from purchase P
  • group by P.custID, P.itemID
  • having sum(P.qty) gt 10
  • Computar iceberg queries eficientemente com
    Apriori
  • Primeiro, computar as menores dimensões
  • Então computar as maiores dimensões somente
    quando todas as menores estiverem acima do limite

24
Regras de associação de multiplos níveis
  • Itens sempre em hierarquias.
  • Itens em níveis mais baixos são esperados como
    tendo o support mais baixo
  • Regras dizendo respeito a itemsets de um
    determinado nível são muito úteis
  • BDs transacionais podem ser codificados,
    baseados em dimensões e níveis
  • Podemos explorar mineração de múltiplos níveis
    compartilhada

25
Minerando Regras de Associação em Grandes Bases
de Dados
  • Minerando regras de associação
  • Minerando regras de associação booleana
    uni-dimensionais a partir de bancos transacionais
  • Minerando regras de associação multi-nível a
    partir de bancos transacionais
  • Minerando regras de associação multi-dimencionais
    a partir de bancos transacionais e data
    warehouses
  • Da mineração de associações à análise de
    correlação
  • Mineração de associações baseada em restrições
  • Resumo

26
Associações de Multiplos Níveis Suporte Uniforme
vs. Suporte Reduzido
  • Suporte uniforme mesmo valor de suporte mínimo
    para todos os níveis
  • Um limite de suporte mínimo. Não há necessidade
    de examinar itemsets contendo qualquer item cujos
    antecessores não tenham o mínimo suporte.
  • Itens de níveis baixos não ocorrem com muita
    frequencia. Se o limite do suporte é
  • Muito alto ? perda de associações em níveis
    baixos
  • Muito baixo ? gera muitas associações de
    alto-nível
  • Suporte reduzido reduz o míni,mo suporte em
    níveis mais baixos
  • Existem 4 estratégias de busca
  • Independente nível-por-nível
  • Filtragem de níveis cruzados por k-itemset
  • Filtragem de níveis cruzados por item
  • Filtragem controlada de níveis cruzados por item

27
Suporte Uniforme
Mineração múltiplos níveis com suporte uniforme
Milk support 10
Nível 1 min_sup 5
2 Milk support 6
Skim Milk support 4
Nível 2 min_sup 5
28
Suporte Reduzido
Mineração de multiplos níveis com suporte reduzido
Nível 1 min_sup 5
Milk support 10
2 Milk support 6
Skim Milk support 4
Nível 2 min_sup 3
29
Associações de Multiplos Níveis Filtragem de
Redundâncias
  • Algumas regras podem ser redundantes devido à
    relações antecessoras entre itens.
  • Exemplo
  • milk ? wheat bread support 8, confidence
    70
  • 2 milk ? wheat bread support 2, confidence
    72
  • Dizemos que a primeira regra é uma antecessora da
    segunda.
  • Uma regra é redundante se seu suporte é próximo
    do valor esperado, baseado na regra antecessora.

30
Minerando Regras de Associação em Grandes Bases
de Dados
  • Minerando regras de associação
  • Minerando regras de associação booleana
    uni-dimensionais a partir de bancos transacionais
  • Minerando regras de associação multi-nível a
    partir de bancos transacionais
  • Minerando regras de associação multi-dimencionais
    a partir de bancos transacionais e data
    warehouses
  • Da mineração de associações à análise de
    correlação
  • Mineração de associações baseada em restrições

31
Associação Multi-Dimensional Conceitos
  • Regras Uni-dimensionais ou Intra-dimensionais
  • buys(X, milk) ? buys(X, bread)
  • Regras Multi-dimensionais
  • Regras e Associação Inter-dimensionais (sem
    repetencia de predicados)
  • age(X,19-25) ? occupation(X,student) ?
    buys(X,coke)
  • Regras e Associação hibrido-dimensionais
    (repetencia de predicados)
  • age(X,19-25) ? buys(X, popcorn) ? buys(X,
    coke)
  • Atributos Categoricos
  • numero finito de possibilidade de valores, sem
    ordenação.
  • Atributos Quantitativos
  • numericos, com ordem de valores implicitos

32
Técnicas para minerar Associações
Multi-Dimensionais
  • Busca pelo conjunto mais frequente de
    k-predicados
  • Exemplo age, occupation, buys é um conjunto de
    3-predicados.
  • Técnicas podem ser categorizadas por como tratam
    cada predicado. ex age.
  • 1. Usando discretização estática de atributos
    quantitativos
  • Atributos quantitativos são discretizados
    estaticamente usando conceitos hierárquicos
    pré-definidos.
  • 2. Regras de associação quantitativas
  • Atributos quantitativos são discretizados
    dinamicamente em grupos baseados na distribuição
    dos dados.
  • 3. Regras de associação baseados em distancia
  • Processo de discretização dinâmica considerando a
    distancia entre pontos de dados.

33
Discretização estática de atributos quantitativos
  • Discretização prévia na mineração usando
    conceitos hierárquicos.
  • Valores numéricos são substituídos por intervalos
    de valores (ranges).
  • Como em BDs relacionais, esta busca requer k
    varreduras em suas tabelas, Cubos de dados são
    preferíveis para mineração.

34
Regras de Associação Quantitativas
  • Atributos numéricos são dinamicamente
    discretizados para satisfazer algum critério de
    mineração.
  • como a confiança (confidence) ou a coesão
    (compactness) das regras mineradas serem
    maximizadas.
  • Regras de associação quantitativas 2-D Aquan1 ?
    Aquan2 ? Acat
  • Exemplo

age(X,30-34) ? income(X,24K - 48K) ?
buys(X,high resolution TV)
35
Uma abordagem - ARCS (Association Rule Clustering
System)
  • Como o ARCS trabalha?
  • 1. Particionar (Binning)
  • 2. Encontrar conjuntos
  • de predicados
  • mais freqüentes
  • 3. Clustering
  • 4. Otimizar

36
Minerando regras de associação baseadas em
distancia
  • Métodos de Particionamento (Binning) não capturam
    a semântica dos intervalos de dados
  • Particionamento baseado em distancia, criam
    descretizações mais significantes considerando
  • densidade/numero de ponto em um intervalo
  • coesão (closeness) dos pontos em um intervalo

37
Minerando Regras de Associação em Grandes Bases
de Dados
  • Minerando regras de associação
  • Minerando regras de associação booleana
    uni-dimensionais a partir de bancos transacionais
  • Minerando regras de associação multi-nível a
    partir de bancos transacionais
  • Minerando regras de associação multi-dimencionais
    a partir de bancos transacionais e data
    warehouses
  • Da mineração de associações à análise de
    correlação
  • Mineração de associações baseada em restrições

38
Medidas de Interesse
  • Medidas Objetivas
  • suporte (support) e confidencia (confidence)
  • Medidas subjetivas (Silberschatz Tuzhilin,
    KDD95)
  • Uma regra (pattern) é interessante se
  • ela é inesperada (unexpected) e/ou
  • utilizável (actionable)
  • Medidas subjetivas variam de usuário para
    usuário, assim medidas objetivas baseadas na
    estatística

39
Critica ao Suporte e Confidencia
  • Exemplo 1
  • Entre 5000 estudantes
  • 3000 jogam basquete
  • 3750 comem cereal
  • 2000 jogam basquete e comem cereal
  • joga basquete ? come cereal 40, 66.7 é
    equivocado porque a porcetagem total de
    estudante que comem cereal é 75 que é maior que
    66.7.
  • jogam basquete ? não come cereal 20, 33.3 é
    bem mais preciso, embora com menor suporte
    (support) e confidencia (confidence)

40
Crítica ao Suporte e Confidência (Cont.)
  • Exemplo 2
  • X e Y positivamente correlacionado,
  • X e Z, negativamente relacionando
  • suporte e confidencia de
  • XgtZ domina
  • É necessária uma medida de dependência ou
    correlação
  • P(BA)/P(B) é também chamada de lift da regra A
    gt B

41
Outra medida de interesse
  • Interesse (correlação, lift)
  • Colocando ambos P(A) e P(B) em consideração
  • P(AB)P(B)P(A), se A e B são eventos
    independentes
  • A e B são negativamente correlacionados, se o
    valor e menor que 1 caso contrário A e B são
    positivamente correlacionados

42
Minerando Regras de Associação em Grandes Bases
de Dados
  • Minerando regras de associação
  • Minerando regras de associação booleana
    uni-dimensionais a partir de bancos transacionais
  • Minerando regras de associação multi-nível a
    partir de bancos transacionais
  • Minerando regras de associação multi-dimencionais
    a partir de bancos transacionais e data
    warehouses
  • Da mineração de associações à análise de
    correlação
  • Mineração de associações baseada em restrições

43
Mineração Baseada em Restrições
  • Mineração é executada sob a orientação de varias
    restrições do usuário.
  • Tipos de restrições que podem ser usadas na
    mineração
  • Knowledge type constraint classificação,
    associação, etc.
  • Data constraint SQL-like queries
  • Find product pairs sold together in Vancouver in
    Dec.98.
  • Dimension/level constraints
  • in relevance to region, price, brand, customer
    category.
  • Rule constraints
  • small sales (price lt 10) triggers big sales
    (sum gt 200).
  • Interestingness constraints
  • strong rules (min_support ? 3, min_confidence ?
    60).

44
Regras de Restrição
  • Dois tipos de regras de restrição
  • Regra de restrição sintática (Rule form
    constraints) meta-rule guided mining.
  • P(x, y) Q(x, w) takes(x, database
    systems).
  • Regra de restrição por contexto (Rule content
    constraint) constraint-based query optimization
    (Ng, et al., SIGMOD98).
  • sum(LHS) lt 100 min(LHS) gt 20 count(LHS) gt 3
    sum(RHS) gt 1000
  • Restrições com 1-variável vs. 2-
  • 1-var Uma restrição confinada somente a um lado
    (Dir/Esq) da regras, ex. como mostrada acima.
  • 2-var Uma restrição confinada em ambos os lados.
  • sum(LHS) lt min(RHS) max(RHS) lt 5 sum(LHS)

45
Restrições Anti-monotonica and Monotonica
  • Uma restrição Ca é anti-monotonica, caso um
    conjunto S violar a restrição Ca, nenhum
    super-conjunto de S viola a restrição.
  • Uma restrição Ca é monotonica, caso um conjunto S
    satisfaça a restrição Ca, todo super-conjunto de
    S satisfaz restrição.
  • Exemplos
  • sum(S.Price) ? v é anti-monotonica
  • sum(S.Price) ? v é monotonica

46
Restrições Succinct
  • Uma restrição Ca é succinct, caso seja possível
    enumerar todos os conjuntos que satisfazem a
    restrição.
  • Exemplo
  • sum(S.Price ) ? v não é succinct
  • min(S.Price ) ? v é succinct

47
Restrições Convertiveis
  • Restrições que podem variar de acordo com a
    ordenamento dos itemset.
  • Ex. Tendo R um conjunto de itens
  • Se o valores forem ordenados decrescentemente,
  • I9, 8, 6, 4, 3, 1, Avg(S) ? v é monotonica
  • Se o valores forem ordenados crescentemente,
  • I1, 2, 4, 6, 8, 9, Avg(S) ? v é
    anti-monotonica

48
Relação entre categorias de restrições
Succinctness
Anti-monotonicity
Monotonicity
Convertible constraints
Inconvertible constraints
49
Caracterização de restrições
Constraint S ? v, ? ? ?, ?, ? v ? S S ? V S
? V S ? V min(S) ? v min(S) ? v min(S) ? v max(S)
? v max(S) ? v max(S) ? v count(S) ? v count(S) ?
v count(S) ? v sum(S) ? v sum(S) ? v sum(S) ?
v avg(S) ? v, ? ? ?, ?, ? (frequent
constraint)
Anti-Monotonicity yes no no yes partly no yes part
ly yes no partly yes no partly yes no partly conve
rtible (yes)
Succinct Yes yes yes yes yes yes yes yes yes yes y
es weakly weakly weakly no no no no (no)
Write a Comment
User Comments (0)
About PowerShow.com