Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Técnicas de Mineração de Dados
Sandra de Amo Faculdade de Computação Universidade Federal de Uberlândia
2
Técnicas de Mineração Suporte deste curso Curso Completo DM
Curso Completo DM Notas deste Mini-curso Slides deste Mini-curso Bibliografia, …. 17/04/2017 JAI - SBC 2004
3
Plano do Curso Aula 1 Introdução Técnicas de Regras de Associação
Técnicas de Análise de Sequência 17/04/2017 JAI - SBC 2004
4
Plano do Curso Aula 2 Sequências com Restrições
Execução de um algoritmo Técnicas de Classificação 17/04/2017 JAI - SBC 2004
5
Plano do Curso Aula 3 Técnicas de Clustering
Técnicas de Otimização e Implementação Aspectos Teóricos e Generalização Aplicações 17/04/2017 JAI - SBC 2004
6
Plano do Curso Aula 1 Introdução Técnicas de Regras de Associação
Técnicas de Análise de Sequência 17/04/2017 JAI - SBC 2004
7
Mineração de Dados – Por que ?
Grandes volumes de dados disponiveis Muitos dados mas pouca informação Decisões são tomadas utilizando intuição. Necessidade de transformar dados em informação util Ferramentas de Mineração podem descobrir padrões interessantes « escondidos » nos dados. 17/04/2017 JAI - SBC 2004
8
Consulta versus Mineração
O que é Mineração de Dados Que produtos são comprados por clientes Classe A ? Cliente Produto Classe Social Tempo 1 Vinho A T1 2 Açúcar B T2 Queijo 3 Pão C T3 Leite T4 4 T5 17/04/2017 JAI - SBC 2004
9
Consulta e Resultado Select Clientes.Prod From Clientes
Where Clientes. Faixa = ‘A’ Resposta : Vinho, Queijo 17/04/2017 JAI - SBC 2004
10
Consulta versus Mineração
Existe ligação entre a classe social e produtos comprados numa mesma transação ? Cliente Produto Classe Social Tempo 1 Vinho A T1 2 Açúcar B T2 Queijo 3 Pão C T3 Leite T4 4 T5 17/04/2017 JAI - SBC 2004
11
Resultado da Mineração
Padrões Classe A -> vinho, queijo Classe C -> pão, leite … 17/04/2017 JAI - SBC 2004
12
O que é Mineração ? Mineração de Dados
Descoberta de Conhecimento (KDD) KDD = Knowledge Discovery in Databases 17/04/2017 JAI - SBC 2004
13
Etapas do Processo de KDD
Limpeza dos Dados Integração dos Dados Seleção Transformação Mineração Avaliação ou Pós-Processamento Visualização dos Resultados 17/04/2017 JAI - SBC 2004
14
Tarefas de Mineração Tarefa ato de descobrir um certo tipo de padrão
Regras de Associação Análise de Sequências Classificação Agrupamento Outliers 17/04/2017 JAI - SBC 2004
15
Como avaliar padrões ? O que significa um padrão ser interessante ?
Facil de ser entendido Inesperado Potencialmente util Confirma uma hipotese feita pelo usuario Tipos de medidas Subjetivas : esperadas, inesperadas Acontece com um certo grau de segurança Objetivas : suporte, confiança 17/04/2017 JAI - SBC 2004
16
Sistemas de Mineração Intelligent Miner (IBM) DBMiner Enterprise Miner
Clementine MineSet Genamics Expressions 17/04/2017 JAI - SBC 2004
17
Critérios de Avaliação de Sistemas
Tipo de dados em que se aplica a mineração Tipo de conhecimento minerado Tipo de técnicas de mineração utilizadas Tipo de aplicação a que se destina 17/04/2017 JAI - SBC 2004
18
Plano do Curso Aula 1 Introdução Técnicas de Regras de Associação
Técnicas de Análise de Sequência 17/04/2017 JAI - SBC 2004
19
Regras de Associação Itens = {Pão, Leite, Açúcar, ... }
Pão, Leite Manteiga Vinho Queijo ITEM, ITEM, ITEM ITEM 17/04/2017 JAI - SBC 2004
20
Preparação dos Dados ID Compras 1 2 3 4 Pão, , ,Açucar
Manteiga, Açúcar Leite Manteiga Leite Manteiga Leite Suporte = 50% Leite, Manteiga Confiança = 66,6% 17/04/2017 JAI - SBC 2004
21
Medidas de Interesse Suporte de A, B , C D Confiança de A, B , C D
número de clientes que compraram A,B,C,D Total de clientes número de clientes que compraram A,B,C,D número de clientes que compraram A,B,C 17/04/2017 JAI - SBC 2004
22
Tarefa de Mineração Dados : BD de transações, N, M
Retorna : regras de associação r Sup(r) ≥ N Conf(r) ≥ M 17/04/2017 JAI - SBC 2004
23
Algoritmo: duas etapas
Encontrar todos os I frequentes suporte(I) ≥ N Itemset = conjunto de itens Conf(A, B C) = suporte(A,B,C) ≥ M suporte(A,B) Itemsets = 17/04/2017 JAI - SBC 2004
24
Propriedade Importante
Algoritmo Apriori Propriedade Importante 1 2 1 2 4 1 2 4 5 5 Se um itemset é frequente Todo subitemset é frequente !! 17/04/2017 JAI - SBC 2004
25
Apriori – Fase da Geração
1 3 5 1 3 5 2 3 5 2 3 5 2 4 6 3 5 6 F3 1 3 4 1 3 4 2 3 6 2 3 6 3 4 6 1 4 5 2 3 4 2 3 4 2 5 6 C4 1 3 4 5 1 3 4 5 2 3 4 5 2 3 4 5 2 3 5 6 2 3 5 6 2 3 4 6 2 3 4 6 17/04/2017 JAI - SBC 2004
26
Apriori – Fase da Poda F3 C4 C4 1 3 5 2 3 5 2 3 5 2 4 6 2 4 6 3 5 6 3
17/04/2017 JAI - SBC 2004
27
Apriori – Fase de Validação
Suporte Mínimo: 50% Banco de Dados 8 Candidatos Contagem Suporte 2 3 5 6 2 3 5 6 2 3 4 5 6 2 3 4 6 2 3 4 6 F4 = 2 3 4 6 17/04/2017 JAI - SBC 2004
28
Algoritmo Apriori Entrada : BD de transações, N Saida : F1, F2, F3, …
C1 = Itemsets de tamanho 1 F1 = Itemsets frequentes de C1 k : = 1 While Fk não for vazio Ck+1 := Junta(Fk, Fk) Ck+1 := Poda(Ck, Fk) Fk+1 : = Valida(BD,Ck+1, N) k : = k+1 17/04/2017 JAI - SBC 2004
29
Um Exemplo L1 = {1}, {2}, {3},{5} Id Compras 1 1,3,5 2 1,2,3,5,7 3 1,2,4,9 4 1,2,3,5,9 5 1,3,4,5,6,8 6 2,7,8 {1,3} C2 = {1,2} {1,5} {2,3} {3,5} {2,5} L2 = {1,2} {1,3} {1,5} {3,5} C3 = {1,2,3} {1,2,5} {1,3,5} L3 = {1,3,5} Suporte minimo = 50% 17/04/2017 JAI - SBC 2004
30
Plano do Curso Aula 1 Introdução Técnicas de Regras de Associação
Técnicas de Análise de Sequência 17/04/2017 JAI - SBC 2004
31
ITEMSET >> ITEMSET >> ITEMSET >> ... >>ITEMSET
Sequências Itens = { TV, Vídeo , DVD, FitaDVD, ... } {TV ,Vídeo} >> DVD >> FitaDVD ITEMSET >> ITEMSET >> ITEMSET >> ... >>ITEMSET 17/04/2017 JAI - SBC 2004
32
Preparação dos Dados 1 2 3 4 5 , Rádio} , {Computador} , {Rádio,
{Comp} , {Impressora} {TV {DVD} {TV} , {DVD} {TV} DVD} 17/04/2017 JAI - SBC 2004
33
número de clientes que compraram A,B,C,D em sequência
Medidas de Interesse Suporte de < {A} , {B} , {C} , { D} > número de clientes que compraram A,B,C,D em sequência Total de clientes 17/04/2017 JAI - SBC 2004
34
{Rádio} >>{Comp}
Preparação dos Dados 1 , Rádio} >> 2 {Computador} 3 >> {Rádio, 4 {Rádio} >>{Comp} 5 {Comp} >> {Impressora} {TV {DVD} < {TV} , {DVD} > {TV} DVD} Suporte = 40% 17/04/2017 JAI - SBC 2004
35
Tarefa de Mineração Dados : BD de sequências, N
Retorna : Padrões Sequenciais s Sup(s) ≥ N 17/04/2017 JAI - SBC 2004
36
Propriedade Importante
Frequente d c b h g f e l k j i m a d c b a h g f e l k j i d c b h g f e l k j i m Frequentes 17/04/2017 JAI - SBC 2004
37
Sequências « Ligáveis »
b f e d i h g c b f e d i h g c b f e d i h g c b f e d i h g j j Sequência Resultante 17/04/2017 JAI - SBC 2004
38
GSP – Fase da Geração F3 C4 < {1,2}, {3} > < {1,3}, {5} >
< {1,2}, {4} > < {2}, {3,4} > < {1}, {3,4} > < {2}, {3}, {5} > < {1,2}, {3,4} > C4 < {1,2}, {3} {5} > 17/04/2017 JAI - SBC 2004
39
GSP – Fase da Poda F3 C4 C’4 = < {1,2}, {3} >
< {1,3}, {5} > F3 < {1,2}, {4} > < {2}, {3,4} > < {1}, {3,4} > < {2}, {3}, {5} > < {1,2}, {3,4} > < {1,2}, {3,4} > < {1,2}, {3,4} > < {1,2}, {3,4} > < {1,2}, {3,4} > C4 C’4 = < {1,2}, {3,4} > < {1,2}, {3} {5} > < {1,2}, {3} {5} > 17/04/2017 JAI - SBC 2004
40
GSP – Fase de Validação F4 = < {1,2}, {3,4} > 1 2 3 4
Suporte Mínimo: 50% Banco de Dados 1 2 3 4 Candidatas Contagem Suporte < {3,1,5,2}, {5}, {3,5,4} > < {3,1,5,2}, {5}, {3,5,4} > < {1,2}, {3,4} > < {2}, {3,4} > < {4,5}, {1,3,2}, {3,5,4,7} > < {4,5}, {1,3,2}, {3,5,4,7} > < {3}, {2,5} > F4 = < {1,2}, {3,4} > 17/04/2017 JAI - SBC 2004
41
Algoritmo GSP [1996] Entrada : BD de sequências, N
Saida : F1, F2, F3, … C1 = Padrões Sequenciais de tamanho 1 F1 = Padrões Sequenciais frequentes de C1 k : = 1 While Fk não for vazio Ck+1 := Junta(Fk, Fk) Ck+1 := Poda(Ck, Fk) Fk+1 : = Valida(BD,Ck+1, N) k : = k+1 17/04/2017 JAI - SBC 2004
42
Outros algoritmos Apriori-All, Apriori-Some [Agrawal – Srikant 1995]
SPADE [M. Zaki, 2001] PrefixSpan [Han+, 2001] 17/04/2017 JAI - SBC 2004
43
Plano do Curso Aula 2 Sequências com Restrições
Execução de um algoritmo Técnicas de Classificação 17/04/2017 JAI - SBC 2004
44
Otimizações : Fase de Validação
Restrições Min-Max Taxinomias MAX Min < café, DVD, desinfetante > < alimento, Eletro-dom, limpeza > < açucar, TV, detergente > 17/04/2017 JAI - SBC 2004
45
Otimização: Fase de Geração
Restrições no Formato dos Padrões [Garofalakis/Shim/Rastogi 1999] Padrões satisfazem expressão regular : TV a* DVD {TV} {DVD} 17/04/2017 JAI - SBC 2004
46
Tarefa de Mineração Dados : BD de transações, N, Expressão R
Retorna : Sequências s satisfaz R Sup(s) ≥ N 17/04/2017 JAI - SBC 2004
47
Uma idéia para resolver o problema
Na Fase da Geração a partir de Lk e da expressão R gerar sequências de tamanho k+1 Potencialmente frequentes Verificam a expressão regular R 17/04/2017 JAI - SBC 2004
48
Fase da Poda L4 Frequentes Não é frequente E Não satisfaz R
2 4 5 7 L4 ?? 2 1 5 8 9 3 1 4 5 8 Frequentes Não é frequente OU E Não satisfaz R Satisfazem R 17/04/2017 JAI - SBC 2004
49
Fase da Poda Quais sequências devem ser podadas ?
As que não têm chance de serem frequentes Como saber isto só verificando as sequências obtidas nas iterações precedentes ? 1 2 4 5 7 Satisfaz R E não está em F3 17/04/2017 JAI - SBC 2004
50
Geração e Poda Iteração k+1 Geração : Junta sequências de Lk
Elimina aquelas que não satisfazem R Elimina aquelas que têm subsequência que satisfaz R não é frequente 17/04/2017 JAI - SBC 2004
51
Problema com esta idéia
Dois tipos de poda Eliminando sequências que não satisfazem R Espaço de Busca Eliminando sequências testando suas subsequências Sequências Podadas 17/04/2017 JAI - SBC 2004
52
Como encontrar um meio-termo ?
Considerando um “relaxamento” de R Sequências Válidas Sequências Legais com relação a um estado q Sequências Válidas com relação a um estado q a b c d q 17/04/2017 JAI - SBC 2004
53
Algoritmo SPIRIT Entrada : BD, N, autômato R
Saída : sequências frequentes satisfazendo R Considera “relaxamento” R’ Minera sequências satisfazendo R’ Testa aquelas que satisfazem R 17/04/2017 JAI - SBC 2004
54
Relaxamentos Sequências Legais com relação a um estado q
Sequências Válidas com relação a um estado q a b c d q 17/04/2017 JAI - SBC 2004
55
Algoritmo SPIRIT - Geração e Poda
R’ : relaxamento de R Iteração k+1 Geração : “Junta” sequências de Lk Poda : Elimina aquelas que têm subsequência que satisfaz R’ não é frequente Junção : depende do tipo de relaxamento considerado. 17/04/2017 JAI - SBC 2004
56
Ex: Fase da Geração em SPIRIT(V)
Valida com respeito ao estado Q 1 2 4 5 7 e frequente 1 2 4 5 7 Q Q1 Q1 Q2 Q 3 Q4 Q5 <2,4,5,7> deve ser valida com respeito a Q1 Deve existir « flecha » de Q parq Q1 17/04/2017 JAI - SBC 2004
57
Exemplo b F2(q0) = <a,c>, <a,e> a F2(q1) = <b,c> c
F2(q2) = <d,c>, <d,e> e a F2(q3) = vazio q2 c d q0 : <a,b,c> q0 : <a,d,c>, <a,d,e>, q1 : <b,b,c> Fase da Poda q2 : <d,d,c>, <d,d,e> Nenhuma é podada 17/04/2017 JAI - SBC 2004
58
As 4 Variantes de SPIRIT SPIRIT(N) : Nenhuma restrição (GSP)
SPIRIT(L) : Legais c.r. a algum estado de R SPIRIT(V) : Válidas c.r. a algum estado de R SPIRIT(R) : Satisfazem o autômato R 17/04/2017 JAI - SBC 2004
59
Resultados Experimentais
Logs de páginas Web acessadas por usuários de um DCC URL começando em Home e terminando em PosGradDCC Algoritmo Tempo (seg) Total Cand. Iterações SPITIT(N) 1562,80 5896 13 SPIRIT(L) 32,77 1393 10 SPIRIT(V) 16 59 5 SPIRIT(R) 17,67 52 7 17/04/2017 JAI - SBC 2004
60
Plano do Curso Aula 2 Sequências com Restrições
Técnicas de Classificação Execução de um algoritmo 17/04/2017 JAI - SBC 2004
61
Classificação Nome Idade Renda Profissão Classe SE. Daniel ≤ 30 Média
Estudante Sim João 31..50 Média-Alta Professor Carlos Engenheiro Maria Baixa Vendedora Não Paulo Porteiro Otavio > 60 Aposentado SE. Idade ≤ 30 E Renda é Média ENTÃO Compra-Produto-Eletrônico = SIM. 17/04/2017 JAI - SBC 2004
62
Etapas do Processo Classificador Amostras Classificadas REGRAS
Banco de Testes Classificador REGRAS CONFIÁVEIS 17/04/2017 JAI - SBC 2004
63
Árvore de Decisão IDADE ≤ 30 31-50 >60 51-60 PROFISSÃO RENDA Não Sim B Med Eng Prof M Vend A M-A Sim Sim Não Sim Sim Não Sim Sim Se Idade ≤ 30 e Renda é Baixa então Não compra Eletrônico Se Idade = e Prof é Médico então compra Eletrônico 17/04/2017 JAI - SBC 2004
64
Como criar uma Árvore de Decisão
B C CLASSE a1 b1 c1 X b2 a2 c2 CASO 1 C1 17/04/2017 JAI - SBC 2004
65
Como criar uma Árvore de Decisão
B C CLASSE a1 b1 c1 X b2 a2 Y c2 Atributo-Teste = CASO 2 O que mais reduz a entropia A a1 a2 A B C CLASSE a1 b1 c1 X b2 c2 Y A B C CLASSE a2 b1 c1 Y b2 c2 X A, B, C } LISTA-ATRIBUTOS = { 17/04/2017 JAI - SBC 2004
66
Como criar uma Árvore de Decisão
Atributo-Teste = A B C CLASSE a1 b1 c1 X b2 c2 Y C O que mais reduz a entropia = C c2 c1 A B C CLASSE a1 b2 c2 Y A B C CLASSE a1 b1 c1 X b2 Y X LISTA-ATRIBUTOS = { B, C } 17/04/2017 JAI - SBC 2004
67
Qual é o Atributo-Teste ?
Divide-se o nó segundo cada atributo. Para cada divisão calcula-se a entropia produzida caso fosse escolhido este atributo. Considera-se o atributo cuja divisão resulta numa maior redução da entropia. 17/04/2017 JAI - SBC 2004
68
Informação ganha na divisão
Entrop(A) = -NC1 log2 NC1 - NC2 log2 NC2 Tot Tot Tot Tot Entrop(D) = -(NF1 * Entrop(F1) + NF2 * Entrop(F2)) Tot Tot Info(Divisão) = Entrop(A) – Entrop (D) Maior Info(Divisão) Atributo escolhido 17/04/2017 JAI - SBC 2004
69
Um Exemplo Aparência Temperatura Humidade Vento Classe Sol Quente Alta
Não Ruim Sim Encoberto Bom Chuvoso Agradavel Frio Normal 17/04/2017 JAI - SBC 2004
70
1a divisão possível : Aparência
Chuva Sol Enc Bom Bom Bom Bom Bom Bom Bom Bom Bom Ruim Bom Ruim Ruim Ruim Entrop(D) = 5/14 * Entrop(F1) + 4/14*Entrop(F2) + 5/14*Entrop(F3) = 0.693 Entrop(F1) = -3/5*log2(3/5) - 2/5*log2 (2/5) = 0.971 Entrop(F2) = - 4/4*log2 (4/4) = 0 Entrop(F3) = - 3/5*log2(3/5) - 2/5*log2(2/5) = 0.971 17/04/2017 JAI - SBC 2004
71
Redução da Entropia Entrop(A) = - (9/14 * log2 (9/14) + 5/14* log2(5/14)) = = INFO(APARÊNCIA) = Entrop(A) – Entrop(D) = = = 0.247 17/04/2017 JAI - SBC 2004
72
Comparando as 4 possibilidades
Info(Aparência) = 0.247 Info(Temperatura) = 0.029 Info(Humidade) = 0.152 Info(Vento) = 0.020 17/04/2017 JAI - SBC 2004
73
Redes Neurais Conjunto de unidades Conceito de Neurônio Artificial I1
2 input output w32 I3 3 Conceito de Neurônio Artificial Camada de Input Camada Intermediaria Camada de Output 17/04/2017 JAI - SBC 2004
74
Rede Neural e Classificação
w0j x0 + θj w1j INPUT Ij na unidade j ∑ x1 tendência w2j x2 Pesos Média ponderada dos outputs recebidos Função de Ativação Outputs da Camada precedente Output Oj 17/04/2017 JAI - SBC 2004
75
Backpropagation – Fase de IDA
δ1 1 ? I1 C1 I2 δ2 0 ? C2 I3 δ3 C3 0 ? Classe C1 17/04/2017 JAI - SBC 2004
76
Backpropagation – Fase de Volta
w12 w12 w12 w12 w22 w22 I2 w22 w22 C2 w32 w32 w32 w32 I3 C3 Ajusta pesos Ajusta pesos 17/04/2017 JAI - SBC 2004
77
Condições de Parada Epoca = tempo necessário para que todas as amostras sejam analisadas. Processo se repete até que: Os reajustes dos pesos são “muito pequenos”. Só uma “pequena” porcentagem de amostras foram mal classificadas pela rede. Um número “máximo” de épocas foi atingido. 17/04/2017 JAI - SBC 2004
78
Backpropagation Objetivo: obter uma rede neural treinada
Centenas de milhares de épocas são necessárias para a convergência dos pesos. Teoricamente, convergência não é garantida. Na prática, os pesos convergem depois de um grande número de épocas. 17/04/2017 JAI - SBC 2004
79
Ida : Como são calculados os outputs
w1i Oi w2i I2 i w3i I3 Oi = F( w1i*I1 + w2i*I2 + w3i*I3 + θi ) F(x) = 1/(1+e-x) 17/04/2017 JAI - SBC 2004
80
Volta: Cálculo dos Erros
Erro em unidade da última camada i δi Ti (0-1) ? Ei = δi(1- δi)(Ti – δi) Erro em unidade da camada intermediária wi1 1 i wi2 E’i = δi(1- δi)(E1*wi1+E2*wi2+E3wi3) 2 wi3 3 17/04/2017 JAI - SBC 2004
81
Reajustes dos pesos e tendências
Novo peso wij wij i j Novo-wij = Velho-wij + λ EjOi Nova Tendência θj Novo-θj = Velho- θj + λ Ej λ = Taxa de Aprendizado λ(t) = 1/t t = iteração atual Evita que o processo fique parado num “mínimo local” 17/04/2017 JAI - SBC 2004
82
Exemplo 1 1 w14 Amostra classificada na classe C = 1 w24 4 w46 6 2 w34 w56 5 1 3 w14 W14 W15 W24 W25 W34 W35 W46 W56 θ4 θ5 θ6 0.2 -0.3 0.4 0.1 -0.5 -0.2 -0.4 17/04/2017 JAI - SBC 2004
83
Exemplo Ida Volta Unidade Input Output 4 0.2 + 0 – 0.5 – 0.4 = - 0.7
= 0.1 1/1+e-0.1 = 0.525 6 (-0.3)(0.332) – (0.2)(0.525) = 1/1+e0.105 = 0.474 Unidade Erro 6 (0.474)( )( ) = 5 (0.525)( )( )(-0.2) = 4 (0.332)( )( )(-0.3) = 17/04/2017 JAI - SBC 2004
84
Ex: Ajustes dos Pesos e Tendências
Antigo Valor Reajustado W46 = -0.3 (0.90)(1.3311)(0.332) = w56 = -0.2 (0.90)(1.3311)(0.525) = w14 = 0.2 0.2 + (0.90)( )(1) = 0.192 w15 = -0.3 (0.90)( )(1) = w24 = 0.4 0.4 + (0.90)( )(0) = 0.4 w25 = 0.1 0.1 + (0.90)( )(0) = 0.1 w34 = -0.5 (0.90)( )(1) = w35 = 0.2 0.2 + (0.90)( )(1) = 0.194 θ6 = 0.1 0.1 + (0.90)(1.1311) = 0.218 θ5 = 0.2 0.2 + (0.90)( ) = 0.194 θ4 = -0.4 (0.90)( ) = 17/04/2017 JAI - SBC 2004
85
Vantagens e Desvantagens
Fase de treinamento demorada Muitos parâmetros, determinados empiricamente Fraca interpretabilidade Alta tolerância a ruídos Resultados Confiáveis 17/04/2017 JAI - SBC 2004
86
Plano do Curso Aula 2 Sequências com Restrições
Técnicas de Classificação Execução de um algoritmo 17/04/2017 JAI - SBC 2004
87
Intelligent Miner – Janela Principal
17/04/2017 JAI - SBC 2004
88
Mineração 17/04/2017 JAI - SBC 2004
89
Resultados da Mineração
17/04/2017 JAI - SBC 2004
90
Estatística 17/04/2017 JAI - SBC 2004
91
Plano do Curso Aula 3 Técnicas de Clustering
Técnicas de Otimização e Implementação Aspectos Teóricos e Generalização Aplicações 17/04/2017 JAI - SBC 2004
92
Agrupamento -Análise de Clusters
Doença X a1 a F 1 b M c d e a1 a2 a3 Doença Y a7 a2 . a9 a10 a8 a5 a4 a6 a11 Doença Z Nome Sexo Sintomas Conceito = Doença Número de Clusters = 3 17/04/2017 JAI - SBC 2004
93
Clusterização versus Classificação
Aprendizado Supervisionado Amostras de treinamento são classificadas Número de Classes é conhecido Aprendizado por Exemplo Clusterização Aprendizado Não Supervisionado Aprendizado por Observação 17/04/2017 JAI - SBC 2004
94
Dados de Treinamento Matriz de dados padronizados
Matriz de dissimilaridade x11 x12 x13 ... x1n x21 x22 x23 x2n x31 x32 x33 x3n xp1 xp2 xp3 xpn ... d(x1,x2) d(x1,x3) d(x2,x 3) d(x1,xp) d(x2,x p) Distância Euclidiana D(x,y) = (x1-y1)2 + (x2-y2) (xp – yp)2 Outras distâncias : Manhattan, Minkowski, Ponderada 17/04/2017 JAI - SBC 2004
95
Métodos de Clusterização
Particionamento (k-means, k-medóides,..) Hierárquicos Aglomerativos (BIRCH, CURE, CHAMELEON, ROCK...) Hierárquicos Divisórios (DIANA) Baseados em Densidade (DBSCAN,OPTICS, DENCLUE) 17/04/2017 JAI - SBC 2004
96
Particionamento BD com n amostras K = número de clusters
desejado ( parâmetro ) K ≤ n 17/04/2017 JAI - SBC 2004
97
Hierárquicos Aglomerativos
BD com n amostras K = número de clusters desejado ( parâmetro ) K ≤ n 17/04/2017 JAI - SBC 2004
98
K-means + + + 1ª Iteração 2ª Iteração 17/04/2017 JAI - SBC 2004
99
Clustering Using REpresentatives (CURE)
No início, cada amostra é um cluster. número de clusters = número de amostras Calcula-se distância entre os clusters. Clusters próximos são reunidos num único cluster. Repete-se o processo de cálculo da distância entre clusters e reunião de clusters próximos. O processo termina quando se atinge o número pré-fixado de clusters. 17/04/2017 JAI - SBC 2004
100
Distância entre Clusters
CURE 17/04/2017 JAI - SBC 2004
101
Calculo da Distância entre Clusters
CURE + + Parâmetros de Entrada Coeficiente de Retração Numero de elementos escolhidos em cada cluster 17/04/2017 JAI - SBC 2004
102
Parâmetros de Ajuste Representantes : capturam o formato do cluster
Retração em direção do centro de gravidade: Diminuir a influência de ruidos Coeficientes de retração : Valores pequenos : favorecem clusters de formato não convexo, menos compacto Valores grandes : aproximam os representantes do centro do cluster, favorecem clusters convexos, de forma esférica. 17/04/2017 JAI - SBC 2004
103
Vantagens e Desvantagens
CURE detecta clusters de formato arbitrário K-means detecta clusters de formato esférico CURE é robusto quanto a outliers Desvantagem de CURE : complexidade O(n2), n= tamanho do banco de dados 17/04/2017 JAI - SBC 2004
104
Plano do Curso Aula 3 Técnicas de Clustering
Técnicas de Otimização e Implementação Aspectos Teóricos e Generalização Aplicações 17/04/2017 JAI - SBC 2004
105
Otimização (Apriori-GSP)
Gerenciamento de Buffer Otimização 1 : reduzir n° de testes na fase de geração n° de testes na fase de poda n° de testes na fase de validação Otimização 2 : reduzir tamanho do BD Otimização 3 : reduzir n° de varridas no BD Otimização 4 : reduzir n° de candidatos gerados 17/04/2017 JAI - SBC 2004
106
Gerenciamento de Buffer
Se Fk e Ck+1 cabem em memoria principal: geração e poda realizadas em memoria principal Se Fk cabe e Ck+1 não cabe: Gera-se o numero maximo de candidatos que cabem em memoria principal Poda-se estes candidatos Se sobra espaço, gera-se mais, poda-se, … Contagem do suporte Candidatos frequentes são armazenados em disco. 17/04/2017 JAI - SBC 2004
107
Gerenciamento do Buffer
Se Lk e Ck+1 não cabem na memoria principal Ordena-se e estoca-se Lk em disco Carrega-se um bloco de Lk em memoria principal, onde os k-2 primeiros elementos são idênticos. Junta e calcula suporte Frequentes são armazenados em disco 17/04/2017 JAI - SBC 2004
108
Exemplo Capacidade da Memoria : 3 itemsets de tamanho pagina para contagem do suporte L3 Primeiro bloco : <1,2,3>, <1,2,4>, <1,2,5> Gerados : <1,2,3,4>, <1,2,3,5>, <1,2,4,5> Suporte é avaliado na pagina extra Segundo bloco : <1,2,3>, <1,2,6>, <1,2,7> 17/04/2017 JAI - SBC 2004
109
Otimização 1 - Árvore Hash
2 3 Tabelas Hash 1 2 3 1 2 3 1 2 3 1 2 3 Folhas : armazena padrões 17/04/2017 JAI - SBC 2004
110
Como armazenar padrões na Árvore
h(i1) = 2 h(i1) = 1 Pão, Leite Pão, Açucar Pão, Manteiga Leite, Açúcar Leite, Manteiga Açúcar, Manteiga Pão, Leite Pão, Açucar Pão, Manteiga Açúcar, Manteiga Leite, Açúcar Leite, Manteiga h(Pão) = h(Açucar) = 1 N = Número maximo de elementos na folha = 3 h(Manteiga) = h(Leite) = 2 17/04/2017 JAI - SBC 2004
111
Como armazenar padrões na Árvore
h(i1) = 2 h(i1) = 1 h(i2) = 2 h(i2) = 1 Leite, Açúcar Leite, Manteiga Pão, Açúcar Pão, Leite Pão, Manteiga Açúcar, Manteiga 17/04/2017 JAI - SBC 2004
112
Geração de candidatos x 2 2 2 2 y 1 2 1 2 1 2 < 3, 6, 8 >
< 6, 8, 9 > x < 3, 6, 8, 9 > 1 2 2 1 < 3, 6, 8 > < 1, 2, 4 > < 6, 8, 10 > < 2, 4, 6 > x <3, 6, 8, 10 > <1, 2, 4, 6> < 1, 2, 5 > < 2, 4, 7 > < 1, 4, 8 > < 3, 6, 8 > < 1, 2, 4 > < 6, 8, 9 > < 6, 8, 10 > < 2, 4, 6 > 17/04/2017 JAI - SBC 2004
113
Poda dos Candidatos Candidato: Sub-itemset: h(n) = 1 se n é ímpar
{ 1, 2, 5, 6 } Candidato: 1 2 { 1, 2, 5 } Sub-itemset: { 1, 2, 6 } { 1, 2, 5 } { 1, 2, 6 } { 1, 2, 6 } { 1, 2, 5 } { 1, 2, 5 } { 1, 2, 6 } 1 2 1 2 h(n) = 1 se n é ímpar 1 2 2 1 h(n) = 2 se n é par { 1, 2, 5 } { 2, 4, 7 } { 1, 2, 5 } { 2, 4, 7 } { 1, 4, 8 } { 3, 6, 8 } { 1, 2, 4 } { 6, 8, 9 } { 6, 8, 10 } { 2, 4, 6 } Folhas : máximo de 3 elementos 17/04/2017 JAI - SBC 2004
114
Validação dos Candidatos
Transação do banco 1 2 { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } { 1, 2, 5, 6 } 1 2 1 2 1 2 2 1 { 1, 5, 9 } - 0 { 2, 5, 6 } - 0 { 2, 5, 6 } - 1 { 2, 5, 6 } - 1 { 1, 2, 5 } - 1 { 2, 4, 7 } - 0 { 1, 2, 5 } - 1 { 2, 4, 7 } - 0 { 1, 2, 5 } - 0 { 2, 4, 7 } - 0 { 1, 4, 8 } - 0 { 3, 6, 8 } - 0 { 1, 2, 6 } - 1 { 1, 4, 8 } - 0 { 3, 6, 8 } - 0 { 1, 2, 6 } - 1 { 1, 4, 8 } - 0 { 3, 6, 8 } - 0 { 1, 2, 6 } - 0 { 6, 8, 9 } - 0 { 6, 8, 10 } - 0 { 2, 4, 6 } - 0 17/04/2017 JAI - SBC 2004
115
2 – Redução do tamanho do BD
Iteração k t : transação do BD não suporta nenhum padrão de tamanho k Iteração k+1 t : não suporta nenhum padrão de tamanho k +1 t pode ser eliminada do BD na iteração k 17/04/2017 JAI - SBC 2004
116
3 - Redução de « varridas » no BD
Método convencional : BD é varrido N vezes N = número de iterações. Método de Particionamento do BD [Savarese+ 1995] BD é varrido 2 vezes 17/04/2017 JAI - SBC 2004
117
Método do Particionamento
Frequente local Método do Particionamento Apriori/GSP em memória principal Encontra padrões frequentes locais Frequente Global Frequente em ao menos um Local Testa os padrões frequentes locais DB 17/04/2017 JAI - SBC 2004
118
4: Redução de candidatos gerados
Restrições de expressão regular (Garofalakis+ 1999) Restrições de gramática livre do contexto (Antunes-Oliveira 2002) < pedido1, pedido2, fatura1, fatura2 > Itemsets: restrição de item (Agrawal-Srikant 1997) (Pão AND Leite) OR (Açúcar AND Café AND ¬ Sal) 17/04/2017 JAI - SBC 2004
119
Plano do Curso Aula 3 Técnicas de Clustering
Técnicas de Otimização e Implementação Aspectos Teóricos e Generalização Aplicações 17/04/2017 JAI - SBC 2004
120
Técnica Crescimento-Poda-Validação
Quadro Geral L = Linguagem de Especificação de Padrões Ex : < a, b, c, d > Q = Condição de Seleção Quais padrões de L são interessantes ? Tarefa de Mineração S = { p Є L | p satisfaz Q } 17/04/2017 JAI - SBC 2004
121
Como percorrer o espaço de busca ?
Do mais geral ao mais específico Relação de especialização entre os padrões O que caracteriza um padrão ser mais geral do que outro ? Ex: < {b}, {e} > é mais geral que < {a,b}, {c,d}, {a,e} > Ordem Parcial em L : p ≤ q se p é mais geral que q Reflexiva : p ≤ p Antissimétrica: Se p ≤ q e q ≤ p então p = q Transitiva : Se p ≤ q e q ≤ r então p ≤ r 17/04/2017 JAI - SBC 2004
122
Propriedade de Antimonotonia
≤ é antimonotônica com relação à condição Q Se p ≤ q e q satisfaz Q então p satisfaz Q Se um padrão q é interessante então todos os padrões mais gerais p também são interessantes. Exemplo: Q : p satisfaz Q se suporte(p) ≥ α ( 0 ≤ α ≤ 1 dado ) p ≤ q e suporte(q) ≥ α então suporte(p) ≥ α q p 17/04/2017 JAI - SBC 2004
123
Algoritmo Geral Mais específicos Mais gerais 17/04/2017 JAI - SBC 2004
124
Algoritmo Level Search
C1:= {q Є L | não existe p Є L, p < q } i:= 1 While Ci ≠ vazio Fi = {p Є Ci | p satisfaz Q} Ci+1 := {p Є L | para todo q < p tem-se que q Є Uj ≤ i Fj} – Uj ≤ i Cj i:= i+1 Retorna Uj ≤ i Fj 17/04/2017 JAI - SBC 2004
125
Exemplo 1: Regras de Associação
Linguagem L : alfabeto = conjunto de itens I L = conjunto de itemsets sobre I Relação de Especialização : I, J Є L I ≤ J se I está contido em J C1 = itemsets mais gerais possíveis = itemsets unitários 17/04/2017 JAI - SBC 2004
126
Exemplo 2: Sequências Linguagem L : alfabeto = conjunto de itens I
L = conjunto de sequências de itemsets de I Relação de Especialização : I, J Є L I ≤ J se I está contida em J C1 = sequências mais gerais possíveis = sequências unitárias < {a} > 17/04/2017 JAI - SBC 2004
127
Novo : Episódios [Mannila+ 1997]
Coleção de eventos que ocorrem durante um intervalo de tempo Episódio = grafo Vértices = eventos Arestas especificam a ordem temporal de precedência dos eventos Banco de dados : longa sequência de eventos 17/04/2017 JAI - SBC 2004
128
Novo : Episódios [Mannila+ 1997]
Tarefa de Mineração Dados : uma longa sequência de eventos S, N > 0, 0 ≤ M ≤ 1 Encontrar todos os episodios ocorrendo em S, num intervalo de largura N e com frequência superior a M. 17/04/2017 JAI - SBC 2004
129
Episódios E D F B B E A A C C E E A A B B D C C E A E A C B 17/04/2017
JAI - SBC 2004
130
Episódios Linguagem L : alfabeto = conjunto de eventos E
L = conjunto dos grafos etiquetados em E Relação de Especialização : G, G’ Є L G ≤ G’ se G é isomorfo a um subgrafo de G’ C1 = Grafos mais gerais possíveis = grafos unitarios 17/04/2017 JAI - SBC 2004
131
Plano do Curso Aula 3 Técnicas de Clustering
Técnicas de Otimização e Implementação Aspectos Teóricos e Generalização Aplicações 17/04/2017 JAI - SBC 2004
132
Aplicações Marketing Medicina Telecomunicações Agropecuária
Meteorologia Web Mining Bioinformática 17/04/2017 JAI - SBC 2004
133
Mineração na Web (Web Mining)
Mineração do Uso da Web Descobrir padrões de comportamento de navegação dos usuários da Internet. melhorar arquitetura dos site distribuição de material publicitário no site Mineração do Conteudo da Web 17/04/2017 JAI - SBC 2004
134
Mineração do Uso da Web Dados = Arquivo de Logs u1 (s1, d1) t1
IdUser (IP) End. Origem End. Destino Tempo < (s1,d1), (s2,d2), (s3,d3), > 17/04/2017 JAI - SBC 2004
135
Sequência de Páginas Visitadas
1 12 11 B O 2 14 6 13 15 5 C E U V 3 4 7 D G 8 10 9 H W < A B C D C B E G H G W A O U O V > …. A = (null, A) B = (A, B) C = (B, C) 17/04/2017 JAI - SBC 2004
136
Transformação das Sequências
Arquivo de Logs Sequências Maximais Para Frente < A B C D > < A B E G H > < A B E G W > < A O U > < A O V > Arquivo de Logs Sequências Maximais para Frente 17/04/2017 JAI - SBC 2004
137
Padrões Sequenciais Sequências de referência : <a1, a2, …, an>
Sequência de referência suportada por sequência maximal para frente < A B C E F D > 17/04/2017 JAI - SBC 2004
138
Esquema Geral do Processo
Transformação do Bando de Dados de logs num arquivo de sequências maximais para frente. Mineração das sequências de referência frequentes. Seleção das maximais 17/04/2017 JAI - SBC 2004
139
Algoritmo MF para Transformação
Mov String Y SeqMax A 1 12 11 1 AB - B O 2 14 6 13 15 2 ABC - 5 C E U V 3 ABCD - 3 4 7 4 ABC ABCD D G 8 5 AB - 10 9 6 ABE - H W 7 ABEG - ABEGH - 8 9 ABEG ABEGH 17/04/2017 JAI - SBC 2004
140
Topicos Importantes de Estudo
Mineração Interativa Mineração Incremental Linguagens de Mineração Ferramentas de Visualização Gerenciamento de ruidos e dados incompletos Eficiência e Escalabilidade dos algoritmos de mineração. 17/04/2017 JAI - SBC 2004
141
Exercicio 1 {1,3,5,7,8} {3,4,5,7} {2,3,5,6} {2,4,5,8,9} {2,3,5,11} {1,2,3,7,9} C1 = {1}, {2}, {3}, {4} ,{5}, {6 },{7}, {8}, {9},{11} F1 = {2}, {3}, {5}, {7} C2 = {2 3}, {2 5}, {2 7}, {3 5}, {3 7}, {5 7} F2 = {2,3}, {2 5}, {3 5}, {3 7} C3 = {2,3,5}, {3,5,7} Apos a poda : C3 = {2,3,5} Suporte = 50% F3 = vazio 17/04/2017 JAI - SBC 2004
142
Exercicio 2 F2(q0) = <0,1> <0,2> F2(q1) = <1,2>
1 F2(q1) = <1,2> q0 q1 q2 2 5 F2(q2) = <5,1> <5,3> 1 3 F2(q3) = <3,5> q3 Fase da Geração Fase da Poda Q0: <0,1,2> Podadas : <1,5,2> Q1: <1,5,2>, <1,5,3> <2,3,5> <1,5,3> <2,3,5> Q2: <5,3,5> Q3: <1,1,2> <3,5,1> <3,5,3> <1,1,2> <2,3,5> 17/04/2017 JAI - SBC 2004
143
FIM Suporte deste curso Questões ? Curso Completo DM
Curso Completo DM Notas deste Mini-curso Slides deste Mini-curso Bibliografia, …. Questões ? 17/04/2017 JAI - SBC 2004
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.