Определение метрики Чжана
Когда одно и то же действие нужно выполнять многократно, удобнее оформить его в виде функции, а не писать отдельный код для каждого случая. В этом упражнении вы определите функцию для метрики Чжана, которая принимает антецедент и консеквент и возвращает значение метрики. По мере того как задачи в следующей главе будут усложняться, такая функция существенно упростит вычисления.
Обратите внимание: numpy импортирован как np, а pandas — как pd. Напомним, что выражение для метрики Чжана через показатели поддержки выглядит следующим образом:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
Это упражнение является частью курса
Анализ рыночных корзин на Python
Инструкции к упражнению
- Определите значения поддержки антецедента и консеквента по отдельности.
- Определите поддержку пары {антецедент, консеквент}.
- Заполните выражения для числителя и знаменателя.
- Заполните выражение для метрики Чжана.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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