목록으로

feature selection·nested tuning

feature selection과 hyperparameter tuning을 평가 데이터와 분리하고 nested CV로 일반화 성능을 편향 없이 추정하는 방법을 배웁니다.

심화
|
35
|
검증 완료 (2026-08-07)
BioStatPynested cross validation특성 선택하이퍼파라미터 튜닝머신러닝 검증
진행률0/33 (0%)

feature selection·nested tuning

이 토픽을 마치면

feature selection과 hyperparameter tuning을 평가 fold 밖에서 수행할 때 생기는 leakage를 설명할 수 있습니다. nested cross-validation을 선택 과정과 최종 평가 과정의 분리로 이해합니다.

선택도 학습이다

분산이 작은 feature를 고르거나, target과 상관이 높은 열을 선택하거나, 모델의 hyperparameter를 결정하는 일은 데이터에서 정보를 학습하는 과정입니다. test 또는 validation 정보를 사용해 선택하면 성능이 낙관적으로 보일 수 있습니다.

nested 구조

바깥 fold는 최종 일반화 성능을 평가하고, 안쪽 fold는 feature selection과 tuning을 수행합니다. 바깥 test fold는 안쪽 선택 과정에 보이지 않아야 합니다. group이나 time split이 필요한 경우 안쪽·바깥쪽 모두 해당 단위를 보존합니다.

nested 평가의 실행 순서

  1. 바깥 fold에서 train과 test를 분리합니다.
  2. 바깥 train 안에서만 안쪽 교차검증을 수행합니다.
  3. 안쪽 fold마다 preprocessing·feature selection·모델 tuning을 다시 fit합니다.
  4. 선택된 설정을 바깥 train 전체에 fit합니다.
  5. 바깥 test에서 한 번 평가합니다.

이 순서를 모든 바깥 fold에 반복해 성능 분포를 얻습니다. 바깥 test 결과를 보고 안쪽 탐색 공간을 바꾸면 최종 평가가 다시 선택 과정에 노출됩니다.

선택 안정성

고차원 자료에서는 fold마다 선택되는 feature가 달라질 수 있습니다. 선택 빈도와 계수 방향을 기록하면 모델 성능과 feature 안정성을 분리해 볼 수 있습니다. 자주 선택되지 않는 feature를 자동으로 무의미하다고 확정하지 않고, 표본 변동과 상관 구조를 함께 검토합니다.

최종 feature 목록을 만들었다면 선택에 사용하지 않은 별도 데이터에서 성능을 확인하거나, 해당 목록이 어떤 fold와 tuning 범위에서 만들어졌는지 명확히 표시합니다.

연구 질문으로 돌아가 해석하기

선택된 feature 목록은 안정적인 생물학적 표지라는 뜻이 아닙니다. 표본과 split이 바뀌면 선택이 달라질 수 있으며, selection stability와 외부 검증을 별도로 평가해야 합니다.

자주 생기는 실패

  • 전체 데이터에서 feature를 먼저 고르지 않습니다.
  • test score를 보고 feature selection 규칙을 바꾸지 않습니다.
  • nested 구조에서 group/time 단위를 잃지 않습니다.
  • 선택된 feature를 곧바로 인과 변수로 해석하지 않습니다.

핵심 정리

  • feature selection과 tuning도 학습 과정입니다.
  • 선택은 평가 fold 안에 격리해야 합니다.
  • nested CV는 선택과 최종 평가를 분리하는 구조입니다.

다음 토픽으로

다음 편에서는 calibration·imbalance·uncertainty를 분리합니다.

참고 자료

본 편의 nested 구조와 설명은 BioStatPy가 독립적으로 작성했습니다.

💬 질문과 댓글

0개의 댓글

로그인 없이 작성할 수 있습니다. 비로그인 댓글은 작성 후 직접 수정·삭제할 수 없습니다.

0/2000

로딩 중...