Calcolare la conviction con una funzione
Dopo il successo del progetto pilota, la fondatrice della start-up di ebook decide di assumerti per un progetto molto più grande. Ti chiede se sei in grado di calcolare la conviction per ogni coppia di libri nel dataset goodreads-10k, così da usare queste informazioni per decidere quali libri posizionare più vicini tra loro sul sito.
Accetti l’incarico, ma ti rendi conto che ti serve un modo più efficiente per calcolare la conviction, dato che dovrai farlo molte volte. Decidi quindi di scrivere una funzione che la calcoli. Prenderà in input due colonne di un DataFrame pandas, un antecedente e un conseguente, e restituirà la metrica di conviction. Nota che pandas è disponibile come pd e numpy è disponibile come np.
Questo esercizio fa parte del corso
Analisi del carrello in Python
Istruzioni dell'esercizio
- Calcola il supporto per l’antecedente e assegnalo a
supportA. - Calcola il supporto per NOT conseguente.
- Calcola il supporto per antecedente e NOT conseguente.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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