아이템 기반 vs 사용자 기반 모델 비교
지금까지 두 가지 KNN 접근 방식을 살펴봤어요. 첫 번째는 아이템-아이템 KNN으로, 사용자가 이미 평점을 준 영화 중에서 가장 비슷한 $k$개의 영화의 평균을 사용해 아직 보지 않은 영화의 평점을 추정해요. 다른 방법은 사용자-사용자 KNN으로, 해당 영화에 평점을 준 사용자 중 가장 비슷한 $k$명의 사용자가 준 평점의 평균을 사용해 대상 사용자가 그 영화에 줄 평점을 제안해요.
이제 두 방법을 비교하고, user_002가 Forrest 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))