IniziaInizia gratis

Confronto tra modelli item-based e user-based

Hai appena visto due diversi approcci KNN. Il primo è l’item-item KNN, in cui usi la media dei \(k\) film più simili che un utente ha già valutato per suggerire il voto di un film che non ha ancora visto. L’altro è l’user-user KNN, in cui usi la media delle valutazioni che i \(k\) utenti più simili hanno dato al film per suggerire quale voto darebbe l’utente target.

Ora confronterai i due e calcolerai quale voto user_002 darebbe a Forrest Gump.

Il codice per il modello user_rating_predictor (che predice in base ai voti dati al film da utenti simili) e per movie_rating_predictor (che predice in base ai voti che questo utente ha dato a film simili) è già impostato per te.

KNeighborsRegressor è già stato importato per te.

Questo esercizio fa parte del corso

Creare motori di raccomandazione in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un modello K-nearest neighbors user-user chiamato user_knn.
  • Adestra il modello user_knn, poi effettua la previsione su target_user_x.
  • Allo stesso modo, addestra un modello K-nearest neighbors item-item chiamato movie_knn, poi effettua la previsione su target_movie_x.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice