Model Selection

TaeWoo Lee / Kris·2021년 12월 24일
0
post-thumbnail

교차검증(Cross-validation)

  • hold-out(훈련/검증/테스트 세트로 나누어 학습) 교차검증 문제점
    • 학습에 사용가능한 데이터가 충분하다면 문제가 없겠지만 훈련세트의 크기가 모델학습에 충분하지 않을 경우 문제가 될 수 있다.
    • 검증세트 크기가 충분히 크지 않다면 예측 성능에 대한 추정이 부정확
  • 교차검증(Cross-validation) : train set을 다시 한 번 train set + validation set으로 나누어 학습 중 검증과 수정
    • 교차검증을 하기 위해서는 데이터를 k개로 등분
    • k개의 집합에서 k-1 개의 부분집합을 훈련에 사용하고 나머지 부분집합을 테스트 데이터로 검증
    • 데이터를 3등분으로 나누고 검증(1/3)과 훈련세트(2/3)를 총 세번 바꾸어가며 검증하는 것은 3-fold CV k 값(default = 5)

하이퍼파라미터 튜닝

  • 최적화는 훈련 데이터로 더 좋은 성능을 얻기 위해 모델을 조정하는 과정
  • 일반화는 학습된 모델이 처음 본 데이터에서 얼마나 좋은 성능을 내는지
  • Randomized Search CV
    • 검증하려는 하이퍼파라미터들의 값 범위를 지정해주면 무작위로 값을 지정해 그 조합을 모두 검증
  • GridSearchCV
    • 검증하고 싶은 하이퍼파라미터들의 수치를 정해주고 그 조합을 모두 검증

선형회귀, 랜덤포레스트 모델들의 튜닝 추천 하이퍼파라미터

  • Random Forest
    • class_weight (불균형(imbalanced) 클래스인 경우)
    • max_depth (너무 깊어지면 과적합)
    • n_estimators (적을경우 과소적합, 높을경우 긴 학습시간)
    • min_samples_leaf (과적합일경우 높임)
    • max_features (줄일 수록 다양한 트리생성)
  • Logistic Regression
    • C (Inverse of regularization strength)
    • class_weight (불균형 클래스인 경우)
    • penalty
  • Ridge / Lasso Regression
    • alpha
profile
일단 저지르자! 그리고 해결하자!

0개의 댓글