回歸演演算法 regression-algorithms
本檔案提供各種回歸演演算法的概觀,重點是它們的設定、關鍵引數,以及在進階統計模型中的實際使用。 回歸演演算法可用來建立相依變數和獨立變數之間的關係模型,根據觀察到的資料來預測連續結果。 每個區段都包含引數說明和範常式式碼,協助您針對如線性、隨機森林和生存回歸等工作,實作和最佳化這些演演算法。
Decision Tree回歸 decision-tree-regression
Decision Tree學習是一種監督學習方法,用於統計資料、資料採礦和機器學習。 在這個方法中,分類或回歸決策樹會作為預測模型來得出關於一組觀察結果的結論。
參數
下表概述用於設定和最佳化決策樹模型效能的關鍵引數。
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分別對應於Gaussian、Poisson和Gamma系列。[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個分葉節點,深度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個分葉節點,深度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
後續步驟
閱讀本檔案後,您現在瞭解如何設定和使用各種回歸演演算法。 接著,參閱分類和叢集上的檔案,瞭解其他型別的進階統計模型。