Zacznij terazZacznij za darmo

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

Zobacz kurs

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_support na 0.002, a consequent_support na 0.01.
  • Ustaw confidence na wartość wyższą niż 0.60, a lift na 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']])
Edytuj i uruchom kod