Aan de slagGa gratis aan de slag

Item-based en user-based modellen vergelijken

Je hebt nu twee verschillende KNN-benaderingen bekeken. De eerste was item-item KNN, waarbij je het gemiddelde neemt van de \(k\) meest vergelijkbare films die een gebruiker heeft beoordeeld om een beoordeling te suggereren voor een film die hij of zij nog niet heeft gezien. De andere benadering was user-user KNN, waarbij je het gemiddelde gebruikt van de beoordelingen die de \(k\) meest vergelijkbare gebruikers aan de film gaven om te voorspellen welke beoordeling de doelgroepgebruiker de film zou geven.

Nu ga je de twee vergelijken en berekenen welke beoordeling user_002 aan Forrest Gump zou geven.

De code voor het user_rating_predictor-model (dat voorspelt op basis van wat vergelijkbare gebruikers de film gaven) en de movie_rating_predictor (die voorspelt op basis van welke beoordelingen deze gebruiker aan vergelijkbare films gaf) is alvast voor je gestart.

KNeighborsRegressor is al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Aanbevelingssystemen bouwen in Python

Cursus bekijken

Oefeninstructies

  • Maak een user-user K-nearest neighbors-model met de naam user_knn.
  • Fit het user_knn-model en voorspel daarna op target_user_x.
  • Fit op dezelfde manier een item-item K-nearest neighbors-model met de naam movie_knn en voorspel daarna op target_movie_x.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren