(NB: Это слегка измененная версия сообщения, которое я сделал на другом форуме. Я не получил там никаких ответов, поэтому сообщение здесь. Если это не разрешено, пожалуйста, дайте мне знать, сниму вопрос).
Я новичок в glmnet , поэтому я еще не до конца понимаю, что такое различные
параметры делают. Я пытаюсь построить полиномиальный классификатор, который ограничивает
количество функций, используемых в модели. Из чтения документов и некоторых
ответы на этом форуме, я понимаю, dfmax
это способ сделать это. я
немного поиграл с этим; У меня есть пара вопросов, и я был бы признателен за помощь:
Настройка
Для определенного набора данных я хочу ограничить количество объектов до 3;
Исходные данные имеют 126 функций. Вот что я бегу:
fit<-glmnet(data.matrix(X), data.matrix(y), family='multinomial', dfmax=3)
d<-data.frame(tidy(fit))
Это значение d
:
Мои вопросы по поводу вывода:
- Я вижу несколько значений
lambda
там; это выглядит как
glmnet пытается соответствовать lambda
s, что приближает число терминов к
dfmax=3
. Так что это меньше похоже на алгоритм LARs (где мы
двигаться поэтапно, добавляя переменные и может остановиться на точном количестве переменных) и больше о получении
право lambda
с на регуляризацию, которая приводит к намеченному dfmax
. Является
это право?
- Я думаю,
alpha
играет роль в том, как близко мы можем подойти
до dfmax
. В alpha=1
, где мы делаем лассо, и поэтому его легче
приблизиться к dfmax
, по сравнению с alpha=0
, и мы делаем ридж.
Это понимание правильно?
- "окрестность"
dfmax
является
лучшее, что мы можем сделать, это может показаться. Или я пропускаю параметр, который получает меня
к модели с точным dfmax
(FYI: alpha=1
, похоже, не получить
мне точное число ненулевых терминов либо, по крайней мере на этом
Набор данных).
- В первом решении -
step=1
, переменные не используются. Означает ли это, что относительные шансы равны константе?
- Что делает
pmax
?
Заранее спасибо!