데이터 로그 조인

학습 세트를 조합할 때 때때로 여러 데이터 소스를 조인해야 할 수 있습니다.

로그 유형

다음과 같은 유형의 입력 데이터를 사용할 수 있습니다.

  • 트랜잭션 로그
  • 속성 데이터
  • 통계 집계

트랜잭션 로그는 특정 이벤트를 기록합니다. 예를 들어 트랜잭션 로그는 쿼리하는 IP 주소와 쿼리가 이루어진 날짜와 시간을 기록할 수 있습니다. 거래 이벤트는 특정 이벤트에 해당합니다.

속성 데이터에는 정보의 스냅샷이 포함됩니다. 예를 들면 다음과 같습니다.

  • 사용자 인구통계
  • 검색 당시의 검색 기록

속성 데이터는 이벤트나 특정 시점에 국한된 것이 아니지만 예측하는 데 유용할 수 있습니다. 특정 이벤트에 연결되지 않은 예측 작업 (예: 개별 순간이 아닌 시간 범위와 관련 있는 사용자 이탈 예측)의 경우 속성 데이터가 유일한 데이터 유형일 수 있습니다.

속성 데이터와 트랜잭션 로그는 관련이 있습니다. 예를 들어 여러 트랜잭션 로그를 집계하여 집계 통계를 만들어 속성 데이터 유형을 만들 수 있습니다. 이 경우 여러 트랜잭션 로그를 확인하여 사용자의 단일 속성을 만들 수 있습니다.

집계 통계는 여러 트랜잭션 로그에서 속성을 만듭니다. 예를 들면 다음과 같습니다.

  • 사용자 쿼리 실행 빈도
  • 특정 광고의 평균 클릭률

로그 소스 조인

각 로그 유형은 서로 다른 위치에 있는 경향이 있습니다. 머신러닝 모델의 데이터를 수집할 때는 여러 소스를 함께 결합하여 데이터 세트를 만들어야 합니다. 예를 들면 다음과 같습니다.

  • 트랜잭션 로그에서 사용자의 ID와 타임스탬프를 활용하여 이벤트 발생 시점의 사용자 속성을 조회합니다.
  • 트랜잭션 타임스탬프를 사용하여 쿼리 시 검색 기록을 선택합니다.

예측 데이터 소스 - 온라인과 오프라인 비교

머신러닝 단기집중과정에서는 온라인과 오프라인 서빙에 관해 알아봤습니다. 이 선택은 시스템의 데이터 수집 방식에 다음과 같이 영향을 미칩니다.

  • 온라인 - 지연 시간이 문제가 되므로 시스템에서 신속하게 입력을 생성해야 합니다.
  • 오프라인: 컴퓨팅 제한이 없으므로 학습 데이터 생성과 마찬가지로 복잡한 작업을 수행할 수 있습니다.

예를 들어 속성 데이터를 다른 시스템에서 조회해야 할 때가 많기 때문에 지연 시간 문제가 발생할 수 있습니다. 마찬가지로 집계된 통계는 즉석에서 컴퓨팅하는 데 비용이 많이 들 수 있습니다. 지연 시간이 차단 요소인 경우 이러한 통계를 미리 계산할 수 있습니다.