- 데이터로딩
- Reader : 데이터 컬럼 format, rating, scaling
- Dataset : Built-in, OS, DataFrame에서 데이터 로딩
- 모델 선정 및 학습
- 추천 알고리즘 설정 : SVD, KNNBasic 등
- Train 데이터로 학습 : train()
- 예측 및 평가
- 예측 : test(), predict()
- 평가 : accuracy, rmse 등
- 교차검증 : cross_validate
- 하이퍼 파라미터 GridSearchCV
이런 데이터 포멧으로 고정이 되어 있다.
userid, itemid, rating(평점)
1. 필요한 라이브러리 로딩
from surprise import SVD, Dataset, accuracy
from surprise.model_selection import train_test_split
2. 데이터셋 로딩
data = Dataset.load_builtin('ml-100k')
tarinset, testset = train_test_split(data, test_size=25)
3. 행렬 분해를 수행할 알고리즘으로 SVD 생성 후 학습용 데이터로 학습
algo = SVD()
algo.fit(trainset)
4. 테스트 데이터셋에 대해서 prediction을 수행. 일반적인 사이킷런의 predict() 메소드는 surprise에서 test() 메소드
특정 사용자와 item에 대한 predict는 predict() 메소드
predictions = algo.test(testset)
'💡 AI > RecSys' 카테고리의 다른 글
Item-Item Collaborative Filtering (Movie Dataset) (0) | 2021.10.29 |
---|---|
Contents Based Filtering (Movie Dataset) (0) | 2021.10.05 |
SKT AI - 추천시스템 (0) | 2021.09.29 |
연관분석 (0) | 2021.06.16 |