Définir la métrique de Zhang
De manière générale, lorsqu’une tâche doit être répétée, il est préférable d’écrire une fonction plutôt que de coder chaque cas à la main. Dans cet exercice, vous allez définir une fonction pour la métrique de Zhang qui prend un antécédent et un conséquent et renvoie la valeur de la métrique. Dans le prochain chapitre, lorsque les problèmes deviendront plus complexes, disposer d’un moyen simple de calculer une métrique vous facilitera grandement la vie.
Notez que numpy a été importé sous le nom np et pandas sous le nom pd. Par ailleurs, souvenez-vous que l’expression de la métrique de Zhang en termes de supports est la suivante :
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
Cet exercice fait partie du cours
Analyse des paniers d’achat en Python
Instructions
- Définissez séparément les valeurs de support de l’antécédent et du conséquent.
- Définissez le support de {antécédent, conséquent}.
- Complétez les expressions du numérateur et du dénominateur.
- Complétez l’expression de la métrique de Zhang.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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