Поведение dfmax в glmnet - PullRequest
       18

Поведение dfmax в glmnet

0 голосов
/ 13 марта 2019

(NB: Это слегка измененная версия сообщения, которое я сделал на другом форуме. Я не получил там никаких ответов, поэтому сообщение здесь. Если это не разрешено, пожалуйста, дайте мне знать, сниму вопрос).

Я новичок в glmnet , поэтому я еще не до конца понимаю, что такое различные параметры делают. Я пытаюсь построить полиномиальный классификатор, который ограничивает количество функций, используемых в модели. Из чтения документов и некоторых ответы на этом форуме, я понимаю, dfmax это способ сделать это. я немного поиграл с этим; У меня есть пара вопросов, и я был бы признателен за помощь:

Настройка

Для определенного набора данных я хочу ограничить количество объектов до 3; Исходные данные имеют 126 функций. Вот что я бегу:

fit<-glmnet(data.matrix(X), data.matrix(y), family='multinomial', dfmax=3) 
d<-data.frame(tidy(fit)) 

Это значение d:

enter image description here

Мои вопросы по поводу вывода:

  1. Я вижу несколько значений lambda там; это выглядит как glmnet пытается соответствовать lambda s, что приближает число терминов к dfmax=3. Так что это меньше похоже на алгоритм LARs (где мы двигаться поэтапно, добавляя переменные и может остановиться на точном количестве переменных) и больше о получении право lambda с на регуляризацию, которая приводит к намеченному dfmax. Является это право?
  2. Я думаю, alpha играет роль в том, как близко мы можем подойти до dfmax. В alpha=1, где мы делаем лассо, и поэтому его легче приблизиться к dfmax, по сравнению с alpha=0, и мы делаем ридж. Это понимание правильно?
  3. "окрестность" dfmax является лучшее, что мы можем сделать, это может показаться. Или я пропускаю параметр, который получает меня к модели с точным dfmax (FYI: alpha=1, похоже, не получить мне точное число ненулевых терминов либо, по крайней мере на этом Набор данных).
  4. В первом решении - step=1, переменные не используются. Означает ли это, что относительные шансы равны константе?
  5. Что делает pmax?

Заранее спасибо!

...