Mineração dePreferências
Contextuais
A. Soulet et al. 2012
AULA 19
Data Mining
Profa. Sandra de Amo
Motivação
War
Steve Spielb erg
Action
Johnny Depp
Drama
Tom Hanks
James Cameron
Leonardo di Caprio
Action, Tom Hanks, War
Action, Stieve Spieberg, War
Thriller
Motivação
Notação:
A: Action
B: Tom Hanks
C: Steve Spielberg
D: War
E: Leonardo di Caprio
….
Motivação
Objetivo

Dado um conjunto de pares de transações
(amostragem fornecida pelo usuário)
Descobrir regras que permitam decidir as
preferências do usuário sobre pares de
transações.

No exemplo:


Uma transação corresponde a uma classe de
filmes.
Formalização do Problema



Items (tags)
Itemset (ou transação)= conjunto de items
Uma preferência = (t1,t2), onde t1, t2 são itemsets

Um banco de dados de Preferências: conjunto finito de
preferências fornecidas pelo usuário através de cliques.

Regra de Preferência Contextual :
 Sintaxe : i+ > i- | X
 i+, i- são items distintos
X = Contexto da regra
 X = itemset
 i+ e i- não estão contidos em X
 Semântica : entre duas transações contendo X, prefiro aquela
que contém i+ do que aquela que contém i-
Exemplo




t1 = A C D
t2 = A B C E
r: D > E | A
Logo: t1 >r t2
t1 é preferido a t2 de acordo com a regra r
Medidas de utilidade das regras




t1, t2: transações
r: regra de preferência
(t1,t2) satisfaz r se t1 >r t2
(t1,t2) contradiz r se t2 >r t1

Suporte de uma regra r com relação a um conjunto de preferências
P
 Sup(r,P) = porcentagem de bi-tuplas (t1,t2) de P que satisfazem r
 Dizemos que (t1,t2) satisfaz a regra r se t1 >r t2

Confiança de uma regra r com relação a um conjunto de
preferências P.
 Conf(r,P) = Porcentagem de bi-tuplas (t1,t2) de P que satisfazem
r, dentre todas as que satisfazem ou contradizem r
Minimalidade

Uma regra i+ > i- | X é dita minimal com relação a um
banco de preferências P
se não existe Y  X tal que:
sup(i+ > i- | Y, P) = sup(i+ > i- | X, P) e
conf(i+ > i- | Y, P) = conf(i+ > i- | X, P)

Propriedades importantes de antimonotonia:


se Y  X e sup(i+ > i- | Y, P) ≤ N então sup(i+ > i- | X, P) ≤ N
se Y  X e i+ > i- | Y não é minimal então i+ > i- | X não é minimal
Problema de Mineração (1)
Input: Banco de dados de preferências P
N: nível minimo de suporte
M: nível minimo de confiança
Output: todas as regras de preferência r, minimais,
com suporte ≥ N e confiança ≥ M
Método ContPrefMiner: adaptação do algoritmo
Apriori para minerar regras de preferência.
(poderia ser qualquer algoritmo de mineração de regras
de associação)
Algoritmo ContPrefMiner
Problemas a resolver :





Como usar o conjunto de regras minerado por
ContPrefMiner para prever a preferência do
usuário sobre duas transações quaisquer ?
Cada regra tem sua “opinião” a respeito da
preferência entre duas transações.
“Opiniões” podem ser contraditórias
Ordenação por regras “individuais” pode não ser
transitiva.
O conjunto de regras pode ser muito grande.
Como definir uma ordem de preferência ?

O que significa duas transações serem comparáveis
por um conjunto S de regras de preferências ?
t1, t2 são comparáveis por S se t1 >r t2, onde r = a melhor
regra de preferência de S.
Estamos adotando uma política de autoridade para
agregar preferências de S : a melhor regra decide !
Como ordenar regras de preferência

Trata-se de uma ordem total !
Exemplo : minsup = 0.2, minconf= 0.6
Como avaliar um ordenador S ?
S = conjunto de regras de preferências
P = banco de dados de preferências
Precisão(S,P) = porcentagem de pares (t,u)
em P com t >S u dentre todos os pares em P
comparáveis por S
Recall(S,P) = porcentagem de pares (t,u) em P
com t>s u dentre todos os pares em P
Problema de Mineração (2)
Input: Banco de dados de preferências P
Conjunto de regras de Preferência S
Output: Um subconjunto S’ de S que maximize a precisão e
o recall e que seja tão pequeno quanto se queira.
Problema NP-completo : problema do red-blue set cover
(que é NP-completo) se reduz a este problema de
mineração.
Solução proposta: algoritmo ProfMiner
enfoque heurístico – solução não é exata
Idéia geral

A cada iteração




R = { r0 }, r0 = melhor regra de S
P = P – {(t,u) que não satisfazem r0}
S = conjunto das regras de S que são satisfeitas
por pelo menos k pares de P
Repete o processo até S seja vazio.


Coeficiente k : controla o tamanho do R retornado
R retornado = Perfil do usuário
Algoritmo ProfMiner
Exemplo (k = 1)
Resultados Experimentais

Foram usados 3 bancos de preferências sobre filmes (imdb.com e
MovieLens preparados pelo grupo de BD-UFU e Université de Versailles).
 P301, P3000, P30000
 Atributos: Gênero, Ator, Diretor, Ano
 Atributos multivalorados: Gênero, Diretor, Ator
 Ator: consideramos só o principal
 Gênero, Diretor: valores múltiplos são transformados num único item
 ContPrefMiner: executado com minsup= 0,001 e minconf = 0,5

Processador Intel 3 GHz, 1 GB de RAM, Windows XP
Redução do conjunto de regras



ProfMiner reduz drasticamente o conjunto de
regras retornado por ContPrefMiner
Tamanho do conjunto de regras diminui
quando k aumenta
Mesmo para k = 1 há uma redução no
número de regras:
P301 : de 5319  108
P3000 : de 4833  432
P30000: de 4913  925
Variação do número de regras em relação
ao K
Coeficiente de Redução do Perfil


Seja Rk: perfil retornado para k
Q = Coeficiente de redução de Rk
Q = (|R1| - |Rk|) / |R1|
Gráfico da Precisão com respeito ao Q
Gráfico Recall com respeito ao Q
Gráfico da F-Mesure com respeito ao Q
Algumas regras de preferência
extraídas
Trabalhos em Andamento

Estudar outras maneiras de construir o perfil
do usuário – outras politicas de ordenação
das regras retornadas por ContPrefMiner

Algoritmo CPrefMiner: baseado em outra
metodologia:



Extração de uma rede de preferências R
R é uma espécie de CP-Net probabilistica
R faz o papel do conjunto S de regras retornado
por ProfMiner (= perfil do usuário)
Download

Slides - Sandra de Amo