Filtrage avancé avec plusieurs métriques
Plus tôt, nous avons utilisé les données d’une boutique en ligne d’objets cadeaux pour trouver des antécédents permettant de promouvoir un conséquent ciblé. Comme l’ensemble de règles potentielles était vaste, nous avons dû nous appuyer sur l’algorithme Apriori et un filtrage multi‑métriques pour le réduire. Dans cet exercice, nous allons examiner l’ensemble complet des règles et en trouver une utile, plutôt que de cibler un antécédent particulier.
Notez que les données ont été chargées, prétraitées et encodées en one‑hot, et sont disponibles sous onehot. De plus, apriori() et association_rules() ont été importées depuis mlxtend. Dans cet exercice, vous appliquerez l’algorithme Apriori pour identifier des itemsets fréquents. Vous récupérerez ensuite l’ensemble des règles d’association à partir de ces itemsets et appliquerez un filtrage multi‑métriques.
Cet exercice fait partie du cours
Analyse des paniers d’achat en Python
Instructions
- Appliquez l’algorithme Apriori aux itemsets encodés en one‑hot avec un seuil de support minimal de 0,001.
- Extrayez les règles d’association en utilisant un seuil de support minimal de 0,001.
- Fixez
antecedent_supportà 0,002 etconsequent_supportà 0,01. - Imposez une
confidencesupérieure à 0,60 et unliftsupérieur à 2,50.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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']])