머신러닝 프로세스 중 Feature Selection 과정은 퍼포먼스를 높이기 위해 반드시 필요한 과정입니다. 이 포스팅에서는 Feature Selection이란 무엇인지 이해하고, Feature Selection이 필요한 이유와 Feature Selection을 하는 방법에는 어떤 것들이 있는지 알아보도록 하겠습니다.
Feature Selection이란?
Feature Selection은 머신러닝 프로세스 중 하나로 데이터에서 중요한 속성들을 찾아내는 과정입니다. 예를 들면 당뇨병인지 여부를 판단하는 Classification 모델을 만든다고 할 때, 학습용 데이터에는 환자들의 건강 정보와 기타 개인 정보들이 있을 수 있습니다. 환자의 나이나 식습관, 다른 질병 보유 여부 등의 경우 당뇨병을 예측하는 데 있어서 중요한 역할을 하는 속성일 수 있지만 환자가 어디 사는 지나 직업은 다른 속성들에 비해 당뇨병을 예측하는데 중요한 역할을 하지 않을 수 있습니다. Feature Selection은 이렇게 데이터 사이에서 Target을 예측하는 데 있어 중요한 역할을 하는 속성과 중요하지 않은 속성들을 구분하여 머신러닝 모델을 학습시키기 위한 데이터에 어떤 속성들을 포함시킬지를 결정하는 단계입니다.
Feature Selection을 하는 이유?
전체 데이터를 통째로 머신러닝 모델에 학습시키지 않고, Feature Selection 과정을 거치는 이유는 여러가지 장점이 있기 때문입니다.
1. 모델을 심플하게 만듭니다. - 머신러닝 모델은 복잡할 수록 오히려 많은 문제들을 야기할 수 있습니다. 중요하지 않은 데이터까지 포함시킴으로써 모델이 일반화하지 못하고 지나치게 Overfitting 할 수 있습니다. Feature Selection을 통해 중요하지 않은 속성들은 drop 함으로써 좀 더 단순한 모델을 만들 수 있습니다.
2. 학습 시간(Training Time)이 단축됩니다. - 데이터의 차원을 축소시킴으로써 모델의 학습에 필요한 시간을 단축시켜줍니다.
3. 퍼포먼스를 향상시킵니다. - 데이터에서 중요하지 않은 속성들은 제거함으로써 머신러닝 모델의 예측 퍼포먼스를 향상할 수 있습니다. 이는 Feature Selection을 하는 궁극적인 목적입니다.
Feature Selection 하는 방법 3가지 종류
1. Filter method
모든 속성들의 특정 통계량에 기반하여 순위를 매긴 후 순위가 낮은 속성들을 제거함으로써 Feature Selection하는 방법입니다. 사용되는 통계량으로는 상관계수(Correlation Coefficient), Information Gain이 가장 대표적입니다.
주의해야 할 점은 Filter 메소드는 모든 속성들 하나하나가 서로 독립적인 것으로 간주하며 각각의 중요도를 측정하는 것으로 속성들끼리의 상호관계는 고려하지 않기 때문에 단순 순위가 낮온 속성을 제거했다가 오히려 모델의 퍼포먼스가 나빠지는 결과를 낳을 수도 있습니다.
이를 방지할 수 있는 방법은 순위가 낮게나온 속성을 하나하나 제거해 가면서 기존 데이터를 학습시켰을 때와 제거한 이후 퍼포먼스를 비교해 본 다음에 퍼포먼스가 오히려 낮아지면 다시 해당 속성을 킵하고 퍼포먼스가 올라가면 제거한 상태로 유지한 이후에 그다음 순위가 낮은 속성을 차례대로 제거해 가며 퍼포먼스를 향상해 나가는 방법이 있습니다.
2. Wrapper method
Wrapper method는 데이터 속성들 중에서 모델의 퍼포먼스를 높이는, 타겟에 영향을 가장 많이 끼치는 중요한 속성들의 조합을 찾아내는 방법입니다. Wrapper method는 데이터 속성들의 부분 조합을 바꿔가면서 모델 학습을 시킨 후 퍼포먼스를 측정하여 비교해 봄으로써 최적의 조합을 찾아냅니다. Wrapper 메소드를 사용하는 방식에는 다음과 같은 방식이 있습니다.
- RFE(Recursive feature elimination)
- Forward Selection
- Backward Elinimation
- Exhaustive search
- Genetic algorithms
Wrapper method는 Filter method에서 속성들 사이의 상관관계가 무시되던 단점은 보완하지만, 계산이 복잡하여 오래걸린다는 단점을 가지고 있습니다.
3. Embedded method
Embedded 메소드는 모델을 학습시키는 과정에서 feature selection도 수행하는 방식입니다. Filter 메소드와 Wrapper 메소드와는 달리, feature selection이 별도의 프로세스로 이루어지지 않는다는 점에서 차이가 있습니다. 가장 대표적인 방식으로는 과 Lasso regression, Ridge regression, Decision Tree, Random Forest가 있습니다.
- Lasso regression
- Ridge regression
- Decision Tree
- Random Forest
머신러닝 프로세스 중에서 Feature Selection은 모델의 퍼포먼스를 향상시킬 수 있는 가장 중요한 단계입니다. 그렇기 때문에 Feature Selection의 의미와 Feature Selection을 하는 방법을 이해하여 적절한 방법을 적용시키는 게 좋습니다. 다음 포스팅에서는 좀 더 세부적으로 Feature Selection을 하는 방법을 하나하나 소개드리도록 하겠습니다.
'머신러닝' 카테고리의 다른 글
머신러닝 Decision Tree 핵심 개념 (데이터 사이언티스트 면접 질문) (0) | 2023.02.23 |
---|---|
불균형 데이터(Imbalanced Data) 머신러닝 Classification 문제점 해결방법 (0) | 2023.02.23 |
머신러닝 ROC curve(커브), AUC 개념 제대로 이해하기 (0) | 2023.02.22 |
[머신러닝] KNN 알고리즘 (K-Nearest Neighbor) (0) | 2023.02.20 |
머신러닝 서포트벡터머신 모델(Support Vector Machine) (0) | 2023.02.19 |
댓글