Boosted Model Tool Icon

勾配ブースティングツール

Version:
Current
Last modified: March 11, 2020

勾配ブースティングツールは、勾配ブースティング法に基づいて、一般化されたブースト回帰モデルを作成します。このモデルは、適切な損失関数を最小限に抑えるために、単純な決定木モデルをモデルアンサンブルに連続的に追加することによって作成されます。これらのモデルは次のような統計的学習方法を使用します。

  • フィールドのどのサブセットがターゲットフィールドを最もよく予測するかを自己決定します。
  • フィールド間の非線形の関係や相互作用を捕捉することができます。
  • 広範な回帰および分類の問題に自動的に対処できます。

分類、カウントデータ、および連続ターゲット回帰問題で勾配ブースティングツールを使用します。

このツールは R ツールを使用します。オプション > 予測ツールのダウンロードに移動し、Alteryx ダウンロードとライセンスポータルにサインインして、R ツールで使用されるパッケージと R ツールをインストールします。参照: 予測ツールのダウンロードとご使用

入力を接続

勾配ブースティングツールでは、次を含む入力データストリームが必要です。

  • 関心のあるターゲットフィールド
  • 2 つ以上の予測フィールド

モデルの推定で使用されるパッケージは、入力データストリームによって異なります。

  • Alteryx データストリームは、オープンソースの R gbm 関数を使用します。
  • XDF メタデータストリームは、XDF 入力ツールまたは XDF 出力ツールのいずれかから来て、RevoScaleR rxBTrees 関数を使用します。
  • SQL server In-DB のデータストリームは、rxBTrees 関数を使用します。
  • Microsoft Machine Learning Server のインストールでは、SQL Server データベースまたは Teradata データベースのデータにて RevoScaleR rxBTrees 関数を使用します。これには、ローカルマシンとサーバーを Microsoft Machine Learning Server で構成する必要があります。これにより、データベースサーバーでの処理が可能になり、パフォーマンスが大幅に向上します。

アルゴリズムのパフォーマンス

オープンソースの R 関数と比較して、RevoScaleR ベースの関数はより大きなデータセットを解析できます。しかし、RevoScaleR ベースの関数は XDF ファイルを作成する必要があり、オーバーヘッドコストが増加し、データをより多く通過させるアルゴリズムを使用し、実行時間を増加させ、一部のモデル診断出力を作成することはできないという面があります。

標準処理のツール設定

  • 必須パラメーター: 勾配ブースティングモデルを生成するために必要な基本フィールド。
    • 必要なモデルパラメーターの設定
      • モデル名: 他のツールから参照できるモデルの名前。モデル名または接頭辞は文字で始まり、文字、数字、および特殊文字ピリオド "." とアンダースコア "_" を含む必要があります。R は大文字小文字を区別します。
      • ターゲット変数の選択: 予測されるデータフィールドであり、応答または従属変数とも呼ばれます。
      • 予測フィールド: データフィールドは、ターゲット変数の値に影響を与えるために使用され、これは、機能または独立変数とも呼ばれます。2 つの予測フィールドが最低限必要ですが、選択される予測フィールドの数に上限はありません。ターゲット変数自体をターゲット値の計算に使用できないため、ターゲットフィールドを予測フィールドに含めることはできません。
        サロゲート主キーやナチュラル主キーなどの固有識別子を含む列は、統計分析で使用しないでください。これらの列は予測値がなく、ランタイム系例外を引き起こす可能性があります。
      • モデル推定でサンプリングウェイトを使用: モデル推定を作成するときに、各レコードの重要度を重み付けするフィールドを選択できるオプション。
        フィールドが予測値とサンプルウェイトの両方として使用されている場合、出力ウェイト変数フィールドには "Right_" が付加されます。
        • サンプリング重み付けフィールドの選択: レコードの重み付けに使用するフィールド。
      • マージナル効果プロットを含めますか?: 予測変数とターゲットの関係を示すプロットをレポートに含めるオプションで、他の予測フィールドの効果を平均化します。
        • プロットに含めるフィールドの最小重要度: マージナル効果プロットに含める変数の最小予測力を示すパーセンテージ値。パーセンテージが高いほど、生成されるマージナル効果プロットの数が減ります。
  • モデルのカスタマイズ: ターゲットと決定木の管理方法に基づいて出力モデルをカスタマイズするオプションの設定。
    • モデル設定のカスタマイズ

      これらのオプションは、モデル設定を変更するために使用できます。

      • ターゲットの種類と損失関数の分布を指定: ターゲットフィールドのデータのカテゴリと、モデルの作成を最適化するために機能する関連関数。

        • 連続ターゲット:店舗ごとの年間売上高など、特定の固有値が、インスタンス全体のわずかな割合を占める数値ターゲット。
          連続ターゲットの場合は、次のいずれかの分布に基づいて損失関数を最小化します。

          • ガウシアン (二乗誤差損失)

          • ラプラス (絶対値損失)

          • t分布損失

        • カウント (整数) ターゲット:最もユニークな値が、1 年間に医師の診察を受けた回数など、インスタンス全体の大部分を占める数値ターゲット。
          カウントターゲットの場合は、ポアソン分布に基づいて損失関数を最小化します。

        • バイナリ (2 つの結果) カテゴリ別: yes-no 分類など、2 つの可能な結果を持つカテゴリ別ターゲット。
          バイナリカテゴリターゲットの場合は、次のいずれかの分布に基づいて損失関数を最小化します。

          • ベルヌーイ (ロジスティック回帰)

          • AdaBoost (指数関数的損失)

        • 多項式 (3 つ以上の結果) カテゴリ別: A、B、C の分類など、限られた不連続な結果の数を持つカテゴリ別ターゲットフィールド。
          多項式カテゴリ別ターゲットの場合、ベルヌーイ損失関数の多項式の一般化である多項ロジスティック損失関数に基づいて損失関数を最小化します。

        • モデル内のツリーの最大数: アルゴリズムが最終的なモデルに含めることができる決定木の数。デフォルト値は 4000 です。ツリーの数が多いほど実行時間が長くなります。

        • モデル内のツリーの最終的な数を決定する方法: サンプルデータをオーバーフィットさせずに予測動作を適切にキャプチャする決定木の数を決定するために使用する方法。

          • クロス検証: 利用可能な情報を効率的に使用する検証方法。データが限られている場合に推奨されます。

            • クロス検証フォールドの数: データが検証またはトレーニングのために分割されるサブサンプルの数。デフォルト値は 5 です。一般的な値は 5 と 10 です。

              • 5 フォールドの場合、データは 5 つのユニークなサブサンプルに分割されます。そして、5つの異なるモデルが作成され、それぞれが 4 つのサブサンプルからのデータを使用します。最終的なサブサンプルは、モデル作成から差し引かれ、予測精度をテストするために使用されます。

            • クロス検証で使用するマシンコアの数:分析で使用されるマシンコアの数。デフォルト値は 1 です。使用する数は、常に使用可能なコアの数より少なくする必要があります。計算速度を向上させるには、使用するコアの数を増やします。

          • テスト (検証) サンプル: トレーニングデータからサンプルを取得する検証方法。多くのレコードがある場合に推奨されます。

            • 推定 (トレーニング) サンプルの割合: トレーニングサンプルで使用されるレコードの割合と、テストサンプルで使用される残りの割合。デフォルト値は 50 です。一般的な値は 50% と 75% です。レコードの 50% がトレーニングサンプルで使用される場合、残りの 50% が予測精度のテストに使用されます。

          • Out-of-bag: モデル作成で除外されたレコードを使用する検証方法。

        • Out-of-bag サンプルで使用される観測値の割合: オーバーフィットを避けるために、モードに含める適切なツリー数を導くために使用されるサンプリングの割合。デフォルト値は 50% です。一般的な値は 25 - 50%です。

        • 収縮: モデルに追加された各ツリーにウェイトを配置するために使用される 0 から 1 の値。デフォルト値は .0020 です。値を小さくするほど、モデルに含まれるツリーが増え、実行時間が長くなります。
          小さな収縮値は、ツリーの最適数を保証するために、決定木の最大数の設定値を必要とする場合があります。

        • 相互作用の深さ: 予測フィールド間の相互作用のレベル。例えば、3 方向の相互作用は、1 つの予測子が 他の 2 つの予測子に依存してターゲットフィールドへの影響を判断することを示します。デフォルト値は線形で、予測フィールド間の相互作用がないことを前提としています。深さを増やすと実行時間が長くなります。

        • 各ツリーノードに必要なオブジェクトの最小数: 別の決定木を追加する前に、決定木が十分なサイズであることを検証するパラメーター。デフォルト値は 10 です。値を大きくすると決定木が小さくなります。

        • ランダムシード値: ランダムサンプリングの Sequence draws を決定する値。これにより、選択方法はランダムでデータに依存しないが、データ内の同じレコードが選択されます。Ranom draws のシーケンスを変更するには、値を変更します。

      • グラフィックオプション: 出力グラフの設定。カスタマイズしない限り、デフォルト値が使用されます。

        • 出力グラフの設定

          • プロットサイズ: 出力グラフのサイズ。単位を選択し、幅と高さの値を設定します。

          • グラフの解像度: グラフの解像度を 1 インチあたりのドット数: 1x (96 dpi)、2x (192 dpi)、3x (288 dpi) で選択します。解像度を低くするとファイルサイズが小さくなり、モニターでの表示に最適です。解像度を高くするとファイルサイズが大きくなり、印刷品質は向上します。

          • ベースフォントサイズ (ポイント): ポイント単位のフォントサイズ。

In-DB 処理のツール設定

勾配ブースティングツールは、Microsoft SQL Server 2016の In-DB 処理をサポートします。In-DB のサポートとツールの詳細については、In-DB の概要を参照してください。

勾配ブースティングツールの In-DB バージョンにアクセスするには:

  • キャンバスに勾配ブースティングツールを配置します。勾配ブースティングツールは自動的に勾配ブースティング In-DBに変更されます。
  • 勾配ブースティングツールを右クリックし、ツールバージョン の選択 から、勾配ブースティングIn-DBを選択します。

予測 In-DB のサポートの詳細については、予測分析を参照してください。

  • 必須パラメーター: 勾配ブースティングを生成するために必要な基本フィールド。
    • 必要なモデルパラメーターの設定
      • 作成された各モデルには、他のツールで参照できる名前が必要です。In-DB 処理では、2 つのモデル名の作成方法が可能です。
        • 特定のモデル名: ユーザーが決定したモデル名。モデル名または接頭辞は文字で始まり、文字、数字、および特殊文字ピリオド "." とアンダースコア "_"を含む必要があります。R は大文字小文字を区別します。
        • 生成されたモデル名: モデル名が自動的に生成されます。
      • ターゲット変数の選択: 予測されるデータフィールドであり、応答または従属変数とも呼ばれます。
      • 予測変数の選択: ターゲット変数の値に影響を与えるために使用されるデータフィールドで、機能または独立変数とも呼ばれます。2つの予測値が最低限必要ですが、使用される予測値の数に上限はありません。ターゲット変数自体をターゲット値の計算に使用できないため、ターゲットフィールドを予測フィールドに含めることはできません。
        サロゲート主キーやナチュラル主キーなどの固有識別子を含む列は、統計分析で使用しないでください。これらの列は予測値がなく、ランタイム系例外を引き起こす可能性があります。
      • モデル推定でサンプリング重み付けを使用: モデル推定を作成するときに、各レコードの重要度を重み付けするフィールドを選択できるオプション。
        フィールドが予測値とサンプルウェイトの両方として使用されている場合、出力ウェイト変数フィールドには "Right_" が付加されます。
      • サンプリング重みフィールドの選択: レコードの重み付けに使用するフィールド。
  • モデルのカスタマイズ: ターゲットと決定木の管理方法に基づいて出力モデルをカスタマイズするオプションの設定。
    • モデル設定のカスタマイズ
      このオプションは、モデル設定を変更するのに使用できます。
      • ターゲットのタイプと損失関数の分布を指定する。
        • 連続ターゲット: 指定されたユニーク値に、店舗ごとの年間売上高など、インスタンス全体の小さな割合が含まれる数値ターゲット。
          連続ターゲットの場合、ガウス分布に基づいて損失関数を最小化します。
        • バイナリカテゴリ別ターゲット: 「はい」、「いいえ」の分類など、2つの可能な結果を持つカテゴリ別ターゲット。
          バイナリカテゴリ別ターゲットの場合、ベルヌーイ分布に基づいて損失関数を最小化します。
        • 多項式カテゴリ別ターゲット: A、B、C 分類などの離散的な結果の数が限られたカテゴリ別ターゲットフィールド。
          多項式カテゴリ別ターゲットの場合、ベルヌーイ損失関数の多項式の一般化である多項ロジスティック損失関数に基づいて損失関数を最小化します。
      • モデル内のツリーの最大数: アルゴリズムが最終的なモデルに含めることができる決定木の数。デフォルト値は 4000 です。ツリーの数が多いほど実行時間が長くなります。
      • Out-of-bag サンプルで使用される観測の割合: 含まれる決定木の数を減らすために使用されるサンプリングの割合。デフォルト値は 50% です。一般的な値は 25 - 50%です。
      • 収縮重量: モデルに追加された各ツリーにウェイトを配置するために使用する 0 から 1 の値。デフォルト値は .0020 です。値を小さくするほど、モデルに含まれるツリーが増え、実行時間が長くなります。
        小さな収縮値は、ツリーの最適数を保証するために、決定木の最大数の設定値を必要とする場合があります。
      • ツリーサイズ: 標準の勾配ブースティングツールでデフォルトのツリーサイズ設定を模倣するには、デフォルト値を使用します。詳細な情報については、rxBTrees コントロールを参照してください。
        • maxDepth: ツリーノードの最大深度 [1000]
        • minBucket: 末端ノード (またはリーフ) における最低限必要な観測数 [10]
        • minSplit: 分割が試行される前にノードに存在しなければならない観測の最小数[minBucket * 2]
      • ランダムシード値: ランダムサンプリングのシーケンスを決定する値。これにより、選択方法はランダムでデータに依存しないが、データ内の同じレコードが選択されます。ランダムシーケンスを変更するには、値を変更します。
  • グラフィックスオプション: 出力グラフの設定。カスタマイズしない限り、デフォルト値が使用されます。
    • 出力グラフの設定
      • プロットサイズ: 単位を選択し、幅と高さの値を設定します。
      • グラフ解像度 : グラフの解像度を 1 インチあたりのドット数: 1x (96 dpi)、2x (192 dpi)、または 3x (288 dpi) で選択します。解像度を低くするとファイルサイズが小さくなり、モニターでの表示に最適です。解像度を高くするとファイルサイズが大きくなり、印刷品質は向上します。
      • ベースフォントサイズ (ポイント): ポイント単位のフォントサイズ。

出力を表示

各出力アンカーに閲覧ツールを接続して、結果を表示します。

  • Oアンカー: 結果ウィンドウにモデル名とサイズを出力します。
  • Rアンカー: 概要と設定されたプロットを含むモデルのレポートを表示します。
Was This Helpful?

Running into problems or issues with your Alteryx product? Visit the Alteryx Community or contact support.