작성
·
173
답변 3
1
0
0
안녕하세요.
질문 주신 내용은 binning 혹은 bucketing 이라는 기법에 쓰이는 내용입니다.
연속된 숫자로된 컬럼을 질문 주신 내용처럼 범주형태로 변환하는 것입니다.
아래 코드를 보시면 10개의 숫자를 3개의 범주 값으로 나누도록 했습니다.
값을 나누는 기준은 q 값을 정해주면 q의 값만큼 범주의 갯수를 만들게 됩니다.
여기에 보시면 precision 이라는 옵션이 있는데 이 값은 bin을 나누는 정밀도입니다.
여기에서 정밀도를 구하는 기준과 공식은 pandas 내부의 소스코드를 찾아봐야지 알것 같습니다.
precision 을 1로 지정해 주었을 때 다음의 범위에서 값을 구하게 됩니다.
-1~3, 4~6, 7~9 의 범위로 3개의 범주로 나눕니다.
그래서 label 값을 지정하지 않았을 때 아래와 같이 (3, 6, 9 ) 3가지 값으로 구분합니다.
정밀도가 3일 때 -1.001~3, 4~6, 7~9 의 범위로 3개의 범주로 나눕니다.
이걸 label 로 표현하면 아래와 같습니다.