Definire la metrica di Zhang
In generale, quando vogliamo eseguire un compito molte volte, è meglio scrivere una funzione invece di codificare ogni singolo caso. In questo esercizio, definiremo una funzione per la metrica di Zhang che prende un antecedente e un conseguente e restituisce il valore della metrica. Quando i problemi che risolveremo diventeranno via via più complessi nel capitolo successivo, avere un modo comodo per calcolare una metrica semplificherà molto le cose.
Nota che numpy è stato importato come np e pandas come pd. Inoltre, ricorda che l’espressione della metrica di Zhang in termini di supporto è la seguente:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
Questo esercizio fa parte del corso
Analisi del carrello in Python
Istruzioni dell'esercizio
- Definisci i valori di supporto dell’antecedente e del conseguente singolarmente.
- Definisci il supporto di {antecedent, consequent}.
- Completa le espressioni per numeratore e denominatore.
- Completa l’espressione per la metrica di Zhang.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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