Comparando modelos baseados em itens e em usuários
Você viu duas abordagens diferentes de KNN. A primeira foi item-item KNN, em que você usa a média dos \(k\) filmes mais semelhantes que um usuário avaliou para sugerir uma nota para um filme que ele ainda não assistiu. A outra foi user-user KNN, em que você usa a média das notas que os \(k\) usuários mais semelhantes deram ao filme para sugerir qual nota o usuário-alvo daria ao filme.
Agora, você vai comparar as duas e calcular que nota user_002 daria para Forrest Gump.
O código para o modelo user_rating_predictor (que prevê com base no que usuários semelhantes deram ao filme) e para o movie_rating_predictor (que prevê com base nas notas que esse usuário deu a filmes semelhantes) já foi iniciado para você.
KNeighborsRegressor já foi importado para você.
Este exercício faz parte do curso
Construindo mecanismos de recomendação em Python
Instruções do exercício
- Crie um modelo K-nearest neighbors user-user chamado
user_knn. - Ajuste (fit) o modelo
user_knne depois faça previsões emtarget_user_x. - Da mesma forma, ajuste um modelo K-nearest neighbors item-item chamado
movie_knne depois faça previsões emtarget_movie_x.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))