Mineração de padrões frequentes na base do Netflix
1. Padrões Frequentes na
base do Netflix
Lucas Cunha de Oliveira Miranda
Matheus Silva Vilela
2. Proposta
• Aplicar técnicas de mineração de dados sobre uma base
real para caracterização.
• Identificar filmes que sejam bons, médios e ruins em termos
da popularidade global e segundo as preferências
individuais.
• Utilizar algoritmos para obtenção de regras de associação
relevantes e que possam ser empregadas na tarefa de
recomendação.
3. A Base do Netflix
O Netflix é um serviço online de aluguel de filmes. A empresa
propõe o "Desafio Netflix", que concede um prêmio de 1 milhão
de dólares para a equipe que apresentar um sistema de
recomendação que seja 10% melhor que o recomendador do
site. A base com informações dos filmes, usuários e
qualificações está disponível em: www.netflixprize.com
4. Caracterização da Base
A base de dados do Netflix foi coletada entre Outubro de 1998
e Dezembro de 2005.
Algumas características identificadas:
Atributo Descrição
Datas No formato YYYY-MM-DD, entre outubro de 1998 e dezembro
de 2005.
Filmes 17770 filmes com informações de data de lançamento e título.
Usuários 480189 usuários com identificadores entre 1 e 2649429.
Qualificações Mais de 100 milhões valores entre 1 e 5.
8. Qualificações
• Dificuldade em se exprimir a preferência e o gosto do
usuário (informação muito subjetiva).
• O Netflix utiliza um sistema com 5 valores possíveis.
• A preferência do usuário e a maneira de qualificar mudam
com o tempo.
• Usuários qualificam com intenções diferentes.
• Como considerar tudo isso?
9. Qualificações
As qualificações foram substituídas pelo valor fornecido na
fórmula:
r’ = (r - )
Exemplo:
Qualificações do usuário A: {1, 2, 1, 3, 1}.
Média: 1.6 Desvio padrão: 0.8
Qualificações do usuário B: {4, 3, 5, 4, 5, 5, 4, 4}.
Média: 4.25 Desvio padrão: 0.661
Para um filme novo, ambos qualificam com valor 3.
Qualificação calculada para o usuário A: (3-1.6)/0.8 = 1.75
Qualificação calculada para o usuário B: (3-4.25)/0.661 = -1.891
10. Pré-processamento
• Foram geradas listas de qualificações por usuário e listas
de qualificações por filmes.
• As qualificações foram modificadas para considerar o
comportamento de qualificar do usuário.
• Calculou-se a média e o desvio padrão das qualificações
para a sequência de qualificações de cada usuário e para a
sequência de qualificações de cada filme.
• Os arquivos gerados, os desvios padrões e a distribuição de
médias foram utilizados para dividir os filmes em categorias.
11. Experimentos
• Aplicação de um algoritmo de mineração de regras de
associação para obtenção de relações relevantes para a
tarefa de mineração.
• Divisão da base em um conjunto de transações formadas
por filmes "bons" e um conjunto de transações formadas por
filmes "ruins".
• Definição dos conjuntos segundo critérios de popularidade
global e pela preferência individual.
• Definição da transação.
12. Regras de Associação
Seja I = {i1, i2, i3, ...} um conjunto de atruibutos.
Seja D = {t1, t2, t3, ...} um conjunto de transações.
Cada item de D é formado por um subconjunto de I.
Uma regra de associação é uma implicação da forma X → Y,
onde X, Y ⊆ I e X ∩ Y = Ø.
A regra significa que, se X ocorre em uma transação, é
provável que Y ocorra na mesma transação.
Essas regras podem ser usadas em sistemas de
recomendação de filmes.
13. Algoritmo ECLAT
• Algoritmo para encontrar padrões frequentes.
• Decompõem espaço de busca em partições independentes:
partições induzidas pelo prefixo do padrão.
o Padrões que começam com o prefixo {A} pertencem a
uma partição, padrões que começam com o prefixo {B}
pertencem a outra partição.
• Cada partição pode ser processada separadamente.
o Apenas padrões de tamanho k-1 pertencentes à uma
mesma partição precisam ser mantidos simultaneamente
em memória durante a enumeração dos padrões de
tamanho k.
o Consumo de memória é reduzido significantivamente.
14. Transações
• Uma transação é definida como sendo formada pelos filmes
qualificados por um mesmo usuário.
• Para cada usuário, existem 2 transações possíveis:
o Filmes bons qualificados pelo usuário;
o Filmes ruins qualificados pelo usuário;
• A divisão de quais filmes, dentre o conjuntos de filmes
qualificados por um usuário, fazem parte destas duas
transações pode ocorrer segundo dois critérios:
o Popularidade Global
o Preferências do usuário
16. Divisão pela Popularidade Global
• Cálculo da média e do desvio padrão da distribuição:
o Filmes com valores acima de (média+desvio padrão) são
considerados bons;
o Filmes com valores abaixo de (média-desvio padrão) são
considerados ruins;
o Demais filmes são considerados médios.
17. Divisão pela Popularidade Global
• 5 Melhores filmes:
o Lord of the Rings: The Return of the King: Extended Edition
o The Lord of the Rings: The Fellowship of the Ring: Extended Edition
o Lost, Season 1
o Lord of the Rings: The Two Towers: Extended Edition
o Veronica Mars: Season 1
• 5 Piores filmes:
o Avia Vampire Hunter
o It's All About Love
o The Worst Horror Movie Ever Made
o Vampire Assassins
o Underground Comedy Movie
18. Divisão pela Preferência do usuário
• Cálculo da média e do desvio padrão das qualificações de
cada usuário:
o Filmes com valores acima de (média+desvio padrão) são
considerados bons para dado usuário;
o Filmes com valores abaixo de (média-desvio padrão) são
considerados ruins para dado usuário;
o Demais filmes são considerados médios.
o Como esta estratégia considera a preferência individual,
um mesmo filme pode fazer parte de transações
referentes a usuários diferentes em ambos os grupos.
19. Resultados
• Foram executados diversos testes para diferentes valores
de confiança e suporte.
• Foram encontradas muitas relações interessantes.
• A divisão dos filmes pelo critério de popularidade global
resultou em muitas regras que relacionam filmes de
gêneros bastante diferentes.
• A divisão dos filmes segundo a preferência individual
também revelou regras pouco convencionais, mas gerou
muitas relações intuitivas.
• As regras intuitivas sugerem que o método de geração é,
provavelmente, mais confiável. Mas as regras inusitadas
são mais interessantes para um sistema de recomendação,
já que não são óbvias e, portanto, são de difícil obtenção.
20. Resultados
Exemplos de regras extraídas:
Em 92,49% das vezes que os usuários gostaram do filme "Lord of the Rings:
The Fellowship of the Ring" e do filme "Lord of the Rings: The Two Towers", eles
também gostaram do filme "Lord of the Rings: The Return of the King". Este
comportamento é observado em 5.59% das transações.
Em 57,07% das vezes que os usuários gostaram do filme "Spider-man 2", eles
também gostaram do filme "Forrest Gump". Este comportamento é observado
em 12.11% das transações.
Em 77,02% das vezes que os usuários gostaram do filme "Finding Nemo", eles
também gostaram do filme "Pirates of the Caribbean: The Curse of the Black
Pearl". Este comportamento é observado em 16.96% das transações.
21. Resultados
Exemplos de regras extraídas:
Em 70,46% das vezes que os usuários gostaram do filme "A Beautiful Mind",
eles também gostaram do filme "American Beauty". Este comportamento é
observado em 11.97% das transações.
Em 48,27% das vezes que os usuários gostaram do filme "The Sixth Sense",
eles também gostaram do filme "Figth Club". Este comportamento é observado
em 10.26% das transações.
Em 51,81% das vezes que os usuários não gostaram do filme "Legally Blonde 2:
Red, White & Blonde", eles também não gostaram do filme "The Stepford
Wives". Este comportamento é observado em 8.94% das transações.
22. Conclusões
• Existem muitas ferramentas disponíveis para mineração de
dados. A aplicabilidade destas técnicas é mais ampla do
que se imagina.
• Foram extraídas regras de associação interessantes de
uma base real, considerando a qualificação dos usuários.
• Isoladamente, as regras extraídas não devem ser usadas
para recomendar produtos. Mas, as relações obtidas são
potencialmente úteis na composição de um sistema de
recomendação.
23. Referências
• Veloso, Adriano; Borges, Alex; Maia, Marcelo. Compressão
aplicada à mineração de padrões frequentes
• Koren, Yehuda. Collaborative filtering with Temporal
Dynamics
• Meira Jr., Wagner; J. Zaki, Mohammed. Fundamentals of
Data Mining Algorithms
• Netflix Prize. http://www.netflixprize.com/
• Netflix. http://www.netflix.com/