logo

[predictive] 모형 적합 - Elastic Net

 

ElasticNet

  • 회귀 모형 + 회귀계수에 약간의 bias를 추가

  • 자료가 가질 수 있는 variance로 인해 학습 자료에 가장 잘 적합시킨 모형보다 예측력을 향상시킬 수 있음

  • 좀 더 일반화된 모형을 만들어 예측력을 향상시키는 것이 목적

  • 튜닝파라미터

    • λ\lambda: 회귀 계수에 섞을 bias 양
    • α\alpha: 두 가지 bias의 종류의 비중
  • β\beta는 모형이 찾아주지만 튜닝파라미터인 λ\lambdaα\alpha는 직접 찾아야 함

 

실습

cross validation

controlObject <- trainControl(method = 'repeatedcv', # cross validation 반복 시행
                              repeats = 2, # 2번 시행
                              number = 5, # training 자료를  10조각 냄
                              classProbs = T)
 

grid 생성

Elst_Grid <- expand.grid(.alpha = seq(0,1,0.1),
                         .lambda = seq(0.01, 1, length = 50))
# 550개 생성
 

모형 학습

Elas_Model <- train(class ~ .,
                    data = Train_dat,
                    method = 'glmnet',
                    tuneGrid = = Elst_Grid,
                    preProc = c('center', 'scale'),
                    metric = 'Kappa',
                    trControl = controlObject)
 

모형 확인

Elas_Model
Elas_Model$bestTune
  • 마지막 줄에 가장 좋은 모델의 alpha와 lambda를 알려줌
Previous
자료 분할