ฉันมีชุดข้อมูลที่ไม่สมดุลมาก ฉันพยายามทำตามคำแนะนำในการจูนและใช้scale_pos_weight
แต่ไม่แน่ใจว่าฉันควรจูนอย่างไร
ฉันเห็นได้ว่าRegLossObj.GetGradient
:
if (info.labels[i] == 1.0f) w *= param_.scale_pos_weight
ดังนั้นการไล่ระดับสีของตัวอย่างที่เป็นบวกจะมีอิทธิพลมากกว่า อย่างไรก็ตามตามกระดาษ xgboostสถิติการไล่ระดับสีจะถูกใช้ในเครื่อง = ภายในอินสแตนซ์ของโหนดที่ระบุในต้นไม้เฉพาะ:
- ภายในบริบทของโหนดเพื่อประเมินการลดการสูญเสียของการแบ่งผู้สมัคร
- ภายในบริบทของ leaf node เพื่อปรับน้ำหนักให้เหมาะสมกับโหนดนั้น
ดังนั้นจึงไม่มีทางรู้ล่วงหน้าว่าอะไรจะดีscale_pos_weight
- เป็นจำนวนที่แตกต่างกันมากสำหรับโหนดที่ลงท้ายด้วยอัตราส่วน 1: 100 ระหว่างอินสแตนซ์บวกและลบและสำหรับโหนดที่มีอัตราส่วน 1: 2
คำใบ้ใด ๆ