Как обрабатываются лямбды в пакете R glinternet? - PullRequest
0 голосов
/ 24 февраля 2019

Я использую пакет R glinternet для моделирования функций и их взаимодействия.У меня возникли некоторые проблемы с пониманием лямбда-параметра для функции glinternet.

Согласно справочному документу, содержащему последовательность значений в качестве аргумента lambda, функция не может использовать свою собственную последовательность лямбда-значений.Но реальное поведение не ясно.

В этом примере я предоставил одно значение lambda, и оно поднялось:

> fit = glinternet(x, y, numLevels, family="binomial", verbose=TRUE, lambda=c(0.001))

Вывод:

 lambda  2 :  0.001 
 Convergence in 62 iters, obj=0.30688066

А вот объект fit:

> fit
Call: glinternet(X = x, Y = y, numLevels = numLevels, lambda = c(0.001), 
    family = "binomial", verbose = TRUE)
   lambda objValue cat cont catcat contcont catcont
1 0.00177    0.334   0    0      0        0       0
2 0.00100    0.307   0    1      0        3       0

ОК, поэтому я нахожу немного удивительным, что есть дополнительное значение, lambda=0.00177, которое использовалось, но до тех пор, покаодин, который я хочу - lambda=0.001 - там, я в порядке.

Однако, другое значение lambda игнорируется, и пакет пробует свое собственное значение (и это происходит в этом случае,застревает):

> fit = glinternet(x, y, numLevels, family="binomial", verbose=TRUE, lambda=c(0.001823))

Вывод (застрял в этой строке):

lambda  2 :  0.001767784

Почему игнорируется lambda=0.001823 и откуда взято значение lambda=0.001767784?

Бонусный вопрос: почему застрял с этим новым значением?На момент написания этой статьи он застрял на этом этапе на несколько часов.

...