Öğe tabanlı ve kullanıcı tabanlı modelleri karşılaştırma
Şimdi iki farklı KNN yaklaşımını gördün. İlki, bir kullanıcının puan verdiği en benzer \(k\) filmin ortalamasını kullanarak kullanıcının izlemediği bir film için puan önerdiğin öğe-öğe KNN’di. Diğer yaklaşım ise, hedef kullanıcının bir filme hangi puanı verebileceğini tahmin etmek için, o filme en benzer \(k\) kullanıcının verdiği puanların ortalamasını kullandığın kullanıcı-kullanıcı KNN’di.
Şimdi bu ikisini karşılaştıracak ve user_002 kullanıcısının Forrest Gump filmine kaç puan vereceğini hesaplayacaksın.
user_rating_predictor modeli (benzer kullanıcıların filme verdiği puanlara göre tahmin yapar) ve movie_rating_predictor modeli (bu kullanıcının benzer filmlere verdiği puanlara göre tahmin yapar) için kodun bir kısmı senin için hazırlandı.
KNeighborsRegressor senin için içe aktarıldı.
Bu egzersiz
Python ile Öneri Motorları Geliştirme
kursunun bir parçasıdırEgzersiz talimatları
user_knnadlı bir kullanıcı-kullanıcı K-en yakın komşu modeli oluştur.user_knnmodelini fit et ve ardındantarget_user_xüzerinde tahmin yap.- Benzer şekilde,
movie_knnadlı bir öğe-öğe K-en yakın komşu modelini fit et ve ardındantarget_movie_xüzerinde tahmin yap.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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))