모델 생성에 밀접한 데이터의 부분 집합을 선택하여 연산 효율성 및 모델 성능을 확보
| 연산 효율성 |
|---|
| 특징 생성과는 다르게 원 데이터 공간 내 유의미한 특징을 선택하는 기법, 연산 효율 및 적절한 특징을 찾기 위해 수행 |
| 원본 데이터에서 가장 유용한 특징만을 선택하여 간단한 모델 구성 및 성능을 확보하고자 하는 것이 주요 목적 |
| 필터(Filter) | 래퍼(Wrapper) | 임베디드(Embedded) |
|---|---|---|
| 특징들에 대한 통계적 점수를 부여하여 순위를 매기고 선택하는 방법론 | 특징들의 조합을 지도학습 기반 알고리즘에 반복적으로 적용하여 특징을 선택하는 방법론 | 모델 정확도에 기여하는 특징들을 선택하는 방법으로 Filter와 Wrapper의 장점을 결합한 방법 |
| 실행 속도가 빠르다는 측면에서 시간 및 비용 측면의 장점을 보임 | 최적의 데이터 조합을 찾기 때문에 성능 관점 상 유용하나 시간과 비용 크게 발생 | 모델의 학습 및 생성과정에서 최적의 특징을 선택하는 방법 |

반복적 특징 조합 탐색
- 원본 데이터셋 내 변수들의 다양한 조합을 모델에 적용하는 방식
- 최적의 부분 데이터집합을 도출하는 방법론
- 대표적 방식으로 재귀적 특성 제거(Recursive Feature Elimination) 존재
모델 기반 특징 선택
- 알고리즘 내 자체 내장 함수로 특징을 선택하는 방식으로, 모델 성능에 기여하는 특징을 도출
- 모든 조합을 고려하고 결과를 도출하는 Wrapper와 달리 학습과정에서 최적화된 변수를 선택
- 트리 계열 모델 기반의 특징 선택이 대표적(랜덤포레스트 기반 Feature Importance 기반)
보루타 알고리즘(Boruta Algorithm): 기존 데이터 임의로 복제하여 랜덤 변수(shadow) 생성하고 원 자료와 결합하여 랜덤 포레스트 모형에 적용, shadow 보다 중요도가 낮을 경우 중요하지 않은 변수로 판단 후 제거