XGBoost ツリー・ノードの作成オプション

XGBoost ツリー・ノードの作成オプションを指定するには、「作成オプション」タブを使用します。このタブには、モデルの構築やツリーの成長のための基本オプションや、目的のための学習タスク・オプション、およびオーバーフィッティングの制御や不均衡データ・セットの処理のための詳細オプションが含まれています。これらのオプションについて詳しくは、以下のオンライン情報源を参照してください。

基本

ハイパーパラメータ最適化 (Rbfopt に基づく): Rbfopt に基づくハイパーパラメータ最適化を有効にするには、このオプションを選択します。有効にすると、パラメータの最適な組み合わせが自動的に検出され、サンプルに対するモデルの誤差率が予測値以下になります。Rbfopt について詳しくは、http://rbfopt.readthedocs.io/en/latest/rbfopt_settings.htmlを参照してください。

Tree method: 使用する XGBoost ツリー構築アルゴリズムを選択します。

Num boost round: ブースティング反復回数を指定します。

Max depth: ツリーの最大深度を指定します。この値を大きくすると、モデルがより複雑になり、オーバーフィッティングになりやすくなります。

Min child weight: 子で必要なインスタンスの重み (ヘシアン) の最小合計を指定します。ツリーの分割ステップで生じた葉ノードのインスタンスの重みの合計が、この「Min child weight」より小さい場合、構築プロセスでそれ以上の分割は行いません。線型モードの場合は、単純に、各ノードに必要なインスタンスの最小値に対応しています。重みを大きくするほど、アルゴリズムがより保守的になります。

Max delta step: 各ツリーの重みを推定できるようにするには、Max delta step を指定します。0 に設定した場合、何も制約はありません。正の値に設定した場合、更新ステップがより保守的になります。通常はこのパラメータは必要ありませんが、クラスのバランスが著しく悪いときに、ロジスティック回帰で役立つ可能性があります。

学習タスク

目的: 学習タスクの目的タイプ reg:linearreg:logisticreg:gammareg:tweediecount:poissonrank:pairwisebinary:logistic、または multi から選択します。

早期停止: 早期停止機能を使用する場合は、このオプションを選択します。「停止ラウンド (stopping rounds)」の場合、学習を続行するには、少なくとも早期停止ラウンドごとに検証エラーが減少する必要があります。「評価データの比率 (Evaluation data ratio)」は、検証エラーに使用する入力データの比率です。

ランダム シード: 「生成」をクリックすると、乱数発生ルーチンによって使用されるシードを生成できます。

詳細

サブサンプル: サブサンプルは、学習インスタンスの比率を示します。例えば、0.5 に設定した場合、データ・インスタンスの半数をランダムに収集してツリーを成長させることで、オーバーフィッティングを防ぎます。

イータ: オーバーフィッティングを防ぐために更新ステップ中に使用するステップ サイズの収縮。各ブースティング ステップの後で、新規フィーチャーの重みを直接取得できます。イータはフィーチャーの重みも収縮させるため、ブースティングのプロセスがより保守的になります。

ガンマ: ツリーの葉ノードをさらに分割するために必要な最小の損失低減。ガンマの設定を大きくするほど、アルゴリズムがより保守的になります。

Colsample by tree: 各ツリーを構築する際の、列のサブサンプルの比率。

Colsample by level: 各分割における、各レベルでの列のサブサンプルの比率。

ラムダ: 重みに関する L2 正規化項。この値を大きくすると、モデルがより保守的になります。

アルファ: 重みに関する L1 正規化項。この値を大きくすると、モデルがより保守的になります。

Scale pos weight: 正の重みと負の重みのバランスを制御します。 これは不均衡なクラスの場合に役立ちます。

次の表に、SPSS® Modeler の XGBoost ツリー・ノードのダイアログの設定と Python XGBoost ライブラリーのパラメータとの間の関係を示します。
表 1. ノードのプロパティーと Python ライブラリーのパラメータのマッピング
SPSS Modeler の設定 スクリプト名 (プロパティー名) XGBoost パラメータ
対象 TargetField
予測値 InputFields
Tree method treeMethod tree_method
Num boost round numBoostRound num_boost_round
Max depth maxDepth max_depth
Min child weight minChildWeight min_child_weight
Max delta step maxDeltaStep max_delta_step
目的 objectiveType objective
早期停止 earlyStopping early_stopping_rounds
停止ラウンド (stopping rounds) stoppingRounds  
評価データの比率 (Evaluation data ratio) evaluationDataRatio  
ランダム シード random_seed seed
サブサンプル sampleSize subsample
イータ eta eta
ガンマ gamma gamma
Colsample by tree: colsSampleRatio colsample_bytree
Colsample by level colsSampleLevel colsample_bylevel
ラムダ lambda lambda
アルファ alpha alpha
Scale pos weight scalePosWeight scale_pos_weight

1 "XGBoost Parameters" Scalable and Flexible Gradient Boosting. Web. © 2015-2016 DMLC.

2 "Plotting API" Scalable and Flexible Gradient Boosting. Web. © 2015-2016 DMLC.

3 "Scalable and Flexible Gradient Boosting." Web. © 2015-2016 DMLC.