2017-06-20 3 views
6

私のデータセットは、90%の陰性サンプルと10%の陽性サンプルを持ち、非常に不均衡です。私はscale_pos_weightのパラメータを使用して9に設定しようとしています。このparamのメカニズムは何ですか。私はそれが実際に何を意味するのか興味があります:それは陽性サンプルを9回繰り返すことを意味しますか?あるいは、毎回ネガティブサンプルの1/9サンプルを取り出し、何度もモデルをトレーニングします。さらに、負のサンプルが正のサンプルより少しだけ大きいデータセットを持っている場合、パラメータを再度指定する必要がありますか?xgboostでparam 'scale_pos_weight'を使用する仕組みは何ですか?

答えて

0

私は、このパラメータが何をしているかを明示的に述べているドキュメントのどこにも見たことがありません。しかし、私はそれが後者であることを確信しています。すなわち、それはネガティブサンプルの1/9に基づいてツリーを構築します。データが良好であれば、ほぼ同じ効果が得られるはずですが、ネガのサブセットを取ることはモデリングのためのコンベンションです。なぜなら、互いに確認できる9つのトレーニングセットがあるからです。

私は90/10スプリットがあまりにも不均衡であるとは必ずしも思いません。それは多くの状況で得られるよりもはるかに優れており、再調整が常に役立つかどうかについてはdebateがあります。

+1

正しい説明はhttps://github.com/dmlc/xgboost/issues/2428です。 –

関連する問題