추천시스템(RS)

MovieLens Dataset

with_AI 2022. 7. 11. 18:09

- 작은 데이터, 큰 데이터로 나눠져 있음

 

 

데이터 Record

 

영화 평점 예측

 

- 개인화 추천

- Explicit 명확한 데이터

- CBF, CF

- 평점 예측 모델

Pandas 라이브러리를 활용한 데이터 분석

- datetime

- apply

- groupby

- merge

- sample

- drop

- agg

- display

 

# 초로 나와있는 col을 년월일초로 변경 하여 date라는 df로 만들어줌

df['date'] = pd.to_datetime(df['timestamp'].astype(int), unit='s')

 

# year라는 col를 생성한다 date에서 year만 가져온다.

df['year'] = df['date'].apply(lambda x: x.year)

 

# year로 묶어서 count해준다.

yearCounts = df.groupby('year').size()

 

#barplot으로 시각화

yearCounts.plot(kind='bar', figsize=(12,8), label='counts', legned=True)

 

#학습 데이터 랜덤 추출

train = df.sample(frac=0.9, random_state=1)

train['type'] = 'train'

 

#테스트 데이터 만들기

test = df.drop(train.index)

test['type'] = 'test'

 

#mae 구하기

mae = avgPredErrors.abs().mean()

 

#rmse 

rmse = math.sqrt(avgPredErrors.pow(2).mean())

 

#유저 별로 rating의 평균 값을 구하기, agg 함수를 통해서 각각의 user에 대해서 평균을 구한다.

userAvgRatings = train[['userId', 'rating']].groupby('userId').agg('mean')

 

#merge를 이용하여 df 두개를 합치기

pd.merge(userAvgPred, userAvgRatings, how='left', left_on=['userId'], right_on=['user_id'], right_index = False)

 

#이미지 url을 display하는 라이브러리

# 5개의 이미지 출력 됨

from IPython.display import Image, display

 

for i in range(0, 5):

 print(dfMovie['imgurl'].iloc[i])

 

 

'추천시스템(RS)' 카테고리의 다른 글

추천 시스템이란?  (0) 2022.07.12
CBF 기반 예측  (0) 2022.07.11
추천시스템 고려사항  (0) 2022.07.11
추천시스템 성능 평가  (0) 2022.07.11
추천시스템 분류  (0) 2022.07.11