回归算法 regression-algorithms
本文档概述了各种回归算法,重点介绍了它们的配置、关键参数以及在高级统计模型中的实际使用。 利用回归算法对因变量与自变量之间的关系进行建模,根据观测数据预测连续结果。 每个部分都包含参数描述和示例代码,以帮助您为诸如线性、随机林和生存回归等任务实施和优化这些算法。
Decision Tree回归 decision-tree-regression
Decision Tree学习是一种用于统计、数据挖掘和机器学习的监督学习方法。 该方法使用分类决策树或回归决策树作为预测模型,对一组观测值做出结论。
参数
下表概述了用于配置和优化决策树模型性能的关键参数。
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分别对应于Gaussian、Poisson和Gamma族。[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
梯度提升树(GBTs)是一种有效的分类和回归方法,它将多决策树的预测结合起来,以提高预测精度和模型性能。
参数
下表概述了用于配置和优化Gradient Boosted Tree回归性能的关键参数。
MAX_BINS
CACHE_NODE_IDS
false
,则算法将树传递到执行器以将实例与节点进行匹配。 如果true
,则算法将缓存每个实例的节点ID。 缓存可以加快对更深层树的训练。false
true
、false
CHECKPOINT_INTERVAL
10
意味着每10次迭代就检查一次缓存。MAX_DEPTH
0
表示1个叶节点,深度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
表示一个内部节点和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
后续步骤
阅读本文档后,您现在知道如何配置和使用各种回归算法。 接下来,请参阅有关分类和群集的文档,了解其他类型的高级统计模型。