목차
프로젝트 주제
프로젝트 개요
활용 장비 및 재료
프로젝트 구조 및 사용 데이터셋의 구조도(연관도)
[그림1] 프로젝트 구조도
[그림2] 데이터셋 구조도
팀원 | 역할 |
---|---|
강수헌_T4003 | - 데이터 EDA를 통한 insight 공유 |
프로젝트 사전 이해
프로젝트의 사전 기획
콜드 스타트 문제에 대해, 콜드와 웜을 분리한 데이터셋 만들어 학습 진행 고려
test 셋에서 처음 등장하는 유저의 수: 12231(47%)
→ 해당 유저의 rating은 item-based CF나 user-based CF 적용해보기
→ 콜드 유저 + 콜드 아이템 / 콜드 유저 + 웜 아이템 / 웜 유저 + 콜드 아이템 / 웜 유저 + 웜 아이템 으로 데이터 셋 분리
NCF, FM, FFM, WDN, DeepCoNN, GBM계열, Ensemble모델 학습시켜본 후 적합한 모델 탐색
프로젝트 로드맵
[그림3] 프로젝트 로드맵
프로젝트 수행 및 완료 과정
Train&Result
Train | Result |
---|---|
FM | |
User_id, Age, Isbn, Author 이용 |
`--SEED 8746 --EPOCHS 3 --FM_EMBED_DIM 1 --LR 2e-3 --BATCH_SIZE 128 --WEIGHT_DECAY 1e-` | RMSE
- CV : 2.171
- LB : 2.16 |
| FFM
User_id, Age, Isbn, Author 이용
--SEED 8746 --EPOCHS 2 --FFM_EMBED_DIM 1 --LR 2e-3 --BATCH_SIZE 128 --WEIGHT_DECAY 1e-4
| RMSE : 2.172 |
| HOFM
User_id, Age, Isbn, Author 이용
--SEED 8746 --EPOCHS 2 --ORDER 10 --HOFM_EMBED_DIM 1 --LR 2e-3 --BATCH_SIZE 128 --WEIGHT_DECAY 1e-4
| RMSE : 2.169 |
| FM+FFM+HOFM
User_id, Age, Isbn, Author 이용
모델 모두 결측치가 적어서 embedding 차원이 적을수록 유리함
- Activation Fn : ReLU
- Optimizer : Adam | RMSE :2.159 |
| DCN
User_id, Age, Isbn, Author, Category 이용
--SEED 8746 --DCN_EMBED_DIM 8 --DCN_DROPOUT 0.2 --EPOCHS 10 --LR 2e-3 --BATCH_SIZE 128 --WEIGHT_DECAY 5e-3
- Activation Fn : ReLU
- Optimizer : Adam | RMSE : 2.205 |
| FM+FFM+HOFM+DCN(최종모델)
성능이 좋았던 4개의 모델을 앙상블해서 사용함. | RMSE : 2.151 |
[표1 모델 실험 및 결과]
탐색적 분석 및 전처리 (학습 데이터 소개)
inital dataset : users.csv, books.csv, train_ratings.csv
users.csv
location을 그대로 encoding 하게 되면 카디널리티가 높아지므로 city, state, country를 나눠서 진행했다.
city, state, country의 결측치를 서로 포함관계에 있는 것을 이용해 채워주었다.
[그림4] user.csv
[그림5] preprocessed users.csv
books.csv
모델 개요