เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เมตริกประสิทธิภาพสำหรับโมเดล RF

ในแบบฝึกหัดก่อนหน้า คุณได้คะแนนความแม่นยำของโมเดล random forest ไปแล้ว แต่คราวนี้เราทราบดีว่า ความแม่นยำอาจทำให้เข้าใจผิดได้ ในกรณีของการตรวจจับการฉ้อโกง เมื่อข้อมูลมีความไม่สมดุลสูง AUROC curve จะเป็นเมตริกประสิทธิภาพที่เชื่อถือได้มากกว่า และใช้เปรียบเทียบตัวแยกประเภทต่าง ๆ ได้ นอกจากนี้ classification report ยังบอกค่า precision และ recall ของโมเดล ส่วน confusion matrix จะแสดงให้เห็นว่าโมเดลทำนายกรณีการฉ้อโกงได้ถูกต้องกี่กรณี มาดึงเมตริกประสิทธิภาพเหล่านี้กัน

จะทำงานต่อจากโมเดล random forest เดิมในแบบฝึกหัดก่อนหน้า โดยโมเดลที่กำหนดเป็น model = RandomForestClassifier(random_state=5) ถูก fit กับข้อมูลชุด training ไว้แล้ว และ X_train, y_train, X_test, y_test พร้อมใช้งาน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การตรวจจับการฉ้อโกงด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้า classification report, confusion matrix และ ROC score จาก sklearn.metrics
  • รับค่าการพยากรณ์แบบ binary จากโมเดล random forest model ที่เทรนแล้ว
  • รับค่าความน่าจะเป็นของการพยากรณ์โดยรันฟังก์ชัน predict_proba()
  • สร้าง classification report และ confusion matrix โดยเปรียบเทียบ y_test กับ predicted

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import the packages to get the different performance metrics
from sklearn.metrics import ____, ____, ____

# Obtain the predictions from our random forest model 
predicted = model.____(X_test)

# Predict probabilities
probs = ____.____(X_test)

# Print the ROC curve, classification report and confusion matrix
print(____(y_test, probs[:,1]))
print(____(____, predicted))
print(____(____, ____))
แก้ไขและรันโค้ด