HeartCount 사용 Tip] Binning 기능에 대하여
Binning은 대표적인 변수가공(Feature Engineering) 기법 중의 하나로 숫자형 변수를 범주형 변수로 변형하는 작업이다.
직원들을 해당 직원의 나이(숫자)에 따라 주니어(28세 이하), 청장년(29~54세), 시니어(55세 이상) 등으로 구분하는 작업도 Binning이라고 할 수 있다.
Binning을 하는 이유는 숫자형 변수의 크고 작음에 따라 특정 레코드를 분류/구분(고성과자, 저성과자)하거나 회귀분석처럼 변수 간 선형적 관계를 찾는 알고리즘에서 발견하지 못한 비선형적 관계를 찾아내기 위해서 등이다.
HeartCount 서비스에서 Binning을 어떻게 하는지 간단히 살펴보자.
- 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