install.packages("glmnet")
library(glmnet)
X<-matrix( rnorm(15), ncol=5)
B<-seq(1,0.1, length.out=5)
Y<-drop(X%*%B) +rnorm(3)
fit.1<-lm(Y~X) #생략
solve(t(X)%*%X) #생략
G.net<-glmnet(X,Y,family="gaussian",alpha=0,standardize=F)
#알파가0이면 릿지, 1이면 라쏘???
rbind(as.vector(G.net$a0),as.matrix(G.net$beta))
########################################
X<-matrix( rnorm(1500), ncol=50)
B<-seq(1,0.1, length.out=50)
Y<-drop(X%*%B) +rnorm(30)
G.net.cv<-cv.glmnet(X,Y,family="gaussian",alpha=0,standardize=FALSE)
########################################
X<-matrix( rnorm(500), ncol=10)
B<-seq(1,0.1, length.out=10)
Y<-drop(X%*%B) +rnorm(50)
fit.1<-lm(Y~X)
fit.aic<-stepAIC(fit.1,direction="forward")
####################################
X0<-matrix( rnorm(500), ncol=10)
B<-seq(1,0.1, length.out=10)
Y0<-drop(X0%*%B) +rnorm(50,0.2)
#LASSO
G.net.cv<-cv.glmnet(X0,Y0,family="gaussian",alpha=0,standardize=FALSE)
LASSO<-sum( ( Y0-cbind(1,X0)%*%as.matrix(coef(G.net.cv)) )^2)
#OLS
Beta<-coef(summary(lm(Y~X)))[,1]
OLS<-sum((Y0-cbind(1,X0)%*%Beta)^2)
'프로그래밍, 통계학 > R(데이터마이닝)' 카테고리의 다른 글
14.6.5실습 (0) | 2014.06.05 |
---|---|
14.6.3 실습 (0) | 2014.06.03 |
14.5.27, LASSO, RIDGE (0) | 2014.05.27 |
14.5.22 실습 (0) | 2014.05.22 |
14.5.8 데이터마이닝 / 디시젼트리 (0) | 2014.05.08 |