Lasso(Least absolute shrinkage and selection operator)回归算法是一种压缩估计算法。Lasso回归训练组件基于该算法,支持稀疏、稠密两种数据格式,且支持带权重样本的训练。本文为您介绍Lasso回归训练组件的配置方法。
使用限制
支持的计算引擎为MaxCompute、Flink或DLC。
算法原理
Lasso回归算法通过构造一个惩罚函数,得到一个较为精炼的模型。使得它压缩一些回归系数,即强制系数绝对值之和小于某个固定值,同时设定一些回归系数为0。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。
可视化配置组件参数
输入桩
输入桩(从左到右)
数据类型
建议上游组件
是否必选
数据
无
是
模型
Lasso模型(用做增量训练)
读数据表(模型数据表)
Lasso回归训练
否
组件参数
页签
参数
描述
字段设置
标签列名
输入表中的标签列名。
特征列名数组
如果您已经配置了向量列名,则该参数不允许配置。
用于训练的特征列名。
说明特征列名数组和向量列名是两个互斥参数,您只能使用其中一个参数来描述算法的输入特征。
向量列名
如果您已经配置了特征列名数组,则该参数不允许配置。
向量列对应的列名。
说明特征列名数组和向量列名是两个互斥参数,您只能使用其中一个参数来描述算法的输入特征。
权重列名
权重列对应的列名。
参数设置
惩罚因子: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 = LassoRegTrainBatchOp()\
.setLambda(0.1)\
.setFeatureCols(["f0","f1"])\
.setLabelCol("label")
model = batchData.link(ridge)
model.link(sinks[0])
BatchOperator.execute()