Filtrage avancé avec plusieurs mesures
Plus tôt, nous avons utilisé des données d'une boutique en ligne de gadgets pour trouver des antécédents pouvant servir à promouvoir un conséquent ciblé. Comme l'ensemble des règles potentielles était vaste, nous avons dû nous appuyer sur l'algorithme Apriori et un filtrage multi-mesures pour le réduire. Dans cet exercice, nous allons examiner l'ensemble complet des règles et en repérer une utile, plutôt que de cibler un antécédent en 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 repérer 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-mesures.
Cette activité fait partie du cours
Analyse des paniers d'achat en Python
Instructions de l’exercice
- 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.
- Réglez
antecedent_supportà 0,002 etconsequent_supportà 0,01. - Fixez
confidenceà plus de 0,60 etliftà plus de 2,50.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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']])