ผลกระทบของ threshold ต่อประสิทธิภาพโมเดล
การตั้ง threshold ที่ 0.4 ให้ผลที่น่าพึงพอใจสำหรับการประเมินโมเดล ขั้นต่อไปคือการประเมินผลกระทบทางการเงิน โดยใช้ค่า default recall ที่ดึงมาจากรายงาน classification ผ่านฟังก์ชัน precision_recall_fscore_support()
ในแบบฝึกหัดนี้ จะประมาณการความสูญเสียที่ไม่คาดคิด (unexpected loss) โดยใช้ค่า default recall เพื่อหาสัดส่วนของรายการผิดนัดชำระที่โมเดลตรวจจับไม่ได้ด้วย threshold ใหม่ ผลลัพธ์จะอยู่ในรูปของตัวเลขเงินดอลลาร์ ซึ่งบอกว่าจะเกิดความสูญเสียเท่าใดหากรายการผิดนัดชำระที่พลาดไปทั้งหมดเกิดขึ้นพร้อมกัน
ค่าเฉลี่ยของวงเงินสินเชื่อ avg_loan_amnt ได้รับการคำนวณไว้แล้วและพร้อมใช้งานใน workspace พร้อมกับ preds_df และ y_test
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้างโมเดลความเสี่ยงด้านเครดิตด้วย Python
คำแนะนำการฝึกหัด
- กำหนดค่า
loan_statusใหม่โดยใช้ threshold0.4 - เก็บจำนวนรายการผิดนัดชำระใน
preds_dfโดยเลือกค่าที่สองจาก value counts แล้วบันทึกเป็นnum_defaults - ดึงค่า default recall จาก classification matrix แล้วบันทึกเป็น
default_recall - ประมาณการ unexpected loss จากค่า default recall ใหม่ โดยคูณ
1 - default_recallกับค่าเฉลี่ยวงเงินสินเชื่อและจำนวนรายการผิดนัดชำระ
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Reassign the values of loan status based on the new threshold
____[____] = ____[____].____(lambda x: 1 if x > ____ else 0)
# Store the number of loan defaults from the prediction data
____ = preds_df[____].____()[1]
# Store the default recall from the classification report
____ = ____(____,preds_df[____])[1][1]
# Calculate the estimated impact of the new default recall rate
print(____ * ____ * (1 - ____))