728x90

참고문헌: An Introductio to Statistical Learning with Applications in R

다음 프로그램은 ISLR 6장을 참고한 것입니다.

예제는 Hitters 인데 조금 어려운 것 같아서 보다 쉬운 샘플을 구상중

 

선형모델의 확장에 해당되는 내용입니다. 다루는 내용은 3가지 분야입니다.

(1) 독립변수들의 부분집합 선택 ; subset

    전진선택법(forward), 후진제거법(backward), 스텝와이즈법(stepwise)
    관련지표 - Cp, AIC, BIC, Adjusted R2
(2) Ridge - 능선회귀 또는 능형회귀 라고 불림

    Lasso

(3) 주성분회귀(PCR, Principal Component Regression), 부분최소제곱 PLS, Partial Least Squares)

     다른 책에서는 이 부분은 별도로 다뤄지기도 함 

 

[실습] 

install.packages("glmnet")

# package ‘iterators’ successfully unpacked and MD5 sums checked

# package ‘foreach’ successfully unpacked and MD5 sums checked

# package ‘shape’ successfully unpacked and MD5 sums checked

# package ‘glmnet’ successfully unpacked and MD5 sums checked

 

library(glmnet)

# 필요한 패키지를 로딩중입니다: Matrix

# Loaded glmnet 4.0-2

# Warning message:

# 패키지 ‘glmnet’R 버전 4.0.2에서 작성되었습니다

 

head(Hitters)

dim(Hitters)  # 322 20

Hitters <- na.omit(Hitters)

dim(Hitters)  # 263 20

sum(is.na(Hitters))  # 0

 

x <- model.matrix(Salary~.,Hitters)[,-1]

y <- Hitters$Salary

grid <- 10 ^ seq(10,-2,length=100)  # alpha 10의 10승에서 -2승까지 지정) 

model.ridge <- glmnet(x,y,alpha=0,lamda=grid)  # alpha=0 => Ridge 모델,  alpha=1 => Lasso 모델

 

 

+ Recent posts