추천시스템에서의 Data Split

Chalsu Chalsu·2021년 12월 30일
0

Recommender System

목록 보기
3/4

Train, Test Split

모델을 학습하고 평가하기 위해 Dataset을 Training Set과 Test Set으로 나눕니다.

필요에 따라서 Training Set을 Training Set과 Validation Set으로 나누어 학습하는 동안에 검증하기도 합니다.

일반적인 경우의 Data Split

위 그림과 같이 Train과 Test를 8:2로 나누는 경우에는 다음과 같이 Row를 기준으로 나누어 줍니다. 하지만 추천시스템에서의 Data Split은 조금 다른 점이 존재합니다.

추천시스템 특성 상 기존에 유저가 가지고 있는 아이템을 기반으로 기존에 못 봤던 아이템들에 대해 추천하는 것을 목적으로 두고 있기 때문에 위 그림처럼 Row를 기반으로 하지 않고 각 유저가 가지고 있던 아이템들 중 일부를 학습할 때 가리는 식으로 진행합니다.

또한 평가를 할 때 어떤 것을 Training Set, Test Set으로 둘지에 대한 기준은 여러 가지가 존재하지만 일반적으로 시간을 기준으로 많이 나눕니다.

위 그림처럼 가장 최근의 아이템 하나에 대해 Test Set으로 두고 예측을 시도하는 방법을 Leave one out이라고 하고 밑 그림처럼 하나가 아닌 여러 개를 예측하는데 임의의 비율로 나누어 Test Set으로 두고 예측을 시도하는 방법을 Ratio-Split이라고 합니다.

profile
https://github.com/MrLee5693

0개의 댓글