Calculer une cible agrégée
Supposez que vous souhaitez construire un modèle prédictif qui anticipe quels donateurs ont le plus de chances de donner plus de 50 euros dans un certain mois.
On vous fournit une base de données basetable qui contient déjà une ligne par donateur de la population ; la colonne donor_id identifie le donateur. La frise chronologique indique que la cible doit valoir 1 si le donateur a donné plus de 50 euros en janvier 2017, et 0 sinon.
Le dataframe pandas gifts_201701 contient tous les dons de janvier 2017. Dans cet exercice, vous allez ajouter la colonne cible à la base.
Cet exercice fait partie du cours
Analytique prédictive intermédiaire en Python
Instructions
- Construisez
gifts_summed, qui contient pour chaque donateur degifts_201701la somme de ses dons. - Dérivez de
gifts_summedune listetargetsavec les donateurs ayant donné plus de 50 euros pendant la période cible. - Ajoutez la cible à la base.
- Calculez et affichez l’incidence de la cible.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))