F1 Score
อย่างที่ได้เห็นกันไปแล้ว การเลือกระหว่าง precision และ recall มักต้องมีการแลกเปลี่ยนกัน ทั้งสองค่าล้วนมีความสำคัญ และขึ้นอยู่กับเป้าหมายทางธุรกิจ อาจต้องเน้นปรับให้ค่าใดค่าหนึ่งดีที่สุด อย่างไรก็ตาม ผู้มีส่วนได้ส่วนเสียมักต้องการตัวชี้วัดเดียวที่สรุปประสิทธิภาพของโมเดลได้ AUC เป็นหนึ่งในตัวเลือก และอีกตัวเลือกคือ F1 score ซึ่งคำนวณได้จาก:
2 * (precision * recall) / (precision + recall)
ข้อดีของ F1 score คือรวมทั้ง precision และ recall ไว้ในตัวเลขเดียว ค่า F1 score ที่สูงบ่งบอกถึงโมเดลที่มีประสิทธิภาพดี แม้ในกรณีที่ข้อมูลแต่ละคลาสมีจำนวนไม่สมดุลกัน ใน scikit-learn สามารถคำนวณ F1 score ได้โดยใช้ฟังก์ชัน f1_score
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Marketing Analytics: การพยากรณ์การเลิกใช้บริการของลูกค้าด้วย Python
คำแนะนำการฝึกหัด
- Import
f1_scoreจากsklearn.metrics - แสดงค่า F1 score ของ random forest ที่ฝึกไว้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Instantiate the classifier
clf = RandomForestClassifier()
# Fit to the training data
clf.fit(X_train, y_train)
# Predict the labels of the test set
y_pred = clf.predict(X_test)
# Import f1_score
# Print the F1 score
print(____)