CommencerCommencer gratuitement

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

Afficher le cours

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 et consequent_support à 0,01.
  • Imposez une confidence supérieure à 0,60 et un lift supé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']])
Modifier et exécuter le code