Calcola un target aggregato
Supponi di voler costruire un modello predittivo che indichi quali donatori hanno più probabilità di donare più di 50 euro in un certo mese.
Ti viene fornita una basetable basetable che ha già una riga per ogni donatore nella popolazione; la colonna donor_id rappresenta il donatore. La timeline indica che il target deve valere 1 se il donatore ha donato più di 50 euro a gennaio 2017, altrimenti 0.
Il dataframe pandas gifts_201701 contiene tutte le donazioni di gennaio 2017. In questo esercizio aggiungerai la colonna target alla basetable.
Questo esercizio fa parte del corso
Analisi predittiva intermedia in Python
Istruzioni dell'esercizio
- Costruisci
gifts_summed, che per ogni donatore ingifts_201701contenga la somma delle donazioni. - Ricava da
gifts_summeduna listatargetscon i donatori che hanno donato più di 50 euro nel periodo di riferimento del target. - Aggiungi il target alla basetable.
- Calcola e stampa l'incidenza del target.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Sum of donations for each donor in gifts_201701
gifts_summed = ____.groupby("____")["____"].____().reset_index()
# List with targets
targets = list(gifts_summed["id"][____["____"] > ____])
# Add targets to the basetable
basetable["target"] = pd.Series([____ if donor_id in targets else ____ for donor_id in basetable["donor_id"]])
# Calculate and print the target incidence
print(round(____["____"].____() / ____(____), 2))