Conviction berekenen met een functie
Na het succesvolle proefproject besluit de oprichter van de ebook-start-up je in te huren voor een veel groter project. Ze vraagt of je voor elk boekpaar in de goodreads-10k-gegevensset de conviction kunt berekenen, zodat ze kan bepalen welke boeken dichter bij elkaar moeten staan op de website.
Je neemt de opdracht aan, maar beseft dat je een efficiëntere manier nodig hebt om conviction te berekenen, omdat je dit vaak moet doen. Je besluit een functie te schrijven die dit berekent. Die neemt twee kolommen van een pandas DataFrame als invoer, één antecedent en één consequent, en geeft de conviction-metriek terug. Let op: pandas is beschikbaar als pd en numpy als np.
Deze oefening maakt deel uit van de cursus
Market Basket Analysis in Python
Oefeninstructies
- Bereken de support voor het antecedent en wijs die toe aan
supportA. - Bereken de support voor NIET consequent.
- Bereken de support voor antecedent en NIET consequent.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
def conviction(antecedent, consequent):
# Compute support for antecedent AND consequent
supportAC = np.logical_and(antecedent, consequent).mean()
# Compute support for antecedent
supportA = ____.____()
# Compute support for NOT consequent
supportnC = 1.0 - ____.____()
# Compute support for antecedent and NOT consequent
supportAnC = ____ - supportAC
# Return conviction
return supportA * supportnC / supportAnC