[ 빅데이터 ] 특성 선택 Feature Selection - Filter / Wrapper / Embedded
feature 를 줄이는 방법 중 Feature Selection에 대해 알아보자. 기존 데이터의 feature들의 결합 변수를 만들어서 데이터 차원을 축소하는 Extraction
과 달리, Selection
은 target 과 관련성이 높은 feature 만을 선정하여 feature 수를 줄이는 방법이다. 지난 포스트에 Feature Selection 의 Filter / Wrapper / Embedded Method 를 차원의 저주를 해결할 수 있는 방법으로 언급했었다.
특성 선택 Feature Selection 이란?
target 과 관련성이 높은 feature 만을 선정하여 feature 수를 줄이는 방법
모델링할 때 데이터의 모든 feature 를 사용하는 것은 메모리 측면에서 매우 비효율적이기 때문에 필요한 feature 만 선택해서 사용하고자 한 방법이다.
⭐️⭐️ 이로 인한 효과는 다음과 같다.
- 학습 시간 단축
- 모델 단순화
- 차원의 저주 및 과적합 Over-fitting 방지
Methods
Feature Selection 은 크게 Filter, Wrapper, Embedded 3가지 방법으로 분류된다.
Filter Method
: feature 간 상관관계 파악Wrapper Method
: Feature Subset의 유용성을 측정Embedded Method
: Feature Subset의 유용성을 측정하지만, 내장 metric을 사용
1️⃣ Filter Method
통계적 측정 방법을 사용하여 feature 간의 상관관계를 파악한 뒤, 높은 상관계수를 가지는 feature를 사용하는 방법이다.
- 가장 많이 사용되는 방법
- 계산속도가 빠르고 변수 간 상관관계 알아내는 데 적합 -> Wrapper 기법 이전 전처리에 사용된다.
- 상관계수가 높은 feature라고 해서 모델에 적합한 feature인 것만은 아니다.
💡 방법론 종류
-
상관계수 Correlation Coefficient
- 두 변수 사이의 통계쩍 관계를 표현하기 위해 특정한 상관관계의 정도를 나타낸 수치
df.corr()
-
카이제곱 검정 Chi-square Test
- 카이제곱 분포에 기초한 통계적 방법
- 관찰된 빈도가 기대되는 빈도와 의미있게 다른지 여부를 검증
-
피셔 스코어 Fisher Score
- 최대가능도 방정식 Maximum Likelihood Function 을 풀기 위해 사용되는 방법
-
분산 기반 선택 Variance Threshold
- 분산이 낮은 변수를 제거하는 방법
- 다양한 표본에 따라 그다지 변화가 없는 feature는 예측에 별 도움이 되지 않을 가능성이 높다.
-
정보 소득 Information Gain
- 가장 정보 소득이 높은 속성을 선택하는 방법
- 어떤 feature 를 선택함으로써 데이터를 더 잘 구분하게 된다.
- IG가 클수록 변별력이 좋다.
2️⃣ Wrapper Method
예측 정확도에서 가장 좋은 성능을 보이는 feature subset 을 선택하는 기법이다.
- 일반적으로 Filter Method 보다 예측 정확도가 높다.
- feature 의 조합을 정하여 기계학습을 진행한 뒤, Inference 까지의 일련의 과정을 feature 조합을 바꿔가면서 가장 성능이 좋은 조합을 찾아낸다.
- 반복적으로 학습을 진행 -> 많은 시간을 소요, 부분집합 수 기하급수적 증가 -> 과적합 위험
💡 방법론 종료
-
Forward Selection
- feature 가 없는 상태로 시작해서 성능을 가장 많이 향상시키는 feature를 하나씩 추가하는 방법
- 더 이상 성능 향상이 없을 때까지 feature 추가
-
Backward Elimination
- 모든 feature 를 가지고 시작해서 가장 영향을 적게 주는 feature를 하나씩 제거하는 방법
- 더 이상 성능 향상이 없을 때까지 feature 제거
-
Stepwise Method
- Forward Selection 과 Backward Elimination 을 결합하여 사용하는 방법
- 모든 feature 를 가지고 시작해서 최악의 feature 제거, 모델에서 빠져있는 feature 중 최상의 feature 추가하는 방법
- 반대로 feature 가 없는 상태에서 시작하여 feature 추가, 삭제를 반복할 수도 있음
3️⃣ Embedded Method
앞서 언급된 Filter 와 Wrapper method 의 장점을 결합한 방법이다.
- Feature selection 기능이 자체적으로 추가되어 있는 모델을 사용
- Lasso, Ridge, Decision Tree 등의 알고리즘은 모델 알고리즘 자체에서 feature selection 수행
- 각각의 feature 를 직접 학습하여 모델의 정확도에 기여하는 feature 선택
💡 방법론 종류
-
Lasso Regression
- L1 정규화를 통해 제약을 주는 방법
-
Ridge Regression
- L2 정규화를 통해 제약을 주는 방법
-
Select From Model
- Decision Tree 기반 알고리즘에서 feature 뽑아오는 방법
-
Elastic Net
- Lasso Regression 과 Ridge Regression 의 페널티를 결합한 하이브리드 방법
- 페널티는 Lasso의 희소성과 Ridge 회귀의 부드러움 사이 균형을 제공
Reference
- [ML] Feature Selection (Filter Method & Wrapper Method & Embedded Method)
- [PP] Data Reduction(2)_Feature Selection(특성 선택)
Related Posts
빅데이터 | 특성 추출 Feature Extraction | |
빅데이터 | 차원의 저주 | |
Summary | AI-OCR란? |
💙 You need to log in to GitHub to write comments. 💙
If you can't see comments, please refresh page(F5).