Neste artigo vamos nos aprofundar no tema Regras de associação, que tem gerado grande interesse na sociedade atual. Ao longo da história, Regras de associação desempenhou um papel crucial em diversas áreas, tanto pessoal como profissionalmente. Desde as suas origens até à atualidade, Regras de associação tem sido objeto de estudo, debate e polémica, dando origem a opiniões conflitantes e perspetivas diversas. Neste artigo exploraremos as diferentes facetas de Regras de associação, analisando o seu impacto em diferentes contextos e oferecendo insights que nos permitem compreender melhor a sua relevância no mundo contemporâneo.
Em mineração de dados e aprendizado de máquina, regras de associação são usadas para descobrir elementos que ocorrem em comum dentro de um determinado conjunto de dados.[1]
Existem diversos algoritmos que realizam buscas de regras de associação em bases de dados. Abaixo seguem alguns exemplos:
transação | leite | pão | manteiga | cerveja |
---|---|---|---|---|
1 | 1 | 1 | 0 | 0 |
2 | 0 | 1 | 1 | 0 |
3 | 0 | 0 | 0 | 1 |
4 | 1 | 1 | 1 | 0 |
5 | 0 | 1 | 0 | 0 |
As regras de Associação têm como premissa básica encontrar elementos que implicam na presença de outros elementos em uma mesma transação, ou seja, encontrar relacionamentos ou padrões frequentes entre conjuntos de dados. O termo transação indica quais itens foram consultados em uma determinada operação de consulta.
Várias métricas podem ser utilizadas para avaliar as regras e identificar quais são interessantes. As restrições mais utilizadas são limiares mínimos de suporte e confiança.
import pandas as pd
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
columns =
dataset = ,
,
,
,
]
df = pd.DataFrame(data = dataset, columns = columns)
del df # Remover a coluna "Transação"
frequent_itemsets = apriori(df, min_support=0.01, use_colnames=True)
print(frequent_itemsets)
frequent_itemsets = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.0, support_only=False)
print(frequent_itemsets)