คำนวณ target แบบรวมยอด
สมมติว่าต้องการสร้างโมเดลเชิงพยากรณ์เพื่อทำนายว่าผู้บริจาครายใดมีแนวโน้มจะบริจาคเงินมากกว่า 50 ยูโรในเดือนที่กำหนด
กำหนดให้มี basetable ชื่อ basetable ที่มีหนึ่งแถวต่อผู้บริจาคหนึ่งรายในกลุ่มประชากร โดยคอลัมน์ donor_id แทนตัวผู้บริจาค ตาม timeline ที่กำหนด target จะมีค่าเป็น 1 หากผู้บริจาคบริจาคเงินมากกว่า 50 ยูโรในเดือนมกราคม 2017 และมีค่าเป็น 0 ในกรณีอื่น
pandas dataframe ชื่อ gifts_201701 บรรจุข้อมูลการบริจาคทั้งหมดในเดือนมกราคม 2017 ในแบบฝึกหัดนี้จะเพิ่มคอลัมน์ target เข้าไปใน basetable
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Predictive Analytics ระดับกลางด้วย Python
คำแนะนำการฝึกหัด
- สร้าง
gifts_summedซึ่งแสดงยอดรวมการบริจาคของผู้บริจาคแต่ละรายในgifts_201701 - ดึงข้อมูลจาก
gifts_summedเพื่อสร้างลิสต์targetsที่ประกอบด้วยผู้บริจาคที่บริจาคเงินมากกว่า 50 ยูโรในช่วง target period - เพิ่มคอลัมน์ target เข้าไปใน basetable
- คำนวณและแสดงผล 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))