Çok dengesiz bir veri setim var. Ayarlama önerisini ve kullanımını izlemeye çalışıyorum scale_pos_weight
ama nasıl ayarlayacağımı bilmiyorum.
Gördüğümü görebiliyorum RegLossObj.GetGradient
:
if (info.labels[i] == 1.0f) w *= param_.scale_pos_weight
dolayısıyla pozitif bir numunenin gradyanı daha etkili olacaktır. Ancak, xgboost kağıdına göre , gradyan istatistiği her zaman yerel olarak kullanılır = belirli bir ağaçtaki belirli bir düğümün örnekleri içinde:
- Bir düğüm bağlamında, bir aday bölünmesinin kayıp azalmasını değerlendirmek
- bir yaprak düğüm bağlamında, o düğüme verilen ağırlığı optimize etmek için
Dolayısıyla, neyin iyi olacağını bilmenin bir yolu yoktur scale_pos_weight
- pozitif ve negatif örnekler arasında 1: 100 oranıyla sonuçlanan bir düğüm için ve 1: 2 oranına sahip bir düğüm için çok farklı bir sayıdır.
İpucu var mı?