勾配ブースティングツール
ツールごとに学習
勾配ブースティングツールには、「ツールごとに学習」が用意されています。サンプルワークフロー を参照して、Alteryx Designerでこのサンプルやその他の多くのサンプルに直接アクセスする方法を確認してください。
勾配ブースティングを使用して、勾配ブースティング法に基づいて一般化されたブースト回帰モデルを作成します。このモデルは、適切な損失関数を最小限に抑えるために、単純な決定木モデルをアンサンブル学習モデルに連続的に追加することによって作成されます。これらのモデルは次のような統計的学習方法を使用します。
フィールドのどのサブセットがターゲットフィールドを最もよく予測するかを自己決定します。
フィールド間の非線形の関係や相互作用を捕捉することができます。
広範な回帰および分類の問題に自動的に対処できます。
分類、カウントデータ、および連続ターゲット回帰問題で勾配ブースティングツールを使用します。
このツールはRツールを使用します。オプション > 予測ツールをダウンロード の順に進み、Alteryx Downloads and Licenses ポータルにサインインして、R と R ツール で使用されるパッケージをインストールします。予測ツールのダウンロードと使用 を参照してください。
入力を接続
勾配ブースティングツールは、以下の入力データストリームが必要です。
対象のターゲットフィールド
2 つ以上の予測因子フィールド
モデルの推定で使用されるパッケージは、入力データストリームによって異なります。
Alteryx データストリームは、オープンソースの R gbm 関数を使用します。
XDF 入力ツールまたは XDF 出力ツールのいずれかから渡される、XDF メタデータストリームは、RevoScaleR rxBTrees 関数を使用します。
SQL Serverインデータベースのデータストリームから取り込まれたデータは、rxBTrees関数を使用します。
Microsoft Machine Learning Serverをインストールすると、SQL ServerデータベースまたはTeradataデータベースのデータに対してRevoScaleR rxBTrees関数を活用できます。これには、ローカルマシンとサーバーを Microsoft Machine Learning Server で構成する必要があります。これにより、データベースサーバー上での処理が可能になり、パフォーマンスが大幅に向上します。
アルゴリズムのパフォーマンス
オープンソースの R 関数と比較して、RevoScaleR ベースの関数はより大きなデータセットを解析できます。しかし、RevoScaleR ベースの関数は XDF ファイルを作成する必要があり、オーバーヘッドコストが増加し、またデータをより多く通過させるアルゴリズムを使用するため実行時間が長くなり、そして一部のモデル診断出力を作成することはできないという面があります。
標準処理のためのツール設定
[必須パラメーター] タブ
勾配ブースティングモデルを生成するために必要な基本フィールドがあります。必要なモデルパラメーターの設定:
モデル名: 他のツールから参照できるモデルの名前。モデル名または接頭辞は文字で始まる必要があり、文字、数字、および特殊文字ピリオド(.)とアンダースコア(_)を含むことができます。Rは大文字小文字を区別します。
ターゲットフィールドを選択: 予測されるデータフィールドであり、応答または従属変数とも呼ばれます。
予測フィールド: データフィールドは、ターゲット変数の値に影響を与えるために使用され、これは、機能または独立変数とも呼ばれます。少なくとも2つの予測フィールドが必要ですが、選択できる予測フィールドの数に上限はありません。ターゲット変数自体をターゲット値の計算に使用すべきではないため、ターゲットフィールドを予測フィールドに含めるべきではありません。サロゲート主キーやナチュラル主キーなどの固有識別子を含む列は、統計分析で使用しないでください。これらの列は予測値がなく、実行時の例外処理を引き起こす可能性があります。
モデル推定にサンプリング重み付けを使用しますか?: モデル推定を作成するときに、各レコードの重要度を重み付けするフィールドを選択できるオプション。フィールドが予測値とサンプル重み付けの両方として使用されている場合、出力重み変数フィールドには「Right_」が付加されます。[サンプリング重み付けフィールドの選択]ドロップダウンを使用して、レコードの重み付けに使用するフィールドを選択します。
限界効果プロットを含めますか?: 予測変数とターゲットの関係を示すプロットをレポートに含めるオプションで、他の予測フィールドの効果を平均化します。プロットに含めるフィールドの最小重要度を使用して、限界効果プロットに含める変数の最小予測力を示すパーセンテージ値を設定します。パーセンテージが高いほど、生成される限界効果プロットの数が減ります。
[モデルのカスタマイズ] タブ
ターゲットと決定木の管理方法に基づいて出力モデルをカスタマイズするオプション設定。このオプションは、モデル設定を変更するのに使用できます。
ターゲットの種類と損失関数分布を指定: ターゲットフィールドのデータのカテゴリと、モデルの作成を最適化するために用いる随伴関数を指定します。
連続ターゲット: 店舗ごとの年間売上高など、特定の固有値が、インスタンス全体の少ない割合を占める数値ターゲット。連続ターゲットの場合は、これらの分布のいずれかに基づいて損失関数を最小化します。
ガウシアン(二乗誤差損失)
ラプラス(絶対値損失)
t分布損失
カウント(整数)ターゲット: ほとんどの固有値が、インスタンス全体の大部分を占める数値ターゲット。例えば、一人の人が1年間に病院へ行く回数など。カウントターゲットの場合は、ポアソン分布に基づいて損失関数を最小化します。
バイナリ (2つの結果) カテゴリ: はい-いいえの分類など、2つの可能な結果を持つカテゴリターゲット。バイナリカテゴリターゲットの場合は、次のいずれかの分布に基づいて損失関数を最小化します。
ベルヌーイ(ロジスティック回帰)
AdaBoost (指数関数的損失)
多項式(3つ以上の結果)カテゴリ: ABC分類など、離散的な結果の数が限られているカテゴリターゲットフィールド。多項式カテゴリターゲットの場合、ベルヌーイ損失関数の多項式の一般化である多項ロジスティック損失関数に基づいて、損失関数を最小化します。
モデル内のツリーの最大数: アルゴリズムが最終的なモデルに含めることができる決定木の数。既定値は4000です。ツリーの数が多いほど実行時間が長くなります。
モデル内の最終的なツリー数を決定する方法: サンプルデータを過学習することなく予測動作を適切に捉えるのに十分な決定木の数を決定するための方法。
クロスバリデーション: 利用可能な情報を効率的に使用する検証方法。データが限られている場合に推奨されます。
クロスバリデーションフォールド数: 検証またはトレーニングのためにデータが分割されるサブサンプルの数。既定値は5です。一般的な値は5と10です。フォールドが5の場合、データは5つのユニークなサブサンプルに分割されます。そして、5つの異なるモデルが作成され、それぞれが4つのサブサンプルからのデータを使用します。最後の1つのサブサンプルはモデル作成には使われず、予測精度をテストするために使用されます。
クロスバリデーションで使用するマシンコアの数: 解析で使用するマシンコアの数。既定値は1です。使用する数は、常に使用可能なコアの数より少なくする必要があります。計算速度を向上させるには、使用するコアの数を増やします。
テスト (検証) サンプル: トレーニングデータからサンプルを取り出す検証方法。多くのレコードがある場合に推奨されます。[推定(トレーニング)サンプルの割合]を使用して、トレーニングサンプルで使用するレコードの割合を設定します。残りはテストサンプルで使用されます。既定値は50です。一般的な値は50%と75%です。レコードの50%がトレーニングサンプルで使用される場合、残りの50%は予測精度のテストに使用されます。
Out-of-bag: モデル作成で除外されたレコードを使用する検証方法。
Out-of-bagサンプリングで使用されるオブザベーションの割合: 過学習を回避するためにモデルに含める適切なツリー数を導くために使用するサンプリング割合。既定値は50%です。一般的な値は25~50%です。
収縮: モデルに追加された各ツリーに重みを配置するために使用する 0から 1 の値。既定値は .0020です。値を小さくするほど、モデルに含まれるツリーが増え、実行時間が長くなります。収縮値が小さい場合は、決定木を規定の最大数にしてツリーの最適数を保証しなければならない可能性があります。
相互作用の深さ: 予測フィールド間の相互作用のレベル。例えば、3方向の相互作用は、1つの予測因子が他の2つの予測因子に依存してターゲットフィールドへの影響を判断することを示します。既定値は線形であり、予測フィールド間の相互作用がないことを前提としています。深さを増やすと実行時間が長くなります。
各ツリーノード内のオブジェクトの最小必要数: 別の決定木の追加を許可する前に、決定木が十分な大きさであることを検証するパラメータ。既定は10です。値を大きくすると決定木が小さくなります。
ランダムシード値: ランダムサンプリングの順序を決定する値。これにより、選択方法はランダムでデータに依存しないが、データ内の同じレコードが選択されます。ランダム抽出のシーケンスを変更するには、値を変更します。
[グラフィックオプション] タブ
出力グラフの設定。カスタマイズしない限り、既定値が使用されます。
プロットサイズ: 出力グラフのサイズ。単位を選択し、幅と高さの値を設定します。
グラフの解像度: グラフの解像度を 1 インチあたりのドット数で選択します: 1x (96 dpi)、2x (192 dpi)、3x (288 dpi)
解像度を低くするとファイルサイズが小さくなり、モニターでの表示に最適です。
解像度を高くするとファイルサイズが大きくなり、印刷品質が向上します。
ベースフォントサイズ (ポイント): ポイント単位のフォントサイズ。
インデータベース処理のためのツール設定
勾配ブースティングは、Microsoft SQL Server 2016のインデータベース処理をサポートします。インデータベースのサポートとツールの詳細については、インデータベースの概要 を参照してください。
勾配ブースティングツールの In-DB バージョンにアクセスするには:
キャンバスにインデータベースツールを配置します。勾配ブースティングは自動的に勾配ブースティングIn-DBに変更されます。
[勾配ブースティングツール]を右クリックし、[ツールバージョンの選択]を指定して、[勾配ブースティングIn-DB]を選択します。
予測インデータベースのサポートの詳細については、予測分析 を参照してください。
[必須パラメーター] タブ
勾配ブースティングモデルを生成するために必要な基本フィールド。
作成した各モデルには、他のツールで参照するための名前が必要です。In-DB処理では、2つのモデル名の作成方法が可能です:
特定のモデル名: ユーザーが決定したモデル名。モデル名または接頭辞は文字で始まる必要があり、文字、数字、および特殊文字ピリオド(.)とアンダースコア(_)を含むことができます。Rは大文字小文字を区別します。
モデル名を自動的に生成する: モデル名が自動的に生成されます。
ターゲットフィールドの選択: 予測対象のデータフィールドであり、応答または従属変数とも呼ばれます。
予測変数の選択: ターゲット変数の値に影響を与えるために使用されるデータフィールドで、機能または独立変数とも呼ばれます。少なくとも2つの予測値が必要ですが、使用できる予測値の数に上限はありません。ターゲット変数自体をターゲット値の計算に使用すべきではないため、ターゲットフィールドを予測フィールドに含めるべきではありません。サロゲート主キーやナチュラル主キーなどの固有識別子を含む列は、統計分析で使用しないでください。これらの列は予測値がなく、実行時の例外処理を引き起こす可能性があります。
モデル推定にサンプリングの重み付けを使用しますか: モデル推定を作成するときに、各レコードの重要度を重み付けするフィールドを選択できるオプション。フィールドが予測値とサンプル重み付けの両方として使用されている場合、出力重み変数フィールドには「Right_」が付加されます。[サンプリング重み付けフィールドの選択]ドロップダウンを使用して、レコードの重み付けに使用するフィールドを選択します。
[モデルのカスタマイズ] タブ
ターゲットと決定木の管理方法に基づいて出力モデルをカスタマイズするオプション設定。このオプションは、モデル設定を変更するのに使用できます。
ターゲットのタイプと損失関数の分布を指定する:
連続ターゲット: 指定された一意の値に、ストアごとの年間売上など、インスタンス全体の小さな割合が含まれている数値ターゲット。
連続ターゲットの場合、ガウス分布に基づいて損失関数を最小化します。
バイナリカテゴリターゲット:はい-いいえの分類など、2つの可能な結果を持つカテゴリターゲット。
バイナリカテゴリターゲットの場合、ベルヌーイ分布に基づいて損失関数を最小化します。
多項式カテゴリターゲット: A、B、C 分類など、離散的な結果の数が限られたカテゴリターゲットフィールド。
多項式カテゴリターゲットの場合、ベルヌーイ損失関数の多項式の一般化である多項ロジスティック損失関数に基づいて、損失関数を最小化します。
モデル内のツリーの最大数: アルゴリズムが最終的なモデルに含めることができる決定木の数。既定値は4000です。ツリーの数が多いほど実行時間が長くなります。
Out-of-bagサンプルで使用されるオブザベーションの割合: 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アンカー: 概要と構成されたプロットを含むモデルのレポートを表示します。