Definir la métrica de Zhang
En general, cuando queremos realizar una tarea muchas veces, escribimos una función en lugar de programar cada caso por separado. En este ejercicio, definiremos una función para la métrica de Zhang que recibe un antecedente y un consecuente y devuelve la propia métrica. A medida que los problemas se vuelvan más complejos en el siguiente capítulo, disponer de una forma cómoda de calcular una métrica simplificará mucho las cosas.
Ten en cuenta que numpy se ha importado como np y pandas como pd. Además, recuerda que la expresión de la métrica de Zhang en términos de cálculos de soporte es la siguiente:
$$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 ejercicio forma parte del curso
Análisis de cesta de la compra en Python
Instrucciones del ejercicio
- Define los valores de soporte del antecedente y del consecuente por separado.
- Define el soporte de {antecedent, consequent}.
- Completa las expresiones del numerador y del denominador.
- Completa la expresión de la métrica de Zhang.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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