버킷팅

먼저 머신러닝 단기집중과정의 주요 아이디어를 검토해 보겠습니다. 아래 차트의 분포를 살펴보세요.

위도당 주택 수 위도 36도 지점의 위도와 34도 및 38도의 위도 급증이 포함된 매우 불규칙한 플롯 그림 1: 주택 가격 및 위도 비교

 

다음 질문의 경우 원하는 화살표를 클릭하여 답을 확인하세요.

그림 1을 고려하세요. 위도가 주택 값을 잘 예측할 수 있다고 생각된다면 위도를 부동 소수점 값으로 남겨두어야 하나요? 그 이유는 무엇인가요? (이를 선형 모델이라고 가정합니다.)
예: 위도가 데이터 세트의 부동 소수점 값인 경우, 이를 변경하면 안 됩니다.
이러한 부동 소수점 값을 네트워크에 피드하면 특성과 라벨 간의 선형 관계를 학습하려고 합니다. 그러나 선형 관계는 위도를 포함할 가능성이 낮습니다. 위도가 1도 높아지면 (예: 34~35도) 모델 출력에서 어느 정도의 변동이 발생할 수 있는 반면, 1도 증가하면 (예: 35~36도) 변화 정도가 달라질 수 있습니다. 이는 비선형 동작입니다.
아니요, 위도와 주택 값 사이에는 선형 관계가 없습니다.
개별 위도 및 주택 값이 관련되어 있지만 관계는 선형이 아닌 것으로 의심됩니다.

위도 예와 같은 경우에는 위도를 버킷으로 분할하여 각 버킷의 주택 값에 대해 다른 것을 알아야 합니다. 이러한 임곗값을 사용하여 숫자 특성을 범주형 특성으로 변환하는 것을 버케팅(또는 비닝)이라고 합니다. 이 버케팅 예시에서 경계 간격은 동일하게 유지됩니다.

위도와 주택 가격을 이전 그림과 동일하게 표시합니다. 하지만 이번에는

플로트를 정수 전체 위도 간에 11&;bins;로 나눕니다.

 

그림 2: 주택 가격 및 위도 비교, 이제 버킷으로 구분

분위수 버케팅

버킷이 추가된 자동차 가격 데이터 세트를 다시 살펴보겠습니다. 버킷당 하나의 특성을 사용하면 모델은 45,000개 범위의 단일 예시에 5,000~10,000개 범위의 모든 예시에 대해 최대한 많은 용량을 사용합니다. 낭비입니다. 이 상황을 어떻게 개선할 수 있을까요?

해당 가격에 판매된 차량 수당 자동차 가격대 플롯은 범위가 5,000인 자동차 가격의 동등한 버킷 10개로 나뉩니다. 처음 3개의 버킷에는 많은 예가 포함되어 있지만, 마지막 7개 버킷에는 예가 거의 없습니다.

그림 3: 다양한 가격으로 판매되는 차량 수

 

문제는 간격이 같은 버킷이 이 분포를 잘 캡처하지 못한다는 것입니다. 해결책은 각각 동일한 포인트 수를 가진 버킷을 생성하는 것입니다. 이 기법을 분위수 버케팅이라고 합니다. 예를 들어 다음 그림은 자동차 가격을 분위수 버킷으로 나눕니다. 각 버킷에 동일한 수의 예시가 배치되도록 일부 버킷은 좁은 가격 범위를, 다른 버킷은 매우 광범위한 가격 범위를 포함합니다.

분위수 버킷을 제외하면 그림 3과 동일합니다. 즉, 이제 버킷의 크기가 다릅니다. 가장 작은 버킷의 범위는 약 1000달러이고 가장 큰 버킷의 범위는 약 25000달러입니다.
이제 각 버킷의 자동차 수는 거의 동일합니다.

그림 4: 분위수 버케팅은 각 버킷에 동일한 수의 자동차를 부여합니다.

버케팅 요약

숫자 특성을 버킷화하려는 경우 경계를 설정하는 방법 및 적용하는 버케팅 유형을 명확하게 밝혀야 합니다.

  • 경계가 동일한 버킷: 경계가 고정되며 같은 범위 (예: 0~4도, 5~9도, 10~14도 또는 $5,000~$9,999, $10,000~$14,999, $15,000~$19,999)를 포함합니다. 여러 개의 포인트가 있는 버킷도 있고, 포인트가 거의 없거나 전혀 없는 버킷도 있습니다.
  • 분위수 경계가 있는 버킷: 각 버킷은 포인트 수가 동일합니다. 경계는 고정되어 있지 않으며, 좁은 범위 또는 넓은 값 범위를 포함할 수 있습니다.