Fortgeschrittenes Filtern mit mehreren Metriken
Zuvor haben wir Daten eines Online-Shops für Geschenkartikel verwendet, um Antezedenzien zu finden, mit denen wir eine gezielt gewählte Konsequenz bewerben können. Da die Menge potenzieller Regeln groß war, mussten wir uns auf den Apriori-Algorithmus und das Filtern mit mehreren Metriken verlassen, um sie einzugrenzen. In dieser Übung betrachten wir den gesamten Regelsatz und suchen eine sinnvolle Regel, statt ein bestimmtes Antezedens zu targeten.
Beachte: Die Daten wurden geladen, vorverarbeitet und one-hot encodiert und stehen als onehot zur Verfügung. Außerdem wurden apriori() und association_rules() aus mlxtend importiert. In dieser Übung wendest du den Apriori-Algorithmus an, um häufige Itemsets zu identifizieren. Anschließend leitest du aus den Itemsets die Assoziationsregeln ab und wendest ein Multi-Metrik-Filtering an.
Diese Übung ist Teil des Kurses
Market Basket Analysis in Python
Anleitung zur Übung
- Wende den Apriori-Algorithmus auf die one-hot encodierten Itemsets mit einer minimalen Support-Schwelle von 0,001 an.
- Extrahiere Assoziationsregeln mit einer minimalen Support-Schwelle von 0,001.
- Setze
antecedent_supportauf 0,002 undconsequent_supportauf 0,01. - Setze
confidenceauf größer als 0,60 undliftauf größer als 2,50.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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']])