ใช่การสกัดกั้นถูกรวมอยู่ในโมเดลglmnetแต่ไม่ได้ทำการทำให้เป็นมาตรฐาน (cf. พา ธ การทำให้เป็นมาตรฐานสำหรับโมเดลเชิงเส้นทั่วไปผ่านทางพิกัดโคตร , หน้า 13) รายละเอียดเพิ่มเติมเกี่ยวกับการใช้งานนั้นสามารถรับได้โดยการดูที่รหัส (สำหรับตระกูลเกาส์มันเป็นelnet()
ฟังก์ชั่นที่เรียกglmnet()
) แต่อยู่ใน Fortran
คุณสามารถลองใช้มือสัมผัสแพคเกจซึ่งจะช่วยให้ลบตัดโดยผ่านไปunpenalized = ~0
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))
หากต้องการรับ Lasso เป็นประจำคุณอาจลองทำสิ่งต่อไปนี้
> fit1b <- penalized(y, penalized=x, unpenalized=~0,
standardize=TRUE, lambda1=1, steps=20)
> show(fit1b)
> plotpath(fit1b)
ดังที่เห็นได้ในรูปถัดไปมีความแตกต่างกันเล็กน้อยระหว่างพารามิเตอร์การถดถอยที่คำนวณด้วยทั้งสองวิธี (ซ้าย) และคุณสามารถลงจุด Lasso path solution ได้อย่างง่ายดาย (ขวา)