Geavanceerd filteren met meerdere metrieken
Eerder gebruikten we data van een online cadeauwinkel met gadgets om antecedenten te vinden die we konden gebruiken om een gerichte consequent te promoten. Omdat de set met potentiële regels groot was, moesten we vertrouwen op het Apriori-algoritme en filteren met meerdere metrieken om die te verkleinen. In deze oefening bekijken we de volledige set regels en zoeken we een bruikbare regel, in plaats van een specifieke antecedent te targeten.
Let op: de data is geladen, voorbewerkt en one-hot gecodeerd, en beschikbaar als onehot. Daarnaast zijn apriori() en association_rules() geïmporteerd uit mlxtend. In deze oefening pas je het Apriori-algoritme toe om frequente itemsets te identificeren. Daarna haal je de set met associatieregels uit de itemsets en pas je filteren met meerdere metrieken toe.
Deze oefening maakt deel uit van de cursus
Market Basket Analysis in Python
Oefeninstructies
- Pas het Apriori-algoritme toe op de one-hot gecodeerde itemsets met een minimale supportdrempel van 0,001.
- Haal associatieregels op met een minimale supportdrempel van 0,001.
- Stel
antecedent_supportin op 0,002 enconsequent_supportop 0,01. - Stel
confidencehoger in dan 0,60 enlifthoger dan 2,50.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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']])