Published 2021. 11. 10. 16:39
  1. 데이터로딩
    1. Reader : 데이터 컬럼 format, rating, scaling
    2. Dataset : Built-in, OS, DataFrame에서 데이터 로딩
  2. 모델 선정 및 학습
    1. 추천 알고리즘 설정 : SVD, KNNBasic 등
    2. Train 데이터로 학습 : train() 
  3. 예측 및 평가
    1. 예측 : test(), predict()
    2. 평가 : accuracy, rmse 등
    3. 교차검증 : cross_validate
    4. 하이퍼 파라미터 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
복사했습니다!