Evet, bir engelleme bir glmnet modeline dahil edilir , ancak düzenli değildir (bkz. Koordinat İnişiyle Genelleştirilmiş Doğrusal Modeller için Düzenleme Yolları , s. 13). Uygulama hakkında daha fazla ayrıntı, koda dikkatle bakarak (gaussian bir aile için, elnet()
çağrılan işlevdir glmnet()
) elde edilebilir, ancak Fortran'dadır.
Sen deneyebilirsiniz cezalandırılmış geçirerek yakalamayı silinmesini sağlar paketi unpenalized = ~0
için penalized()
.
> x <- matrix(rnorm(100*20),100,20)
> y <- rnorm(100)
> fit1 <- penalized(y, penalized=x, unpenalized=~0,
standardize=TRUE)
> fit2 <- lm(y ~ 0+x)
> plot((coef(fit1) + coef(fit2))/2, coef(fit2)-coef(fit1))
Kement düzenlemesini almak için,
> fit1b <- penalized(y, penalized=x, unpenalized=~0,
standardize=TRUE, lambda1=1, steps=20)
> show(fit1b)
> plotpath(fit1b)
Bir sonraki şekilde görülebileceği gibi, her iki yöntemle (sol) hesaplanan regresyon parametreleri arasında çok az fark vardır ve Kement yolu çözümünü çok kolay (sağ) çizebilirsiniz.