非常に不均衡なデータセットがあります。チューニングのアドバイスに従って使用しようとしていますが、scale_pos_weight
どのようにチューニングする必要があるかはわかりません。
私はそれを見ることRegLossObj.GetGradient
ができます:
if (info.labels[i] == 1.0f) w *= param_.scale_pos_weight
そのため、陽性サンプルの勾配はより影響力があります。ただし、xgboostの論文によると、勾配統計は常に特定のツリーの特定のノードのインスタンス内でローカルに使用されます。
- ノードのコンテキスト内で、候補分割の損失削減を評価する
- 葉ノードのコンテキスト内で、そのノードに与えられる重みを最適化する
したがって、何が良いかを前もって知る方法はありません。scale_pos_weight
正と負のインスタンスの比率が1:100になるノードと、比率が1:2のノードでは、数値が大きく異なります。
ヒントはありますか?