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