Zaawansowane filtrowanie z użyciem wielu metryk
Wcześniej korzystaliśmy z danych ze sklepu internetowego z gadżetami, aby znaleźć poprzedniki nadające się do promowania określonego następnika. Ponieważ zbiór potencjalnych reguł był duży, musieliśmy polegać na algorytmie Apriori i filtrowaniu wielometrycznym, żeby go zawęzić. W tym ćwiczeniu przyjrzymy się pełnemu zestawowi reguł i znajdziemy przydatną regułę – zamiast szukać konkretnego poprzednika.
Zwróć uwagę, że dane zostały wczytane, wstępnie przetworzone i zakodowane metodą one-hot, a wynik jest dostępny jako onehot. Funkcje apriori() oraz association_rules() zostały już zaimportowane z biblioteki mlxtend. W tym ćwiczeniu zastosujesz algorytm Apriori do wyznaczenia częstych zbiorów elementów. Następnie wyodrębnisz z nich zbiór reguł asocjacyjnych i zastosuj filtrowanie wielometryczne.
To ćwiczenie jest częścią kursu
Analiza koszyka zakupowego w Pythonie
Instrukcje do ćwiczenia
- Zastosuj algorytm Apriori do zakodowanych metodą one-hot zbiorów elementów, używając minimalnego progu wsparcia równego 0.001.
- Wyodrębnij reguły asocjacyjne, stosując minimalny próg wsparcia równy 0.001.
- Ustaw
antecedent_supportna 0.002, aconsequent_supportna 0.01. - Ustaw
confidencena wartość wyższą niż 0.60, aliftna wartość wyższą niż 2.50.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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']])