«Аргумент Y отсутствует» при попытке реализовать Лассо в R? - PullRequest
0 голосов
/ 09 сентября 2018

Пытаясь выполнить выбор функции в R. Я использую пакет glmnet для этого. Вот мой код:

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

Лассо - это фрейм данных, полный числовых и категориальных предикторов. Первый столбец - это целевая переменная, которую я удалил.

lasso_target - это целевая переменная, которую я отбросил, которая хранится в виде собственного кадра данных.

Ошибка:

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

Моя цель состоит в том, чтобы удалить неинформативные элементы из моего фрейма данных, прежде чем вводить его в мою модель. Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 09 сентября 2018

Твои близкие! Но входные и ответные переменные должны быть определены отдельно. Что вы делаете, объединяете их в одну матрицу (в дополнение к другим аргументам для glmnet) и передаете все это функции. Поскольку x является первым аргументом по умолчанию, он предполагает, что это входная матрица, и затем не может найти ответственную переменную, поскольку аргумент y не был определен. Таким образом, вы получаете сообщение об ошибке.

Это должно сработать:

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