XGBoost のハイパーパラメータ - Amazon SageMaker

XGBoost のハイパーパラメータ

次の表には、Amazon SageMaker XGBoost アルゴリズムに必要な、または最も一般的に使用されるハイパーパラメータのサブセットが含まれています。これらは、データからモデルパラメータを推定しやすくするためにユーザーが設定するパラメータです。設定の必要がある必須ハイパーパラメータは、アルファベット順に最初に一覧表示されています。設定可能なオプションのハイパーパラメータは、アルファベット順に次に一覧表示されています。Amazon SageMaker XGBoost アルゴリズムは、オープンソースの DMLC XGBoost パッケージの実装です。Amazon SageMaker では現在、バージョン 0.90 をサポートしています。このバージョンの XGBoost に設定できるハイパーパラメータの完全なセットの詳細については、「XGBoost パラメータ」を参照してください。

パラメータ名 説明
num_round

トレーニングを実行するラウンド数。

必須

有効な値: 整数

num_class

クラスの数。

objectivemulti:softmax または multi:softprob に設定されている場合は必須です。

有効な値: 整数

デフォルト値:

alpha

重みに対する L1 正規化項。この値を大きくすると、モデルがより控えめになります。

オプション

有効な値: 浮動小数点数

デフォルト値: 0

base_score

すべてのインスタンスの初期予測スコア、全体的な偏り。

オプション

有効な値: 浮動小数点数

デフォルト値: 0.5

booster

使用するブースター。gbtree 値と dart 値はツリー型のモデルを使用し、gblinear は一次関数を使用します。

オプション

有効な値: 文字列.gbtreegblineardart のいずれか 1 つ。

デフォルト値: gbtree

colsample_bylevel

各レベルにおける、各分割の列のサブサンプル率。

オプション

有効な値: 浮動小数点数。範囲: [0,1]。

デフォルト値: 1

colsample_bynode

各ノードの列のサブサンプル率。

オプション

有効な値: 浮動小数点数。範囲: (0,1]。

デフォルト値: 1

colsample_bytree

各ツリーを構築する際の列のサブサンプル率。

オプション

有効な値: 浮動小数点数。範囲: [0,1]。

デフォルト値: 1

csv_weights

このフラグを有効にすると、XGBoost は、トレーニングデータの 2 列目 (ラベルの後の列) をインスタンスの重みとして使用して、csv 入力のインスタンスの重要性を区別します。

オプション

有効な値: 0 または 1

デフォルト値: 0

early_stopping_rounds

検証スコアに改善が見られなくなるまでモデルのトレーニングが行われます。トレーニングを続けるためには、少なくとも early_stopping_rounds 毎に検証エラーを減らす必要があります。Amazon SageMaker のホスティングは、推論に最適なモデルを使用しています。

オプション

有効な値: 整数

デフォルト値: -

eta

過剰適合を防ぐために更新で使用されるステップサイズの縮小。各ブースティングステップ後、新しい特徴の重みを直接取得できます。eta パラメータは実際に特徴の重みを縮小して、ブースティング処理をより控えめにします。

オプション

有効な値: 浮動小数点数。範囲: [0,1]。

デフォルト値: 0.3

eval_metric

検証データの検証メトリクス。目標に応じてデフォルトのメトリクスが割り当てられます。

  • rmse: 回帰の場合

  • error: 分類の場合

  • map: ランク付けの場合

有効な入力のリストについては、XGBoost Parameters (XGBoost パラメータ) を参照してください。

オプション

有効な値: 文字列

デフォルト値: 目標に基づくデフォルト

gamma

ツリーのリーフノードに追加のパーティションを作成するために必要な損失低減の最小値。数値が大きいほど、アルゴリズムはより控えめになります。

オプション

有効な値: 浮動小数点数。範囲: [0,∞)。

デフォルト値: 0

grow_policy

ツリーに新しいノードを追加する方法を制御します。現在、tree_methodhist に設定されている場合にのみサポートされます。

オプション

有効な値: 文字列.depthwise または lossguide

デフォルト値: depthwise

lambda

重みに対する L2 正規化項。この値を大きくすると、モデルがより控えめになります。

オプション

有効な値: 浮動小数点数

デフォルト値: 1

lambda_bias

偏りに対する L2 正規化項。

オプション

有効な値: 浮動小数点数。範囲: [0.0, 1.0]。

デフォルト値: 0

max_bin

連続する特徴をバケットに入れる別個のビンの最大数。tree_methodhist に設定されている場合にのみ使用されます。

オプション

有効な値: 整数

デフォルト値: 256

max_delta_step

各ツリーの重みの推定に許可されるデルタステップの最大値。正の整数が使用されている場合、更新はより保守的になります。推奨されるオプションは、ロジスティック回帰での使用です。更新を制御しやすくするには、1 ~ 10 に設定します。

オプション

有効な値: 整数。範囲: [0,∞)。

デフォルト値: 0

max_depth

ツリーの最大深度。この値を増やすとモデルがより複雑になり、過剰適合が発生しやすくなります。0 は無制限を示します。上限は grow_policy = depth-wise の場合に必須です。

オプション

有効な値: 整数。範囲: [0,∞)

デフォルト値: 6

max_leaves

追加されるノードの最大数。grow_policylossguide に設定されている場合にのみ関連します。

オプション

有効な値: 整数

デフォルト値: 0

min_child_weight

子に必要とされるインスタンスの重み (ヘッセ) の合計の最小値。ツリーのパーティション分割ステップにより、リーフノードのインスタンスの重みの合計が min_child_weight を下回る場合、構築処理は追加のパーティション分割を行わなくなります。線形回帰モデルでは、これは単に各ノードに必要とされるインスタンスの最小数に対応します。アルゴリズムが大きいほど、より控えめになります。

オプション

有効な値: 浮動小数点数。範囲: [0,∞)。

デフォルト値: 1

normalize_type

正規化アルゴリズムの種類。

オプション

有効な値: tree または forest のいずれか。

デフォルト値: tree

nthread

xgboost の実行に使用される並列スレッドの数。

オプション

有効な値: 整数

デフォルト値: スレッドの最大数。

objective

学習タスクと対応する学習目標を指定します。例: reg:logisticmulti:softmaxreg:squarederror。有効な入力の完全なリストについては、「XGBoost パラメータ」を参照してください。

オプション

有効な値: 文字列

デフォルト値: reg:squarederror

one_drop

このフラグを有効にすると、ドロップアウト中に常に 1 つ以上のツリーがドロップされます。

オプション

有効な値: 0 または 1

デフォルト値: 0

process_type

実行するブースティング処理の種類。

オプション

有効な値: 文字列.default または update

デフォルト値: default

rate_drop

ドロップアウト中にドロップする、前のツリーの割合を指定するドロップアウト率。

オプション

有効な値: 浮動小数点数。範囲: [0.0, 1.0]。

デフォルト値: 0.0

refresh_leaf

これは、'更新' アップデータープラグインのパラメータです。true (1) に設定すると、ツリーのリーフとツリーノードの統計情報が更新されます。false (0) に設定すると、ツリーノードの統計情報のみが更新されます。

オプション

有効な値: 0/1

デフォルト値: 1

sample_type

サンプリングアルゴリズムの種類。

オプション

有効な値: uniform または weighted

デフォルト値: uniform

scale_pos_weight

正の重みと負の重みの均衡を制御します。不均衡なクラスに役立ちます。検討する一般的な値 :sum(negative cases) / sum(positive cases)

オプション

有効な値: 浮動小数点数

デフォルト値: 1

seed

乱数シード。

オプション

有効な値: 整数

デフォルト値: 0

silent

0 は実行中のメッセージを出力する、1 はサイレントモードを意味します。

有効な値: 0 または 1

オプション

デフォルト値: 0

sketch_eps

近似貪欲アルゴリズムでのみ使用されます。これは、O(1 / sketch_eps) 個のビンに換算します。ビンの数を直接選択することと比較して、これはスケッチの精度により理論的に保証されます。

オプション

有効な値: 浮動小数点: [0, 1]。

デフォルト値: 0.03

skip_drop

ブースティングの反復中にドロップアウト手順をスキップする確率。

オプション

有効な値: 浮動小数点数。範囲: [0.0, 1.0]。

デフォルト値: 0.0

subsample

トレーニングインスタンスのサブサンプル率。0.5 に設定すると、XGBoost はツリーの成長にデータインスタンスの半分をランダムに収集します。これにより、過剰適合を防ぎます。

オプション

有効な値: 浮動小数点数。範囲: [0,1]。

デフォルト値: 1

tree_method

XGBoost で使用されるツリー構造アルゴリズム。

オプション

有効な値: autoexactapproxhist のいずれか。

デフォルト値: auto

tweedie_variance_power

Tweedie 分布の分散を制御するパラメータ。

オプション

有効な値: 浮動小数点数。範囲: (1, 2)。

デフォルト値: 1.5

updater

ツリーアップデーターが実行される順序を定義するカンマ区切りの文字列。これにより、モジュール式にツリーを構築および修正できます。

有効な入力の完全なリストについては、XGBoost Parameters (XGBoost パラメータ) を参照してください。

オプション

有効な値: カンマ区切りの文字列。

デフォルト値: grow_colmaker、prune