การประเมินลูกค้านอกกระเป๋า

ฟอเรสต์แบบสุ่มไม่จำเป็นต้องใช้ชุดข้อมูลการตรวจสอบ ฟอเรสต์แบบสุ่มส่วนใหญ่ใช้เทคนิคที่เรียกว่า out-of-bag-evaluation (การประเมิน OOB) เพื่อประเมินคุณภาพของโมเดล การประเมิน OOB จะถือว่าชุดการฝึกเหมือนกับว่าอยู่ในชุดการทดสอบของการตรวจสอบแบบข้าม

ตามที่อธิบายไว้ก่อนหน้านี้ แผนผังการตัดสินใจแต่ละรายการในฟอเรสต์แบบสุ่มจะได้รับการฝึกจากตัวอย่างการฝึกประมาณ 67% ดังนั้นแผนผังการตัดสินใจแต่ละรายการจะไม่เห็นตัวอย่างการฝึกประมาณ 33% แนวคิดหลักของการประเมิน OOB มีดังนี้

  • เพื่อประเมินฟอเรสต์แบบสุ่มในชุดการฝึก
  • ในแต่ละตัวอย่าง ให้ใช้แผนผังการตัดสินใจที่ไม่เห็นตัวอย่างในระหว่างการฝึกเท่านั้น

ตารางต่อไปนี้แสดงการประเมิน OOB ของฟอเรสต์แบบสุ่มที่มีต้นไม้ตัดสินใจ 3 ต้นที่ฝึกจากตัวอย่าง 6 รายการ (ใช่แล้ว นี่คือตารางเดียวกับในส่วน การบรรจุหีบห่อ) ตารางนี้แสดงแผนผังการตัดสินใจที่ใช้ร่วมกับตัวอย่างในระหว่างการประเมิน OOB

ตารางที่ 7. การประเมิน OOB - ตัวเลขนี้แสดงจำนวนครั้งที่มีการใช้ตัวอย่างการฝึกหนึ่งๆ ระหว่างการฝึกตามตัวอย่างที่ระบุ

ตัวอย่างการฝึก ตัวอย่างการประเมิน OOB
#1 #2 #3 #4 #5 #6
ชุดข้อมูลต้นฉบับ 1 1 1 1 1 1
แผนผังการตัดสินใจ 1 1 1 0 2 1 1 #3
แผนผังการตัดสินใจ 2 3 0 1 0 2 0 #2, #4 และ #6
แผนผังการตัดสินใจ 3 0 1 3 1 0 1 #1 และ #5

ในตัวอย่างที่แสดงในตาราง 7 การคาดการณ์ OOB สำหรับการฝึกตัวอย่างที่ 1 จะคำนวณด้วยแผนผังการตัดสินใจ #3 (เนื่องจากแผนผังการตัดสินใจ #1 และ #2 ใช้ตัวอย่างนี้สำหรับการฝึก) ในทางปฏิบัติ ตัวอย่างทั้งหมดจะมีการคาดการณ์ OOB เมื่อมีชุดข้อมูลขนาดที่สมเหตุสมผลและมีแผนผังการตัดสินใจ 2-3 ต้นไม้

รหัส YDF
ใน YDF การประเมิน OOB จะอยู่ในบันทึกการฝึกหากโมเดลได้รับการฝึกด้วย compute_oob_performances=True

การประเมิน OOB ยังมีประสิทธิภาพในการคํานวณความสำคัญของตัวแปรการเรียงสับเปลี่ยนสำหรับโมเดลฟอเรสต์แบบสุ่มด้วย จำได้จากลำดับความสำคัญของตัวแปรว่าความสำคัญของตัวแปรการเรียงสับเปลี่ยนจะวัดความสำคัญของตัวแปรโดยวัดการลดลงของคุณภาพของโมเดลเมื่อมีการสับเปลี่ยนตัวแปรนี้ "ความสำคัญของตัวแปรการเรียงสับเปลี่ยน OOB แบบสุ่ม" เป็นตัวแปรการเรียงสับเปลี่ยนที่สำคัญที่คำนวณโดยใช้การประเมิน OOB

รหัส YDF
ใน YDF ความสำคัญของตัวแปรการเรียงสับเปลี่ยน OOB จะอยู่ในบันทึกการฝึกหากโมเดลได้รับการฝึกด้วย compute_oob_variable_importances=True