# lasso
用于线性模型的 Lasso 或 Elastic Net 正则化方法
函数库: TyMachineLearning
# 语法
MDL, B = lasso(X, y)
# 说明
MDL, B= lasso(X, y)返回拟合预测器输入数据 X 和响应 y 的线性模型的最小二乘回归系数。B 的每一行对应一个特定正则化系数。
# 示例
利用 lasso 正则化减少冗余的特征变量
加载数据集
using CSV
using TyMachineLearning
using DataFrames
X_reg, y_reg = get_diabetes()
通过 lasso 函数进行正则化,返回系数向量。
MDL, B = lasso(X_reg, y_reg)
(PyObject LassoCV(alphas=100, cv=5), [-6.494693282163681, -235.9930803168751, 521.7443692954392, 321.06077680285824, -569.4381338514075, 302.4531928862239, -0.0, 143.69851474366752, 669.9226751529632, 66.83551066942016])
Lasso 可以识别并去除冗余的特征变量。在 Python 3.7 版本,alphas=100 不会出现模型的打印输出中,且回归系数可能出现轻微差异,不影响接口语义与整体使用流程。
# 输入参数
X - 预测数据
数值矩阵
预测数据,指定为数值矩阵。每一行代表一个观察结果,每列代表一个预测变量。
数据类型: DataFrame | Matrix
y - 响应数据
数值向量
响应数据,指定为数值向量。y 的长度为 n,其中 n 为 X 的行数。响应 y(i) 对应于 X 的第 i 行。
数据类型: DataFrame | Matrix
# 输出参数
MDL - lasso 对象
拟合后的 lasso 对象
数据类型: 对象
B - 系数向量
数值向量
w 的每一行对应一个特定正则化系数。
数据类型: Vector