回归算法 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
梯度提升树(GBTs)是一种有效的分类和回归方法,它将多决策树的预测结合起来,以提高预测精度和模型性能。
参数
下表概述了用于配置和优化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表示一个内部节点和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
后续步骤
阅读本文档后,您现在知道如何配置和使用各种回归算法。 接下来,请参阅有关分类和群集的文档,了解其他类型的高级统计模型。