การวิเคราะห์ต้นทุนในสถานการณ์จริง
แบบฝึกหัดนี้ยังคงใช้ชุดข้อมูลสินเชื่อเดิม โดย "positive" หมายถึงลูกค้าที่มีประวัติสินเชื่อ "ไม่ดี" (ผิดนัดชำระหนี้) และ "negative" หมายถึงลูกค้าที่ชำระหนี้ได้ตามปกติ ผู้จัดการธนาคารแจ้งว่าธนาคารได้รับกำไรเฉลี่ย 10,000 ดอลลาร์จากลูกค้า "ความเสี่ยงต่ำ" แต่ขาดทุน 150,000 ดอลลาร์จากลูกค้า "ความเสี่ยงสูง" อัลกอริทึมนี้จะถูกใช้คัดกรองผู้สมัคร โดยผู้ที่ถูกจำแนกเป็น "negative" จะได้รับอนุมัติสินเชื่อ ส่วนผู้ที่ถูกจำแนกเป็น "positive" จะถูกปฏิเสธ ต้นทุนรวมของตัวแบบจำแนกนี้คือเท่าไร? ข้อมูลที่มีให้ ได้แก่ X_train, X_test, y_train และ y_test รวมถึงฟังก์ชัน confusion_matrix(), f1_score(), precision_score() และ RandomForestClassifier()
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบ Machine Learning Workflows ด้วย Python
คำแนะนำการฝึกหัด
- Fit โมเดล random forest classifier กับข้อมูลชุด training
- ใช้โมเดลเพื่อจำแนกป้ายกำกับข้อมูลชุด test
- ดึงค่า false negative และ false positive จาก
confusion_matrix()โดยต้องทำให้เมทริกซ์แบนราบก่อน - การจำแนกลูกค้า "good" ว่าเป็น "bad" หมายความว่าธนาคารสูญเสียโอกาสทำกำไร 10,000 ดอลลาร์ ส่วนการจำแนกลูกค้า "bad" ว่าเป็น "good" หมายความว่าธนาคารจะขาดทุน 150,000 ดอลลาร์จากการที่ลูกค้าผิดนัดชำระหนี้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Fit a random forest classifier to the training data
clf = ____(random_state=2).fit(____, ____)
# Label the test data
preds = clf.____(____)
# Get false positives/negatives from the confusion matrix
tn, ____, ____, tp = confusion_matrix(y_test, preds).____()
# Now compute the cost using the manager's advice
cost = fp*____ + fn*____