O processo de extração de regras de associação tem como objetivo extrair associações entre atributos do conjunto de dados com base na frequência em que diferentes valores ocorrem juntos. Através da extração das regras é possível obter padrões de comportamento úteis do conjunto de dados original. Um problema comum que envolve regras de associação é o de relacionar produtos que são comprados juntos em algum tipo de comércio a fim de oferecer combinações de produtos que tem maior probabilidade de serem comprados juntos.
Dada uma base de dados composta por um conjunto de itens e um conjunto de transações em que cada transação consiste em um conjunto de itens tal que , uma regra de associação é uma implicação na forma
em que e são conjuntos de itens que estão contidos em tal que .
Uma regra de associação tem suporte se em das transações em ocorre , ou seja, o suporte representa a porcentagem de transações que apresentam ambos os componentes da regra. Já a confiança de uma regra é dada pela porcentagem das transações em em que se ocorre então também ocorre, ou seja: .
Os algoritmos de extração de regras de associação geralmente seguem um processo padrão de tarefas:
- Encontrar todos os conjuntos de itens que possuem suporte maior que um suporte mínimo fixado.
- Utilizar todos os conjuntos de itens para gerar as regras de associação que possuem confiança maior do que uma confiança mínima fixada.
As métricas de confiança e suporte, apesar de essenciais, não são suficientes para determinar com certeza a utilidade da regra extraída. Tendo isso em vista, duas outras métricas são utilizadas para avaliar as regras obtidas pelos algoritmos:
O lift representa a noção estatística de independência entre duas variáveis aleatórias. Aplicado a uma regra de associação, o lift indica o quão correlacionados estão os componentes da regra.
A convicção representa o quão convincente é a regra, também podendo ser interpretada como a frequência de erro da regra.
Apriori
O algoritmo Apriori utiliza de um processo iterativo para encontrar todos os conjuntos de itens frequentes contidos em uma base de dados e, a partir desses conjuntos, gerar regras de associação com base em parâmetros de suporte e confiança mínimos.
De maneira geral, cada iteração do algoritmo executa três fazes:
- A geração de candidatos de tamanho , onde são utilizados os conjuntos frequentes de tamanho para gerar conjuntos candidatos (não necessariamente frequentes) de tamanho através da combinação dos itens dos conjuntos.
- A poda de candidatos, onde são descartados os candidatos gerados que possuem um subconjunto de itens de tamanho não frequente.
- O cálculo do suporte, fase na qual o banco de dados com as transações é percorrido para calcular o valor do suporte para cada um dos candidatos, eliminando os candidatos com suporte inferior ao suporte mínimo fixado.
Quando não for mais possível gerar novos candidatos o processo se encerra, resultando em um conjunto de vários conjuntos de itens frequentes, partir do qual é possível extrair as regras de associação. Para cada conjunto de tamanho resultante, geram-se todos os subconjuntos de para gerar regras na forma .