시작하기무료로 시작하기

아이템 기반 vs 사용자 기반 모델 비교

지금까지 두 가지 KNN 접근 방식을 살펴봤어요. 첫 번째는 아이템-아이템 KNN으로, 사용자가 이미 평점을 준 영화 중에서 가장 비슷한 $k$개의 영화의 평균을 사용해 아직 보지 않은 영화의 평점을 추정해요. 다른 방법은 사용자-사용자 KNN으로, 해당 영화에 평점을 준 사용자 중 가장 비슷한 $k$명의 사용자가 준 평점의 평균을 사용해 대상 사용자가 그 영화에 줄 평점을 제안해요.

이제 두 방법을 비교하고, user_002Forrest Gump에 줄 평점을 계산해 볼 거예요.

user_rating_predictor 모델(비슷한 사용자들이 그 영화에 준 평점을 바탕으로 예측)과 movie_rating_predictor 모델(해당 사용자가 비슷한 영화에 준 평점을 바탕으로 예측)은 코드가 일부 준비되어 있어요.

KNeighborsRegressor는 이미 임포트되어 있어요.

이 연습은 강의의 일부입니다

Python으로 추천 엔진 만들기

강의 보기

연습 안내

  • 사용자-사용자 K-최근접 이웃 모델 user_knn을 생성하세요.
  • user_knn 모델을 fit 한 뒤 target_user_x로 예측하세요.
  • 같은 방식으로 아이템-아이템 K-최근접 이웃 모델 movie_knn을 fit 하고, target_movie_x로 예측하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Instantiate the user KNN model
user_knn = ____()

# Fit the model and predict the target user
user_knn.____(other_users_x, other_users_y)
user_user_pred = user_knn.____(target_user_x)
print("The user-user model predicts {}".format(user_user_pred))

# Instantiate the user KNN model
movie_knn = KNeighborsRegressor()

# Fit the model on the movie data and predict
movie_knn.____(other_movies_x, other_movies_y)
item_item_pred = movie_knn.____(target_movie_x)
print("The item-item model predicts {}".format(item_item_pred))
코드 편집 및 실행