데이터에서 두 집단을 구분하는 특성 찾기

Sidney @HEARTCOUNT
HEARTCOUNT
Published in
5 min readMar 13, 2022

실무 현장에서, 두 집단을 구분짓는 주요 특성을 데이터에서 찾아야 하는 경우는 빈번합니다. 인사부서에서 고성과자와 저성과자를 구분하는 주요 특성을 파악하고자 하는 경우, 운영부서에서 매출이 좋은 매장들과 그렇지 못한 매장들의 차이가 어디서 비롯되는지 이해하고자 하는 경우 등이 그렇습니다.

이번 글에서는 타이타닉호에 탑승한 사람 중 살아남은 사람과 죽은 사람을 구분하고자 할 때, 탑승자의 어떤 속성(변수)이 두 집단을 구분하는데 요긴한 변수인지 확인하는 방법에 대해 알아 보겠습니다.

아래 그림에서 생존자를 파랑색, 사망자를 노랑색으로 구분한 후 나이에 따른 각 집단의 분포를 시각화했다고 가정해 보겠습니다. 생존자 집단의 나이가 전체적으로 많은 것(파랑색 집단의 나이 분포가 오른쪽에 치우쳐 있음)이 쉽게 확인되고, 나이 변수가 두 집단을 구분하는데 유용할 수 있겠다고 짐작할 수 있습니다.

다만, 나이 말고도 성별, 탑승권의 종류 등 두 집단을 구분할 때 사용할 수 있는 속성(변수)이 많다고 할 때, 이런 속성들의 상대적 중요도를 육안으로만 파악하는데는 한계가 있습니다.

AUC는 Area Under Curve(곡선 아래의 면적)의 약어로, 주어진 두 집단의 분포에서 생존, 사망 집단을 구분하는 기준점(cutoff, 좌측의 수직 직선)을 얼마로(20세, 25세 등) 책정하느냐에 따라, True Positive(생존했을 거라 예측했고 실제 생존한 경우), False Positive(생존했을 거라 했는데 사망한 경우) 비율이 달라지는 위치를 좌표 상에 표기 한 후, 해당 점들을 이은 선(ROC curve라고 함) 아래의 면적을 나타냅니다.

두 집단의 분포가 주어졌을 때, AUC(위 박스글 참고)가 클 수록 해당 변수가 두 집단을 잘 구분할 수 있다고 얘기할 수 있습니다. 아래 그림처럼, 두 집단의 분포가 겹치는 영역(교집합)이 없으면 AUC는 1이 됩니다. (AUC=1, 해당 변수로 두 집단을 완벽하게 구분 가능)

서로 다른 집단을 분류하는 모형(logistic model, decision tree 등)의 성능을 종합적으로 평가할 때 AUC가 사용되곤 합니다.

HEARTCOUNT로 타이타닉호 생존자, 사망자를 구분하는 특성 찾기

성능 좋은 예측 모형을 만들어 우리 회사 서비스에 반영할 것이 아니라면, 실무적 관점에서 두 집단의 차이를 이해하는 일은 아래 두가지 목적으로 이루어집니다.

  • 개별 변수들의 상대적 중요도를 파악하기 (순익이 높은 매장들의 가장 두드러진 특성은 매장직원들의 퇴사율이 낮다는 것이다.)
  • 특정집단이 높은 순도로 모여있는 변수들의 조합 찾기 (퇴사율이 15%이하이고 배달 비중이 30% 이하인 매장들의 경우 90%의 확률로 순이익 상위 20% 집단에 속했다)

아래에서는 HEARTCOUNT의 비교분석 기능을 통해 두 집단을 분류하는데 주요한 변수들의 상대적 중요도를 확인하는 법을 알아 보겠습니다. 타이타닉 데이터셋을 사용했고, 비교분석 화면의 내용을 간단히 설명하면:

[HEARTCOUNT 비교 분석]
- 그룹A와 그룹B: 특성 차이를 이해하고자 하는 두 집단을 설정합니다. 그룹A에는 사망자(Survived=0), 그룹B에는 생존자(Survived=1)을 설정한 후 [비교] 버튼을 클릭하면 됩니다.
- survived 100%: 생존/사망 여부를 표시하는 (목표)변수인 "survived"로 (당연히) 두 집단이 100% 구분된다는 이야기입니다.
[SEX 변수 결과만]
- sex, female: 성별이 가장 주요한 변수이고, 생존자(붉은색, 그룹B)의 68.13%가 여성이었던 반면, 사망자(파랑색, 그룹A)의 경우 14.75%만이 여성이었고, 여성(female)은 생존자의 주요 특성이 되겠네요. 
- sex, 42.8%: 숫자 42.8은 생존자/사망자를 성별(female, male)로 구분하니, 겹치지 않는 면적이 42.8%쯤 된다는 의미입니다.(보라색은 겹치는 영역을 나타냄) 실제는 "Kullback–Leibler divergence"라는 알고리즘을 좀 변형하여 사용하고 있고, 42.8%은 변수가 두 집단을 구분하는 데 있어서의 상대적 중요도를 측정하기 위한 지표 정도로 이해하면 좋겠습니다.

--

--