Розрахуйте агреговану ціль
Припустімо, ви хочете побудувати модель, яка передбачає, які донори з найбільшою ймовірністю пожертвують понад 50 євро в певному місяці.
Надано базову таблицю basetable, у якій уже є по одному рядку на кожного донора з генеральної сукупності; стовпець donor_id ідентифікує донора. На часовій шкалі вказано, що ціль має дорівнювати 1, якщо донор пожертвував понад 50 євро у січні 2017 року, і 0 — інакше.
Датафрейм pandas gifts_201701 містить усі пожертви за січень 2017 року. У цій вправі ви додасте цільовий стовпець до базової таблиці.
Ця вправа є частиною курсу
Середній рівень Predictive Analytics у Python
Інструкції до вправи
- Побудуйте
gifts_summed, у якому для кожного донора вgifts_201701обчислено суму пожертв. - На основі
gifts_summedотримайте списокtargetsз донорами, які пожертвували понад 50 євро в цільовий період. - Додайте ціль до базової таблиці.
- Обчисліть і виведіть частоту цілі (target incidence).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))