Règles avancées

Analyse des paniers d'achat en Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Aperçu de l'analyse des paniers d'achats

  • Procédure standard d'analyse des paniers d'achats.
    1. Générer un grand ensemble de règles.
    2. Filtrer les règles avec des mesures.
    3. Appliquer intuition et gros bon sens.
Analyse des paniers d'achat en Python

Génération de règles

  • Le nombre de règles croît de façon exponentielle avec le nombre d'articles.
    • La plupart des règles ne sont pas utiles.
  • Il faut d'abord filtrer.
    • Vu au chapitre 3 avec l'algorithme Apriori
Analyse des paniers d'achat en Python

Fonctionnement du filtrage

ID antécédents conséquents 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
Analyse des paniers d'achat en Python

Filtrage multi-mesures

ID antécédents conséquents 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
Analyse des paniers d'achat en Python

Effectuer un filtrage multi-mesures

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
Analyse des paniers d'achat en Python

Effectuer un filtrage multi-mesures

# Select subset of rules with low consequent support.
rules = rules[rules['consequent support'] < 0.05]
print(len(rules))
12
# Select subset of rules with lift > 1.5.
rules = rules[rules['lift'] > 1.5]
print(len(rules))
2
Analyse des paniers d'achat en Python

Passons à la pratique !

Analyse des paniers d'achat en Python

Preparing Video For Download...