인프런 커뮤니티 질문&답변

지승환님의 프로필 이미지
지승환

작성한 질문수

단 두 장의 문서로 데이터 분석과 시각화 뽀개기

질문드립니다

작성

·

173

2

강의내용 중에 .qcut을 사용하여 카테고리컬한 구분(bad, medium, good) 내용이 있습니다

10개의 데이터값이 2가 넘지 않는 소수 6번째짜리의 값들을 구분하였는데

낮은 값이 bad, 높은 값이 good, 중간 정도의 값이 medium으로 출력되었습니다

어떤 기준으로 .qcut 코드가 bad, good, medium을 구분하였는지 궁금합니다.

답변 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 로 표현하면 아래와 같습니다.

지승환님의 프로필 이미지
지승환

작성한 질문수

질문하기