Kom igångKom igång gratis

Jämföra objektbaserade och användarbaserade modeller

Du har nu undersökt två olika KNN-metoder. Den första var objekt-objekt-KNN, där du använder medelvärdet av de \(k\) mest liknande filmer som en användare har betygsatt för att förutsäga ett betyg för en film de inte sett. Den andra metoden var användare-användare-KNN, där du använder medelvärdet av de betyg som de \(k\) mest liknande användarna gav filmen för att förutsäga vilket betyg målanvändaren skulle ge.

Nu ska du jämföra de två och beräkna vilket betyg user_002 skulle ge Forrest Gump.

Koden för modellen user_rating_predictor (som förutsäger baserat på vad liknande användare gav filmen) och movie_rating_predictor (som förutsäger baserat på vilka betyg den här användaren gav liknande filmer) har påbörjats åt dig.

KNeighborsRegressor har redan importerats.

Den här övningen är en del av kursen

Bygga rekommendationsmotorer i Python

Visa kurs

Övningsinstruktioner

  • Skapa en användare-användare-modell med K-närmaste grannar som kallas user_knn.
  • Träna modellen user_knn och gör sedan en förutsägelse på target_user_x.
  • Träna på samma sätt en objekt-objekt-modell med K-närmaste grannar som kallas movie_knn, och gör sedan en förutsägelse på target_movie_x.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod