Reglas avanzadas

Análisis de cesta de la compra en Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Resumen de market basket analysis

  • Procedimiento estándar en market basket analysis.
    1. Genera muchas reglas.
    2. Filtra con métricas.
    3. Aplica intuición y sentido común.
Análisis de cesta de la compra en Python

Generación de reglas

  • El número de reglas crece exponencialmente con los ítems.
    • La mayoría no son útiles.
  • Hay que aplicar un primer filtrado.
    • Verás esto en el capítulo 3 con el algoritmo Apriori
Análisis de cesta de la compra en Python

¿Cómo funciona el filtrado?

ID antecedents consequents support Lift
1 Harry Potter The Hunger Games 0.001 1.01
2 Hunger Games Twilight 0.020 1.23
3 Pride and Prejudice The Hobbit 0.030 1.05
4 The Hobbit Twilight 0.015 0.85
5 Harry Potter The Hobbit 0.010 1.07
Análisis de cesta de la compra en Python

Filtrado con varias métricas

ID antecedents consequents support zhang
1 Harry Potter The Hunger Games 0.001 -0.05
2 Hunger Games Twilight 0.020 0.17
3 Pride and Prejudice The Hobbit 0.030 0.06
4 The Hobbit Twilight 0.015 -0.04
5 Harry Potter The Hobbit 0.010 0.34
Análisis de cesta de la compra en Python

Filtrado multi-métrica

print(rules.head())
  antecedents consequents  antecedent support  ... support  confidence  ... conviction  
0 Potter      Hunger       0.48                ...  0.12  ... 0.26      ...  0.92
1 Potter      Hunger       0.32                ...  0.12  ... 0.26      ...  0.92 
2 Twilight    Hunger       0.26                ...  0.09  ... 0.35      ...  1.04
3 Hunger      Twilight     0.32                ...  0.09  ... 0.28      ...  1.03 
4 Mockingbird Hunger       0.48                ...  0.10  ... 0.20      ...  0.85
Análisis de cesta de la compra en Python

Filtrado multi-métrica

# Seleccionar reglas con bajo soporte del consecuente.
rules = rules[rules['consequent support'] < 0.05]
print(len(rules))
12
# Seleccionar reglas con lift > 1.5.
rules = rules[rules['lift'] > 1.5]
print(len(rules))
2
Análisis de cesta de la compra en Python

¡Vamos a practicar!

Análisis de cesta de la compra en Python

Preparing Video For Download...