Как я могу использовать пакеты (например, glmnet) в mlr в R?

#r #package #glmnet #mlr

#r #пакет #glmnet #mlr

Вопрос:

Я хочу уменьшить возможности и хотел использовать эластичную сетевую регрессию. Поэтому я хотел использовать glmnet-package и его встроенные функции, такие как cv.glment, и отображать результаты и т. Д. Проблема в том, что мои данные зависят от времени, поэтому я использовал перекрестную проверку вложенных временных рядов и mlr-package. glmnet-package использовал k-кратную перекрестную проверку. Есть ли способ получить графики, как в glmnet-пакете? Моя идея состояла в том, чтобы использовать исходный код и изменить некоторые части, но в итоге это не сработало. Что еще я могу попробовать? Заранее спасибо.

Ответ №1:

Несколько неясно, чего вы хотите или в чем ваша проблема. Может быть, помогает следующее:

  • glmnet доступен в {mlr3learners}
  • Пространственно-временное резюме доступно в {mlr3spatiotempcv}

Обратите внимание, что {mlr} устарел. Тем не менее, он содержит два обучаемых glmnet, которые вы можете использовать.

Что касается внутреннего CV алгоритма {glmnet}: вы можете отключить его и самостоятельно оптимизировать параметры сжатия.

Но опять же, очень неясно, чего вы хотите, потому что в конце вы запрашиваете графики. Сосредоточьтесь на одном вопросе за раз.

Комментарии:

1. Большое вам спасибо за ваш ответ. Извините, за мой неясный вопрос. Я хочу сделать выбор функций с помощью лассо. Я использовал mlr и cv.glmnet. Для glmnet-пакета есть такие функции, как fit=glmnet(x, y), а затем plot(fit) или coef(fit, s = 0.1). Как я могу получить доступ к этим функциям с помощью mlr и как я могу увидеть, какие функции были выбраны lasso?

2. Это общие функции пакета {glmnet}, применяемые к установленной модели. Вам нужно извлечь этот объект из объекта mlr через mlr::getLearnerModel() .