岭回归训练

岭回归(Tikhonov regularization)算法是对不适定问题进行回归分析时,最常用的正则化方法。岭回归训练组件基于该算法,支持稀疏、稠密两种数据格式,且支持带权重样本的训练。本文为您介绍岭回归训练组件的配置方法。

使用限制

支持的计算引擎为MaxCompute、FlinkDLC。

算法原理

岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。

可视化配置组件参数

  • 输入桩

    输入桩(从左到右)

    数据类型

    建议上游组件

    是否必选

    数据

    模型

    读数据表

  • 组件参数

    页签

    参数

    描述

    字段设置

    标签列名

    输入表中的标签列名。

    特征列名数组

    如果您已经配置了向量列名,则该参数不允许配置。

    用于训练的特征列名。

    说明

    特征列名数组向量列名是两个互斥参数,您只能使用其中一个参数来描述算法的输入特征。

    向量列名

    如果您已经配置了特征列名数组,则该参数不允许配置。

    向量列对应的列名。

    说明

    特征列名数组向量列名是两个互斥参数,您只能使用其中一个参数来描述算法的输入特征。

    权重列名

    权重列对应的列名。

    参数设置

    惩罚因子:lambda

    正则项系数,DOUBLE类型。

    收敛阈值

    迭代方法的终止判断阈值,默认为1.0E~6。

    学习率

    用于控制模型在训练过程中参数更新的速度。默认为0.1。

    最大迭代步数

    最大迭代步数,默认为100。

    优化方法

    优化问题求解时选择的优化方法,支持以下取值:

    • LBFGS

    • GD

    • Newton

    • SGD

    • OWLQN

    执行调优

    节点个数

    单个节点内存大小参数配对使用。取值为[1, 9999]的正整数。

    单个节点内存大小,单位M

    取值范围为1024 MB~64*1024 MB。

  • 输出桩

    输出桩(从左到右)

    数据类型

    下游组件

    模型

    回归模型

    岭回归预测

    模型信息

    特征重要性

    线性模型权重系数

通过代码方式配置组件

您可以将以下代码复制到PyAlink脚本组件中,使PyAlink脚本组件实现与该组件相同的功能。

from pyalink.alink import *

def main(sources, sinks, parameter):
    batchData = sources[0]
    ridge = RidgeRegTrainBatchOp()\
        .setLambda(0.1)\
        .setFeatureCols(["f0","f1"])\
        .setLabelCol("label")
    model = batchData.link(ridge)
    model.link(sinks[0])
    BatchOperator.execute()