Przycinanie za pomocą wykresów rozrzutu
Po obejrzeniu propozycji serwisu streamingowego opartego na filmach o Batmanie z poprzedniego ćwiczenia, założycielka serwisu dochodzi do wniosku, że jej pierwotny plan był zbyt wąski. Zamiast koncentrować się na konkretnych tytułach, prosi cię o przeanalizowanie ogólnych wzorców w regułach asocjacyjnych, a następnie przeprowadzenie przycinania na ich podstawie. Twoim celem jest zidentyfikowanie dużego zbioru silnych asocjacji.
Na szczęście właśnie nauczyłeś się generować wykresy rozrzutu. Postanawiasz zacząć od wykreślenia wsparcia i ufności – wiele popularnych metryk wskazuje bowiem, że optymalne reguły grupują się wzdłuż granicy ufność–wsparcie. Dane zakodowane metodą one-hot zostały już zaimportowane i są dostępne jako onehot. Zaimportowane są też funkcje apriori() i association_rules(), a biblioteka pandas jest dostępna jako pd.
To ćwiczenie jest częścią kursu
Analiza koszyka zakupowego w Pythonie
Instrukcje do ćwiczenia
- Wygeneruj dużą liczbę zbiorów elementów składających się z 2 elementów, ustawiając minimalne wsparcie na 0.0075 i maksymalną długość na 2.
- Uzupełnij wywołanie
association_rules()w sposób, który pomija dodatkowe filtrowanie. - Uzupełnij wywołanie generujące wykres rozrzutu, ustawiając zmienną
ynaconfidence.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Import seaborn under its standard alias
import seaborn as sns
# Apply the Apriori algorithm with a support value of 0.0075
frequent_itemsets = apriori(onehot, min_support = ___,
use_colnames = True, max_len = ____)
# Generate association rules without performing additional pruning
rules = association_rules(____, metric = 'support',
min_threshold = ____)
# Generate scatterplot using support and confidence
sns.scatterplot(x = "support", y = "____", data = ____)
plt.show()