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()