EmpezarEmpieza gratis

Filtrado avanzado con múltiples métricas

Antes, usamos datos de una tienda online de regalos originales para encontrar antecedentes que pudieran usarse para promocionar un consecuente específico. Como el conjunto de reglas potenciales era grande, tuvimos que apoyarnos en el algoritmo Apriori y en el filtrado con múltiples métricas para acotarlo. En este ejercicio, examinaremos el conjunto completo de reglas y encontraremos una útil, en lugar de centrarnos en un antecedente concreto.

Ten en cuenta que los datos ya se han cargado, preprocesado y convertido a one-hot, y están disponibles como onehot. Además, apriori() y association_rules() se han importado desde mlxtend. En este ejercicio, aplicarás el algoritmo Apriori para identificar conjuntos de artículos frecuentes. Luego recuperarás el conjunto de reglas de asociación a partir de esos conjuntos y aplicarás un filtrado con múltiples métricas.

Este ejercicio forma parte del curso

Análisis de cesta de la compra en Python

Ver curso

Instrucciones del ejercicio

  • Aplica el algoritmo Apriori a los conjuntos de artículos codificados en one-hot con un umbral mínimo de soporte de 0.001.
  • Extrae las reglas de asociación usando un umbral mínimo de soporte de 0.001.
  • Establece antecedent_support en 0.002 y consequent_support en 0.01.
  • Establece confidence por encima de 0.60 y lift por encima de 2.50.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código