반응형
이전 글([#1] 추천시스템, 뭐가 좋은 거지? RNN vs Transformer?)에서는 추천 시스템 구조의 흐름과 RNN/Transformer 모델의 차이를 소개했어요.
이번 편에서는 정말 실험을 직접 해봅니다. Transformer 기반 추천 모델 중 하나인 **SASRec(Self-Attentive Sequential Recommendation)**을 RecBole 라이브러리를 통해 실행해보며 실험 환경을 구축하고 결과를 확인하는 과정을 안내할게요.
실험은 Windows + Jupyter Notebook + CMD 기반, 가상환경 없이 진행합니다.
✅ 실험 준비물 정리
항목설명
| Python | 3.9~3.10 (가상환경 X) |
| RecBole | 추천 시스템 라이브러리 |
| Jupyter Notebook | 실험용 인터페이스 |
| MovieLens 100K | 실험용 공개 데이터셋 |
✅ 1단계: 설치 환경 준비
CMD(명령 프롬프트) 열기 → 실험용 폴더 만들기:
cd C:\Users\사용자이름\RecSys
mkdir sasrec_experiment
cd sasrec_experiment
필수 패키지 설치:
pip install --upgrade pip
pip install jupyter
pip install recbole
pip install pandas matplotlib
✅ 2단계: Jupyter Notebook 열기
jupyter notebook
브라우저에서 열리는 Jupyter 환경에서 새로운 .ipynb 노트북을 생성하세요. 파일 이름: run_sasrec.ipynb
✅ 3단계: SASRec 실행 코드 작성
다음 코드를 복사하여 셀에 붙여넣고 실행합니다:
from recbole.quick_start import run_recbole
# SASRec + MovieLens-100K 실험
run_recbole(model='SASRec', dataset='ml-100k')
- 첫 실행 시 자동으로 데이터셋을 다운로드하고 학습을 시작합니다.
- 약 3~5분 내 학습이 완료됩니다.
✅ 4단계: 결과 확인하기
실험이 완료되면 saved/ 폴더가 생성되고, 다음과 같은 파일이 저장됩니다:
- saved/log/SASRec-YYYY-MM-DD.log: 학습 과정 로그
- saved/SASRec-YYYY-MM-DD/config.yaml: 설정값 기록
- saved/SASRec-YYYY-MM-DD/ 내부: 모델 파일 등 결과물
📄 예시 로그:
best result:
recall@10 : 0.3851
ndcg@10 : 0.2379
✅ 5단계: 시각화 (선택)
import matplotlib.pyplot as plt
import pandas as pd
# 예시 로그 읽기 (마지막 부분만 보기)
with open('saved/log/SASRec-YYYY-MM-DD.log', 'r') as file:
lines = file.readlines()
for line in lines[-15:]:
print(line.strip())
🎯 마무리
여기까지 따라오셨다면, SASRec 실험 환경은 완성된 상태입니다! 👍
- MovieLens-100K 기준 성능 기록 완료
- RecBole 설치 및 실행 성공
- 추천 정확도 확인 및 시각화 준비
다음 편에서는 이 결과를 RNN 기반 모델(LSTM 등)과 비교 분석하면서 정말 어떤 구조가 더 추천에 유리한지, 실효성까지 살펴볼 예정이에요.
📍 [추천시스템 비교 시리즈 #3] RNN vs Transformer, 정확도는 누가 더 높을까?
👉 곧 공개됩니다!
반응형
'02. 딥러닝' 카테고리의 다른 글
| 00019. [추천시스템 비교 시리즈 #4] 추론 속도부터 cold-start까지, 누가 더 실용적인가? (0) | 2025.04.23 |
|---|---|
| 00018. [추천시스템 비교 시리즈 #3] RNN vs Transformer, 정확도는 누가 더 높을까? (0) | 2025.04.23 |
| 00016. [추천시스템 비교 시리즈 #1] 추천시스템, 뭐가 좋은 거지? RNN vs Transformer? (0) | 2025.04.23 |
| 00015. [AI 쉽게 이해하기 시리즈] Hugging Face Hub에 내 모델 올리는 법! (전 세계에 공개 배포하기) (1) | 2025.04.03 |
| 00014. [AI 쉽게 이해하기 시리즈] 트랜스포머 모델 웹에 배포하기! (Gradio & Streamlit 실전) (0) | 2025.04.03 |