import pandas as pd
from surprise import Dataset
from surprise import Reader
from surprise import SVD
from surprise import accuracy
from surprise.model_selection import train_test_split
data = Dataset.load_builtin('ml-100k')
df = pd.DataFrame(data.__dict__['raw_ratings'], columns = ['user_id', 'item_id', 'rating', 'timestamp'])
df.drop(['timestamp'], axis = 1, inplace = True)
# df
reader = Reader(rating_scale = (1, 5))
data = Dataset.load_from_df(df, reader)
train_set, test_set = train_test_split(data, test_size = 0.25, random_state = 1004)
algo = SVD()
algo.fit(train_set)
pred = algo.test(test_set)
# accuracy.rmse(pred)
user_id = str(244)
item_id = str(51)
pred = algo.predict(user_id, item_id)
pred
'Programming Language > Python' 카테고리의 다른 글
[Python] Surprise 라이브러리로 최근접이웃 사용 방법 (0) | 2023.02.27 |
---|---|
[Python] Surprise 라이브러리로 예측평점과 실제평점 비교해보기 (0) | 2023.02.27 |
[Python] Surprise 라이브러리로 RMSE 출력하는 방법 (0) | 2023.02.27 |
[Python] Surprise 라이브러리로 간단하게 평점 예측해보기 (0) | 2023.02.27 |
[Python] 5년 주가차트와 주가/평균가격 차트 비교하는 방법 (0) | 2023.02.20 |