CommencezCommencez gratuitement

Calculer une cible agrégée

Supposons que vous vouliez construire un modèle prédictif qui détermine quels donateurs sont les plus susceptibles de donner plus de 50 euros dans un certain mois.

On vous fournit une table de base basetable qui contient déjà une ligne par donateur de la population; la colonne donor_id représente 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 ajouterez la colonne cible à la table de base.

Cette activité fait partie du cours

Analytique prédictive intermédiaire en Python

Voir le cours

Instructions de l’exercice

  • Construire gifts_summed, qui contient pour chaque donateur de gifts_201701 la somme des dons.
  • À partir de gifts_summed, obtenir une liste targets des donateurs ayant donné plus de 50 euros durant la période cible.
  • Ajouter la cible à la table de base.
  • Calculer et afficher l'incidence de la cible.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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))
Modifier et exécuter le code