BAB 7. Metode Seleksi secara Embedded dalam Pemodelan

7.1 LASSO

Program 7.1

rumah = read.csv("rumah.csv")

library(glmnet)
x = as.matrix(rumah[,2:7])
y = rumah[,8]


model1 <- glmnet(x, y, alpha = 1, lambda = 1)
model2 <- glmnet(x, y, alpha = 1, lambda = 3)
model3 <- glmnet(x, y, alpha = 1, lambda = 5)

matrix(cbind(coef(model1), 
       coef(model2), coef(model3)), ncol=3)

Output 7.1

##            [,1]       [,2]       [,3]
## [1,] 194.991482 201.496858 205.663833
## [2,]   0.000000   0.000000   0.000000
## [3,]   1.129395   1.124713   1.097770
## [4,]  -3.714717  -3.509208  -3.307311
## [5,]   1.666676   0.000000   0.000000
## [6,]   2.390891   1.020215   0.000000
## [7,]  20.538718  14.729920   9.162899

Program 7.2

set.seed(100)
cv_model <- cv.glmnet(x, y, alpha = 1)
plot(cv_model)

cv_model$lambda.min
cv_model$lambda.1se

Output 7.2

## [1] 1.608251
## [1] 11.34589

Program 7.3

terbaik <- glmnet(x, y, alpha = 1, 
                  lambda = cv_model$lambda.1se)
coef(terbaik)

Output 7.3

## 7 x 1 sparse Matrix of class "dgCMatrix"
##                       s0
## (Intercept)  211.7800621
## luasbangunan   .        
## luastanah      0.9886284
## umur          -2.6178846
## kamartidur     .        
## kamarmandi     .        
## dekattol       .

7.2 Group LASSO

Program 7.4

library(gglasso)
rumah = read.csv("rumah.csv")

x = as.matrix(rumah[,2:7])
y = rumah[,8]
v.group = c(1,1,2,3,3,4)

gr = gglasso(x, y, lambda = 100, 
             group = v.group, loss="ls")
gr$beta

Output 7.4

##                      s0
## luasbangunan  0.3826472
## luastanah     0.7484620
## umur         -2.8043679
## kamartidur    0.0000000
## kamarmandi    0.0000000
## dekattol      0.0000000

Leave a Comment