임의 순서로 선택

실용적인 고려사항

데이터 생성 파이프라인을 재현 가능하게 만듭니다. 특성을 추가하여 모델 품질에 미치는 영향을 확인하고자 한다고 가정해 보겠습니다. 공정한 실험을 위해서는 데이터 세트가 새로운 기능을 제외하고 동일해야 합니다. 데이터 생성 실행을 재현할 수 없는 경우 해당 데이터 세트를 생성할 수 없습니다.

이를 바탕으로 데이터 생성에서 무작위 순서 지정을 확정적으로 할 수 있는지 확인합니다.

  • 임의의 숫자 생성기를 사용(RNG)합니다. 시드는 RNG에서 실행할 때마다 동일한 값을 동일한 순서로 출력하여 데이터 세트를 다시 생성하도록 합니다.
  • 변경되지 않는 해시 키를 사용합니다. 해싱은 데이터를 분할하거나 샘플링하는 일반적인 방법입니다. 각 예시를 해싱하고 결과 정수를 사용하여 예시를 배치할 분할을 결정할 수 있습니다. 데이터 생성 프로그램을 실행할 때마다 해시 함수의 입력이 변경되지 않아야 합니다. 예를 들어 주문형 해시를 다시 만들려는 경우 해시에 현재 시간이나 임의의 숫자를 사용하지 마세요.

앞의 접근 방식은 데이터 샘플링과 분할에 모두 적용됩니다.

해싱 시 고려사항

다시 한번 검색어를 수집하고 해싱을 사용하여 쿼리를 포함하거나 제외한다고 가정해 보겠습니다. 해시 키에서 쿼리에만 사용했다면 며칠간의 데이터에 해당 쿼리를 항상 포함하거나 항상 제외합니다. 다음과 같은 이유로 쿼리를 항상 포함하거나 항상 제외하는 것은 좋지 않습니다.

  • 학습 세트에는 덜 다양한 쿼리가 표시됩니다.
  • 평가 세트는 학습 데이터와 겹치지 않으므로 인위적으로 어렵습니다. 실제로 서빙 시에는 학습 데이터의 실시간 트래픽 중 일부를 볼 수 있으므로 평가 시 이를 반영해야 합니다.

대신 쿼리 + 날짜를 해싱하면 매일 해싱이 달라집니다.

 

쿼리에 대해서만 해싱하면 매일 데이터가 동일한 버킷에 유입되지만 쿼리와 쿼리 시간을 해싱하면 매일 다른 버킷으로 데이터가 이동하는 방식을 보여주는 애니메이션 시각화 세 가지 버킷은 학습, 평가, 무시됨입니다.