为什么有必要在 R 中删除 运行 ridge 和 lasso 的列
Why is it necessary to remove a column for running ridge and lasso in R
我正在尝试 运行 我自己的岭回归/套索,我正在根据“统计学习简介”第 251 页上的示例对我的方法进行建模。我们被告知建立模型矩阵如下:
library(ISLR)
x=model.matrix(Salary∼.,Hitters)[,-1]
y=Hitters$Salary
我的问题是:为什么需要按照“[-1]”删除列
我不能确定,因为我看不到其余代码,但 model.matrix()
的目的是重新设计您的输入数据,以便它可以被回归模型处理。它会做一些事情,比如将任何因素转化为一组虚拟变量。
当此函数为 运行 时,它会在 1
列中创建一个额外的 (Intercept)
列,所以我猜测他们正在删除此列,因为后续模型(例如,glm()
) 不需要这个额外的列。
我正在尝试 运行 我自己的岭回归/套索,我正在根据“统计学习简介”第 251 页上的示例对我的方法进行建模。我们被告知建立模型矩阵如下:
library(ISLR)
x=model.matrix(Salary∼.,Hitters)[,-1]
y=Hitters$Salary
我的问题是:为什么需要按照“[-1]”删除列
我不能确定,因为我看不到其余代码,但 model.matrix()
的目的是重新设计您的输入数据,以便它可以被回归模型处理。它会做一些事情,比如将任何因素转化为一组虚拟变量。
当此函数为 运行 时,它会在 1
列中创建一个额外的 (Intercept)
列,所以我猜测他们正在删除此列,因为后续模型(例如,glm()
) 不需要这个额外的列。