การกำหนด threshold แบบค่าเริ่มต้น
ลองตรวจสอบว่า DecisionTreeClassifier() ใช้ classification threshold ค่าเริ่มต้นที่ 0.5 ตามที่กล่าวถึงในบทเรียนที่ผ่านมาจริงหรือไม่ อาจดูแปลกที่ classifier ทุกตัวจะใช้ threshold เดียวกัน — มาพิสูจน์กันดู! decision tree classifier ที่ฝึกแล้วชื่อ clf ถูกโหลดไว้ให้แล้ว พร้อมกับข้อมูล training และ test ที่มีชื่อตามปกติ ได้แก่ X_train, X_test, y_train และ y_test โดยต้องดึงค่าคะแนนความน่าจะเป็นจาก classifier โดยใช้เมธอด .predict_proba()
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การออกแบบ Machine Learning Workflows ด้วย Python
คำแนะนำการฝึกหัด
- สร้างคะแนนสำหรับตัวอย่างข้อมูลชุด test โดยใช้ classifier
clfที่โหลดไว้ - จากนั้นดึง label จากคะแนนที่ได้ โปรดจำไว้ว่าแต่ละตัวอย่างจะมีคะแนนเป็นคู่ ไม่ใช่ค่าเดียว โดยองค์ประกอบที่สองคือความน่าจะเป็นของ positive class
- จากนั้นระบุ label ให้กับข้อมูลชุด test โดยใช้เมธอด
.predict()แบบปกติ - สุดท้าย เปรียบเทียบกับผลการทำนายที่ได้จากขั้นตอนก่อนหน้า — ผลลัพธ์เหมือนกันหรือไม่?
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Score the test data using the given classifier
scores = clf.____(____)
# Get labels from the scores using the default threshold
preds = [s[____] > ____ for s in scores]
# Use the predict method to label the test data again
preds_default = clf.____(____)
# Compare the two sets of predictions
____(preds == preds_default)