回帰アルゴリズム regression-algorithms
このドキュメントでは、高度な統計モデルでの設定、主要なパラメーター、実際の使用方法に重点を置いて、様々な回帰アルゴリズムの概要を説明します。 回帰アルゴリズムは、従属変数と独立変数の関係をモデル化し、観測されたデータに基づいて継続的な結果を予測するために使用されます。 各セクションには、線形、ランダムフォレスト、生存回帰などのタスクに対してこれらのアルゴリズムを実装し、最適化するのに役立つパラメーターの説明とサンプルコードが含まれています。
Decision Tree 回帰 decision-tree-regression
Decision Tree learning は、統計、データマイニング、および機械学習で使用される監視付き学習方法です。 このアプローチでは、分類または回帰決定ツリーを予測モデルとして使用して、一連の観測に関する結論を導き出します。
パラメーター
次の表に、デシジョンツリーモデルのパフォーマンスを設定および最適化するための主要なパラメーターの概要を示します。
MAX_BINSCACHE_NODE_IDSfalse の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングを高速化できます。 キャッシュをチェックポイントにする頻度を設定したり、CHECKPOINT_INTERVAL を設定してキャッシュを無効にしたりできます。true または falseCHECKPOINT_INTERVAL10 に設定すると、キャッシュは 10 回ごとにチェックポイントされます。 これは、CACHE_NODE_IDS が true に設定され、チェックポイント・ディレクトリが org.apache.spark.SparkContext で構成されている場合にのみ適用されます。IMPURITYentropy と gini です。ginientropy、giniMAX_DEPTH0 の場合は 1 つのリーフノードが意味され、デプスが 1 の場合は 1 つの内部ノードと 2 つのリーフノードが意味されます。 深さは [0, 30] の範囲内にする必要があります。MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.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 概要を示します。
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue、falseFIT_LINEARtruetrue、falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1] の範囲内である必要があります。(0, 1]REG_PARAMSEEDSOLVERgd (グラデーション降下)、adamWSTEP_SIZEPREDICTION_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_ITERirls を使用する場合に適用)。REG_PARAMTOL1E-6AGGREGATION_DEPTHtreeAggregate の推奨される深度。FAMILYgaussian、binomial、poisson、gamma、tweedie です。gaussian, binomial, poisson, gamma, tweedieFIT_INTERCEPTtruetrue、falseLINKidentity、log、inverse、logit、probit、cloglog および sqrt です。identity, log, inverse, logit, probit, cloglog, sqrtLINK_POWER1 - variancePower に設定され、R statmod パッケージに合わせて調整されます。 0、1、-1、および 0.5 の特定のリンク電力は、それぞれ Log、Identity、Inverse、および Sqrt リンクに対応します。SOLVERirls (反復的に再重み付けされた最小二乗法)。irlsVARIANCE_POWER[1, inf) です。 0 の分散パワー、1 の分散パワー、および 2 の分散パワーは、それぞれガウス、ポアソン、およびガンマの各ファミリに対応します。[1, inf)LINK_PREDICTION_COLOFFSET_COLWEIGHT_COL1.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_BINSCACHE_NODE_IDSfalse の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュします。 キャッシュを使用すると、より深い木のトレーニングをスピードアップできます。falsetrue、falseCHECKPOINT_INTERVAL10 は、キャッシュが 10 回ごとにチェックポイントされることを意味します。MAX_DEPTH0 はリーフノードが 1 つ、depth 1 は内部ノードが 1 つ、リーフノードが 2 つ存在することを意味します。MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse、検証には true を使用します。LEAF_COLFEATURE_SUBSET_STRATEGYauto、all、onethird、sqrt、log2、または 0 から 1.0 の間の分数SEEDWEIGHT_COL1.0 として扱われます。LOSS_TYPEsquared (L2)、absolute (L1)。 メモ:値では大文字と小文字が区別されません。STEP_SIZE(0, 1] のステップサイズ (学習率とも呼ばれます)は、各推定量の貢献度を小さくするために使用されます。(0, 1]MAX_ITERSUBSAMPLING_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 のパフォーマンスの設定と最適化のための主要なパラメーターの概要を次の表に示します。
ISOTONICtrue ート時に等張(増加)するか、false ート時に反張(減少)するかを指定します。truetrue、falseWEIGHT_COL1.0 として扱われます。PREDICTION_COLFEATURE_INDEXfeaturesCol 場合に適用できます。 設定されていない場合、デフォルト値は 0 です。 それ以外の場合は、効果はありません。例
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Linear 回帰 linear-regression
Linear Regression は、従属変数と独立特性の関係をモデル化するために、線形方程式をデータに適合させる監視付き機械学習アルゴリズムです。
パラメーター
Linear Regression のパフォーマンスの設定と最適化のための主要なパラメーターの概要を次の表に示します。
MAX_ITERREGPARAMELASTICNETPARAM例
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_BINSCACHE_NODE_IDSfalse の場合、アルゴリズムによってツリーがエグゼキューターに渡され、インスタンスとノードが一致します。 true の場合、アルゴリズムはインスタンスごとにノード ID をキャッシュするので、より深いツリーのトレーニングが迅速になります。falsetrue、falseCHECKPOINT_INTERVAL10 は、キャッシュが 10 回ごとにチェックポイントされることを意味します。IMPURITYentropy、giniMAX_DEPTH0 は 1 つのリーフノードを意味し、depth 1 は 1 つの内部ノードと 2 つのリーフノードを意味します。MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBBOOTSTRAPtrue、falseNUM_TREES1 の場合、ブートストラップは使用されません。 1 より大きい場合は、ブートストラップが適用されます。SUBSAMPLING_RATE(0, 1])。LEAF_COLPREDICTION_COLSEEDWEIGHT_COL1.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_ITERTOL1E-6AGGREGATION_DEPTHtreeAggregate の推奨される深度。 フィーチャーの寸法または分割数が大きい場合、このパラメータはより大きな値に設定できます。FIT_INTERCEPTtrue、falsePREDICTION_COLCENSOR_COL1 の場合は、イベントが発生(無修正)したことを示し、0 の場合は、イベントが検閲されたことを意味します。MAX_BLOCK_SIZE_IN_MB0 の場合、自動調整が可能です。例
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
次の手順
このドキュメントでは、様々な回帰アルゴリズムの設定方法と使用方法を確認しました。 次に、他のタイプの高度な統計モデルについて詳しくは、 分類 および クラスタリング に関するドキュメントを参照してください。