Bereken een geaggregeerde target
Stel, je wilt een predictief model bouwen dat voorspelt welke donateurs in een bepaalde maand meer dan 50 euro zullen doneren.
Gegeven is een basetable basetable die al één rij per donateur in de populatie heeft; de kolom donor_id stelt de donateur voor. De tijdlijn geeft aan dat de target 1 moet zijn als de donateur in januari 2017 meer dan 50 euro heeft gedoneerd, en anders 0.
De pandas-dataframe gifts_201701 bevat alle donaties in januari 2017. In deze oefening voeg je de targetkolom toe aan de basetable.
Deze oefening maakt deel uit van de cursus
Gevorderde voorspellende analyse in Python
Oefeninstructies
- Maak
gifts_summed, met voor elke donateur ingifts_201701de som van de donaties. - Leid uit
gifts_summedeen lijsttargetsaf met donateurs die in de targetperiode meer dan 50 euro hebben gedoneerd. - Voeg de target toe aan de basetable.
- Bereken en print de target-incidentie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))