SlideShare a Scribd company logo
1 of 19
Download to read offline
Cria¸˜o de regras de associa¸˜o a
ca
ca
partir da navega¸˜o de usu´rios em
ca
a
sites Web
Fabr´ J. Barth
ıcio
Faculdades BandTec e VAGAS Tecnologia

Junho de 2013
Processo de minera¸˜o de padr˜es na
ca
o
Web
Pré−processamento dos dados
Limpeza dos dados
Identificação de pageview
Identificação de seções
Integração de dados
Transformação dos dados

Log dos servidores
de aplicação

Banco de dados com
as transações dos usuários

Padrões de uso

Padrões

Agrupamento de pageview
Análise de correlação
Mineração de regras de associação
Mineração de padrões sequenciais

Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web —
ca
ca
ca
a
na Web

Processo de minera¸˜o de padr˜es
ca
o

2
Exemplo t´
ıpico de log

Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web —
ca
ca
ca
a

Exemplo t´
ıpico de log

3
Pr´-processamento do log: identifica¸˜o
e
ca
de usu´rios
a

Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web
ca
ca
ca
a
identifica¸˜o de usu´rios
ca
a

—

Pr´-processamento do log:
e

4
Pr´-processamento do log: identifica¸˜o
e
ca
das se¸˜es
co

Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web
ca
ca
ca
a
identifica¸˜o das se¸oes
ca
c˜

—

Pr´-processamento do log:
e

5
Matriz de transa¸oes
c˜

Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web —
ca
ca
ca
a

Matriz de transa¸oes
c˜

6
Matriz de transa¸oes com
c˜
meta-informa¸oes sobre as p´ginas
c˜
a
usu´rio
a

categoria1

categoria2

categoria3

···

categoriam

user1

0

2

0

···

1

user2

1

1

0

···

0

user3

2

0

1

···

0

user4

0

1

0

···

0

···

···

···

···

···

···

usern

1

1

0

···

1

• Cada p´gina pode pertencer a uma categoria (i.e., tipo de livro, tipo de estabelecimento comercial)
a
• Cada p´gina pode estar associada a uma cidade (i.e., um estabelecimento, uma vaga de emprego)
a

Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web —
ca
ca
ca
a
informa¸˜es sobre as p´ginas
co
a

Matriz de transa¸˜es com metaco

7
Regras de Associa¸˜o
ca
• Caso do supermercado (fralda → cerveja)
• Quem acessa a p´gina sobre futebol tamb´m acessa a
a
e
p´gina de volei em 90% dos casos (futebol → volei).
a
• Quem acessa a p´gina de ofertas e a p´gina de
a
a
material de constru¸˜o tamb´m finaliza a compra em
ca
e
83% dos casos (ofertas ∧ material constru¸˜o →
ca
compra)

Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web —
ca
ca
ca
a

Regras de Associa¸˜o
ca

8
Algoritmo para cria¸˜o
ca
de regras

9
Minera¸˜o de itens frequentes
ca
• Dado:
um conjunto A = {a1 , · · · , am } de itens,
uma tabela T = (t1 , · · · , tn ) de transa¸˜es sobre A,
co
um n´mero βmin que 0 < βmin ≤ 1, o suporte
u
m´
ınimo.
• Objetivo 1:
encontrar o conjunto de itens frequentes, tais que
o suporte de cada conjunto de itens ´ maior ou
e
igual ao βmin definido pelo usu´rio.
a

Algoritmo para cria¸˜o de regras —
ca

Minera¸˜o de itens frequentes
ca

10
Exemplo de transa¸oes
c˜

Figure 1: Um banco de dados de transa¸˜es, com 10
co
transa¸˜es, e a enumera¸˜o de todos os conjuntos de itens
co
ca
frequentes usando o suporte m´
ınimo = 0,3
Algoritmo para cria¸˜o de regras —
ca

Exemplo de transa¸˜es
co

11
Minera¸˜o de itens frequentes
ca
• Objetivo 2:
encontrar o conjunto de regras de associa¸˜o com
ca
confian¸a maior que um m´
c
ınimo definido pelo
utilizador.

Algoritmo para cria¸˜o de regras —
ca

Minera¸˜o de itens frequentes
ca

12
Suporte e Confian¸a
c
O suporte de um conjunto de itens Z, suporte(Z),
representa a porcentagem de transa¸˜es na base de dados
co
que contˆm os itens de Z.
e
O suporte de uma regra de associa¸˜o A → B,
ca
suporte(A → B), ´ dado por suporte(A ∪ B).
e

P (A ∪ B)
suporte(A ∪ B)
=
conf ianca(A → B) =
P (A)
suporte(A)
(1)

Algoritmo para cria¸˜o de regras —
ca

Suporte e Confian¸a
c

13
Exemplo de regras geradas

Figure 2: Regras extra´
ıdas com confian¸a maior que 0,8
c

Algoritmo para cria¸˜o de regras —
ca

Exemplo de regras geradas

14
Exemplo b´sico de uso
a
http://rpubs.com/fbarth/regraAssociacao

Algoritmo para cria¸˜o de regras —
ca

Exemplo b´sico de uso
a

15
Medida Lift
Dada uma regra de associa¸˜o A → B, esta medida indica
ca
o quanto mais freq¨ente torna-se B quando ocorre A.
u
• Se Lif t(A → B) = 1, ent˜o A e B s˜o independentes.
a
a
• Se Lif t(A → B) > 1, ent˜o A e B s˜o positivamente
a
a
independentes.
• Se Lif t(A → B) < 1, A e B s˜o negativamente
a
dependentes.
Esta medida varia entre 0 e ∞ e possui interpreta¸˜o
ca
simples: quanto maior o valor de Lif t, mais
interessante a regra, pois A aumenta B.
Algoritmo para cria¸˜o de regras —
ca

Medida Lift

16
Dados de click-stream de um site da
Hungria
Dados anonimizados fornecidos por Ferenc Bodon http://fimi.ua.ac.be/data/kosarak.dat
http://rpubs.com/fbarth/regrasAssociacaoClickStream

Algoritmo para cria¸˜o de regras —
ca

Dados de click-stream de um site da Hungria

17
Material de consulta
• Fabr´ Barth. Minera¸˜o de regras de associa¸˜o em
ıcio
ca
ca
servidores Web com RapidMinera .
• Iah H. Witteh and Eibe Frank. Data Mining: Practical
Machine Learning Tools and Techniques (Third
Edition), 2011.
• Gon¸alves. Regras de Associa¸˜o e suas Medidas de
c
ca
Interesse Objetivas e Subjetivas. INFOCOMP Journal
of Computer Science, 2005, 4, 26-35.
a http://fbarth.net.br/materiais/webMining/webUsageMining.pdf

Algoritmo para cria¸˜o de regras —
ca

Material de consulta

18
• Data Mining Algorithms in R - Apriori Algorithm.
http://en.wikibooks.org/wiki/Data Mining Algorithms In R/
Frequent Pattern Mining/The Apriori Algorithm.
Acessado em 13 de junho de 2013.
• RDataMining.com: Association Rules.
http://www.rdatamining.com/examples/associationrules. Acessado em 13 de junho de
2013.

Algoritmo para cria¸˜o de regras —
ca

Material de consulta

19

More Related Content

More from Fabrício Barth

Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]
Fabrício Barth
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big Data
Fabrício Barth
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big Data
Fabrício Barth
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
Fabrício Barth
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web Mining
Fabrício Barth
 
Ferramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de InformaçõesFerramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de Informações
Fabrício Barth
 

More from Fabrício Barth (20)

Redução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big DataRedução de dimensionalidade - Pós Graduação em Big Data
Redução de dimensionalidade - Pós Graduação em Big Data
 
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big DataHierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
Hierarquia de modelos e Aprendizagem de Máquina - Pós Graduação em Big Data
 
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataContexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
 
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big DataPré-processamento [no R] e Análise Exploratória - Curso de Big Data
Pré-processamento [no R] e Análise Exploratória - Curso de Big Data
 
Algoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionadoAlgoritmos de Agrupamento - Aprendizado não supervisionado
Algoritmos de Agrupamento - Aprendizado não supervisionado
 
Human Activity Recognition
Human Activity RecognitionHuman Activity Recognition
Human Activity Recognition
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
Web Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random ForestWeb Data Mining com R: identificação de spam utilizando Random Forest
Web Data Mining com R: identificação de spam utilizando Random Forest
 
Web Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivosWeb Data Mining com R: design de projetos para criação de modelos preditivos
Web Data Mining com R: design de projetos para criação de modelos preditivos
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
Web Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquinaWeb Data Mining com r: aprendizagem de máquina
Web Data Mining com r: aprendizagem de máquina
 
Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]
 
Data Science, Machine Learning and Big Data
Data Science, Machine Learning and Big DataData Science, Machine Learning and Big Data
Data Science, Machine Learning and Big Data
 
Uma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big DataUma introdução à mineração de informações na era do Big Data
Uma introdução à mineração de informações na era do Big Data
 
Projeto Simple Maps
Projeto Simple MapsProjeto Simple Maps
Projeto Simple Maps
 
Uma introdução à mineração de informações
Uma introdução à mineração de informaçõesUma introdução à mineração de informações
Uma introdução à mineração de informações
 
Data, Text and Web Mining
Data, Text and Web MiningData, Text and Web Mining
Data, Text and Web Mining
 
Ferramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de InformaçõesFerramentas Java para Recuperação e Mineração de Informações
Ferramentas Java para Recuperação e Mineração de Informações
 
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de ProjetoAtena: um sistema para suporte ao planejamento na área de Gestão de Projeto
Atena: um sistema para suporte ao planejamento na área de Gestão de Projeto
 

Web Data Mining com R: criação de regras de associação a partir da navegação de usuários em sites Web

  • 1. Cria¸˜o de regras de associa¸˜o a ca ca partir da navega¸˜o de usu´rios em ca a sites Web Fabr´ J. Barth ıcio Faculdades BandTec e VAGAS Tecnologia Junho de 2013
  • 2. Processo de minera¸˜o de padr˜es na ca o Web Pré−processamento dos dados Limpeza dos dados Identificação de pageview Identificação de seções Integração de dados Transformação dos dados Log dos servidores de aplicação Banco de dados com as transações dos usuários Padrões de uso Padrões Agrupamento de pageview Análise de correlação Mineração de regras de associação Mineração de padrões sequenciais Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web — ca ca ca a na Web Processo de minera¸˜o de padr˜es ca o 2
  • 3. Exemplo t´ ıpico de log Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web — ca ca ca a Exemplo t´ ıpico de log 3
  • 4. Pr´-processamento do log: identifica¸˜o e ca de usu´rios a Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web ca ca ca a identifica¸˜o de usu´rios ca a — Pr´-processamento do log: e 4
  • 5. Pr´-processamento do log: identifica¸˜o e ca das se¸˜es co Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web ca ca ca a identifica¸˜o das se¸oes ca c˜ — Pr´-processamento do log: e 5
  • 6. Matriz de transa¸oes c˜ Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web — ca ca ca a Matriz de transa¸oes c˜ 6
  • 7. Matriz de transa¸oes com c˜ meta-informa¸oes sobre as p´ginas c˜ a usu´rio a categoria1 categoria2 categoria3 ··· categoriam user1 0 2 0 ··· 1 user2 1 1 0 ··· 0 user3 2 0 1 ··· 0 user4 0 1 0 ··· 0 ··· ··· ··· ··· ··· ··· usern 1 1 0 ··· 1 • Cada p´gina pode pertencer a uma categoria (i.e., tipo de livro, tipo de estabelecimento comercial) a • Cada p´gina pode estar associada a uma cidade (i.e., um estabelecimento, uma vaga de emprego) a Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web — ca ca ca a informa¸˜es sobre as p´ginas co a Matriz de transa¸˜es com metaco 7
  • 8. Regras de Associa¸˜o ca • Caso do supermercado (fralda → cerveja) • Quem acessa a p´gina sobre futebol tamb´m acessa a a e p´gina de volei em 90% dos casos (futebol → volei). a • Quem acessa a p´gina de ofertas e a p´gina de a a material de constru¸˜o tamb´m finaliza a compra em ca e 83% dos casos (ofertas ∧ material constru¸˜o → ca compra) Cria¸˜o de regras de associa¸˜o a partir da navega¸˜o de usu´rios em sites Web — ca ca ca a Regras de Associa¸˜o ca 8
  • 10. Minera¸˜o de itens frequentes ca • Dado: um conjunto A = {a1 , · · · , am } de itens, uma tabela T = (t1 , · · · , tn ) de transa¸˜es sobre A, co um n´mero βmin que 0 < βmin ≤ 1, o suporte u m´ ınimo. • Objetivo 1: encontrar o conjunto de itens frequentes, tais que o suporte de cada conjunto de itens ´ maior ou e igual ao βmin definido pelo usu´rio. a Algoritmo para cria¸˜o de regras — ca Minera¸˜o de itens frequentes ca 10
  • 11. Exemplo de transa¸oes c˜ Figure 1: Um banco de dados de transa¸˜es, com 10 co transa¸˜es, e a enumera¸˜o de todos os conjuntos de itens co ca frequentes usando o suporte m´ ınimo = 0,3 Algoritmo para cria¸˜o de regras — ca Exemplo de transa¸˜es co 11
  • 12. Minera¸˜o de itens frequentes ca • Objetivo 2: encontrar o conjunto de regras de associa¸˜o com ca confian¸a maior que um m´ c ınimo definido pelo utilizador. Algoritmo para cria¸˜o de regras — ca Minera¸˜o de itens frequentes ca 12
  • 13. Suporte e Confian¸a c O suporte de um conjunto de itens Z, suporte(Z), representa a porcentagem de transa¸˜es na base de dados co que contˆm os itens de Z. e O suporte de uma regra de associa¸˜o A → B, ca suporte(A → B), ´ dado por suporte(A ∪ B). e P (A ∪ B) suporte(A ∪ B) = conf ianca(A → B) = P (A) suporte(A) (1) Algoritmo para cria¸˜o de regras — ca Suporte e Confian¸a c 13
  • 14. Exemplo de regras geradas Figure 2: Regras extra´ ıdas com confian¸a maior que 0,8 c Algoritmo para cria¸˜o de regras — ca Exemplo de regras geradas 14
  • 15. Exemplo b´sico de uso a http://rpubs.com/fbarth/regraAssociacao Algoritmo para cria¸˜o de regras — ca Exemplo b´sico de uso a 15
  • 16. Medida Lift Dada uma regra de associa¸˜o A → B, esta medida indica ca o quanto mais freq¨ente torna-se B quando ocorre A. u • Se Lif t(A → B) = 1, ent˜o A e B s˜o independentes. a a • Se Lif t(A → B) > 1, ent˜o A e B s˜o positivamente a a independentes. • Se Lif t(A → B) < 1, A e B s˜o negativamente a dependentes. Esta medida varia entre 0 e ∞ e possui interpreta¸˜o ca simples: quanto maior o valor de Lif t, mais interessante a regra, pois A aumenta B. Algoritmo para cria¸˜o de regras — ca Medida Lift 16
  • 17. Dados de click-stream de um site da Hungria Dados anonimizados fornecidos por Ferenc Bodon http://fimi.ua.ac.be/data/kosarak.dat http://rpubs.com/fbarth/regrasAssociacaoClickStream Algoritmo para cria¸˜o de regras — ca Dados de click-stream de um site da Hungria 17
  • 18. Material de consulta • Fabr´ Barth. Minera¸˜o de regras de associa¸˜o em ıcio ca ca servidores Web com RapidMinera . • Iah H. Witteh and Eibe Frank. Data Mining: Practical Machine Learning Tools and Techniques (Third Edition), 2011. • Gon¸alves. Regras de Associa¸˜o e suas Medidas de c ca Interesse Objetivas e Subjetivas. INFOCOMP Journal of Computer Science, 2005, 4, 26-35. a http://fbarth.net.br/materiais/webMining/webUsageMining.pdf Algoritmo para cria¸˜o de regras — ca Material de consulta 18
  • 19. • Data Mining Algorithms in R - Apriori Algorithm. http://en.wikibooks.org/wiki/Data Mining Algorithms In R/ Frequent Pattern Mining/The Apriori Algorithm. Acessado em 13 de junho de 2013. • RDataMining.com: Association Rules. http://www.rdatamining.com/examples/associationrules. Acessado em 13 de junho de 2013. Algoritmo para cria¸˜o de regras — ca Material de consulta 19