ComeçarComece de graça

Filtragem avançada com múltiplas métricas

Anteriormente, usamos dados de uma loja online de presentes criativos para encontrar antecedentes que pudessem ser usados para promover um consequente específico. Como o conjunto de regras potenciais era grande, tivemos que recorrer ao algoritmo Apriori e à filtragem por múltiplas métricas para reduzi-lo. Neste exercício, vamos analisar o conjunto completo de regras e encontrar uma regra útil, em vez de mirar um antecedente específico.

Observe que os dados foram carregados, pré-processados e codificados em one-hot, e estão disponíveis como onehot. Além disso, apriori() e association_rules() foram importadas de mlxtend. Neste exercício, você aplicará o algoritmo Apriori para identificar conjuntos frequentes de itens. Em seguida, você recuperará o conjunto de regras de associação a partir desses conjuntos e aplicará filtragem por múltiplas métricas.

Este exercício faz parte do curso

Análise de Cesta de Compras em Python

Ver curso

Instruções do exercício

  • Aplique o algoritmo Apriori aos itemsets codificados em one-hot com um limite mínimo de suporte de 0,001.
  • Extraia as regras de associação usando um limite mínimo de suporte de 0,001.
  • Defina antecedent_support em 0,002 e consequent_support em 0,01.
  • Defina confidence como maior que 0,60 e lift como maior que 2,50.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Apply the Apriori algorithm with a minimum support threshold of 0.001
frequent_itemsets = ____(onehot, min_support = ____, use_colnames = True)

# Recover association rules using a minium support threshold of 0.001
rules = ____(frequent_itemsets, metric = '____', min_threshold = 0.001)

# Apply a 0.002 antecedent support threshold, 0.60 confidence threshold, and 2.50 lift threshold
filtered_rules = rules[(rules['antecedent support'] > ____) &
						(____['consequent support'] > 0.01) &
						(rules['____'] > ____) &
						(____ > 2.50)]

# Print remaining rule
print(filtered_rules[['antecedents','consequents']])
Editar e executar o código