Definiowanie metryki Zhanga
Gdy jakieś zadanie trzeba wykonywać wielokrotnie, warto napisać funkcję – zamiast za każdym razem kodować poszczególne przypadki od nowa. W tym ćwiczeniu zdefiniujesz funkcję obliczającą metrykę Zhanga, która przyjmuje poprzednik i następnik, a zwraca wartość tej metryki. W kolejnym rozdziale zadania staną się bardziej złożone, a wygodny sposób obliczania metryki znacznie je uprości.
Zwróć uwagę, że numpy zostało zaimportowane jako np, a pandas jako pd. Przypomnij sobie też, że wyrażenie na metrykę Zhanga w kategoriach obliczeń wsparcia wygląda 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
- Zdefiniuj wartości wsparcia dla poprzednika i następnika osobno.
- Zdefiniuj wsparcie dla {antecedent, consequent}.
- Uzupełnij wyrażenia na licznik i mianownik.
- Uzupełnij wyrażenie na metrykę Zhanga.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define a function to compute Zhang's metric
def zhang(antecedent, consequent):
# Compute the support of each book
supportA = antecedent.____
supportC = consequent.____
# Compute the support of both books
supportAC = np.____(antecedent, consequent).____
# Complete the expressions for the numerator and denominator
numerator = supportAC - supportA*supportC
denominator = ___(supportAC*(1-supportA), supportA*(supportC-supportAC))
# Return Zhang's metric
return numerator / denominator