Algoritmo a priori: como funciona? Como as marcas podem utilizar o algoritmo a priori?
Publicados: 2020-03-26Imagine que você está no supermercado e, em sua mente, tem os itens que deseja comprar. Mas você acaba comprando muito mais do que deveria. Isso é chamado de compra impulsiva e as marcas usam o algoritmo a priori para alavancar esse fenômeno. Clique para saber mais se estiver interessado em saber mais sobre algoritmos de ciência de dados.
O que é esse algoritmo? E como funciona? Você encontrará as respostas para essas perguntas neste artigo. Vamos primeiro dar uma olhada no que é esse algoritmo e depois em como ele funciona.
Vamos começar.
Índice
O que é o Algoritmo A priori?
O algoritmo a priori fornece conjuntos de itens frequentes. Sua base é a propriedade a priori que podemos explicar da seguinte maneira:
Suponha que um conjunto de itens que você possui tenha um valor de suporte menor que o valor de suporte necessário. Então, os subconjuntos desse conjunto de itens também teriam menos valor de suporte do que o necessário. Assim, você não os incluirá em seu cálculo e, como resultado, economizará muito espaço.
O valor de suporte refere-se ao número de vezes que um determinado conjunto de itens aparece nas transações. O algoritmo a priori é bastante popular devido à sua aplicação em sistemas de recomendação. Geralmente, você aplicará esse algoritmo a bancos de dados transacionais, ou seja, um banco de dados de transações. Existem muitas aplicações do mundo real deste algoritmo também. Você também deve se familiarizar com a mineração de regras de associação para entender o algoritmo a priori corretamente.
Leia também: Pré-requisito para Ciência de Dados. Como isso muda ao longo do tempo?
Como funciona o algoritmo a priori?
O algoritmo a priori gera regras de associação usando conjuntos de itens frequentes. Seu princípio é simples – o subconjunto de um conjunto de itens frequente também seria um conjunto de itens frequente. Um conjunto de itens que tem um valor de suporte maior que um valor limite é um conjunto de itens frequente. Considere os seguintes dados:
TID | Itens |
T1 | 1 3 4 |
T2 | 2 3 5 |
T3 | 1 2 3 5 |
T4 | 2 5 |
T5 | 1 3 5 |
Na primeira iteração, suponha que o valor de suporte seja dois e faça os conjuntos de itens com tamanho 1. Agora calcule seus valores de suporte de acordo. Descartaríamos o item que tivesse um valor de suporte inferior ao mínimo. Neste exemplo, seria o item número quatro.
C1 (Resultado da primeira iteração)
Conjunto de itens | Apoiar |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{4} | 1 |
{5} | 4 |
F1 (Depois de descartarmos {4})
Conjunto de itens | Apoiar |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{5} | 4 |
Na segunda iteração, manteremos o tamanho dos conjuntos de itens dois e, em seguida, calcularemos os valores de suporte. Usaremos todas as combinações da tabela F1 nesta iteração. Removeremos quaisquer conjuntos de itens que tenham valores de suporte menores que dois.
C2 (Só tem itens presentes em F1)
Conjunto de itens | Apoiar |
{1,2} | 1 |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
F2 (Depois de removermos os itens que possuem valores de suporte inferiores a 2)
Conjunto de itens | Apoiar |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
Agora, vamos realizar a poda. Nesse caso, dividiremos os conjuntos de itens de C3 em subconjuntos e removeremos os que tiverem um valor de suporte menor que dois.
C3 (Depois de realizarmos a poda)

Conjunto de itens | Em F2? |
{1,2,3}, {1,2}, {1,3}, {2,3} | NÃO |
{1,2,5}, {1,2}, {1,5}, {2,5} | NÃO |
{1,3,5}, {1,5}, {1,3}, {3,5} | SIM |
{2,3,5}, {2,3}, {2,5}, {3,5} | SIM |
Na terceira iteração, descartaremos {1,2,5} e {1,2,3}, pois ambos têm {1,2}. Este é o principal impacto do algoritmo a priori.
F3 (Depois de descartarmos {1,2,5} e {1,2,3})
Conjunto de itens | Apoiar |
{1,3,5} | 2 |
{2,3,5} | 2 |
Na quarta iteração, usaremos os conjuntos de F3 para criar C4. no entanto, como o valor de suporte de C4 é inferior a 2, não procederíamos e o conjunto de itens final seria F3.
C3
Conjunto de itens | Apoiar |
{1,2,3,5} | 1 |
Temos os seguintes conjuntos de itens com F3:
Para I = {1,3,5}, os subconjuntos que temos são {5}, {3}, {1}, {3,5}, {1,5}, {1,3}
Para I = {2,3,5}, os subconjuntos que temos são {5}, {3}, {2}, {3,5}, {2,5}, {2,3}
Agora, vamos criar e aplicar regras no conjunto de itens F3. Para isso, vamos supor que o valor mínimo de confiança seja atualmente de 60%. Para subconjuntos S de I, aqui está a regra que produzimos:
- S -> (I,S) (isso significa que S recomenda IS)
- Se suporte(I) / suporte(S) >= valor min_conf
Vamos fazer isso para o primeiro subconjunto que temos, ou seja, {1,3,5}
Regra nº 1: {1,3} -> ({1,3,5} - {1,3}) isso significa 1 & 3-> 5
Valor de confiança = valor de suporte de (1,3,5) / valor de suporte de (1,3) = ⅔ = 66,66%
Como o resultado é superior a 60%, selecionamos a Regra nº 1.
Regra nº 2: {1,5} -> {(1,3,5) – {1,5}) isso significa 1 e 5 -> 3
Valor de confiança = valor de suporte de (1,3,5) / valor de suporte de (1,5) = 2/2 = 100%
Como o resultado é superior a 60%, selecionamos a Regra nº 2.
Regra nº 3: {3} -> ({1,3,5} – {3}) isso significa 3 -> 1 e 5
Valor de confiança = valor de suporte de (1,3,5) / valor de suporte de (3) = 2/4 = 50%
Como o resultado é inferior a 60%, rejeitamos a Regra nº 3.
Ganhe cursos de ciência de dados das melhores universidades do mundo. Junte-se aos nossos Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Com o exemplo acima, você pode ver como o algoritmo Apriori cria e aplica regras. Você pode seguir estas etapas para o segundo conjunto de itens ({2,3,5}) que temos. Testá-lo certamente lhe dará uma ótima experiência para entender quais regras o algoritmo aceita e quais ele rejeita. O algoritmo permanece o mesmo em outros lugares, como o algoritmo Apriori Python.
Conclusão
Depois de ler este artigo, temos certeza de que você estará bastante familiarizado com esse algoritmo e sua aplicação. Devido ao seu uso em sistemas de recomendação, tornou-se bastante popular também.
Existe um algoritmo mais eficiente que o algoritmo Apriori?
O algoritmo ECLAT (Equivalence Class Clustering and bottom-up Lattice Traversal) é bastante útil e popular para mineração de regras de associação. Além disso, também é conhecido por ser um algoritmo mais eficiente e rápido em comparação com o algoritmo Apriori.
O algoritmo Apriori funciona de maneira horizontal, pois imita a busca em largura de um gráfico, enquanto o algoritmo ECLAT funciona de maneira vertical, imitando a busca em profundidade de um gráfico. Esta abordagem vertical é a razão por trás da velocidade mais rápida e melhor eficiência do algoritmo ECLAT em comparação com o algoritmo Apriori.
Algoritmo a priori é útil para que finalidade?
O algoritmo a priori é um algoritmo clássico amplamente utilizado em mineração de dados. É realmente útil para minerar regras de associação relevantes e também conjuntos de itens frequentes do banco de dados disponível. Normalmente, esse algoritmo é utilizado por organizações que precisam lidar com um banco de dados composto por muitas transações. Por exemplo, o algoritmo a priori torna muito fácil determinar os itens que os clientes compram com frequência em sua loja. As vendas no mercado podem ser altamente melhoradas com a ajuda deste algoritmo.
Além disso, esse algoritmo também é utilizado no setor de saúde para detectar reações adversas a medicamentos. O algoritmo produz regras de associação para determinar todas as combinações de características do paciente e medicamentos que podem levar a reações adversas a medicamentos.
Quais são os prós e contras do algoritmo Apriori?
O algoritmo a priori é bastante fácil de implementar, entender e pode ser usado de forma muito eficiente em grandes conjuntos de itens. Às vezes, pode ser necessário encontrar um grande número de regras candidatas, e esse processo pode ser um pouco caro computacionalmente. Como tem que percorrer todo o banco de dados, também é caro calcular o suporte.