Lasso回归训练

Lasso(Least absolute shrinkage and selection operator)回归算法是一种压缩估计算法。Lasso回归训练组件基于该算法,支持稀疏、稠密两种数据格式,且支持带权重样本的训练。本文为您介绍Lasso回归训练组件的配置方法。

使用限制

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

算法原理

Lasso回归算法通过构造一个惩罚函数,得到一个较为精炼的模型。使得它压缩一些回归系数,即强制系数绝对值之和小于某个固定值,同时设定一些回归系数为0。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。

可视化配置组件参数

  • 输入桩

    输入桩(从左到右)

    数据类型

    建议上游组件

    是否必选

    数据

    模型

    Lasso模型(用做增量训练)

  • 组件参数

    页签

    参数

    描述

    字段设置

    标签列名

    输入表中的标签列名。

    特征列名数组

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

    用于训练的特征列名。

    说明

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

    向量列名

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

    向量列对应的列名。

    说明

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

    权重列名

    权重列对应的列名。

    参数设置

    惩罚因子:lambda

    正则项系数,DOUBLE类型。

    收敛阈值

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

    学习率

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

    最大迭代步数

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

    优化方法

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

    • LBFGS

    • GD

    • Newton

    • SGD

    • OWLQN

    执行调优

    节点个数

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

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

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

  • 输出桩

    输出桩(从左到右)

    数据类型

    下游组件

    模型

    回归模型

    Lasso回归预测

    模型信息

    特征重要性

    线性模型权重系数

通过代码方式配置组件

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

from pyalink.alink import *

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