prefixspan e gsp
Post on 07-Jan-2016
25 Views
Preview:
DESCRIPTION
TRANSCRIPT
PrefixSpan e GSPPrefixSpan e GSP
Correção – Completude –Correção – Completude –Performance – EscalabilidadePerformance – Escalabilidade
Propriedades de um algoritmoPropriedades de um algoritmo
Seja Seja AA um algoritmo que tem como objetivo um algoritmo que tem como objetivo calcular um conjunto de objetos Fcalcular um conjunto de objetos F
F =F = conjunto de todos os objetos satisfazendo um conjunto de todos os objetos satisfazendo um determinada propriedade P.determinada propriedade P.
ExemplosExemplos1.1. Algoritmo que retorna todos os números Algoritmo que retorna todos os números
primos aparecendo num conjunto input N.primos aparecendo num conjunto input N.2.2. Algoritmo Apriori que retorna todos os itemsets Algoritmo Apriori que retorna todos os itemsets
frequentes aparecendo num banco de frequentes aparecendo num banco de transações Dtransações D
Propriedades de um algoritmoPropriedades de um algoritmo
Corretude :Corretude : Todo output de A satisfaz a Todo output de A satisfaz a propriedade P que caracteriza os propriedade P que caracteriza os elementos de F ?elementos de F ?
Completude:Completude: Para todo objeto O de F Para todo objeto O de F existe uma execução de A que retorna existe uma execução de A que retorna O ?O ?
Como mostrar que GSP é correto ?Como mostrar que GSP é correto ?
Seja s = (I1, I2, ..., In) um padrão Seja s = (I1, I2, ..., In) um padrão sequencial retornado por GSP.sequencial retornado por GSP.
S é frequente ?S é frequente ?
Prova :Prova : Os padrões retornados por GSP são Os padrões retornados por GSP são testados na fase do cálculo du suporte testados na fase do cálculo du suporte que garante que o padrão retornado é que garante que o padrão retornado é frequente.frequente.
Como mostrar que PrefixSpan é Como mostrar que PrefixSpan é correto ?correto ?
Seja Seja ss um padrão sequencial retornado por PrefixSpan um padrão sequencial retornado por PrefixSpan
Pergunta: Pergunta: ss é é frequentefrequente com relação ao banco de dadoscom relação ao banco de dados de de sequências D sequências D originaloriginal dado como input ? dado como input ?
Prova: Prova: ss é retornado por PrefixSpan como sendo frequente em relação a um é retornado por PrefixSpan como sendo frequente em relação a um
banco de dados projetado D|banco de dados projetado D|σσ Neste caso Neste caso σσ é prefixo de s é prefixo de s ss é suportado por pelo menos N sequências no banco projetado D| é suportado por pelo menos N sequências no banco projetado D|σσ Estas N sequências projetadas são subsequências de sequências do Estas N sequências projetadas são subsequências de sequências do
banco de dados original D.banco de dados original D. Logo s é suportado por pelo menos N sequências do banco de dados Logo s é suportado por pelo menos N sequências do banco de dados
original D.original D. Portanto, Portanto, s é frequente com relação a Ds é frequente com relação a D..
Como mostrar que GSP é completo Como mostrar que GSP é completo ??
Seja S um padrão sequencial frequente de tamanho kSeja S um padrão sequencial frequente de tamanho kS é retornado por GSP ?S é retornado por GSP ?
Prova: por indução sobre kProva: por indução sobre k Base da indução k = 1 :Base da indução k = 1 : se S é frequente de tamanho 1 então S é se S é frequente de tamanho 1 então S é
retornado na primeira iteração de GSP.retornado na primeira iteração de GSP. Hipótese de indução :Hipótese de indução : suponhamos que todos os padrões frequentes de suponhamos que todos os padrões frequentes de
tamanho inferior a k são retornados por GSP.tamanho inferior a k são retornados por GSP. Como S = (s1,....,sn) é frequente, então Como S = (s1,....,sn) é frequente, então
s’ = S – (primeiro item do primeiro itemset)s’ = S – (primeiro item do primeiro itemset)s’’ = S – (último item do último itemset)s’’ = S – (último item do último itemset)
São padrões frequentes de tamanho k-1.São padrões frequentes de tamanho k-1.Por hipótese de indução, s’ e s’’ são retornados por GSP. Neste caso, s’ e s’’ Por hipótese de indução, s’ e s’’ são retornados por GSP. Neste caso, s’ e s’’
são retornados na iteração k-1são retornados na iteração k-1Portanto, S será gerado na iteração k de GSP, ao se juntar s’ e s’’ obtidos na Portanto, S será gerado na iteração k de GSP, ao se juntar s’ e s’’ obtidos na
iteração precedente.iteração precedente.Como S é frequente, S será “aprovado” na fase do cálculo do suporte, e Como S é frequente, S será “aprovado” na fase do cálculo do suporte, e
portanto será retornado por GSP.portanto será retornado por GSP.
Como mostrar que PrefixSpan é Como mostrar que PrefixSpan é completo ?completo ?
Seja S = (s1,...,sn) um padrão sequencial frequente de tamanho kSeja S = (s1,...,sn) um padrão sequencial frequente de tamanho kS é retornado por PrefixSpan ?S é retornado por PrefixSpan ?
Prova: por indução sobre kProva: por indução sobre k Base da indução k = 1 :Base da indução k = 1 : se S é frequente de tamanho 1 então S é se S é frequente de tamanho 1 então S é
retornado na primeira iteração de PrefixSpanretornado na primeira iteração de PrefixSpan Hipótese de indução :Hipótese de indução : suponhamos que todos os padrões frequentes de suponhamos que todos os padrões frequentes de
tamanho inferior a k são retornados por PrefixSpantamanho inferior a k são retornados por PrefixSpanSeja Seja bb = último item do último itemset de S = último item do último itemset de SS = S = αα . . bb αα’ é frequente de tamanho k-1’ é frequente de tamanho k-1Por hipótese de indução, Por hipótese de indução, αα é retornado por PrefixSpan é retornado por PrefixSpan. . O banco projetado D| O banco projetado D| αα será considerado em seguida.será considerado em seguida.S é frequente em D, logo é frequente em D| S é frequente em D, logo é frequente em D| αα Portanto b é frequente em D| Portanto b é frequente em D| αα Portanto S será obtido expandido-se Portanto S será obtido expandido-se αα com o com o bb e será retornado ao final da e será retornado ao final da etapa D| etapa D| αα
Performance Performance
Pontos positivos de PrefixSpanPontos positivos de PrefixSpan Não existe fase de geração de candidatosNão existe fase de geração de candidatos Padrões são estendidos com o acrescimo de um item Padrões são estendidos com o acrescimo de um item
frequente obtido varrendo-se o banco projetadofrequente obtido varrendo-se o banco projetado No caso de GSP, os candidatos são gerados sem No caso de GSP, os candidatos são gerados sem
levar em conta o banco de dados. Somente após a levar em conta o banco de dados. Somente após a geração, durante o teste do suporte, o banco de geração, durante o teste do suporte, o banco de dados é levado em conta.dados é levado em conta.
Os bancos de dados que são varridos são os Os bancos de dados que são varridos são os projetados, que diminuem a cada etapa.projetados, que diminuem a cada etapa.
Pontos negativos de PrefixSpanPontos negativos de PrefixSpan Construção dos bancos projetadosConstrução dos bancos projetados
Estudos comparativos – GSP e Estudos comparativos – GSP e PrefixSpanPrefixSpan
PC AMD 750MHz, 512 Mb Ram, PC AMD 750MHz, 512 Mb Ram, plataforma Windows 2000, Visual C++ 6.0plataforma Windows 2000, Visual C++ 6.0Suporte = 1%Suporte = 1%
PrefixSpan : 6,8 segPrefixSpan : 6,8 seg GSP : 772,82 segGSP : 772,82 seg SPADE: 20 segSPADE: 20 seg
Suporte entre 0.5 e 0.75% : PrefixSpan é Suporte entre 0.5 e 0.75% : PrefixSpan é 2 a 3 vezes mais perfomante que GSP e 2 a 3 vezes mais perfomante que GSP e Spade.Spade.
Performance DB- C10T8S8I8Performance DB- C10T8S8I8
10k Clients – 8 items per itemset – 8 itemsets per client (avg). Average patternAverage pattern: 4 itemsets, 8 items per itemset
Aplicação: Mineração de Aplicação: Mineração de padrões de navegação na Web padrões de navegação na Web
(Web Mining)(Web Mining)O que faz ? O que faz ?
Extrai padrões que reprExtrai padrões que representamesentam comportamento de comportamento de navegaçãonavegação na web. na web.
Para que ?Para que ?
Melhorar a arquitetura de um siteMelhorar a arquitetura de um site
Distribuir material publicitário no site de forma optimalDistribuir material publicitário no site de forma optimal
Web MiningWeb Mining
Dados: Dados: Arquivo de logs de navegaçãoArquivo de logs de navegação Log = sequência de pLog = sequência de páginas visitadaságinas visitadas
uu11 p p1 1 t t11
uu22 p p22 t t22
uu33 p p33 t t33
IdUser (IP)IdUser (IP) PáginaPágina TempoTempo
< p1, p2, p3, ... >
Exemplo – um arquivo de logsExemplo – um arquivo de logs
Mineração de SMineração de Seequências de quências de SessõesSessões
• Dados: Web click-streams (sequências de clicks)
• Para cada usuário é associada uma sessãosessão
• Uma sessãosessão = sequência de páginas visitadas (tempo inicial – tempo final)
Dados: conjunto de sessõesSessões sequência de páginasPáginas items
SSeequências de Pquências de Páginaságinas Web Web VisitVisitadasadas = Uma sessão = Uma sessão
B O
A
C
D
E
G
H W
U V
1
2
4
35
6
7
8
910
11
12
1314 15
< A B C D EBC G WH AG O U O V >
Transformação de uma SessãoTransformação de uma Sessão
Conjunto de Sequências MaximaisMaximais
< < A B C D >A B C D > < A B E G H >< A B E G H > < A B E G W >< A B E G W > < A O U >< A O U > < A O V >
Arquivo de Logs Sequências Maximais
Uma sessão
Intelligent Miner – Janela Intelligent Miner – Janela PrincipalPrincipal
MineraçãoMineração
RReesultados da Mineraçãosultados da Mineração
ReferênciasReferências
Artigos:Artigos:
J. Han, J. Pei, B. Mortazavi-Asl, H. Pinto, U. Dayal: J. Han, J. Pei, B. Mortazavi-Asl, H. Pinto, U. Dayal: Mining Sequential Mining Sequential
Patterns by Pattern-Grouwth: The Prefix-SpanPatterns by Pattern-Grouwth: The Prefix-Span Approach. IEEE Approach. IEEE
Transactions on Knowledge and Data Engineering, Vol. 16, n. 11, Transactions on Knowledge and Data Engineering, Vol. 16, n. 11,
2004.2004.
M.S. Chen, J. S. Park, P.S. Yu : M.S. Chen, J. S. Park, P.S. Yu : Efficient Data Mining for Path Efficient Data Mining for Path Traversal PatternsTraversal Patterns.. IEEE Transactions on Knowledge Discovery and IEEE Transactions on Knowledge Discovery and Data Engineering 10(2), 209-221, Mars 1998. Data Engineering 10(2), 209-221, Mars 1998.
//
top related