HeartCount 사용 Tip] Binning 기능에 대하여

Sidney @HEARTCOUNT
HEARTCOUNT
Published in
3 min readMay 18, 2017

Binning은 대표적인 변수가공(Feature Engineering) 기법 중의 하나로 숫자형 변수를 범주형 변수로 변형하는 작업이다.

직원들을 해당 직원의 나이(숫자)에 따라 주니어(28세 이하), 청장년(29~54세), 시니어(55세 이상) 등으로 구분하는 작업도 Binning이라고 할 수 있다.

Binning을 하는 이유는 숫자형 변수의 크고 작음에 따라 특정 레코드를 분류/구분(고성과자, 저성과자)하거나 회귀분석처럼 변수 간 선형적 관계를 찾는 알고리즘에서 발견하지 못한 비선형적 관계를 찾아내기 위해서 등이다.

HeartCount 서비스에서 Binning을 어떻게 하는지 간단히 살펴보자.

  1. KPI 관리에서 숫자형 변수(예, 나이)를 선택하면 기본적으로 아래와 같은 화면이 나온다. Default로 나이_bin 변수와 나이_percentile 변수가 생성된 걸 볼 수 있다.

2. 나이_bin을 선택하여 bin(bucket)의 갯수를 10개(default)에서 30개로 바꾼 화면이다. (숫자형 변수를 쪼갤 수 있는 binning의 최대 갯수는 30개임) 계산 방법을 “by value”로 선택한 경우 변수값(나이)을 기준으로 최대한 균등하게 30개의 구간을 자동으로 생성하게 된다.

3. 나이_percentile을 선택하여 bin(bucket)의 갯수를 5개(default)에서 10개로 바꾼 화면이다. 계산 방법을 “by count”로 선택한 경우 해당 구간에 속하는 레코드의 갯수를 기준으로 최대한 균등하게 10개의 구간을 자동으로 생성하게 된다. (아래 ~10th percentile 구간에는 나이가 가장 어린 하위 10%의 레코드가 속하게 됨)

4. + 기호를 눌러서 나이에서 파생된 범주형 변수를 하나 더 만들어 보겠다. 계산방법을 “custom ranges”로 선택한 경우 개별 bin의 range를 사용자가 직접 조정할 수 있다. (아래의 경우는 3개의 bin을 선택 후 개별 bin의 나이구간을 임의로 할당한 화면)

다음 글에서는 binning 기능을 유용하게 활용하는 몇가지 사례를 살펴보기로 하겠다.

@추가로 참고할 자료
https://en.wikipedia.org/wiki/Data_binning

--

--