4 - Associação
Mineração de Dados
Introdução
• Muitas empresas acumulam enormes
quantidades de dados das suas
operações do dia-a-dia
• Varejistas se interessam em analisar os
dados para aprender sobre o
comportamento de compras dos seus
clientes
Introdução
• Tais informações valiosas podem ser
usadas para apoiar uma diversidade de
aplicações relacionadas ao negócio, tais
como:
– Promoção de vendas – Gerência de estoque
– Gerência de relacionamento com clientes – Dentre outros
Introdução
• Associação ou Análise de Associação
é útil para descobrir relacionamentos
interessantes escondidos em grandes
conjuntos de dados
• Os relacionamentos descobertos podem
ser representados na forma de regras de
associação ou conjuntos de itens
Introdução
• Além dos dados das cestas de compras, a
análise de associação também é aplicável
para outros domínios de aplicações
– Bioinformática
– Diagnósticos médicos – Mineração na Web
– Análise de dados científicos – Dentre várias outros
Introdução
• Tais informações podem ajudar cientistas
a desenvolver uma melhor compreensão
de como os diferentes elementos do
sistema da Terra interagem entre si
– Padrões de associação podem revelar
conexões interessantes entre o oceano, a terra e os processos atmosféricos
Introdução
•
Há duas questões chave que precisam
ser abordadas durante a aplicação da
análise de associação aos dados das
cestas de compras
1. Descobrir padrões a partir de um conjunto grande de dados de transações podem ser computacionalmente custoso
2. Alguns dos padrões descobertos são
potencialmente falsos (false positive) porque podem acontecer simplesmente ao acaso
Definição do Problema
Definição do Problema
• Conjunto de itens
– Suponha que I = {i1,i2,i3,...,id} seja o conjunto de todos os itens em uma cesta de compras – E T = {t1,t2,t3,...,tn} seja o conjunto de todas as
transações
– Cada transação ti contém um subconjunto de itens selecionados de I
• t1 = {i1,i2,i3} • t2 = {i1,i3} • t3 = {i2,i3,i4}
Definição do Problema
• Conjunto de itens
– Em análise de associação, uma correlação de zero ou mais itens é chamada de conjunto de itens
– Se o conjunto de itens tiver k itens, é chamado de conjunto de k itens
• {Cerveja, Fraldas, Leite} – conjunto de 3 itens
• {} – O conjunto vazio é um conjunto de itens que não contém quaisquer itens
Definição do Problema
• Conjunto de itens
– Extensão da transação – é definida como o número de itens presentes em uma transação
• t2 = {Cerveja, Fraldas, Leite, Café} – extensão de tamanho 4
– Uma transação tj contém um conjunto de itens X, se X for um subconjunto de tj
• Conjunto é uma coleção de objetos, onde todos os elementos de um dado conjunto, possuem uma
Definição do Problema
• Conjunto de itens
{Pão, Fraldas} {Pão, Leite}
Definição do Problema
• Contador de Suporte
– Propriedade importante de um conjunto de itens que se refere ao número de
transações que contêm um determinado conjunto de itens
Definição do Problema
• Contador de Suporte
Definição do Problema
• Regra de Associação
– Uma regra de associação é uma expressão de implicação no formato X -> Y, onde X e Y são conjuntos disjuntos de itens, ou seja,
– A força de uma regra de associação pode ser medida em termos do seu suporte e confiança
– O suporte determina a frequência na qual uma regra é aplicável a um determinado conjunto de dados
– A confiança determina a frequência na qual os itens de Y aparecem em transações que contenham X
φ
= ∩ Y X
Definição do Problema
Nro de transações
Contador De Suporte
Definição do Problema
• Analisaremos a regra: {Leite, Fraldas}->{Cerveja}
– Contador de suporte = 2
• {Leite, Fraldas, Cerveja}
– Número total de transações = 5 – Suporte da regra = 2/5 = 0,4
– Confiança
• Divido o contador de suporte de {Leite, Fraldas, Cerveja}, pelo contador de suporte de {Leite, Fraldas} (antecedente da regra) • Confiança = 2/3 = 0,67
Definição do Problema
• Porque usamos suporte e confiança?
– O suporte é uma medida importante porque uma regra que tenha baixo suporte pode acontecer simplesmente por coincidência (ou ao acaso)
– A confiança mede a confiabilidade da inferência feita por uma regra. Para uma determinada regra X->Y, quanto maior a confiança, maior a probabilidade de que Y esteja presente em transações que
contenham X. A confiança também fornece uma
Definição do Problema
• Os resultados da análise de associação
devem ser interpretados com cuidado
• A inferência feita por uma regra de
associação não implica necessariamente
em casualidade
• Ela sugere um forte relacionamento de
co-ocorrência entre itens no antecedente
e o consequente da regra
Definição do Problema
• Causalidade, por outro lado, requer
conhecimento dos atributos de causa e
efeito nos dados, e geralmente envolve
relacionamentos que ocorrem com o
passar do tempo
– Ex: redução da camada de ozônio leva ao aquecimento global
Descoberta de Regras
de Associação
• Dado um conjunto de transações T, encontre todas as regras que tenham
conf
conf
min
sup
min
sup
≥
≥
Descoberta de Regras
de Associação
• Uma abordagem de força bruta para
minerar regras de associação é calcular o
suporte e a confiança para cada regra
possível
• Esta abordagem é proibitivamente custosa
porque há exponencialmente muitas
regras que podem ser extraídas de um
conjunto de dados
Descoberta de Regras
de Associação
• O número total de regras possíveis extraídas de um conjunto de dados que contenha d itens
1
2
3
−
1
+
=
d
d
+
Descoberta de Regras
de Associação
1
2
3
−
1+
=
d d+R
Descoberta de Regras
de Associação
• Se eu aplicar minsup = 20% e minconf = 50%, mais de 80% das regras serão descartadas
• Para evitar a execução de cálculos sem
significado, é útil podar as regras antes que seja calculado o seu valor de suporte e confiança
• Um passo inicial na direção da melhoria do desempenho de algoritmos de mineração de
regras de associação é desacoplar os requisitos de suporte e confiança
Descoberta de Regras
de Associação
• O suporte de um conjunto de regras X->Y,
depende do suporte dos conjuntos de
itens analisados, isto é:
Itens do mesmo conjunto: {Cerveja, Fraldas, Leite} 1. {Cerveja, Fraldas}->{Leite}
2. {Leite, Cerveja}->{Fraldas}
3. {Fraldas, Leite}->{Cerveja} Mesmo valor de
Descoberta de Regras
de Associação
•
Uma estratégia comum adotada por
muitos algoritmos de mineração de
regras de associação é decompor o
problema em duas subtarefas principais
1. Geração de Conjuntos de Itens Frequentes 2. Geração de Regras
Descoberta de Regras
de Associação
• Geração de Conjuntos de Itens
Frequentes
– Cujo objetivo é encontrar todos os conjuntos de itens que satisfaçam o limite do minsup – Estes conjuntos de itens são chamados de
Descoberta de Regras
de Associação
• Geração de Regras
– Cujo objetivo é extrair todas as regras de alta confiança dos conjuntos de itens frequentes – Estas regras são chamadas de regras fortes
• Os requisitos computacionais para a
geração de conjuntos de itens frequentes
são geralmente mais custosos do que os
da geração de regras
Geração de Conjuntos
de Itens Frequentes
• Uma estrutura de rede pode ser usada para
enumerar a lista de todos os conjuntos de itens possíveis
• Dado um conjunto I = {a,b,c,d,e}
• Este conjunto pode gerar 31 conjuntos de itens frequentes, excluindo o vazio
1
2 −
=
kConjItens
Geração de Conjuntos
de Itens Frequentes
Pão Leite Fralda Cerveja Ovos
{Pão}->{Pão,Cerveja}
Geração de Conjuntos
de Itens Frequentes
• Devido a k poder ser muito grande em muitas aplicações práticas, o espaço de pesquisa para conjuntos de itens que precisa ser explorado fica exponencialmente grande 1 2 − = k M N = Nro Transações {Pão, Leite}->{Pão,Leite,Fralda}
Geração de Conjuntos
de Itens Frequentes
• Em uma abordagem de força bruta para
encontrar conjuntos de itens frequentes
é determinar o contador de suporte para
cada conjunto de itens candidato na
estrutura da rede
• Para fazer isso, precisamos comparar
cada candidato com cada transação
Geração de Conjuntos
de Itens Frequentes
Geração de Conjuntos
de Itens Frequentes
Geração de Conjuntos
de Itens Frequentes
•
Há diversas formas de se reduzir a
complexidade computacional da geração
de conjuntos de itens frequentes
1. Reduzir o número de conjuntos de itens selecionados
– Utilizando o algoritmo Apriori
– Sem calcular os valores de suporte
Princípio do Apriori
• Teorema 6.1 (Princípio Apriori)
– Se um conjunto de itens é frequente, então todos os seus subconjuntos também devem ser frequentes
Princípio do Apriori –
Princípio do Apriori –
Conjunto de Itens Infrequentes
Poda Baseada em Suporte
Princípio do Apriori
• Geração de Conjuntos de Itens
Frequentes no Algoritmo do Apriori
– Apriori é o primeiro algoritmo de mineração de regras de associação que foi precursor do uso de poda baseada em suporte para
controlar, de forma sistemática, o crescimento exponencial dos conjuntos de itens
Geração de Conjuntos de Itens Frequentes no Apriori
Complexidade
Computacional (CC)
• A CC do algoritmo Apriori pode ser afetada pelos seguintes fatores
– Limite de Suporte
• Abaixar o limite de suporte muitas vezes resulta em mais conjuntos de itens sendo declarados como frequentes
– Número de Itens (Dimensionalidade)
• À medida que o número de itens aumenta, mais espaço será necessário para armazenar os contadores de suporte dos itens
– Número de Transações
Avaliação dos Padrões
de Associação
• Algoritmos de análise de associação tem
o potencial de gerar um grande número de
transações
• Como o tamanho e dimensionalidade de
bancos de dados comerciais reais podem
ser muito grandes, poderíamos facilmente
acabar com milhares ou até mesmo
Avaliação dos Padrões
de Associação
• Selecionar os padrões para identificar os
mais interessantes não é uma tarefa trivial
– “O lixo de uma pessoa, pode ser o tesouro de outra!”
• É importante estabelecer um conjunto de
critérios bem definidos e aceitos para
avaliar a qualidade dos padrões de
associação
Avaliação dos Padrões
de Associação
• Padrões que envolvam um conjunto de itens
mutuamente exclusivos ou que cubram muito poucas transações são considerados
desinteressantes porque podem capturar falsos relacionamentos nos dados
• Tais padrões podem ser eliminados pela aplicação de uma medida de interesse
objetivo que usa estatísticas derivadas dos dados para determinar se um padrão é
Avaliação dos Padrões
de Associação
• Exemplos de medidas de interesse
objetivo incluem: suporte, confiança e
correlação
Avaliação dos Padrões
de Associação
• Um segundo conjunto de critérios pode
ser estabelecido através de argumentos
subjetivos
• Um padrão é considerado subjetivamente
desinteressante a menos que revele
informações inesperadas sobre os dados
ou forneça conhecimento útil que possa
levar a ações proveitosas
Avaliação dos Padrões
de Associação
• {Mateiga}-> {Pão}
– Pode não ser interessante, apesar de ter valores de suporte e confiança altos, porque o relacionamento representado pela regra pode parecer bastante óbvio
• {Fraldas}->{Cerveja}
– É interessante porque o relacionamento é bastante inesperado e pode sugerir uma nova oportunidade de venda cruzada para os varejistas
• Incorporar conhecimento subjetivo na avaliação de padrões é uma tarefa difícil porque requer uma quantidade considerável de informações
Avaliação dos Padrões
de Associação
• Abordagens para incorporar conhecimento subjetivo à tarefa de descoberta de padrões
– Visualização
• Requer um ambiente amigável para o usuário. Ele permite que os especialistas no domínio interajam com o sistema de mineração de dados interpretando e verificando os padrões descobertos
– Abordagem Baseada em Modelos
• Permite aos usuários restringir o tipo de padrões extraídos pelo algoritmo de mineração. Em vez de informar TODAS as regras extraídas, apenas as regras que satisfaçam a um modelo
especificado pelo usuário são retornadas
– Medida subjetiva de interesse
• É utilizada para filtrar padrões que sejam óbvios e incontestáveis. Ex: hierarquia de modelos ou margem de lucros
Questões de
Implementação
• Atividades de pesquisa na área de
Associação giram em torno de
– Integrar a capacidade de mineração com a tecnologia existente de bancos de dados, – Desenvolver algoritmos de mineração
escaláveis e eficientes
– Lidar com restrições especificadas pelo usuário e específicas de domínio
Questões de
Implementação
• Um problema potencial com a análise de
associação é o grande número de
padrões que podem ser gerados pelos
algoritmos correntes
• Para superar este problema, métodos
para classificar, resumir e filtrar padrões
foram desenvolvidos
Questões de
Implementação
• A visualização ajuda o usuário a obter
rapidamente a estrutura correspondente aos padrões descobertos.
• Muitas ferramentas comerciais de mineração de dados exibem o conjunto completo de regras
(que satisfazem tanto ao critério de limite de suporte quanto ao de limite de confiança) na forma de um gráfico bi-dimensional, com cada eixo correspondendo aos conjuntos de itens antecedentes ou consequentes da regra
Questões de Aplicação
• A análise de associação tem sido aplicada em uma variedade de domínios
– Mineração na Web
– Análise de documentos
– Diagnóstico de alarme de telecomunicações
– Análise de padrões de associação e correlação em estudos de Ciência da Terra
– Problemas de aprendizagem: classificação, regressão e agrupamento