본 프로젝트는 사용자의 영화 시청 이력 데이터를 바탕으로 사용자가 다음에 시청할 영화 및 좋아할 영화를 인공지능을 통해 예측하는 프로젝트이다.
- 서버 정보 : AI Stages GPU V100 서버
- 버전 정보 : Python 3.10.13
- 패키지 정보
numpy==1.22.2
pandas==1.4.1
python-dateutil==2.8.2
pytz==2021.3
recbole==1.2.0
scipy==1.8.0
six==1.16.0
torch==1.10.2
tqdm==4.62.3
typing_extensions==4.1.1
김세훈 | 문찬우 | 김시윤 | 배건우 | 이승준 |
---|---|---|---|---|
- 공통 : EDA, Hyper Parameter Tuning, Git Management, Recbole
- 김세훈 : MultiDAE, MultiVAE Baseline 구축 및 실험, Ensemble
- 문찬우 : 모델 성능 확인, 모델간의 유사도 확인 및 Ensemble
- 김시윤 : RecBole 실험환경 세팅(기본 환경, inference), ease, lightgcn, recvae, deepfm 모델 실험, 앙상블 진행
- 배건우 : 서버환경 구축, 베이스라인 구축
- 이승준 : SASRec Baseline 구축 및 실험, RecBole을 활용한 EASE, ADMM-SLIM, CDAE, GRU4Rec 모델 실험
- 주 학습 데이터로 userid*,* itemid, timestamp로 구성되어있으며, 총 5,154,471의 행으로 이루어졌다.
userid
: 총 31,360 명의 유저의 userid가 존재itemid
: 총 6,807 건의 영화의 itemid가 존재timestamp
: 유저가 영화를 시청한 시간 이력
director
: 영화별 감독에 대한 자료로, 총 5,905개의 행으로 이루어져있다.writer
: 영화별 작가에 대한 자료로, 총 11,307개의 행으로 이루어져있다.genre
: 영화의 장르 (한 영화에 여러 장르가 포함될 수 있음)에 대한 자료로, 총 15,934개의 행, 총 18개의 장르로 이루어져 있다.year
: 영화의 개봉년도에 대한 자료로, 총 6,799개의 행으로 이루어져있다.title
: 영화의 제목에 대한 자료로, 총 6,807개의 행으로 이루어져 있다.
Type | Model | Public Score | Private Score |
---|---|---|---|
General | EASE | 0.1595 | 0.1595 |
ADMMSLIM | 0.1563 | 0.1544 | |
CDAE | 0.1318 | 0.1328 | |
MultiVAE | 0.1304 | 0.1320 | |
MultiDAE | 0.1371 | 0.1390 | |
RecVAE | 0.1321 | 0.1335 | |
Context-Aware | DeepFM | 0.0880 | 0.0877 |
Sequence | SASRec | 0.0949 | 0.0805 |
Bert4Rec | 0.0782 | 0.0738 | |
Graph | LightGCN | 0.1160 | 0.1184 |
Hard Voting 앙상블 : EASE(3), ADMMSLIM(3), CDAE(1), MultiVAE(1), MultiDAE(1), DeepFM(1), SASRec(1), LightGCN(1), Bert4Rec(1)
Public Score | Private Score |
---|---|
0.1632 | 0.1623 |