การละเมิด timeline
เพื่อแสดงให้เห็นถึงความสำคัญของ timeline ลองพิจารณาตัวอย่างที่ละเมิด timeline โดยนำข้อมูลจากช่วงเป้าหมายมาใช้สร้างตัวแปรพยากรณ์
ใน pandas dataframe basetable มีสองคอลัมน์ ได้แก่ "amount_2017" ซึ่งเป็นยอดรวมของการบริจาคในปี 2017 และ "target" ซึ่งมีค่าเป็น 1 หากยอดดังกล่าวมากกว่า 30 และเป็น 0 ในกรณีอื่น
สร้างโมเดล logistic regression ที่ใช้ "amount_2017" เป็นตัวแปรพยากรณ์เพียงตัวเดียวเพื่อพยากรณ์ค่าเป้าหมาย แล้วคำนวณค่า AUC
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Predictive Analytics ระดับกลางด้วย Python
คำแนะนำการฝึกหัด
- สร้าง dataframe
Xที่มีตัวแปรพยากรณ์ และ dataframeyที่มีค่าเป้าหมาย - ฟิตโมเดล logistic regression โดยให้
yถูกพยากรณ์จากXสร้างโมเดล logistic regression ที่ใช้amount_2017เป็นตัวแปรพยากรณ์เพียงตัวเดียวและพยากรณ์target - สร้างการพยากรณ์สำหรับข้อมูลใน
X - คำนวณและแสดงค่า AUC ของโมเดลนี้โดยใช้ฟังก์ชัน
roc_auc_score
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Select the relevant predictors and the target
X = basetable[["____"]]
y = basetable[["____"]]
# Build the logistic regression model
logreg = linear_model.LogisticRegression()
logreg.____(____, ____)
# Make predictions for X
predictions = logreg.____(____)[:,1]
# Calculate and print the AUC value
auc = ____(____, ____)
print(round(auc, 2))