ライトGBMハイパーパラメータ - Amazon SageMaker

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

ライトGBMハイパーパラメータ

次の表に、Amazon SageMaker LightGBM アルゴリズムに必要または最も一般的に使用されるハイパーパラメータのサブセットを示します。ユーザーは、データからモデルパラメータを推定しやすくするために、これらのパラメータを設定します。 SageMaker LightGBM アルゴリズムは、オープンソースの LightGBM パッケージの実装です。

注記

デフォルトのハイパーパラメータは、ライトGBMサンプルノートブック のサンプルデータセットに基づいています。

デフォルトでは、 SageMaker LightGBM アルゴリズムは分類問題のタイプに基づいて評価メトリクスと目標関数を自動的に選択します。LightGBM アルゴリズムは、データ内のラベルの数に基づいて分類問題のタイプを検出します。リグレッションの問題の場合、評価指標は二乗平均平方根誤差で、目的関数は L2 損失です。二項分類の問題の場合は、評価指標と目的関数はどちらも二項交差エントロピーです。多クラス分類の問題の場合、評価指標は多クラス交差エントロピーで、目的関数はソフトマックスです。metric ハイパーパラメータを使用して、デフォルトの評価メトリクスを変更できます。説明、有効な値、デフォルト値など、LightGBM ハイパーパラメータの詳細については、次の表を参照してください。

Parameter Name 説明
num_boost_round

ブースティングの反復の最大数。注: LightGBM num_class * num_boost_round は内部的に、多クラス分類の問題のツリーを構築します。

有効な値: 整数、範囲:正の整数。

デフォルト値: 100

early_stopping_rounds

ある検証データポイントの 1 つのメトリクスが最後の early_stopping_rounds ラウンドで改善されない場合、トレーニングは停止します。early_stopping_rounds が 0 以下の場合、このハイパーパラメータは無視されます。

有効な値: 整数。

デフォルト値: 10

metric

検証データの評価メトリクス。metric がデフォルトの "auto" 値に設定されている場合、アルゴリズムは分類問題のタイプに基づいて自動的に評価メトリクスを選択します。

  • リグレッションの場合は、rmse

  • 二項分類の場合は、binary_logloss

  • 多クラス分類の場合は、multi_logloss

有効な値: 文字列、次のいずれか: ("auto""rmse""l1""l2""huber""fair""binary_logloss""binary_error""auc""average_precision""multi_logloss""multi_error""auc_mu"、または "cross_entropy")。

デフォルト値: "auto"

learning_rate

トレーニング例の各バッチを完了した後に、モデルの重みが更新されるレート。

有効な値: 浮動小数点、範囲: (0.0, 1.0)。

デフォルト値: 0.1

num_leaves

あるツリーの葉の最大数。

有効な値: 整数、範囲: (1, 131072)。

デフォルト値: 64

feature_fraction

各反復 (ツリー) で選択される特徴量のサブセット。1.0 未満にする必要があります。

有効な値: 浮動小数点、範囲: (0.0, 1.0)。

デフォルト値: 0.9

bagging_fraction

feature_fraction に類似した特徴量のサブセットですが、bagging_fraction はリサンプリングなしでランダムにデータの一部を選択します。

有効な値: 浮動小数点、範囲: (0.0, 1.0)。

デフォルト値: 0.9

bagging_freq

バギングを実行する頻度。LightGBM はbagging_freq、反復するたびに、次のbagging_freq反復に使用するデータの割合をランダムに選択します。このパーセンテージは bagging_fraction ハイパーパラメータによって決定されます。bagging_freq が 0 の場合、バギングは無効になります。

有効な値: 整数、範囲: 負以外の整数。

デフォルト値: 1

max_depth

ツリーモデルの最大深度。これはデータの量が少ない場合のオーバーフィットを処理するのに使われます。max_depth が 0 以下の場合は、最大深度に制限がないことを意味します。

有効な値: 整数。

デフォルト値: 6

min_data_in_leaf

1 つの葉に含まれるデータの最小量。オーバーフィットの処理にも使われます。

有効な値: 整数、範囲: 負以外の整数。

デフォルト値: 3

max_delta_step

ツリーの葉の最大出力を制限するのに使用されます。max_delta_step が 0 以下の場合、制約はありません。葉の最終的な最大出力は learning_rate * max_delta_step です。

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

デフォルト値: 0.0

lambda_l1

L1 正規化。

有効な値: 浮動小数点数、範囲: 負以外の浮動小数点数。

デフォルト値: 0.0

lambda_l2

L2 正規化。

有効な値: 浮動小数点数、範囲: 負以外の浮動小数点数。

デフォルト値: 0.0

boosting

ブースティングの種類

有効な値: 文字列、次のいずれか: ("gbdt""rf""dart"、または "goss")

デフォルト値: "gbdt"

min_gain_to_split

分割を実行するための最小ゲイン。トレーニングの高速化に使われます。

有効な値: 整数、浮動小数点数: 負以外の浮動小数点数。

デフォルト値: 0.0

scale_pos_weight

正のクラスを持つラベルの重み。二項分類タスクにのみ使用されます。is_unbalance"True" に設定されている場合、scale_pos_weight は使用できません。

有効な値: 浮動小数点数、範囲: 正の浮動小数点数

デフォルト値: 1.0

tree_learner

ツリーの線形の種類。

有効な値: 文字列、次のいずれか: ("serial""feature""data"、または "voting")。

デフォルト値: "serial"

feature_fraction_bynode

各ツリーノードのランダムな特徴量のサブセットを選択します。例えば、feature_fraction_bynode0.8 の場合、特徴量の 80% が選択されます。オーバーフィットの処理にも使われます。

有効な値: 整数、範囲: (0.0,1.0]。

デフォルト値: 1.0

is_unbalance

トレーニングデータが不均衡な場合は、"True" に設定します。二項分類タスクにのみ使用されます。is_unbalancescale_pos_weight では使用できません。

有効な値: 文字列、次のいずれか: ("True" または "False")

デフォルト値: "False"

max_bin

特徴量の値をバケット化するために使用するビンの最大数。ビンの数が少ないとトレーニングの精度は低下することがありますが、一般的なパフォーマンスは向上する可能性があります。オーバーフィットの処理にも使われます。

有効な値: 整数、範囲: (1, ∞)。

デフォルト値: 255

tweedie_variance_power

Tweedie 分布の分散を制御します。これを 2.0 に近づけると、ガンマ分布にシフトします。これを 1.0 に近づけると、ポアソン分布にシフトします。リグレッションタスクにのみ使用されます。

有効な値: 浮動小数点数、範囲: [1.0, 2.0)。

デフォルト値: 1.5

num_threads

Light の実行に使用される並列スレッドの数GBM。値 0 は、OpenMP のデフォルトスレッド数を意味します。

有効な値: 整数、範囲: 負以外の整数。

デフォルト値: 0

verbosity

出力メッセージの詳細。verbosity0 よりも小さい場合、出力メッセージには致命的なエラーのみ表示されます。verbosity0 に設定されている場合、出力メッセージにはエラーと警告が含まれます。verbosity1 の場合、出力メッセージには詳細情報が表示されます。verbosity1 より大きい場合、出力メッセージには詳細情報が表示され、デバッグに使用できます。

有効な値: 整数。

デフォルト値: 1