Skip to content

boostcampaitech7/level4-recsys-finalproject-hackathon-recsys-07-lv3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎞️ Cold Start Problem on Your RecSys

RecSys 데이터셋을 선정해 콜드 스타트 문제를 정의 및 관측하고, 해결하는 솔루션을 제시하는 프로젝트입니다.

Team

곽정무 박준하 박태지 배현우 신경호 이효준

프로젝트 구조

📦 level4-recsys-finalproject-hackathon-recsys-07-lv3
├── 📜 README.md
├── 📂 cold_emb_retrain
│   ├── 📂 data
│   │   ├── 📂 ml-1m
│   │   │   ├── 📜 train.csv
│   │   │   └── 📜 val.csv
│   │   └── 📂 ml-20m
│   │       ├── 📜 train1.csv
│   │       ├── 📜 train2.csv
│   │       └── 📜 val.csv
│   ├── 📜 main.py
│   ├── 📜 readme.md
│   ├── 📜 requirements.txt
│   ├── 📂 saved
│   │   └── 📜 ml-1m_best_model.pt
│   └── 📂 src
│       ├── 📜 __init__.py
│       ├── 📜 dataset.py
│       ├── 📜 model.py
│       ├── 📜 sampler.py
│       ├── 📜 sampler_cpp.cpp
│       ├── 📜 trainer.py
│       └── 📜 utils.py
├── 📂 docs
│   ├── 📜 TVING_RecSys_팀 리포트(07조).pdf
│   └── 📜 Tving_RecSys_발표자료.pdf
└── 📂 neg_sampling_finetune
    ├── 📜 main.py
    ├── 📂 notebooks
    │   ├── 📜 cold_baseline.ipynb
    │   └── 📜 setup.ipynb
    ├── 📜 readme.md
    ├── 📜 requirements.txt
    └── 📂 src
        ├── 📂 data
        │   ├── 📜 __init__.py
        │   ├── 📜 dataloader.py
        │   └── 📜 dataset.py
        ├── 📂 models
        │   ├── 📜 NCF.py
        │   └── 📜 __init__.py
        ├── 📂 train
        │   ├── 📜 __init__.py
        │   ├── 📜 loss.py
        │   ├── 📜 metrics.py
        │   └── 📜 trainer.py
        └── 📂 utils
            ├── 📜 __init__.py
            └── 📜 setting.py

개발환경

  • python 3.10.15

기술스택

협업툴

라이브러리 설치

$ pip install -r requirement.txt

기능 및 예시

  • Cold Embedding Retraining

cold_emb_retrain 폴더로 이동하면 자세한 안내사항을 확인하실 수 있습니다.


  • Hybrid Negative Sampling

먼저 Uniform Random Negative Sampling 을 통해 모델이 Cold User의 성능이 최고 성능을 달성할 때까지 학습합니다. 이후 저장된 모델을 불러와 상위 30% 인기도 영화를 샘플링하는 Popularity 기반 Hard Negative Sampling을 통해 모델을 추가적으로 학습합니다. 경로를 neg_sampling_finetune으로 설정한 뒤 다음의 명령어를 실행하면 됩니다.

$ python main.py 

About

level4-recsys-finalproject-hackathon-recsys-07-lv3 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •