Definindo a métrica de Zhang
Em geral, quando queremos realizar uma tarefa muitas vezes, escrevemos uma função, em vez de codificar cada instância individualmente. Neste exercício, vamos definir uma função para a métrica de Zhang que recebe um antecedente e um consequente e retorna a própria métrica. Quando os problemas que vamos resolver ficarem mais complexos no próximo capítulo, ter uma forma conveniente de calcular uma métrica vai simplificar bastante as coisas.
Observe que numpy foi importado como np e pandas foi importado como pd. Além disso, lembre-se de que a expressão da métrica de Zhang em termos de cálculos de suporte é a seguinte:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
Este exercício faz parte do curso
Análise de Cesta de Compras em Python
Instruções do exercício
- Defina os valores de suporte do antecedente e do consequente individualmente.
- Defina o suporte de {antecedent, consequent}.
- Complete as expressões do numerador e do denominador.
- Complete a expressão da métrica de Zhang.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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