回帰アルゴリズム regression-algorithms
このドキュメントでは、高度な統計モデルでの設定、主要なパラメーター、実際の使用方法に重点を置いて、様々な回帰アルゴリズムの概要を説明します。 回帰アルゴリズムは、従属変数と独立変数の関係をモデル化し、観測されたデータに基づいて継続的な結果を予測するために使用されます。 各セクションには、線形、ランダムフォレスト、生存回帰などのタスクに対してこれらのアルゴリズムを実装し、最適化するのに役立つパラメーターの説明とサンプルコードが含まれています。
Decision Tree 回帰 decision-tree-regression
Decision Tree learning は、統計、データマイニング、および機械学習で使用される監視付き学習方法です。 このアプローチでは、分類または回帰決定ツリーを予測モデルとして使用して、一連の観測に関する結論を導き出します。
パラメーター
次の表に、デシジョンツリーモデルのパフォーマンスを設定および最適化するための主要なパラメーターの概要を示します。
MAX_BINS
CACHE_NODE_IDS
false
の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true
の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングを高速化できます。 キャッシュをチェックポイントにする頻度を設定したり、CHECKPOINT_INTERVAL
を設定してキャッシュを無効にしたりできます。true
または false
CHECKPOINT_INTERVAL
10
に設定すると、キャッシュは 10 回ごとにチェックポイントされます。 これは、CACHE_NODE_IDS
が true
に設定され、チェックポイント・ディレクトリが org.apache.spark.SparkContext
で構成されている場合にのみ適用されます。IMPURITY
entropy
と gini
です。gini
entropy
、gini
MAX_DEPTH
0
の場合は 1 つのリーフノードが意味され、デプスが 1
の場合は 1 つの内部ノードと 2 つのリーフノードが意味されます。 深さは [0, 30]
の範囲内にする必要があります。MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
SEED
WEIGHT_COL
1.0
として扱われます。例
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Factorization Machines 回帰 factorization-machines-regression
Factorization Machines は、通常の勾配降下と AdamW ソルバをサポートする回帰学習アルゴリズムです。 アルゴリズムは、S.Rendle (2010)の論文「Factorization Machines」に基づいています。
パラメーター
次の表に、回帰のパフォーマンスを設定および最適化するための主要なパラメーター Factorization Machines 概要を示します。
TOL
1E-6
FACTOR_SIZE
FIT_INTERCEPT
true
true
、false
FIT_LINEAR
true
true
、false
INIT_STD
MAX_ITER
MINI_BATCH_FRACTION
(0, 1]
の範囲内である必要があります。(0, 1]
REG_PARAM
SEED
SOLVER
gd
(グラデーション降下)、adamW
STEP_SIZE
PREDICTION_COL
例
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Generalized Linear 回帰 generalized-linear-regression
結果が通常の(ガウス)分布に従うことを前提とする線形回帰とは異なり、Generalized Linear モデル(GLM)では、データの性質に応じて、Poisson や二項などの異なるタイプの分布に結果を従うことができます。
パラメーター
次の表に、回帰のパフォーマンスを設定および最適化するための主要なパラメーター Generalized Linear 概要を示します。
MAX_ITER
irls
を使用する場合に適用)。REG_PARAM
TOL
1E-6
AGGREGATION_DEPTH
treeAggregate
の推奨される深度。FAMILY
gaussian
、binomial
、poisson
、gamma
、tweedie
です。gaussian
, binomial
, poisson
, gamma
, tweedie
FIT_INTERCEPT
true
true
、false
LINK
identity
、log
、inverse
、logit
、probit
、cloglog
および sqrt
です。identity
, log
, inverse
, logit
, probit
, cloglog
, sqrt
LINK_POWER
1 - variancePower
に設定され、R statmod
パッケージに合わせて調整されます。 0、1、-1、および 0.5 の特定のリンク電力は、それぞれ Log、Identity、Inverse、および Sqrt リンクに対応します。SOLVER
irls
(反復的に再重み付けされた最小二乗法)。irls
VARIANCE_POWER
[1, inf)
です。 0 の分散パワー、1 の分散パワー、および 2 の分散パワーは、それぞれガウス、ポアソン、およびガンマの各ファミリに対応します。[1, inf)
LINK_PREDICTION_COL
OFFSET_COL
WEIGHT_COL
1.0
として扱われます。 二項ファミリでは、重みは試行回数に対応し、整数以外の重みは AIC 計算で四捨五入されます。例
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree 回帰 gradient-boosted-tree-regression
グラデーションブーストツリー(GBT)は、複数のデシジョンツリーの予測を組み合わせて、予測精度とモデルパフォーマンスを向上させる分類および回帰の効果的な方法です。
パラメーター
次の表に、回帰のパフォーマンスを設定および最適化するための主要なパラメーター Gradient Boosted Tree 概要を示します。
MAX_BINS
CACHE_NODE_IDS
false
の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true
の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュします。 キャッシュを使用すると、より深い木のトレーニングをスピードアップできます。false
true
、false
CHECKPOINT_INTERVAL
10
は、キャッシュが 10 回ごとにチェックポイントされることを意味します。MAX_DEPTH
0
はリーフノードが 1 つ、depth 1
は内部ノードが 1 つ、リーフノードが 2 つ存在することを意味します。MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
VALIDATION_INDICATOR_COL
false
、検証には true
を使用します。LEAF_COL
FEATURE_SUBSET_STRATEGY
auto
、all
、onethird
、sqrt
、log2
、または 0 から 1.0 の間の分数SEED
WEIGHT_COL
1.0
として扱われます。LOSS_TYPE
squared
(L2)、absolute
(L1)。 メモ:値では大文字と小文字が区別されません。STEP_SIZE
(0, 1]
のステップサイズ (学習率とも呼ばれます)は、各推定量の貢献度を小さくするために使用されます。(0, 1]
MAX_ITER
SUBSAMPLING_RATE
(0, 1]
)。(0, 1]
例
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Isotonic 回帰 isotonic-regression
Isotonic Regression は、データの非類似性の相対的な順序を維持しながら、距離を反復的に調整するために使用されるアルゴリズムです。
パラメーター
Isotonic Regression のパフォーマンスの設定と最適化のための主要なパラメーターの概要を次の表に示します。
ISOTONIC
true
ート時に等張(増加)するか、false
ート時に反張(減少)するかを指定します。true
true
、false
WEIGHT_COL
1.0
として扱われます。PREDICTION_COL
FEATURE_INDEX
featuresCol
場合に適用できます。 設定されていない場合、デフォルト値は 0
です。 それ以外の場合は、効果はありません。例
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Linear 回帰 linear-regression
Linear Regression は、従属変数と独立特性の関係をモデル化するために、線形方程式をデータに適合させる監視付き機械学習アルゴリズムです。
パラメーター
Linear Regression のパフォーマンスの設定と最適化のための主要なパラメーターの概要を次の表に示します。
MAX_ITER
REGPARAM
ELASTICNETPARAM
例
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression は、トレーニング中に複数のデシジョンツリーを構築し、回帰タスクに関するそれらのツリーの平均予測を返すアンサンブルアルゴリズムで、オーバーフィッティングを防ぐのに役立ちます。
パラメーター
Random Forest Regression のパフォーマンスの設定と最適化のための主要なパラメーターの概要を次の表に示します。
MAX_BINS
CACHE_NODE_IDS
false
の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true
の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングが迅速になります。false
true
、false
CHECKPOINT_INTERVAL
10
は、キャッシュが 10 回ごとにチェックポイントされることを意味します。IMPURITY
entropy
、gini
MAX_DEPTH
0
は 1 つのリーフノードを意味し、depth 1
は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
BOOTSTRAP
true
、false
NUM_TREES
1
の場合、ブートストラップは使用されません。 1
より大きい場合は、ブートストラップが適用されます。SUBSAMPLING_RATE
(0, 1]
)。LEAF_COL
PREDICTION_COL
SEED
WEIGHT_COL
1.0
として扱われます。例
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression は、Weibull distribution に基づいて、Accelerated Failure Time (AFT)モデルと呼ばれるパラメトリックサバイバル回帰モデルに適合させるために使用されます。 パフォーマンスを向上させるために、インスタンスをブロックにスタックできます。
パラメーター
Survival Regression のパフォーマンスの設定と最適化のための主要なパラメーターの概要を次の表に示します。
MAX_ITER
TOL
1E-6
AGGREGATION_DEPTH
treeAggregate
の推奨される深度。 フィーチャーの寸法または分割数が大きい場合、このパラメータはより大きな値に設定できます。FIT_INTERCEPT
true
、false
PREDICTION_COL
CENSOR_COL
1
の場合は、イベントが発生(無修正)したことを示し、0
の場合は、イベントが検閲されたことを意味します。MAX_BLOCK_SIZE_IN_MB
0
の場合、自動調整が可能です。例
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
次の手順
このドキュメントでは、様々な回帰アルゴリズムの設定方法と使用方法を確認しました。 次に、他のタイプの高度な統計モデルについて詳しくは、 分類および クラスタリングに関するドキュメントを参照してください。