CommencerCommencer gratuitement

Comparer les modèles item-based et user-based

Vous avez maintenant vu deux approches KNN différentes. La première est le KNN item-item, où vous utilisez la moyenne des \(k\) films les plus similaires qu’un utilisateur a notés pour suggérer une note pour un film qu’il n’a pas encore vu. L’autre approche est le KNN user-user, où vous utilisez la moyenne des notes attribuées au film par les \(k\) utilisateurs les plus similaires pour suggérer la note que l’utilisateur cible donnerait au film.

Vous allez maintenant comparer les deux et calculer la note que user_002 donnerait à Forrest Gump.

Le code des modèles user_rating_predictor (qui prédit à partir des notes données au film par des utilisateurs similaires) et movie_rating_predictor (qui prédit à partir des notes que cet utilisateur a données à des films similaires) a été préparé pour vous.

KNeighborsRegressor a été importé pour vous.

Cet exercice fait partie du cours

Créer des moteurs de recommandation en Python

Afficher le cours

Instructions

  • Créez un modèle K-nearest neighbors user-user nommé user_knn.
  • Ajustez le modèle user_knn, puis prédisez sur target_user_x.
  • De même, ajustez un modèle K-nearest neighbors item-item nommé movie_knn, puis prédisez sur target_movie_x.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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))
Modifier et exécuter le code