#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()
.