套索回归怀疑

数据挖掘 r 回归 统计数据 线性回归
2022-02-26 16:57:20

我试图解决一个基于线性回归的问题(预测销售额,这是一个连续变量)。我已经使用线性回归来解决这个问题,但是有一个使用套索回归的建议解决方案。但是,用户已经使用了 Train 功能。我无法理解为什么要使用 train 功能。这是套索的语法吗?类似的函数已用于岭回归。

my_control = trainControl(method="cv", number=5)

Grid = expand.grid(alpha = 0, lambda = seq(0.001,0.1,by = 0.0002))

lasso_linear_reg_mod3 = train(x = Train[, -c(1,2)], y = Train$Item_Outlet_Sales, method='glmnet', trControl= my_control, tuneGrid = Grid)
2个回答

用户将其原始数据集分为两组:训练集和测试集。

该模型,即套索回归应该使用训练集进行训练。然后,训练好的模型用于在测试集上测试模型。

事实上,当您训练模型时,您正试图Grid通过交叉验证(在您的代码中)找到最佳超参数,例如 C 和正则化(在您的代码中cv)。

找到最佳超参数后,您应该在整个训练集上训练您最近构建的模型,以找到回归的系数(权重)。

最后,在测试集上对模型进行测试。

train函数是 R 中caret包的一部分,它包含多种机器学习技术,并允许用户训练模型、交叉验证和调整流行参数。

使用caret中的train函数并不是训练 LASSO 模型或任何模型的唯一方法。还有其他方法可以做到这一点 - 你可以使用glmnetlars包在 LASSO 上训练你的模型。但是,如果您认为有必要,您必须创建自己的网格搜索(参数调整)和交叉验证功能。我会推荐插入符号,因为它已经具备所有这些。