técnicas de mineração de dados sandra de amo faculdade de computação universidade federal de...
TRANSCRIPT
Técnicas de Mineração de Dados
Sandra de AmoFaculdade de Computação
Universidade Federal de Uberlândia
27/04/23 JAI - SBC 2004 2
Técnicas de Mineração Suporte deste curso http://www.deamo.prof.ufu.br/CursoDM.html
Curso Completo DM Notas deste Mini-curso Slides deste Mini-curso Bibliografia, ….
27/04/23 JAI - SBC 2004 3
Plano do CursoAula 1
Introdução
Técnicas de Regras de Associação
Técnicas de Análise de Sequência
27/04/23 JAI - SBC 2004 4
Plano do CursoAula 2
Sequências com Restrições
Execução de um algoritmo
Técnicas de Classificação
27/04/23 JAI - SBC 2004 5
Plano do CursoAula 3
Técnicas de Clustering
Técnicas de Otimização e Implementação
Aspectos Teóricos e Generalização
Aplicações
27/04/23 JAI - SBC 2004 6
Plano do CursoAula 1
Introdução
Técnicas de Regras de Associação
Técnicas de Análise de Sequência
27/04/23 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.
27/04/23 JAI - SBC 2004 8
Consulta versus MineraçãoO que é Mineração de Dados
Que produtos são comprados por clientes Classe A ?
Cliente Produto Classe Social Tempo1 Vinho A T1
2 Açúcar B T2
1 Queijo A T1
3 Pão C T3
3 Leite C T3
1 Vinho A T4
1 Queijo A T4
4 Leite C T5
27/04/23 JAI - SBC 2004 9
Consulta e Resultado
Select Clientes.ProdFrom ClientesWhere Clientes. Faixa = ‘A’
Resposta : Vinho, Queijo
27/04/23 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 Tempo1 Vinho A T1
2 Açúcar B T2
1 Queijo A T1
3 Pão C T3
3 Leite C T3
1 Vinho A T4
1 Queijo A T4
4 Leite C T5
27/04/23 JAI - SBC 2004 11
Resultado da Mineração Padrões
Classe A -> vinho, queijo
Classe C -> pão, leite
…
27/04/23 JAI - SBC 2004 12
O que é Mineração ?
Mineração de Dados
Descoberta de Conhecimento (KDD)
KDD = Knowledge Discovery in Databases
27/04/23 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
27/04/23 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
27/04/23 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
27/04/23 JAI - SBC 2004 16
Sistemas de Mineração
Intelligent Miner (IBM) DBMiner Enterprise Miner Clementine MineSet Genamics Expressions
27/04/23 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
27/04/23 JAI - SBC 2004 18
Plano do CursoAula 1
Introdução
Técnicas de Regras de Associação
Técnicas de Análise de Sequência
27/04/23 JAI - SBC 2004 19
Regras de AssociaçãoItens = {Pão, Leite, Açúcar, ... }
Pão, Leite Manteiga
Vinho Queijo
ITEM, ITEM, ITEM ITEM
27/04/23 JAI - SBC 2004 20
Preparação dos Dados
ID Compras1 Pão, ,
2 ,Açucar
34 Manteiga, Açúcar
Leite
Leite
Leite ManteigaManteiga
Leite, Manteiga Suporte = 50%
Confiança = 66,6%
27/04/23 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 número de clientes que compraram A,B,C
número de clientes que compraram A,B,C,D Total de clientes
27/04/23 JAI - SBC 2004 22
Tarefa de MineraçãoDados : BD de transações, N, M
Retorna : regras de associação r
Sup(r) ≥ N
Conf(r) ≥ M
27/04/23 JAI - SBC 2004 23
Algoritmo: duas etapas1. Encontrar todos os I frequentes suporte(I) ≥ N
Itemset = conjunto de itens
2. Conf(A, B C) = suporte(A,B,C) ≥ Msuporte(A,B)
Itemsets
=
27/04/23 JAI - SBC 2004 24
Algoritmo Apriori
1 2 4 51 2 41 2 5Se um itemset é frequente
Todo subitemset é frequente !!
Propriedade Importante
27/04/23 JAI - SBC 2004 25
Apriori – Fase da Geração
1 3 5
1 3 4
1 4 5
2 3 5
2 3 6
2 3 4
2 4 6
3 4 6
2 5 6
F3
1 3 4 5
1 3 5
1 3 4
2 3 5
2 3 6
2 3 5 6
2 3 4
2 3 4 5
2 3 4 6
1 3 4 5
2 3 5 6
2 3 4 5
2 3 4 6C4
3 5 6
27/04/23 JAI - SBC 2004 26
Apriori – Fase da Poda
1 3 5
1 3 4
1 4 5
2 3 5
2 3 6
2 3 4
2 4 6
3 4 6
2 5 6
F3
1 3 4 5
2 3 5 6 2 3 4 6C4
3 5 6
3 4 5 2 3 4 53 4 5
2 3 5
2 3 5
2 3 6
2 3 6
5 62
2 5 6
3 5 6
3 5 6
2 3 4
2 3 4
2 3 62 4 6
2 4 6
3 4 6
3 4 6
C42 3 5 6 2 3 4 6
27/04/23 JAI - SBC 2004 27
Apriori – Fase de Validação
2 3 5 6
2 3 4 6
Banco de Dados
1 3 5 7 8
1 7
8
2 3 4 5 7 8
1 9
Contagem SuporteCandidatos
2 32 3 5 6
2 3 4 6
4 65
2 3 4 6
2 3 4 6
Suporte Mínimo: 50%
2 3 4 6F4 =
27/04/23 JAI - SBC 2004 28
Algoritmo Apriori Entrada : BD de transações, NSaida : F1, F2, F3, …
C1 = Itemsets de tamanho 1F1 = 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
27/04/23 JAI - SBC 2004 29
Um ExemploId Compras1 1,3,52 1,2,3,5,73 1,2,4,94 1,2,3,5,95 1,3,4,5,6,86 2,7,8
L1 = {1}, {2}, {3},{5}
Suporte minimo = 50%
{1,2}
{1,3}
{1,5}
{2,3}
{2,5}
{3,5}
C2 =
C3 = {1,2,3} {1,2,5} {1,3,5}
{1,2}
{1,3}
{1,5}
{3,5}
L2 =
L3 = {1,3,5}
27/04/23 JAI - SBC 2004 30
Plano do CursoAula 1
Introdução
Técnicas de Regras de Associação
Técnicas de Análise de Sequência
27/04/23 JAI - SBC 2004 31
Sequências
Itens = { TV, Vídeo , DVD, FitaDVD, ... }
{TV ,Vídeo} >> DVD >> FitaDVD
ITEMSET >> ITEMSET >> ITEMSET >> ... >>ITEMSET
27/04/23 JAI - SBC 2004 32
Preparação dos Dados1 , Rádio} ,
2 {Computador}
3 , {Rádio,
4 {Rádio} , {Comp}
5 {Comp} , {Impressora}
{TV
{TV}
{TV} , {DVD}{DVD}
DVD}
27/04/23 JAI - SBC 2004 33
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
27/04/23 JAI - SBC 2004 34
Preparação dos Dados1 , Rádio} >>
2 {Computador}
3 >> {Rádio,
4 {Rádio} >>{Comp}
5 {Comp} >> {Impressora}
{TV
{TV}
{DVD}
DVD}
< {TV} , {DVD} >
Suporte = 40%
27/04/23 JAI - SBC 2004 35
Tarefa de MineraçãoDados : BD de sequências, N
Retorna : Padrões Sequenciais s
Sup(s) ≥ N
27/04/23 JAI - SBC 2004 36
Propriedade Importantedcba hgfe lkjidcb hgfe lkji mdcb hgfe lkji ma Frequente
Frequentes
27/04/23 JAI - SBC 2004 37
Sequências « Ligáveis »
a cb fed ihg
cb fed ihg
cb fed ihg
jcb fed ihg
a
j
Sequência Resultante
27/04/23 JAI - SBC 2004 38
GSP – Fase da Geração
F3
C4
< {1,2}, {3} >< {1,2}, {4} >< {1}, {3,4} >
< {1,3}, {5} >< {2}, {3,4} >< {2}, {3}, {5} >
< {1,2}, {3,4} >
< {1,2}, {3} {5} >
27/04/23 JAI - SBC 2004 39
GSP – Fase da Poda
F3
C4
< {1,2}, {3} >< {1,2}, {4} >< {1}, {3,4} >
< {1,3}, {5} >< {2}, {3,4} >< {2}, {3}, {5} >
< {1,2}, {3,4} >
< {1,2}, {3} {5} >
< {1,2}, {3,4} >< {1,2}, {3,4} >< {1,2}, {3,4} >< {1,2}, {3,4} >
< {1,2}, {3} {5} > C’4 = < {1,2}, {3,4} >
27/04/23 JAI - SBC 2004 40
GSP – Fase de Validação
Contagem SuporteCandidatas
Suporte Mínimo: 50%Banco de Dados
1
2
3
4
< {3,1,5,2}, {5}, {3,5,4} >
< {2}, {3,4} >
< {4,5}, {1,3,2}, {3,5,4,7} >
< {3}, {2,5} >
< {1,2}, {3,4} >< {3,1,5,2}, {5}, {3,5,4} >
< {4,5}, {1,3,2}, {3,5,4,7} >
F4 = < {1,2}, {3,4} >
27/04/23 JAI - SBC 2004 41
Algoritmo GSP [1996]Entrada : BD de sequências, NSaida : F1, F2, F3, …
C1 = Padrões Sequenciais de tamanho 1F1 = 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
27/04/23 JAI - SBC 2004 42
Outros algoritmos Apriori-All, Apriori-Some
[Agrawal – Srikant 1995]
SPADE [M. Zaki, 2001]
PrefixSpan [Han+, 2001]
27/04/23 JAI - SBC 2004 43
Plano do CursoAula 2
Sequências com Restrições
Execução de um algoritmo
Técnicas de Classificação
27/04/23 JAI - SBC 2004 44
Otimizações : Fase de Validação Restrições Min-Max
Taxinomias
MAXMin
< açucar, TV, detergente >< café, DVD, desinfetante > < alimento, Eletro-dom, limpeza >
27/04/23 JAI - SBC 2004 45
Otimização: Fase de GeraçãoRestrições no Formato dos Padrões
[Garofalakis/Shim/Rastogi 1999] Padrões satisfazem expressão regular : TV a* DVD
{TV} - - - - - {DVD}
27/04/23 JAI - SBC 2004 46
Tarefa de MineraçãoDados : BD de transações, N, Expressão R
Retorna : Sequências s
satisfaz R
Sup(s) ≥ N
27/04/23 JAI - SBC 2004 47
Uma idéia para resolver o problemaNa 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
27/04/23 JAI - SBC 2004 48
Fase da Poda
1 5 8 9L4
1 4 5 8
2 4 5 7
2 3??
Não é frequente OU
Não satisfaz R
Frequentes
ESatisfazem R
27/04/23 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
27/04/23 JAI - SBC 2004 50
Geração e PodaIteraçã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
27/04/23 JAI - SBC 2004 51
Problema com esta idéiaDois tipos de poda
1. Eliminando sequências que não satisfazem R
Espaço de Busca
2. Eliminando sequências testando suas subsequências
Sequências Podadas
27/04/23 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
ba dcq
27/04/23 JAI - SBC 2004 53
Algoritmo SPIRITEntrada : BD, N, autômato RSaída : sequências frequentes satisfazendo R
1. Considera “relaxamento” R’ 2. Minera sequências satisfazendo R’3. Testa aquelas que satisfazem R
27/04/23 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
ba dcq
27/04/23 JAI - SBC 2004 55
Algoritmo SPIRIT - Geração e PodaR’ : relaxamento de RIteraçã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.
27/04/23 JAI - SBC 2004 56
Ex: Fase da Geração em SPIRIT(V)
1 2 4 5 7 Valida com respeito ao estado Q
e frequente
Q1 Q2 Q 3Q1 2 4
Q4 Q5
5 7Q1
<2,4,5,7> deve ser valida com respeito a Q1
Deve existir « flecha » de Q parq Q1
27/04/23 JAI - SBC 2004 57
Exemplo
q0
q1
q2
q3
ab
c
c
e
d
a
F2(q0) = <a,c>, <a,e> F2(q1) = <b,c>
F2(q2) = <d,c>, <d,e>
F2(q3) = vazio
q0 : <a,b,c> q0 : <a,d,c>, <a,d,e>,
q1 : <b,b,c>
q2 : <d,d,c>, <d,d,e> Fase da Poda
Nenhuma é podada
27/04/23 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
27/04/23 JAI - SBC 2004 59
Resultados Experimentais
Algoritmo Tempo (seg) Total Cand. IteraçõesSPITIT(N) 1562,80 5896 13SPIRIT(L) 32,77 1393 10SPIRIT(V) 16 59 5SPIRIT(R) 17,67 52 7
Logs de páginas Web acessadas por usuários de um DCC
URL começando em Home e terminando em PosGradDCC
27/04/23 JAI - SBC 2004 60
Plano do CursoAula 2
Sequências com Restrições
Técnicas de Classificação
Execução de um algoritmo
27/04/23 JAI - SBC 2004 61
ClassificaçãoNome Idade Renda Profissão ClasseDaniel ≤ 30 Média Estudante SimJoão 31..50 Média-Alta Professor Sim
Carlos 31..50 Média-Alta Engenheiro SimMaria 31..50 Baixa Vendedora NãoPaulo ≤ 30 Baixa Porteiro NãoOtavio > 60 Média-Alta Aposentado Não
SE.
Idade ≤ 30 Renda é Média Compra-Produto-Eletrônico = SIM. E ENTÃO
27/04/23 JAI - SBC 2004 62
Etapas do Processo
REGRAS
Classificador
Amostras Classificadas Banco de
Testes
REGRAS CONFIÁVEIS
27/04/23 JAI - SBC 2004 63
Árvore de Decisão IDADE
RENDA PROFISSÃO
≤ 30
BM M-A A
>60 51-6031-50
Med Prof VendEng
Não
SimSim Sim SimNão Não
Sim
Sim Sim
Se Idade ≤ 30 e Renda é Baixa então Não compra Eletrônico
Se Idade = 31-50 e Prof é Médico então compra Eletrônico
27/04/23 JAI - SBC 2004 64
Como criar uma Árvore de Decisão
C1CASO 1A B C CLASSEa1 b1 c1 Xa1 b2 c1 Xa2 b1 c1 Xa2 b2 c2 Xa1 b2 c2 X
27/04/23 JAI - SBC 2004 65
Como criar uma Árvore de DecisãoA B C CLASSE
a1 b1 c1 Xa1 b2 c1 Xa2 b1 c1 Ya2 b2 c2 Xa1 b2 c2 Y
A B C CLASSEa1 b1 c1 Xa1 b2 c1 Xa1 b2 c2 Y
CASO 2
LISTA-ATRIBUTOS = {
Atributo-Teste =
O que mais reduz a entropia
A B C CLASSEa2 b1 c1 Ya2 b2 c2 X
A
a1 a2
A, B, C }
27/04/23 JAI - SBC 2004 66
Como criar uma Árvore de Decisão
A B C CLASSE
a1 b2 c2 Y
A B C CLASSEa1 b1 c1 Xa1 b2 c1 Xa1 b2 c2 YA B C CLASSE
a1 b1 c1 X
a1 b2 c1 X
LISTA-ATRIBUTOS = {
Atributo-Teste =
O que mais reduz a entropia = C
Aa1 a2
B, C }
C
c1 c2
X Y
27/04/23 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.
27/04/23 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
27/04/23 JAI - SBC 2004 69
Um ExemploAparência Temperatura Humidade Vento Classe
Sol Quente Alta Não Ruim
Sol Quente Alta Sim Ruim
Encoberto Quente Alta Não Bom
Chuvoso Agradavel Alta Não Bom
Chuvoso Frio Normal Não Bom
Chuvoso Frio Normal Sim Ruim
Encoberto Frio Normal Sim Bom
Sol Agradavel Alta Não Ruim
Sol Frio Normal Não Bom
Chuvoso Agradavel Normal Não Bom
Sol Agradavel Normal Sim Bom
Encoberto Agradavel Alta Sim Bom
Encoberto Quente Normal Não Bom
Chuvoso Agradavel Alta Sim Ruim
27/04/23 JAI - SBC 2004 70
1a divisão possível : Aparência APARÊNCIA
Sol ChuvaEnc
BomBomBom
Bom Bom
BomBomBom
BomBom
RuimRuim Ruim
Ruim
Entrop(D) = 5/14 * Entrop(F1) + 4/14*Entrop(F2) + 5/14*Entrop(F3)
Entrop(F1) = -3/5*log2(3/5) - 2/5*log2 (2/5) = 0.971Entrop(F2) = - 4/4*log2 (4/4) = 0
Entrop(F3) = - 3/5*log2(3/5) - 2/5*log2(2/5) = 0.971
= 0.693
27/04/23 JAI - SBC 2004 71
Redução da Entropia
Entrop(A) = - (9/14 * log2 (9/14) + 5/14* log2(5/14)) = = 0.940
INFO(APARÊNCIA) = Entrop(A) – Entrop(D) = = 0.940 - 0.693 = 0.247
27/04/23 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
27/04/23 JAI - SBC 2004 73
Redes Neurais
2
I1
I3
I2
Camada Intermediaria
Camada de Output
Camada de Input
w323
Conjunto de unidades
input output
Conceito de Neurônio Artificial
27/04/23 JAI - SBC 2004 74
Rede Neural e Classificação
∑ INPUT Ij na unidade j
+ θj
w0j
w1j
w2j
x0
x2
x1
Output Oj
Função de AtivaçãoOutputs da Camada precedente
Pesos Média ponderadados outputs recebidos
tendência
27/04/23 JAI - SBC 2004 75
Backpropagation – Fase de IDA
I1
I3
I2
C1
C2
C3
Classe C1
δ1
δ2
δ3
1 ?
0 ?
0 ?
27/04/23 JAI - SBC 2004 76
Backpropagation – Fase de Volta
I1
I3
I2
C1
C2
C3
Ajusta pesos
w22
w32
w12w12
w32
w22
Ajusta pesos
w22
w32
w12w12
w32
w22
27/04/23 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.
27/04/23 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.
27/04/23 JAI - SBC 2004 79
Ida : Como são calculados os outputs I1
I2
I3
iw2i
w3i
w1i
Oi = F( w1i*I1 + w2i*I2 + w3i*I3 + θi )
Oi
F(x) = 1/(1+e-x)
27/04/23 JAI - SBC 2004 80
Volta: Cálculo dos Erros
δi Erro em unidade da última camadaTi (0-1) ?
Ei = δi(1- δi)(Ti – δi)
i
i2
3
wi1
wi2
wi3
E’i = δi(1- δi)(E1*wi1+E2*wi2+E3wi3)
Erro em unidade da camada intermediária1
27/04/23 JAI - SBC 2004 81
Reajustes dos pesos e tendências Novo peso wij
wiji j
Novo-wij = Velho-wij + λ EjOi
Nova Tendência θj
λ = Taxa de Aprendizado λ(t) = 1/t
Evita que o processo fique parado num “mínimo local”
Novo-θj = Velho- θj + λ Ej
t = iteração atual
27/04/23 JAI - SBC 2004 82
Exemplo1
0
1
1
2
3
4
5
6
w14
w24
w34
w46
w56
w14
Amostra classificada na classe C = 1
W14 W15 W24 W25 W34 W35 W46 W56 θ4 θ5 θ6
0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1
27/04/23 JAI - SBC 2004 83
Exemplo Ida
Volta
Unidade Input Output4 0.2 + 0 – 0.5 – 0.4 = - 0.7 1/1+e0.7 = 0.3325 -0.3 + 0 + 0.2 + 0.2 = 0.1 1/1+e-0.1 = 0.5256 (-0.3)(0.332) – (0.2)(0.525) + 0.1 = - 0.105 1/1+e0.105 = 0.474
Unidade Erro6 (0.474)(1 - 0.474)(1 - 0.474) = 0.13115 (0.525)(1 - 0.525)( 0.1311)(-0.2) = -0.00654 (0.332)(1 - 0.332)( 0.1311)(-0.3) = -0.0087
27/04/23 JAI - SBC 2004 84
Ex: Ajustes dos Pesos e TendênciasAntigo Valor Reajustado
W46 = -0.3 -0.3 + (0.90)(1.3311)(0.332) = -0.261
w56 = -0.2 -0.2 + (0.90)(1.3311)(0.525) = -1.138
w14 = 0.2 0.2 + (0.90)(-0.0087)(1) = 0.192
w15 = -0.3 -0.3 + (0.90)(-0.0065)(1) = -0.306
w24 = 0.4 0.4 + (0.90)(-0.0087)(0) = 0.4
w25 = 0.1 0.1 + (0.90)(-0.0065)(0) = 0.1
w34 = -0.5 -0.5 + (0.90)(-0.0087)(1) = -0.508
w35 = 0.2 0.2 + (0.90)(-0.0065)(1) = 0.194
θ6 = 0.1 0.1 + (0.90)(1.1311) = 0.218
θ5 = 0.2 0.2 + (0.90)(-0.0065) = 0.194
θ4 = -0.4 -0.4 + (0.90)(-0.0087) = -0.408
27/04/23 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
27/04/23 JAI - SBC 2004 86
Plano do CursoAula 2
Sequências com Restrições
Técnicas de Classificação
Execução de um algoritmo
27/04/23 JAI - SBC 2004 87
Intelligent Miner – Janela Principal
27/04/23 JAI - SBC 2004 88
Mineração
27/04/23 JAI - SBC 2004 89
Resultados da Mineração
27/04/23 JAI - SBC 2004 90
Estatística
27/04/23 JAI - SBC 2004 91
Plano do CursoAula 3
Técnicas de Clustering
Técnicas de Otimização e Implementação
Aspectos Teóricos e Generalização
Aplicações
27/04/23 JAI - SBC 2004 92
Agrupamento -Análise de Clusters
a F 1 0 1 1b M 0 0 1 1c F 1 1 1 0d F 1 0 0 0e M 1 1 0 1
a2 a3
a1
a11
a4
a7
a9a10a5
Número de Clusters = 3 Conceito = Doença
Doença X
Doença Z
Doença Y
a8
a6
a1
.
.
.
a2
Nome Sexo Sintomas
27/04/23 JAI - SBC 2004 93
Clusterização versus Classificação 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
27/04/23 JAI - SBC 2004 94
Dados de Treinamento
x11 x12 x13 ... x1n
x21 x22 x23 ... x2n
x31 x32 x33 ... x3n
... ... ... ... ...xp1 xp2 xp3 ... xpn
0 0 ... 0d(x1,x2) 0 ... 0d(x1,x3) d(x2,x 3) ... 0
... ... ... 0d(x1,xp) d(x2,x p) ... 0
Matriz de dados padronizados Matriz de dissimilaridade
Distância Euclidiana D(x,y) = (x1-y1)2 + (x2-y2)2 + .... + (xp – yp)2
Outras distâncias : Manhattan, Minkowski, Ponderada
27/04/23 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)
27/04/23 JAI - SBC 2004 96
Particionamento
BD com n amostras
K = número de clusters desejado ( parâmetro )
K ≤ n
27/04/23 JAI - SBC 2004 97
Hierárquicos Aglomerativos
BD com n amostras
K = número de clusters desejado ( parâmetro )
K ≤ n
27/04/23 JAI - SBC 2004 98
K-means
1ª Iteração2ª Iteração
+
+
+
27/04/23 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.
27/04/23 JAI - SBC 2004 100
Distância entre Clusters
CURE
27/04/23 JAI - SBC 2004 101
Calculo da Distância entre Clusters CURE
+ +
Coeficiente de Retração
Numero de elementos escolhidos em cada cluster
Parâmetros de Entrada
27/04/23 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.
27/04/23 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
27/04/23 JAI - SBC 2004 104
Plano do CursoAula 3
Técnicas de Clustering
Técnicas de Otimização e Implementação
Aspectos Teóricos e Generalização
Aplicações
27/04/23 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
27/04/23 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.
27/04/23 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
27/04/23 JAI - SBC 2004 108
Exemplo
1 2 31 2 41 2 51 2 61 2 71 3 41 3 51 3 6
L3 Capacidade da Memoria : 3 itemsets de tamanho 3 + 1 pagina para contagem do suporte
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>
27/04/23 JAI - SBC 2004 109
Otimização 1 - Árvore Hash1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
Tabelas Hash
Folhas : armazena padrões
27/04/23 JAI - SBC 2004 110
Como armazenar padrões na Árvore
Pão, LeitePão, AçucarPão, ManteigaLeite, AçúcarLeite, ManteigaAçúcar, Manteiga
Pão, LeitePão, AçucarPão, ManteigaAçúcar, Manteiga
Leite, AçúcarLeite, Manteiga
h(i1) = 2h(i1) = 1
h(Pão) = h(Açucar) = 1
h(Manteiga) = h(Leite) = 2N = Número maximo de elementos na folha = 3
27/04/23 JAI - SBC 2004 111
Como armazenar padrões na Árvore
Pão, LeitePão, ManteigaAçúcar, Manteiga
Leite, AçúcarLeite, Manteiga
h(i1) = 2h(i1) = 1
Pão, Açúcar
h(i2) = 1 h(i2) = 2
27/04/23 JAI - SBC 2004 112
Geração de candidatos
1
< 1, 4, 8 >< 3, 6, 8 >< 1, 2, 4 >
2
1 2
1 2
1 2
2
< 1, 2, 5 >< 2, 4, 7 >
< 6, 8, 10 >< 2, 4, 6 >
x 2 2
< 6, 8, 9 >
1
2 2 y
< 3, 6, 8 > < 6, 8, 9 > x < 3, 6, 8, 9 >
< 3, 6, 8 >< 1, 2, 4 >
< 6, 8, 10 >< 2, 4, 6 >
xx
<3, 6, 8, 10 ><1, 2, 4, 6>
27/04/23 JAI - SBC 2004 113
Poda dos Candidatos
1
{ 1, 4, 8 }{ 3, 6, 8 }{ 1, 2, 4 }
2
1 2
1 2
1 2
2
{ 1, 2, 5 }{ 2, 4, 7 }
{ 6, 8, 10 }{ 2, 4, 6 }
{ 6, 8, 9 }
1
{ 1, 2, 5, 6 }Candidato:
Sub-itemset: { 1, 2, 5 }
{ 1, 2, 5 }{ 2, 4, 7 }
{ 1, 2, 5 }{ 1, 2, 5 }{ 1, 2, 5 }{ 1, 2, 6 }{ 1, 2, 6 }{ 1, 2, 6 }{ 1, 2, 6 }
h(n) = 1 se n é ímpar
h(n) = 2 se n é par
Folhas : máximo de 3 elementos
27/04/23 JAI - SBC 2004 114
Validação dos Candidatos
1
{ 1, 4, 8 } - 0{ 3, 6, 8 } - 0{ 1, 2, 6 } - 0
2
1 2
1 2
1 2
2
{ 1, 2, 5 } - 0{ 2, 4, 7 } - 0
{ 6, 8, 10 } - 0{ 2, 4, 6 } - 0
{ 6, 8, 9 } - 0
1
{ 1, 2, 5, 6 }
Transação do banco
{ 1, 5, 9 } - 0 { 2, 5, 6 } - 0
{ 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 } - 1{ 2, 4, 7 } - 0{ 1, 2, 5 } - 1{ 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, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }
{ 2, 5, 6 } - 1{ 2, 5, 6 } - 1
27/04/23 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
27/04/23 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
27/04/23 JAI - SBC 2004 117
Método do Particionamento Apriori/GSP em memória principal
Encontra padrões frequentes locais
Frequente local
Testa os padrões frequentes locais
Frequente Global
Frequente em ao menos um Local
DB
27/04/23 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)
27/04/23 JAI - SBC 2004 119
Plano do CursoAula 3
Técnicas de Clustering
Técnicas de Otimização e Implementação
Aspectos Teóricos e Generalização
Aplicações
27/04/23 JAI - SBC 2004 120
Técnica Crescimento-Poda-Validação Quadro Geral
L = Linguagem de Especificação de PadrõesEx : < a, b, c, d >
Q = Condição de SeleçãoQuais padrões de L são interessantes ?
Tarefa de Mineração S = { p Є L | p satisfaz Q }
27/04/23 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õesO 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
27/04/23 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
27/04/23 JAI - SBC 2004 123
Algoritmo Geral
Mais gerais
Mais específicos
27/04/23 JAI - SBC 2004 124
Algoritmo Level Search1. C1:= {q Є L | não existe p Є L, p < q }2. i:= 13. While Ci ≠ vazio
1. Fi = {p Є Ci | p satisfaz Q}2. Ci+1 := {p Є L | para todo q < p tem-se que q Є Uj ≤ i Fj}
– Uj ≤ i Cj
1. i:= i+1
4. Retorna Uj ≤ i Fj
27/04/23 JAI - SBC 2004 125
Exemplo 1: Regras de Associação Linguagem L :
alfabeto = conjunto de itens IL = 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
27/04/23 JAI - SBC 2004 126
Exemplo 2: Sequências Linguagem L :
alfabeto = conjunto de itens IL = 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} >
27/04/23 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
27/04/23 JAI - SBC 2004 128
Novo : Episódios [Mannila+ 1997]Tarefa de MineraçãoDados : 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.
27/04/23 JAI - SBC 2004 129
Episódios
E B E C E E A B D C E A EAFD
A
B
C
BB A C A C
27/04/23 JAI - SBC 2004 130
Episódios Linguagem L :
alfabeto = conjunto de eventos EL = 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
27/04/23 JAI - SBC 2004 131
Plano do CursoAula 3
Técnicas de Clustering
Técnicas de Otimização e Implementação
Aspectos Teóricos e Generalização
Aplicações
27/04/23 JAI - SBC 2004 132
Aplicações Marketing Medicina Telecomunicações Agropecuária Meteorologia Web Mining Bioinformática
27/04/23 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
27/04/23 JAI - SBC 2004 134
Mineração do Uso da WebDados = Arquivo de Logs
u1 (s1, d1) t1
u2 (s2, d2) t2
u3 (s3, d3) t3
IdUser (IP) End. Origem End. Destino Tempo
< (s1,d1), (s2,d2), (s3,d3), ... >
27/04/23 JAI - SBC 2004 135
Sequência de Páginas Visitadas
B O
A
C
D
E
G
H W
U V
1
2
43
56
7
89
10
11
12
13 14 15
< A B C D EBC G WH AG O U O V >
A = (null, A) B = (A, B) C = (B, C) ….
27/04/23 JAI - SBC 2004 136
Transformação das Sequências
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
Arquivo de Logs
27/04/23 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< >
27/04/23 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
27/04/23 JAI - SBC 2004 139
Algoritmo MF para Transformação
B O
A
C E
G
H W
U V
1
2
43
56
7
89
10
11
12
13 14 15
Mov String Y SeqMax
1
2
3
6
4
5
7
8
AB
ABC
ABCD
ABC
ABE
AB
ABEGABEGH
-
-
-
ABCD
-
-
--
9 ABEG ABEGH
D
27/04/23 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.
27/04/23 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}
F1 = {2}, {3}, {5}, {7}
Suporte = 50%
C1 = {1}, {2}, {3}, {4} ,{5}, {6 },{7}, {8}, {9},{11}
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}
F3 = vazio
27/04/23 JAI - SBC 2004 142
Exercicio 2
q0 q1 q2
q3
0 1
1 32 5
F2(q0) = <0,1> <0,2> F2(q1) = <1,2>
F2(q2) = <5,1> <5,3>
Fase da Geração
Q0: <0,1,2>Q1: <1,5,2>, <1,5,3> <2,3,5>
F2(q3) = <3,5>
Q2: <5,3,5> Q3: <1,1,2> <3,5,1> <3,5,3>
Fase da Poda
Podadas : <1,5,2>
<1,5,3> <2,3,5><1,1,2> <2,3,5>
27/04/23 JAI - SBC 2004 143
FIM Suporte deste curso http://www.deamo.prof.ufu.br/CursoDM.html
Curso Completo DM Notas deste Mini-curso Slides deste Mini-curso Bibliografia, ….
Questões ?