xgboost-予測を使用した分類
-
16-10-2019 - |
質問
Xgboost Rパッケージを使用して0-1分類子を構築しようとしていました。私の質問は、予測がどのように行われるかということです。たとえば、ランダムな森林では、各オプションに対して木が「投票」し、最終的な予測は過半数に基づいています。 xgboostを考慮すると、モデル全体の予測は弱い学習者(ブーストされた木)の前提条件の合計に等しいため、回帰ケースは簡単ですが、分類はどうですか?
Xgboost分類器は、ランダムフォレストと同じように機能します(クラスメンバーシップではなく、予測確率を返すことができるため、そうは思いません)。
解決
勾配ブーストアルゴリズムは、一連の決定ツリーを作成します。
使用された予測プロセス ここ これらの手順を使用してください。
- 各ツリーについて、一時的な「予測変数」を作成し、新しいデータセットにツリーを適用します。
- 式を使用して、これらすべてのツリーを集約します。モデルに応じて:
- Bernoulli:1/(1 + exp( - (Intercept + sum(一時pred))))
- ポアソン、ガンマ:exp(intercept + sum(一時的なpred))
- adaboost:1 /(1 + exp(-2*(intercept + sum(一時pred))))
一時的な「予測変数」は確率であり、それ自体では意味がありません。
ツリーが多いほど、予測が滑らかになります。(各ツリーについては、有限の価値のみが観測に広がっています)
Rプロセスはおそらく最適化されていますが、概念を理解するには十分です。
勾配ブーストのH2O実装では、出力はフラグ0/1です。私は思います F1スコア デフォルトでは、確率をフラグに変換するために使用されます。それを確認するために検索/テストを行います。
同じ実装では、バイナリアウトカムのデフォルトの出力の1つは混乱マトリックスです。これは、モデルを評価するのに最適な方法です(そして、まったく新しい尋問を開きます)。
インターセプトは「木が調整する最初の予測値」です。基本的に、最初の調整だけです。
加えて: H2O.GBMドキュメント
所属していません datascience.stackexchange