このトピックでは、勾配ブースト回帰ツリー (GBRT) アルゴリズムについて説明します。
背景情報
GBRTアルゴリズムは、ブースティングファミリのメンバーです。 前方分布アルゴリズムを使用しますが、弱学習器はCART回帰ツリーモデルに限定されます。 順方向分布アルゴリズムの哲学: 損失関数を最小化するために、現在のモデルおよびフィッティング関数に基づいて、適切な決定木関数が選択される。
GBRTは次の部分で構成されています。
回帰木 (RT): 決定木カテゴリの1つ。 実際の値を予測するために使用されます。 GBRTは、多重回帰木からなる反復回帰木アルゴリズムである。 すべての回帰木の結論は、最終結果を得るために蓄積される。
勾配ブースティング (GB): 最終結果は、複数のツリーを反復することによって決定される。 各ツリーは、前のツリーの結論および残差から学習する。
シナリオ
GBRTは、値をフィッティングするために主に使用される回帰モデルです。
GBRTは疫学に適用できます。 例えば、ヒトの死亡率および罹患率の初期の証拠は、回帰分析の観察研究から得られる。 死亡率 (または罹患率) がy_cols
であり、適合される変数である回帰モデルがあると仮定すると、社会経済的地位、教育、または所得をその従属変数として使用することができる。
パラメーター
次の表に示すパラメーターの値は、モデルの作成に使用されるCREATE model
ステートメントで指定されたmodel_parameter
パラメーターの値と同じです。 ビジネス要件に基づいてパラメーターを設定できます。
パラメーター | 説明 |
n_estimators | 反復回数。 反復回数が多いほど、より良好なフィッティングを示す。 通常は正の整数です。 デフォルト値は 100 です。 |
客観的 | 学習タスクとその学習目的。 有効な値:
|
max_depth | ツリーの最大深さ。 デフォルト値 : 7 説明 このパラメーターが-1に設定されている場合、ツリーの深さは指定されません。 このパラメーターは、オーバーフィッティングを防ぐために注意して指定することを推奨します。 |
random_state | ランダムな状態。 このパラメータは通常正の整数です。 デフォルト値:1 |
例
GBRTモデルを作成します。
/*polar4ai*/CREATE MODEL gbrt1 WITH
( model_class = 'gbrt', x_cols = 'dx1,dx2', y_cols='y',
model_parameter=(objective='ls')) AS (SELECT * FROM db4ai.testdata1);
モデルを評価します。
/*polar4ai*/SELECT dx1,dx2 FROM EVALUATE(MODEL gbrt1,
SELECT * FROM db4ai.testdata1 LIMIT 10) WITH
(x_cols = 'dx1,dx2',y_cols='y',metrics='r2_score');
予測にモデルを使用します。
/*polar4ai*/SELECT dx1,dx2 FROM
PREDICT(MODEL gbrt1, SELECT * FROM db4ai.testdata1 LIMIT 10)
WITH (x_cols = 'dx1,dx2');
x_cols
およびy_cols
のデータ型は、浮動小数点または整数である必要があります。