A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Técnicas de Mineração de Dados

Apresentações semelhantes


Apresentação em tema: "Técnicas de Mineração de Dados"— Transcrição da apresentação:

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


Carregar ppt "Técnicas de Mineração de Dados"

Apresentações semelhantes


Anúncios Google