勾配ブースティング分類

一連の浅い決定ツリーによって、以前のツリーの予測誤差が段階的に減少する予測方法。この方法は、分類と回帰の両方に使用できます。

情報一覧

パラメーター

説明
カテゴリー モデル
データ ソース タイプ HD
出力を他のオペレーターに送信 はい
データ処理ツール Spark

詳細については、「勾配ブースティング」を参照してください。

入力

表形式のデータセット。

構成

パラメーター 説明
ノート このオペレーターのパラメーター設定に関するメモまたは役立つ情報。 [ノート] フィールドに内容を入力すると、オペレーターに黄色のアスタリスクが表示されます。
依存カラム 勾配ブースティング分類モデルに指定します。分類の従属変数を考慮するデータカラムを選択します。
ノート: 独立変数と 依存変数に選択した値が異なることを確認してください。ユーザーが 独立変数リストでも選択されているフィールドを 依存変数として選択すると、エラーが発生します。

  • これはモデル化または予測する量です。
  • 勾配ブースティング分類オペレーターの場合、依存カラムは、値として 0 または 1 のみを持つバイナリのカテゴリ値または連続数値である必要があります。複数クラスの分類は現在サポートされていません。

独立したカラム 勾配ブースティング ツリー トレーニングに含める 独立変数 データ カラム。少なくとも 1 つのカラムを指定する必要があります。 [値の選択] をクリックすると、分析に使用できる入力データセットからカラムを選択するためのダイアログが開きます。

カラム名の前にあるチェックボックスをオンまたはオフにして、カラムを選択または選択解除します。

損失関数 勾配ブースティング ツリーの計算に使用する損失関数を選択します。別の損失関数を選択すると、トレーニングされたモデルの解釈が異なり、最終的な予測精度にも影響を与える可能性があります。さまざまな損失関数の数学的詳細については、さまざまなオンライン リソースを参照してください。たとえば、http://www.saedsayad.com/docs/gbm2.pdf には、さまざまな損失関数の適切な技術的定義が記載されています。

AdaBoost: 指数損失関数を使用します。

Logistic: ログロス機能を使用します。

TruncatedHinge: 切り詰められたヒンジ損失関数を使用します。外れ値のトレーニング サンプルが多数ある問題では、もう少し正確になる可能性があります。直感的に言えば、これは、外れ値で発生する傾向がある、著しく誤って分類された例に課されるペナルティに上限があることを意味します。現在、この上限は固定されていますが、将来的には構成可能なパラメーターとして公開される可能性があります。

ツリーの数 勾配ブースティング分類モデルのトレーニングに使用するツリーの数。ブースティングでは、以前のツリーの結果を使用して、より注意が必要な (損失が大きい) トレーニング サンプルを見つけます。ツリーが多ければ多いほど、トレーニング予測はより正確になります。ツリーが多すぎると検証精度が低下する可能性があります。ツリーの数は収縮パラメーターにも大きく依存します。通常、収縮値が小さいほどより多くのツリーが必要であることを意味し、その逆も同様です。

重要: このオペレーターのパフォーマンスは、選択されたツリーの数に基づいて線形です。したがって、ユーザーが 200 個のツリーを選択した場合、実行時間は 100 個のツリーの 2 倍になります。

デフォルト値: 100

ツリーの最大深さ ツリーの「深さ」、またはルート ノードの下に分岐できるノードの最大数を設定します。ノードが空になる(つまり、現在のノードに分割するサンプルがなくなる)か、ツリーの深さがこの 最大ツリー深さ 制限を超えると、ツリーはそれ以上深く成長しなくなります。深さが浅くなると、個々のツリーは浅くなり、弱くなります。ツリーが小さいと、多くの場合、より多くのツリーが必要になります。

  • 可能な値の範囲は、-1 から 0 より大きい整数までです。
  • 値 -1 は「境界なし」を表します。ツリーは、ノードが空になるまで任意のサイズまたは数のデシジョン ノードを取ることができます。

デフォルト値: 4

最小ノード分割サイズ さらなる分割を可能にするツリー内のノードの最小サイズ (またはメンバー数) を指定します。ノードのデータ メンバーが 最小ノード分割サイズよりも少ない場合、そのノードはツリー内のリーフ ノードまたはエンド ノードになる必要があります。前述の 最大ツリー深度 パラメーターと同様に、ノード分割サイズが大きいほど、ツリーが小さくなります。

  • 可能な値の範囲は、1 以上の任意の整数です。

デフォルト値: 10

バギング率 各ツリーをトレーニングするときに (置換なしで) サンプリングされるトレーニング データのおおよその割合。たとえば、この値が 0.5 の場合、最初のツリーはトレーニング データセットのランダムな 50% でトレーニングされ、2 番目のツリーはトレーニング データセットの別のランダムな 50% でトレーニングされます。適切な値を指定すると、オーバー フィッティングが軽減され、モデルのパフォーマンスが向上する可能性があります。

デフォルト値: 0.5

収縮 個々のツリーに与えられる重み。この数が小さいほど、より多くのツリーが必要になる可能性があります。数値が大きいほど、必要なツリーの数は少なくなります。

デフォルト値: 0.01

トレーニング用のデータの一部 勾配ブースティング ツリーのトレーニングに使用します。データセットの残りの部分は、トレーニングの実行中に検証パフォーマンスを測定するために使用されます。これにより、トレーニング アルゴリズムが検証データセットの精度に最適なツリー数を推定できるようになります。

デフォルト値: 0.8

最適なツリーの数を返す 有効にすると、勾配ブースティング分類モデルの最適なツリー数を返します。これは、検証データセットに対して測定された最適なツリー数です (トレーニングの割合が 1 未満の場合)。

デフォルト値: はい

ターミナル ノードの微調整 デシジョン ツリー ノードを微調整すると、精度が向上する可能性があります。この数学的な詳細は、Jerome Friedman のオリジナルの勾配ブースティング論文で「TreeBoost」として説明されています。

デフォルト値: はい

ビンの最大数 (2 ~ 65536) 分類中に使用するビンの最大数。場合によっては、特にカテゴリ特徴の一意の値の数がデフォルト値を超える場合、数値が大きいほど精度が向上する可能性があります。たとえば、カテゴリー カラムの一意の値の数がこの数を超える場合、そのカラムに対して特徴ハッシュが自動的に実行されます (「特徴ハッシュ」を参照)。

使用可能な値の範囲は 2-65536 です。

デフォルト値: 256

ビン検索の最大サンプル数 数値特徴の離散化を決定するために使用されるサンプルの数。数値が大きいほど、場合によっては精度が向上する可能性があります。

デフォルト値: 5000

離散化タイプ 変数値をビンにグループ・バイするために使用するメソッド。 等しい幅の場合、値は等しい幅の間隔に分割されます。 等しい頻度の場合、値は昇順に並べ替えられ、同じ数の並べ替えられた値を含む間隔の数に分割されます。

デフォルト値: 等幅

詳細なトレーニング [はい] の場合、アルゴリズムはさらに多くのメッセージをコンソールとログに出力します。これはトラブルシューティングの際に役立ちます。

デフォルト値: いいえ

Spark チェックポイント ディレクトリ さまざまな中間 Spark 計算が保存される HDFS パス。通常、これを変更する必要はありません。

デフォルト値: @default_tempdir/tsds_ runtime/@user_name/@flow_name

デフォルト値変数の詳細については、「ワークフロー変数」を参照してください。

高度な Spark 設定の自動最適化
  • [はい] は、デフォルトの Spark 最適化設定の使用を指定します。
  • [いいえ] を選択すると、カスタマイズされた Spark 最適化を提供できます。 [設定の編集] をクリックして、Spark の最適化をカスタマイズします。詳細については、「詳細設定ダイアログ」を参照してください。

出力

ビジュアル出力
結果には、各変数がモデルに与える影響を示す変数重要度の値が表示されます。