Obliczanie asocjacji i dysocjacji
Biblioteka ponownie zwróciła się do ciebie w sprawie rekomendacji promowania Harry'ego Pottera za pomocą Zmierzchu. Bibliotekarze obawiają się, że obie pozycje mogą być zdysocjowane, co mogłoby negatywnie wpłynąć na ich akcję promocyjną. Proszą cię o weryfikację, że tak nie jest.
Od razu przychodzi ci na myśl metryka Zhanga, która w sposób ciągły mierzy asocjację i dysocjację. Asocjacja przyjmuje wartości dodatnie, a dysocjacja – ujemne. Podobnie jak w poprzednich ćwiczeniach, ramka danych books została już zaimportowana, podobnie jak numpy pod aliasem np. Metryka Zhanga jest obliczana następująco:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
To ćwiczenie jest częścią kursu
Analiza koszyka zakupowego w Pythonie
Instrukcje do ćwiczenia
- Oblicz wsparcie {Zmierzchu} oraz wsparcie {Pottera}.
- Oblicz wsparcie {Zmierzchu, Pottera}.
- Uzupełnij wyrażenie dla mianownika.
- Oblicz metrykę Zhanga dla {Zmierzchu} \(\rightarrow\) {Pottera}.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Compute the support of Twilight and Harry Potter
supportT = books['Twilight'].____
supportP = books['Potter'].____
# Compute the support of both books
supportTP = ____.mean()
# Complete the expressions for the numerator and denominator
numerator = supportTP - supportT*supportP
denominator = ___(supportTP*(1-supportT), supportT*(supportP-supportTP))
# Compute and print Zhang's metric
zhang = ____ / ____
print(zhang)