Definiera Zhangs mått
När vi vill utföra en uppgift många gånger är det bra att skriva en funktion i stället för att koda varje enskilt fall separat. I den här övningen definierar vi en funktion för Zhangs mått som tar en antecedent och en konsevent som indata och returnerar själva måttet. I nästa kapitel blir problemen alltmer komplexa, och då är det en stor fördel att ha ett smidigt sätt att beräkna ett mått.
Observera att numpy har importerats som np och pandas som pd. Kom även ihåg att uttrycket för Zhangs mått i termer av supportberäkningar är följande:
$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$
Den här övningen är en del av kursen
Marknadskorgsanalys i Python
Övningsinstruktioner
- Definiera supportvärdena för antecedenten och konsekventen var för sig.
- Definiera supporten för {antecedent, konsevent}.
- Fyll i uttrycken för täljaren och nämnaren.
- Fyll i uttrycket för Zhangs mått.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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