KSY1526 / U_PLUS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

1. 팀원 소개

김성연 구진범 이환주

2. 간단한 프로젝트 설명

image

LG U+에서 주최한 대회로 아이가 다음에 시청할 콘텐츠를 추천하는 대회입니다. 링크

나이 기반 Rule-base Model, NeuMF Model, LightGCN Model, CatBoost Model을 사용했습니다.

Private 기준 216팀 중 14위를 기록해 본선 진출 성공 하였습니다.

image

자세한 내용은 Presentation 폴더의 발표자료를 참고해주세요!

3. 하드웨어 스펙/운영체제 및 플랫폼 사용

Upstage V100

4. 소스코드 구조 설명

Presentation/ : 프로젝트 발표 자료가 있습니다. EDA/EDA.ipynb : 전반적인 EDA 내용을 담고 있습니다.
EDA/personal/ : 개인적으로 진행된 실험적인 EDA 내용 입니다.
input : 사용하는 데이터가 저장되어 있는 파일입니다.
MODEL/catboost_model.py : catboost 추천 모델을 돌리는 파일입니다.
MODEL/LightGCN_EMB_MODEL.ipynb : LightGCN 추천 모델을 돌리는 파일입니다.
MODEL/MF_Model.ipynb : NeuMF 추천 모델을 돌리는 파일입니다.
MODEL/RuleBase_Age.ipynb : RuleBase + Age그룹 별 추천 모델을 돌리는 파일입니다. 이 모델이 우리 팀의 최종 제출 모델입니다. saved/ : 모델이 중간 저장되는 장소입니다.
submission/ : 모델 최종 산출물이 저장되는 장소입니다.
requirement.txt : catboost, mf, rulebase 모델 가상환경 구축을 위한 파일입니다.
install.sh : lightgcn 모델 가상환경 구축을 위한 파일입니다.

5. 결과 재현 방법

LightGCN

conda create -n gcn python=3.10
conda activate gcn
chmod +x install.sh
./install.sh
python -m ipykernel install --user --name gcn --display-name gcn
이후 gcn 커널로 MODEL/LightGCN_EMB_MODEL.ipynb 실행

CatBoost, NeuMF, Rulebase

conda create -n recsys python=3.9
conda activate recsys
pip install -r requirements.txt
CatBoost : python MODEL/catboost_model.py 입력
NeuMF : recsys 커널로 MODEL/MF_Model.ipynb 실행
Rulebase : recsys 커널로 MODEL/RuleBase_Age.ipynb 실행

About


Languages

Language:Jupyter Notebook 98.7%Language:Python 1.3%Language:Shell 0.0%