"Argument Y Missing" 尝试在 R 中实现套索时?

"Argument Y Missing" when trying to implement Lasso in R?

尝试在 R 中执行特征选择。我正在使用 glmnet 包来执行此操作。到目前为止,这是我的代码:

lasso_model = glmnet(as.matrix(x = lasso, y = lasso_target, 
standardize=TRUE, alpha=1))

lasso 是一个充满数字和分类预测变量的数据框。第一列是我删除的目标变量。

lasso_target 是我删除的目标变量,存储为它自己的数据框。

错误:

Error in drop(y) : argument "y" is missing, with no default

我的目标是在将数据帧输入模型之前从数据框中删除无信息的特征。任何帮助将不胜感激!

关门了!但是输入变量和响应变量需要单独定义。你所做的是将它们组合成一个矩阵(除了 glmnet 的其他参数)并将整个东西传递给函数。由于 x 默认是第一个参数,它假设是输入矩阵然后找不到负责的变量,因为 y 参数还没有定义。因此,您会收到一条错误提示。

这应该可以解决问题:

lasso_model <-  glmnet(x = as.matrix(lasso), 
                       y = as.matrix(lasso_target), 
                       standardize=TRUE, 
                       alpha=1)