Aan de slagGa gratis aan de slag

Zhang's metriek definiëren

In het algemeen schrijven we een functie als we een taak vaak willen uitvoeren, in plaats van elke afzonderlijke keer te coderen. In deze oefening definiëren we een functie voor Zhang's metriek die een antecedent en consequent aanneemt en de metriek zelf teruggeeft. Wanneer de problemen in het volgende hoofdstuk steeds complexer worden, maakt een handige manier om een metriek te berekenen alles een stuk eenvoudiger.

Merk op dat numpy is geïmporteerd als np en pandas als pd. Denk ook terug aan de formule voor Zhang's metriek in termen van support-berekeningen:

$$Zhang(A \rightarrow B) = $$ $$\frac{Support(A \& B) - Support(A) Support(B)}{ max[Support(AB) (1-Support(A)), Support(A)(Support(B)-Support(AB))]}$$

Deze oefening maakt deel uit van de cursus

Market Basket Analysis in Python

Cursus bekijken

Oefeninstructies

  • Definieer de supportwaarden van het antecedent en het consequent afzonderlijk.
  • Definieer de support van {antecedent, consequent}.
  • Vul de expressies voor de teller en de noemer aan.
  • Maak de expressie voor Zhang's metriek af.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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
Code bewerken en uitvoeren