Correlation Analysis
상관분석은 확률론과 통계학에서 두 변수 간에 어떤 선형적 관계를 갖고 있는지를 분석하는 방법이다.
두 변수는 서로 독립적인 관계로부터 서로 상관된 관계일 수 있으며, 이때 두 변수 간의 관계의 강도를 상관관계라고 한다.
상관관계의 정도를 나타내는 상관계수(Correlation coefficient)는 두 변수 간의 선형관계를 나타낼 뿐 인과관계를 설명하는 것은 아니다.
Feature Importance
feature importance는 트리기반 모델에서 사용된다. 즉 중요도를 구분하는 데에 트리의 분할과 밀접한 관련이 있다는 말이다.
쉽게 생각하면 특정 feature가 트리를 분할하는데 얼마나 기여를 했는지에 따라 중요도가 결정되는 것이다.
트리가 분할하는 원리는 무엇일까?
트리는 순수도를 기준으로 분할하게 된다. 즉, 가장 잘 분류시키는 feature를 순수도라는 기준으로 판단하는 것이다.
예를 들어 '성별'이라는 특성으로 분류했을 때 고양이와 강아지를 잘 분류하지 못하고(순수도가 낮다),
'눈동자 모양'이라는 특성으로 분류했을 때 잘 분류한다면(순수도가 높다) '눈동자 모양'을 해당 트리 분할 기준으로 선택하는 것이다.
그리고 '눈동자 모양'의 중요도가 높아지는 것이다.
순수도는 엔트로피와 gini 계수를 활용해 계산한다.
correlation과 feature importance의 관계에 대해 다루는 포스팅이므로 자세한 내용은 생략하도록 하겠다.
feature importance는 절대적인 지표가 되지 못한다. 왜 절대적인 지표가 되지 못할까?
feature importance는 노드가 분기할 때의 정보 이득 혹은 지니 상수만을 고려하여 중요도를 부여하기 때문에 과적합에 대해 고려하지 못한다.
예를 들어 동그라미와 세모를 분류하는데, 동그라미 집단 속에 하나의 세모가 있다고 가정해 보자.
이 세모를 분리해 내기 위해 여러 가지 기준선을 추가하는 것이 과적합이라고 한다면, 트리에서도 이 동그라미 속에 있는 하나의 세모를 분리해 내는 특성을 선택하는 것이다(순수도는 높아지기 때문에).
이를 편향에 대해 학습했다고 하는데, 이런 이유로 절대적인 지표가 되지 못한다고 할 수 있다.
또한, 이 불순도를 기반으로 한 변수 중요도는 데이터를 학습하는 과정에서 얻은 결과이다. 다시 말해서, train 데이터셋으로부터 얻은 통계량으로 계산된 중요도이기 때문에, test 데이터셋에서는 이 변수 중요도가 어떻게 변하는지 알 수 없다. 실제로 test 데이터셋에서는 안 중요한 변수가 학습 과정에서는 가장 중요한 변수로 계산될 수 있는 것이다.
Correlation과 Feature Importance의 관계
머신러닝 프로젝트를 진행할 때 Target과 Feature 간에 관계를 파악하기 위해 Correlation Heatmap을 그려 상관계수를 확인한다.
또한 Feature importance를 통해 변수의 중요도를 파악한다.
두 방법 모두 변수가 target에 미치는 영향을 확인하기 위함이므로 경향성은 어느 정도 비슷할 것이라 생각한다.
단순하게 생각해 보면 target과의 correlation이 큰 Feature들이 feature importance도 높을 거라 생각된다.
(target과의 상관계수가 높은 Feature가 0과 1로 target을 split 할 때 많이 인용될 것이므로)
하지만 프로젝트를 진행하다 보면 상관계수가 매우 낮음에도 불구하고 Feature importance는 높은 경우를 적지 않게 볼 수 있었다.
왜 이런 현상이 일어나는 걸까?
보통 correlation은 연속형 피처들끼리 비교한다. 물론 category 값끼리도 correlation을 구하는 방법이 있지만, 일반적으로 연속형 피처들끼리 비교하는 게 보통이다.
그런데 타겟값 0, 1을 연속형 값으로 볼 수는 없다. classification 이기 때문이다. 그래서 feature와 target 간의 상관관계는 classification에서는 많이 감안하지 않는다. regression에서는 충분히 감안할 수 있다.
feature importance 역시 feature와 target 간 상관도가 높으면 역시 높은 경향은 있지만 반드시 비례하지만은 않는다.
feature importance는 트리 기반에서 불확실성을 확 줄여주는 레벨로 평가를 받는다. feature의 특정 값 범위에 따라서 확실하게 타겟값에 이를 수 있다면 상관도와 관계없이 높은 평가를 받을 수 있다.
결론은 최고의 변수선택법은 없다는 것이다.
대신 신중하고 체계적인 실험을 통해 특정 문제에 가장 적합한 방법을 찾아야 할 것이다.