XGboost - ตัวเลือกทำโดยรุ่น


10

ฉันใช้XGboostเพื่อทำนายตัวแปรเป้าหมาย 2 คลาสในการเคลมประกัน ฉันมีรูปแบบ (การฝึกอบรมกับการตรวจสอบข้ามการปรับพารามิเตอร์ไฮเปอร์ ฯลฯ .. ) ฉันทำงานในชุดข้อมูลอื่น

คำถามของฉันคือ:

มีวิธีที่จะรู้หรือไม่ว่าเหตุใดการอ้างสิทธิ์ที่ได้รับจึงส่งผลกระทบต่อหนึ่งคลาสเช่นคุณลักษณะที่อธิบายการเลือกของรุ่น

จุดประสงค์คือเพื่อให้สามารถพิสูจน์ความถูกต้องของตัวเลือกที่เครื่องทำกับมนุษย์บุคคลที่สาม

ขอบคุณสำหรับคำตอบ.

คำตอบ:


7

ผมขอแนะนำให้คุณไปสำหรับShap มันใช้ค่าแชปลีย์ (แนวคิดที่ยืมมาจากทฤษฎีเกม) เพื่ออธิบายพฤติกรรมของแบบจำลองและสามารถอธิบายคำทำนายเดียวได้

อินเทอร์เฟซแบบกราฟิกใช้ Force Plots เหมือนกับที่คุณเห็นด้านล่าง ป้อนคำอธิบายรูปภาพที่นี่

แถบสีแดงถูกสร้างขึ้นโดยคุณสมบัติที่นำไปสู่การทำนายค่าที่เป็นบวกและสีฟ้าของอีกอัน

ในกรณีของคุณ (ตัวจําแนก) ตัวเลขที่เป็นตัวหนาจะเป็นตัวเลขที่อยู่หน้าsigmoidฟังก์ชันซึ่งจะ จำกัด ค่าเอาต์พุตระหว่างศูนย์และหนึ่ง (หนึ่งคลาสหรืออื่น ๆ ) ดังนั้นอย่ากลัวถ้าในบางกรณีมันจะมากกว่าหนึ่งหรือลบ

ขนาดของกลุ่มแสดงให้เห็นว่าคุณลักษณะนั้นมีส่วนช่วยในการทำนายอย่างไรและภายใต้กลุ่มที่คุณเห็นชื่อของคุณลักษณะ (เช่น LSTAT) และเป็นค่าจริง (เช่น 4.98) ดังนั้นในกรณีนี้ LSTAT เป็นคุณลักษณะเฉลี่ยที่นำการทำนายสำหรับองค์ประกอบของชุดข้อมูลนั้นไปที่ค่า 24.41 (ตัวเลขเป็นตัวหนา)

สนุก!


9

คุณสามารถใช้ไลบรารีELI5เพื่ออธิบายคุณลักษณะการมีส่วนร่วมในการคาดการณ์รายบุคคลสำหรับรุ่น XGBoost

ดูการอธิบายการทำนายในเอกสารคัดลอกด้านล่าง:

เพื่อให้ได้แนวคิดที่ดีขึ้นเกี่ยวกับวิธีการจัดประเภทลักษณนามของเราเรามาตรวจสอบการทำนายของแต่ละคนด้วยeli5.show_prediction():

from eli5 import show_prediction
show_prediction(clf, valid_xs[1], vec=vec, show_feature_values=True)

ป้อนคำอธิบายรูปภาพที่นี่


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.