Conviction mit einer Funktion berechnen
Nach dem erfolgreichen Abschluss ihres Pilotprojekts beschließt die Gründerin des E‑Book‑Start-ups, dich für ein deutlich größeres Projekt zu engagieren. Sie fragt dich, ob du die Conviction für jedes Buchpaar im goodreads-10k‑Datensatz berechnen kannst, damit sie entscheiden kann, welche Bücher auf der Website näher beieinander platziert werden sollen.
Du nimmst den Auftrag an, merkst aber, dass du eine effizientere Methode brauchst, um die Conviction zu berechnen, da du sie sehr oft berechnen musst. Du entscheidest dich, eine Funktion zu schreiben, die sie berechnet. Sie nimmt zwei Spalten eines pandas DataFrames als Eingabe – ein Antezedens und ein Konsequens – und gibt die Conviction‑Metrik aus. Beachte, dass pandas als pd und numpy als np verfügbar ist.
Diese Übung ist Teil des Kurses
Market Basket Analysis in Python
Anleitung zur Übung
- Berechne den Support für das Antezedens und weise ihn
supportAzu. - Berechne den Support für NICHT Konsequens.
- Berechne den Support für Antezedens und NICHT Konsequens.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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