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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

XGBoost のハイパーパラメータ

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

Parameter Name 説明
num_class

クラスの数。

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

有効な値: 整数。

num_round

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

必須

有効な値: 整数。

alpha

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

オプション

有効な値: 浮動小数点数。

デフォルト値: 0

base_score

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

オプション

有効な値: 浮動小数点数。

デフォルト値: 0.5

booster

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

オプション

有効な値: 文字列。"gbtree""gblinear""dart" のいずれか 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

deterministic_histogram

このフラグが有効になっている場合、XgBoost はヒストグラムを GPU 上で決定的に構築します。tree_methodgpu_hist に設定されている場合にのみ使用されます。

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

オプション

有効な値: 文字列。範囲: "true" または "false"

デフォルト値: "true"

early_stopping_rounds

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

オプション

有効な値: 整数。

デフォルト値: -

eta

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

オプション

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

デフォルト値: 0.3

eval_metric

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

  • rmse: 回帰の場合

  • error: 分類の場合

  • map: ランク付けの場合

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

オプション

有効な値: 文字列。

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

gamma

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

オプション

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

デフォルト値: 0

grow_policy

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

オプション

有効な値: 文字列。"depthwise" または "lossguide" です。

デフォルト値: "depthwise"

interaction_constraints

やり取りが許可される変数のグループを指定します。

オプション

有効な値: ネストされた整数のリスト。各整数は特徴を表し、ネストされた各リストには、[[1,2], [3,4,5]] など、やり取りが許可される特徴が含まれています。

デフォルト値: なし

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

monotone_constraints

任意の特徴に単調性の制約を指定します。

オプション

有効な値: 整数のタプル。有効な整数: -1 (制約の緩和)、0 (制約なし)、1 (制約の強化)。

(0, 1) など: 最初の予測子は制約なし、2 番目の予測子は制約の強化です。(-1、1): 最初の予測子は制約の緩和、2 番目の予測子は制約の強化です。

デフォルト値: (0, 0)

normalize_type

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

オプション

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

デフォルト値: tree

nthread

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

オプション

有効な値: 整数。

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

objective

学習タスクと対応する学習目標を指定します。例: reg:logisticmulti:softmaxreg:squarederror。有効な入力の完全なリストについては、「XGBoost Learning Task Parameters」(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

single_precision_histogram

このフラグが有効になっている場合、XGBoost は倍精度ではなく単精度を使用してヒストグラムを作成します。tree_methodhist または gpu_hist に設定されている場合にのみ使用されます。

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

オプション

有効な値: 文字列。範囲: "true" または "false"

デフォルト値: "false"

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 で使用されるツリー構造アルゴリズム。

オプション

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

デフォルト値: auto

tweedie_variance_power

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

オプション

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

デフォルト値: 1.5

updater

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

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

オプション

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

デフォルト値: grow_colmaker、prune

use_dask_gpu_training

Dask で分散 GPU トレーニングを実行する場合は use_dask_gpu_training"true" に設定します。Dask GPU トレーニングはバージョン 1.5-1 以降でのみサポートされています。1.5-1 より前のバージョンでは、この値を "true" に設定しないでください。詳細については、「分散 GPU トレーニング」を参照してください。

オプション

有効な値: 文字列。範囲: "true" または "false"

デフォルト値: "false"

verbosity

メッセージ出力の詳細レベル。

有効な値: 0 (サイレント)、1 (警告)、2 (情報)、3 (デバッグ)。

オプション

デフォルト値: 1