[KT] AIVLE School/사전학습

데이터 전처리 이해와 실무 (5) - 데이터 축소 : 특징 선택

Boxya 2025. 3. 16. 21:47

Feature Selection

  • 가장 좋은 성능을 보여줄 수 있는 데이터의 부분 집합(Subset)을 찾아내는 방법
  • 모델 생성에 밀접한 데이터의 부분 집합을 선택하여 연산 효율성 및 모델 성능을 확보

목적 및 필요성

  • 연산 효율성
    • 특징 생성과는 다르게 원 데이터 공간 내 유의미한 특징을 선택하는 기법으로 연산 효율 및 적절한 특징을 찾기 위해 수행
    • 원본 데이터에서 가장 유용한 특징만을 선택하여 간단한 모델 구성 및 성능을 확보하고자 하는 것이 주요 목적

특징 선택 방안

  • 필터(Filter)
    • 특징들에 대한 통계적 점수를 부여하여 순위를 매기고 선택하는 방법론
    • 실행 속도가 빠르다는 측면에서 시간 및 비용 측면의 장점을 보임
  • 래퍼(Wrapper)
    • 특징들의 조합을 지도학습 기반 알고리즘에 반복적으로 적용하여 특징을 선택하는 방법론
    • 최적의 데이터 조합을 찾기 때문에 성능 관점 상 유용하나 시간과 비용 크게 발생
    • 조합을 모두 고려하고 성능까지 보기 때문에 필터 방안보다 예측이나 성능 관점에서 유용
  • 임베디드(Embedded)
    • 모델 정확도에 기여하는 특징들을 선택하는 방법으로 Filter와 Wrapper의 장점을 결합한 방법
    • 모델의 학습 및 생성과정에서 최적의 특징을 선택하는 방법

Filter 방식

  • 특징들에 대한 통계적 기밥 기반의 점수 및 순위 부여하여 선택
  • 카이제곱 필터(Chi-square filter)
    • 범주형인 독립 및 종속 변수 간의 유의미성을 도출하기 위한 통계적 방안
    • 연속형 변수를 이산화(범주)를 하여 활용 가능
  • 상관관계 필터(correlation filter)
    • 연속형인 독립 및 종속변수 간 유의미성을 도출하기 위한 통계적 방안
    • 보통 임계치(threshold) 설정하여 변수 선택

Wrapper 방식

  • 원본 데이터 내 변수 간 조합을 탐색하여 특징 선택
  • 반복적 특징 조합 탐색
    • 원본 데이터셋 내 변수들의 다양한 조합을 모델에 적용하는 방식
    • 최적의 부분 데이터집합(Subset)을 도출하는 방법론
    • 대표적인 방식으로 재귀적 특성 제거 (Recursive Feature Elimination)존재

Embedded 방식

  • 모델을 학습하여 정확도에 기여하는 특징을 선택하는 방안
  • 모델 기반 특징 선택
    • 알고리즘 내 자체 내장 함수로 특징을 선택하는 방식으로, 모델 성능에 기여하는 특징을 도출
    • 모든 조합을 고려하고 결과를 도출하는 Wrapper와 달리 학습과정에서 최적화된 변수를 선택
    • 트리 계열 모델 기반의 특징 선택이 대표적(랜덤포레스트 기반 Feature Importance 기반)

특징 선택 알고리즘

  • 랜덤포레스트 모형 기반의 알고리즘
  • 보루타 알고리즘(Boruta Algorithm)
    • Boruta Algorithm은 기존 데이터 임의로 복제하여 랜덤 변수(shadow) 생성하고 원 자료와 결합하여 랜덤 포레스트 모형에 적용
    • shadow보다 중요도가 낮을 경우 중요하지 않은 변수로 판단 후 제거