XGBoost モデルを調整する - Amazon SageMaker

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

XGBoost モデルを調整する

自動モデル調整は、ハイパーパラメータ調整とも呼ばれ、データセットのトレーニングと検証でさまざまなハイパーパラメータをテストする多数のジョブを実行して、モデルの最適なバージョンを見つけます。次の 3 つのタイプのハイパーパラメータを選択します。

  • モデルトレーニング中に最適化する学習 objective 関数

  • 検証中にモデルのパフォーマンスを評価するために使用する eval_metric

  • モデルの自動調整時に使用する一連のハイパーパラメータとそれぞれの値の範囲

アルゴリズムが計算する一連の評価メトリクスから評価メトリクスを選択します。自動モデル調整は、選択されたハイパーパラメータを検索して、評価メトリクスを最適化するモデルになる値の組み合わせを見つけます。

注記

XGBoost 0.90 の自動モデルチューニングは、 SageMaker コンソールからではなく、Amazon SageMaker SDKsからのみ使用できます。

モデル調整の詳細については、「でモデルの自動チューニングを実行する SageMaker」を参照してください。

XGBoost アルゴリズムで計算される評価メトリクス

XGBoost アルゴリズムは、モデルの検証に次のメトリクスを使用して計算します。モデルを調整するときに、これらのいずれかのメトリクスを選択してモデルを評価します。有効な eval_metric 値の完全なリストについては、「XGBoost Learning Task Parameters」(XGBoost ラーニングタスクのパラメータ) を参照してください。

メトリクス名 説明 最適化の方向
validation:accuracy

分類率。#(right)/#(all cases) として計算されます。

最大化

validation:auc

曲線下面積。

最大化

validation:error

#(誤ったケース)/#(すべてのケース) で計算される二項分類誤り率。

最小化

validation:f1

分類精度の指標。精度とリコールの調和平均として計算されます。

最大化

validation:logloss

負の対数尤度。

最小化

validation:mae

平均絶対誤差。

最小化

validation:map

平均精度の平均。

最大化

validation:merror

#(誤ったケース)/#(すべてのケース) で計算される複数クラス分類誤り率。

最小化

validation:mlogloss

複数クラス分類の負の対数尤度。

最小化

validation:mse

平均二乗誤差。

最小化

validation:ndcg

正規化減損累積利得。

最大化

validation:rmse

二乗平均平方根誤差。

最小化

調整可能な XGBoost ハイパーパラメータ

以下のハイパーパラメータを使用して XGBoost モデルを調整します。XGBoost のメトリクスに最も影響を与えるハイパーパラメータは、alphamin_child_weightsubsampleetanum_round です。

Parameter Name パラメータタイプ 推奨範囲
alpha

ContinuousParameterRanges

MinValue: 0、 MaxValue: 1000

colsample_bylevel

ContinuousParameterRanges

MinValue: 0.1、 MaxValue: 1

colsample_bynode

ContinuousParameterRanges

MinValue: 0.1、 MaxValue: 1

colsample_bytree

ContinuousParameterRanges

MinValue: 0.5、 MaxValue: 1

eta

ContinuousParameterRanges

MinValue: 0.1、 MaxValue: 0.5

gamma

ContinuousParameterRanges

MinValue: 0、 MaxValue: 5

lambda

ContinuousParameterRanges

MinValue: 0、 MaxValue: 1000

max_delta_step

IntegerParameterRanges

[0, 10]

max_depth

IntegerParameterRanges

[0, 10]

min_child_weight

ContinuousParameterRanges

MinValue: 0、 MaxValue: 120

num_round

IntegerParameterRanges

[1, 4000]

subsample

ContinuousParameterRanges

MinValue: 0.5、 MaxValue: 1