정형데이터 분석에서 feature selection하는 몇가지 방법

1. introduction

 

머신러닝 모델에서 직접 사용할 feature를 선택하는 과정

 

머신러닝 모델이 target변수를 예측하는데 유용한 feature와 유용하지 않은 feature를 구분해서 유용한 feature를 선택하는 과정

 

feature selection을 하면 모델의 복잡도를 낮춰주고 overfitting을 방지하며 속도를 높여주는 효과

 

그다지 도움이 되지 않는 noise feature를 제거하면 모델 성능이 오를 수도 있음

 

 

2. filter method

 

model과는 상관없이 통계적인 측정방법으로 feature들의 상관관계를 알아내어 selection을 하는 방식

 

feature간의 상관계수를 이용하는 이 방식이 모델에 반드시 적합하다고 보기는 어려운데

 

계산속도 빠르고 간단하면서 feature간 상관관계를 알아내기에 적합하다

 

wrapper method를 사용하기 전에 전처리하는데 쓰인다

 

 

2-1) 첫번째 방법

 

feature들 간 correlation을 계산

 

correlation이 매우 높으면 두 feature는 사실상 같은 feature나 다름없어서 하나는 제거해도 좋을 것이다

 

 

2-2) 두번째 방법(variance threshold??)

 

feature들의 variance를 계산함

 

variance 자체가 데이터가 얼마나 떨어져있는지 나타내는 값으로 variance가 작다면 feature안의 값들이 거의 비슷하다는 이야기로

 

model의 label예측에 별로 도움이 안될 것임

 

variance가 어떤 값 threshold 이상인 feature만 사용하자

 

이거 생각보다 괜찮음

 

 

3. wrapper method

 

예측 모델을 사용하여 ‘feature의 subset’을 계속 test하는 방식이다

 

기존 데이터셋에서 성능을 측정할 수 있는 holdout dataset을 따로 둬서 validation 성능을 측정하는 방법이 필요하다

 

subset을 게속 체크하면서 어떤 feature가 중요한지 알아내는 방식

 

 

 

4. embedded method

 

filter method와 wrapper method의 장점을 결합한 방식

 

학습알고리즘이 task랑 feature selection을 동시에 하는 방식?

TAGS.

Comments