Definice Zhangovy metriky
Kdykoli potřebujeme provést stejný výpočet opakovaně, je lepší napsat funkci, než pokaždé kódovat každý případ zvlášť. V tomto cvičení definujeme funkci pro Zhangovu metriku, která přijme antecedenci a konsekvenci a vrátí hodnotu metriky. Jak budou problémy v následující kapitole složitější, taková funkce nám výpočty výrazně usnadní.
Poznámka: numpy je importován jako np a pandas jako pd. Vzorec pro Zhangovu metriku vyjádřený pomocí výpočtů podpory je následující:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
Toto cvičení je součástí kurzu
Market Basket Analysis v Pythonu
Pokyny k cvičení
- Definuj hodnoty podpory antecedence a konsekvence zvlášť.
- Definuj podporu pro {antecedent, consequent}.
- Dokonči výrazy pro čitatel a jmenovatel.
- Dokonči výraz pro Zhangovu metriku.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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